2016-03-25 15 views
0

我想創建一個視頻組成的圖像和視頻剪輯。對於圖像的剪輯,我使用的ffmpeg創建的視頻文件,然後我通過這兩個步驟添加一種無聲的音頻流:FFmpeg concat,然後添加配樂結果在一個配音的口吃

ffmpeg.exe -loop 1 -i MyImage.png -codec:v libx264 -t 4.0 -profile:v high -preset slow -r 25 -b:v 500k -maxrate 500k -pix_fmt yuv420p -vf scale=1280:720 MyImageMovie.mp4 

ffmpeg.exe -f lavfi -i anullsrc=r=48000 -i MyImageMovie.mp4 -shortest -c:v copy -c:a aac -strict experimental -y MyImageMovieWithSilentAudioStream.mp4 

然後,我結合我的視頻剪輯和圖像剪輯

ffmpeg.exe -f concat -i videoList.txt -c copy -y concatVideo.mp4 

在這一點上,視頻看起來不錯,任何有音頻流的視頻剪輯似乎都很好地同步到視頻。

現在我添加配樂:

ffmpeg.exe -i concatVideo.mp4 -i soundtrack.mp3 -ar 48000 -filter_complex "[1:a]apad [b] ; [0:a][b]amerge=inputs=2[a]" -map 0:v -map "[a]" -c:v copy -ac 2 -shortest -y FinalVideo.mp4 

的問題是,在一些拼接接頭上FinalVideo.mp4口吃配樂(不是全部)。

我懷疑它與音頻流和圖像剪輯的視頻流不完全對齊有關。分辨率爲.0231s,視頻分辨率爲0.04s。當我檢測到MyImageMovieWithSilentAudioStream.mp4時,持續時間爲4.00秒,但開始時間爲0.0213。

如果我的連接視頻有幾個這些圖像剪輯,錯誤可能會開始累積。

我該怎麼做才能保持視頻和音頻同步並添加沒有口吃的音軌?另外,這有點兒有趣,在Windows媒體播放器上播放最終視頻時聽不到口吃,但如果我在VLC或通過html本地視頻元素播放視頻,則會出現這種情況。

回答

0

嘗試在與concat相同的步驟中添加配樂。

ffmpeg -f concat -i videoList.txt -i soundtrack.mp3 \ 
-filter_complex "[1:a]apad[b];[0:a][b]amerge=inputs=2[a]" \ 
-map 0:v -map "[a]" 
-c:v copy -c:a aac -ac 2 -ar 48000 -shortest -y FinalVideo.mp4 

順便說一句,你還可以結合圖片和寂靜的一代,

ffmpeg -loop 1 -i MyImage.png -f lavfi -i anullsrc=r=48000 \ 
-vf scale=1280:720 \ 
-c:v libx264 -profile:v high -preset slow -r 25 -b:v 500k -maxrate 500k -pix_fmt yuv420p \ 
-c:a aac -strict experimental -t 4 -y MyImageMovieWithSilentAudioStream.mp4 
+0

我給這一個嘗試,我仍然得到了聲音斷斷續續,當我通過VLC播放。不過,我很欣賞這個主意。 – JennHarper

+0

用'-vn'運行我的命令並在VLC中播放輸出並檢查。這將是一個純音頻文件。 – Mulvya

相關問題