我正在尝试使用ffmpeg将HLS中的所有块连接到单个mp4文件中。 我试过这个命令: ffmpeg -i -vcodec copy -acodec copy -bsf:aac_adtstoasc
但是,我注意到如果m3u8包含不连续标记,则连接不能正常工作,即视频在所有丢失的块中停止。
任何想法,如何转换所以视频连续播放,即忽略丢失的块?
答案 0 :(得分:1)
答案 1 :(得分:0)
这个问题可以通过concat协议来解决
首先将输入m3u8文件转换为ts列表文件
grep -e'^ http。*。ts $'input.m3u8 | awk'{print“file”,$ 1}'> all.ts
第二次使用all.ts作为连接到mp4文件的输入
ffmpeg -protocol_whitelist'http,file,tcp'-nostdin -f concat -safe 0 -i all.ts -c copy -movflags faststart -y output.mp4