2016-09-12 60 views
1

我有以下命令工作ffmpeg,其中1秒的黑色框架添加到視頻的開始。但是,我在輸出視頻中丟失了原始視頻的音頻。如何調整命令以確保原始音頻與最終輸出保持一致,或者更好的是,在開始處有1秒「空白」音頻,以便與新輸出視頻相匹配。FFmpeg連接,沒有音頻在最終輸出

ffmpeg -i originalvideo -f lavfi -i color=c=black:s=1920x1080:r=25:sar=1/1 -filter_complex "[0:v] setpts=PTS-STARTPTS [main]; [1:v] trim=end=1,setpts=PTS-STARTPTS [pre]; [pre][main] concat=n=2:v=1:a=0 [out]" -map "[out]" finaloutputvideo.mp4 

回答

0

你需要生成或添加音頻將與黑色視頻相關聯的,因爲每一連接部分需要相同數量的視頻和音頻流。

ffmpeg \ 
-i originalvideo \ 
-f lavfi -i color=c=black:s=1920x1080:r=25:sar=1/1:d=1 \ 
-t 1 -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 \ 
-filter_complex \ 
"[0:v]setpts=PTS-STARTPTS[mainv]; \ 
[0:a]asetpts=PTS-STARTPTS[maina]; \ 
[1:v][2:a][mainv][maina]concat=n=2:v=1:a=1[v][a]" \ 
-map "[v]" -map "[a]" -movflags +faststart output.mp4 
  • 可以消除(一)setpts過濾器的顏色和anullsrc源過濾器,因爲它們的時間戳,從0開始。

  • 你能避免調整濾波器,因爲你可以設置期限爲每個過濾器。

  • 對於anullsrc持續時間的-t值只需要小於或等於黑色視頻的持續時間:concat過濾器將自動爲其餘的靜音填充。

  • 使用anullsrc可確保您匹配主視頻的正確聲道佈局和音頻採樣率;否則concat可能會自動選擇一個可能不是您想要的「常見」佈局和速率。