如何从 ffmpeg 实时写入的视频文件中提取视频片段
How to extract a video snippet from a video file that is being written in by ffmpeg in realtime
目前我正在使用 youtube-dl (https://github.com/rg3/youtube-dl) 从 youtube 录制直播视频
我为此使用的命令:
youtube-dl --id -f 92 https://www.youtube.com/watch?v=VYlQJbsVs48
92 是我在执行获取格式的命令后得到的格式代码,它给了我这个列表:
format code extension resolution note
140 m4a audio only DASH audio 144k , m4a_dash container, aac @128k (48000Hz)
141 m4a audio only DASH audio 272k , m4a_dash container, aac @256k (48000Hz)
160 mp4 256x144 DASH video 124k , 15fps, video only
133 mp4 426x240 DASH video 258k , 30fps, video only
134 mp4 640x360 DASH video 616k , 30fps, video only
135 mp4 854x480 DASH video 1116k , 30fps, video only
136 mp4 1280x720 DASH video 2216k , 30fps, video only
137 mp4 1920x1080 DASH video 4141k , 30fps, video only
151 mp4 72p HLS
132 mp4 240p HLS
92 mp4 240p HLS
93 mp4 360p HLS
94 mp4 480p HLS
95 mp4 720p HLS
96 mp4 1080p HLS (best)
这正在创建一个名为 VYlQJbsVs48 的文件。mp4.part 当然会越来越大。
有没有办法从直播中提取视频片段或形成部分文件?或者也许有更好的方法?
我注意到,如果我在 youtube-dl 是 运行 时强制退出 iTerm2,它创建的 .part 文件不会包含任何索引信息(与 moov 原子有关不存在 在 mp4 文件中——这是关于帧数和其他东西的信息——我认为是元数据),所以这让我觉得我无法从文件中提取。
也许如果有一种方法可以让 youtube-dl 随时写入索引信息 或者我可以通过其他方式记录直播并获取视频片段它的录音。
我忘了说我是在 OSX Yosemite 上做的。我用自制软件和 youtoube-dl 安装了 FFMPEG
如果有解决方案,我很乐意尝试 UBUNTU。
如有任何帮助,我们将不胜感激。
谢谢。
亚历克斯
此命令将提取 5 秒的片段:
ffmpeg -i $(youtube-dl -f 92 -g https://www.youtube.com/watch?v=36YnV9STBqc) -c:v copy -c:a copy -t 00:00:05 snippet.mp4
使用-g
选项,youtube-dl只输出视频流URL。
使用 ffmpeg 4.3、youtube-dl 2020.07.28 和 Youtube 广播直播进行测试。
参考:superuser
目前我正在使用 youtube-dl (https://github.com/rg3/youtube-dl) 从 youtube 录制直播视频
我为此使用的命令:
youtube-dl --id -f 92 https://www.youtube.com/watch?v=VYlQJbsVs48
92 是我在执行获取格式的命令后得到的格式代码,它给了我这个列表:
format code extension resolution note
140 m4a audio only DASH audio 144k , m4a_dash container, aac @128k (48000Hz)
141 m4a audio only DASH audio 272k , m4a_dash container, aac @256k (48000Hz)
160 mp4 256x144 DASH video 124k , 15fps, video only
133 mp4 426x240 DASH video 258k , 30fps, video only
134 mp4 640x360 DASH video 616k , 30fps, video only
135 mp4 854x480 DASH video 1116k , 30fps, video only
136 mp4 1280x720 DASH video 2216k , 30fps, video only
137 mp4 1920x1080 DASH video 4141k , 30fps, video only
151 mp4 72p HLS
132 mp4 240p HLS
92 mp4 240p HLS
93 mp4 360p HLS
94 mp4 480p HLS
95 mp4 720p HLS
96 mp4 1080p HLS (best)
这正在创建一个名为 VYlQJbsVs48 的文件。mp4.part 当然会越来越大。
有没有办法从直播中提取视频片段或形成部分文件?或者也许有更好的方法?
我注意到,如果我在 youtube-dl 是 运行 时强制退出 iTerm2,它创建的 .part 文件不会包含任何索引信息(与 moov 原子有关不存在 在 mp4 文件中——这是关于帧数和其他东西的信息——我认为是元数据),所以这让我觉得我无法从文件中提取。
也许如果有一种方法可以让 youtube-dl 随时写入索引信息 或者我可以通过其他方式记录直播并获取视频片段它的录音。
我忘了说我是在 OSX Yosemite 上做的。我用自制软件和 youtoube-dl 安装了 FFMPEG
如果有解决方案,我很乐意尝试 UBUNTU。
如有任何帮助,我们将不胜感激。
谢谢。
亚历克斯
此命令将提取 5 秒的片段:
ffmpeg -i $(youtube-dl -f 92 -g https://www.youtube.com/watch?v=36YnV9STBqc) -c:v copy -c:a copy -t 00:00:05 snippet.mp4
使用-g
选项,youtube-dl只输出视频流URL。
使用 ffmpeg 4.3、youtube-dl 2020.07.28 和 Youtube 广播直播进行测试。
参考:superuser