使用FFmpeg转录网络直播流
爱奇艺万能播放器的最新版本增加了一个播放网络流的功能。不过,入口藏在播放器区域的右键菜单里,不太好找:
找来一个直播流URL,比如东森新闻 https://60.199.188.151/HLS/WG_ETTV-N/index.m3u8,试了一下,还不赖呢!
有时候,看到精彩的直播内容,想把某些片段保存到本地。无奈播放器不提供这样的功能。那么,开个小窗给FFmpeg吧,它可以搞定!
命令行如下:
ffmpeg -i https://60.199.188.151/HLS/WG_ETTV-N/index.m3u8 d:\cap.mp4
这条命令会持续不断地抓取网络视频流,然后写入d:\cap.mp4文件,直到你按下键盘上的“Q”键才停止。如果你就想录制一小段时间(比如60秒),可以在-i参数前加-t参数来控制,如下:
ffmpeg -t 60 -i https://60.199.188.151/HLS/WG_ETTV-N/index.m3u8d:\cap.mp4
上面例子中的直播流是HTTP协议的。FFmpeg还支持其他什么协议吗?这也简单!在控制台输入ffmpeg -protocols便一目了然了。
不禁又一次暗暗佩服:FFmpeg Holy-High!
Ps. 有位同学提醒道,应该加上-c:v copy -c:a copy(另一种表达方式是-vcodec copy -acodec copy)来避免转码。吾深以为然!这对于实时采集的场景尤为重要!经测试,效果喜人,FFmpeg的CPU占用从之前的80%降到了1%!!!
完整命令行如下:
ffmpeg -i https://60.199.188.151/HLS/WG_ETTV-N/index.m3u8 -c:v copy -c:a copy -bsf:a aac_adtstoasc d:\cap.mp4
本文文字及图片出自 CSDN
你也许感兴趣的:
- ffmpeg 命令行生成工具
- 给新手的 20 多个 FFmpeg 命令示例
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
你对本文的反应是: