我有一个源视频(mpeg2video),我正在转码为x264。源包含从电视录制的2个不同节目。一个是4:3 AR,另一个是16:9 AR。当我通过VLC播放源文件时,播放器正确地改变大小以在正确的AR上显示视频。到目前为止一切都很好。
当我对转换过程进行转码时,自动检测前几帧中的AR,然后使用此AR对整个视频进行转码。如果16:9部分首先出现,则整个转换在16:9完成,4:3部分看起来水平拉伸。如果4:3部分位于源文件的开头,则整个转码在4:3完成,16:9部分看起来水平压扁。
看不到任何黑条。
这是我的命令:
nice -n 17 ffmpeg -i source.mpg -acodec libfaac -ar 48000 -ab 192k -async 1 -copyts -vcodec libx264 -b 1250k -threads 2 -level 31 -map 0:0 -map 0:1 -map 0:2 -scodec copy -deinterlace output.mkv
我不完全了解发生了什么。如何在输入视频中的输出文件中获得相同的“AR'中间视频变化?
答案 0 :(得分:0)
我认为ffmpeg并不是为了中途而设计的。您必须使用libav编写自己的应用程序。更简单的方法是创建两个组合的视频块。
编辑: 处理它的最好方法是,如果你能自己检测到AR的变化,并单独转码这两个段并加入它们。
EDIT2: 使用ffmpeg本身可以对视频进行分块,对所需的任何内容进行解复用,然后再将其复用。它应该工作正常。你不需要使用avidemux。