我尝试过许多不同的方法来尝试从一个图像文件中创建一个10秒的视频文件,并且使用了所有相同的开关和编解码器来编码我的视频文件。但是,当我使用complex_filter (迫使视频通过另一轮转码)以外的任何东西连接这两个文件时,产生的视频文件是损坏的。我相信这是由于10秒剪辑的固有差异,由图像创建,但必须有一些方法,使它编码完全相同的方式,我的视频文件。
下面是我用来将图像转换成10s视频剪辑的命令(我添加了一个无声的mp3,因为我认为视频中途启动的音频流会把事情搞砸):
ffmpeg -loop 1 -i splash.jpg -i silence.mp3 -c:v libx264 -preset slow -g 60 -r 29.97 -crf 16 -c:a libfdk_aac -b:a 256k -cutoff 18000 -t 5 tmpoutput1.mp4下面是我用来对视频进行编码的命令:
ffmpeg -i input.f4v -c:v libx264 -preset slow -g 60 -r 29.97 -crf 16 -c:a libfdk_aac -b:a 256k -cutoff 18000 tmpoutput2.mp4下面是我使用的命令,用于将它们转换为.ts,以便为concat做好准备:
ffmpeg -i tmpoutput1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts tmpoutput1.ts最后一个问题(这就是我疯狂的视频腐败,沿途的一切看起来都很好):
ffmpeg -i "concat:tmpoutput1.ts|tmpoutput2.ts" -c copy output.mp4同样,问题是我已经把所有的东西都转码了一次,我应该能够让它在一个足够相似的结构中转码,这样它就可以连在一起,而不需要将另一个代码附加到末尾。
曾经有人成功地在视频的正面添加了一个全帧的喷溅图形吗?我正在使用一个全新的交叉编译的ffmpeg,因为我认为这可能是问题,但遗憾的是,这个问题在更新后仍然存在。
谢谢!
发布于 2020-01-17 20:46:21
下面是一个使用ffmpeg的进程,它只使用源视频上的一个代码:
https://stackoverflow.com/questions/22701197
复制相似问题