如何使用 FFMPEG 產生具有間隔變化的單一純色影片?

如何使用 FFMPEG 產生具有間隔變化的單一純色影片?

出於測試目的,我想生成一個每幀以 10 fps 在純黑和純白之間變化的視頻,如何使用 FFMPEG 來做到這一點?

答案1

圓滑的答案是「花 3 個小時研究 ffmpeg 過濾器如何工作」——我今天所做的只是為了好玩,所以我用這個問題作為挑戰。

看起來有很多方法可以得到結果,但以下是對我有用的方法:

  1. 產生黑色影像和白色影像,將它們命名為img-001.pngimg-002.png

  2. useffmpeg-loop函數,這是我學到的這個答案僅適用於圖像到影片的工作

生成圖像:

ffmpeg -f lavfi -i color=black:1920x1080:d=3,format=rgb24 -frames:v 1 -y img-001.png

ffmpeg -f lavfi -i color=white:1920x1080:d=3,format=rgb24 -frames:v 1 -y img-002.png

以 10 fps 循環播放這些影像 30 秒:

ffmpeg -loop 1 -i 'img-%03d.png' -r 10 -t 30 -vf format=yuv420p -y out.mp4

ffprobe報告此元數據:

(edited for clarity)
Duration: 00:00:30.00, start: 0.000000, 
Video: h264 (High) yuv420p
1920x1080 [SAR 1:1 DAR 16:9], 20 kb/s, 10 fps

這個要點有另一種方法使用filter_complex.儘管它沒有做完全相同的事情,但它可以針對此任務進行調整。

相關內容