2017-07-14 184 views
0

我正在尋找FFmpeg合併音頻(mp3)與短視頻循環或gif的解決方案。FFmpeg concat音頻與視頻或gif循環

我已經能夠通過音頻連接來從圖像的視頻,但視頻保持靜態幀的音頻持續時間,命令,使這個:

ffmpeg -loop 1 -i imagem.jpg -i audio.mp3 -vcodec h264 -tune stillimage -acodec aac -b:a 64k -pix_fmt yuv420p -shortest video.mp4 

我需要的視頻中具有音頻的持續時間,但是使用另一個mp4或gif的循環。在音頻的持續時間內不斷重複。

回答

0

要做到這一點與視頻(MP4或其他格式),你應該使用連接分路器。

首先創建一個文本文件,其中包含要連接的視頻路徑列表。在你的情況下,它將是一個相同的視頻文件列表,如下所示。

# mylist.txt 
file /your/path/video.mp4 
file /your/path/video.mp4 
file /your/path/video.mp4 

路徑可以是絕對路徑或相對路徑。
然後您需要使用concat分流器選件。

ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4 

這將生成一個mp4與您的原始視頻循環3次。如果您的原始視頻長度爲4秒,則輸出將長12秒。我建議你創建一個比你的音軌長一點的視頻,然後在創建最終視頻時使用-shortest選項。

您可以像在您的帖子中那樣在相同的命令中添加音頻。於是,一起看起來就像這樣:

ffmpeg -f concat -safe 0 -i mylist.txt -i audio.mp3 -c:v copy -c:a copy -shortest output.mp4 

在我的例子,我做了流拷貝我的輸出(這會工作得很好,將是非常快的),但你可以使用你想爲你的編解碼器(如H264和AAC喜歡你的帖子)。

你可以在concat demuxer documentation或更好的concat wiki找到更多的信息。

目前我不知道是否有辦法通過gif文件來做到這一點。