2016-04-03 56 views
0

我真的不明白这一点;我使用ffmpeg concat一个2文件,音频很好地连接,但视频不是。第二个视频会导致冻结/闪烁/绿色屏幕。Concat给出了闪烁的结果

'ffmpeg -y -f concat -i concat.txt -c:v libx264 -pix_fmt yuv420p -c:a copy output.mkv

的文件进行比较,我已经让他们尽可能相同:

  • input.mkv1
    Video: MPEG4 Video (H264) 1280x720 60fps [V: h264 main L4.1, yuv420p, 1280x720 [default]] Audio: AAC 48000Hz stereo [A: aac, 48000 Hz, stereo [default]]
  • input2.mkv
    Video: MPEG4 Video (H264) 1280x720 60fps [V: English [eng] (h264 main L4.1, yuv420p, 1280x720) [default]] Audio: AAC 48000Hz stereo [A: English [eng] (aac, 48000 Hz, stereo) [default]]

什么可能导致此行为?

Flicker

+0

你是如何生成第二个文件(命令)的? – Mulvya

+0

第一个文件是通过OBS生成的.flv并生成.mkv。第2个文件是通过Premiere Pro生成的,并制作成.mkv。如果我先定义第二个文件,则第一个文件的视频会混乱 –

+0

编码/播放期间的任何控制台警告/错误? – aergistal

回答

0

我结束了使用此解决方案来代替:https://trac.ffmpeg.org/wiki/Concatenate#protocol

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts 
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts 
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4 

转换成.TS让我不奇怪闪烁Concat的。