2014-08-28 52 views
0

我有一個gif循環無限(loop.gif)。我想將這個gif覆蓋到video.mpg的左上角。所以我用這個代碼來做到這一點:gifs在ffmpeg電影過濾器中沒有循環

ffmpeg -i video.mpg -vf "movie=loop.gif [logo]; [in][logo] overlay=10:10 [out]" -vcodec mpeg2video out.mpg 

問題是; GIF只顯示GIF的1次和最後一幀,直到video.mpg結束。

如何連續循環此gif?

+0

請注意,下次您應該在[su]處詢問[tag:ffmpeg] cli用法問題。在[so]這裏,與編程無關的問題是偏離主題的。 – LordNeckbeard 2014-08-28 19:10:31

+0

我在我的程序中使用ffmpeg可執行文件。下次我會記住你的通知。謝謝。 – user2925649 2014-08-28 22:45:03

回答

1

Count, monkey, count!

計數,猴子,算! (這不是一個gif)。

從GIF分路器使用-ignore_loop選項:

ffmpeg -i video.mpg -ignore_loop 0 -i loop.gif -filter_complex \ 
"[0:v][1:v]overlay=10:10:shortest=1" -vcodec mpeg2video out.mpg 
  • 附加GIF分流器選項可以與ffmpeg -h demuxer=gif查看。
  • 無需使用movie源過濾器。
  • overlay中使用shortest選項,否則編碼將無限期地運行,因爲其中一個輸入正在循環。
+0

在保留第一個輸入視頻文件的音軌的同時,有沒有辦法解決這個問題? – speedynomads 2015-09-07 15:59:04

+0

@ domji84默認[流選擇](https://ffmpeg.org/ffmpeg.html#Stream-selection)應該包含它。如果不是,那麼你必須使用['-map'](https://ffmpeg.org/ffmpeg.html#Advanced-options)。 – LordNeckbeard 2015-09-07 19:56:16

+0

感謝您的回覆。奇怪的是它適用於一些mp4,而不是其他的。流類型和fps等似乎都是一樣的。不知道爲什麼它可以與一些而不是其他人一起工作.. – speedynomads 2015-09-10 13:13:09