ffmpeg concat demuxer 在加入视频时冻结我的视频帧
Posted
技术标签:
【中文标题】ffmpeg concat demuxer 在加入视频时冻结我的视频帧【英文标题】:ffmpeg concat demuxer freezes my video frames while joining the videos 【发布时间】:2019-11-15 00:57:33 【问题描述】:我正在尝试使用此命令ffmpeg -f concat -i mylist.txt -c copy finalvideo.webm
连接 6 个相同分辨率和相同编解码器的 WebM 视频文件,但结果视频冻结了某些部分,确切地说是每个部分连接的位置
是的,我正在使用最新的 ffmpeg
生成的视频音频频谱您很容易看到视频音频冻结
https://i.stack.imgur.com/SX6WT.gif
mylist.txt
file '1.webm'
file '2.webm'
file '3.webm'
file '4.webm'
file '5.webm'
file '6.webm'
我的日志
https://pastebin.com/Rzqr6w3b
【问题讨论】:
【参考方案1】:这可能是由于编解码器的编码需要在每个连接点重置。删除复制编解码器的要求,让 ffmpeg 使用默认设置对其重新编码,或者指定您自己的特定编解码器和设置来重新编码流。
默认值:
ffmpeg -f concat -i mylist.txt finalvideo.webm
或选择特定的编解码器:
ffmpeg -f concat -i mylist.txt -c:v libvpx -c:a libvorbis finalvideo.webm
【讨论】:
它不工作,同样的结果,但这次我也失去了视频质量 是的,每次使用有损格式重新编码时质量都会下降。您可以尝试 -c:v copy 和 -c:a以上是关于ffmpeg concat demuxer 在加入视频时冻结我的视频帧的主要内容,如果未能解决你的问题,请参考以下文章
[ffmpeg_3.3.2]demuxing_decoding.c
ffmpeg decode, encode, transcode, mux, demux, stream, filter的区别