2011-09-27 46 views
13

我想創建一個淡入淡出的我的圖像幻燈片&淡出它們之間的轉換,我正在使用FFmpeg淡入淡出過濾器。FFmpeg幀之間的淡入淡出效果

如果我使用命令:

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4 

要創建具有淡入淡出效果的輸出視頻,那麼它使輸出視頻與第一5幀黑色和比圖像顯示與效果褪色,但我想褪色:在:改變幀之間的效果。

我該怎麼做?

因爲我使用的FFmpeg此服務器上只

+0

http://superuser.com/ questions/778762/crossfade-between-2-videos-using-ffmpeg | http://superuser.com/questions/223678/how-to-convert-single-images-into-a-video-with-blending-transition –

回答

6

要創建具有淡入淡出效果的視頻,剛剛突破的視頻分成幾部分,併爲每個圖像單獨的視頻,請告訴爲CentOS服務器的解決方案。舉例來說,如果你有5張圖片,然後首先,創建每個圖像的50-60副本,並獲得該視頻:

$command= "ffmpeg -r 20 -i images/%d.jpg -y -s 320x240 -aspect 4:3 slideshow/frame.mp4"; 
    exec($command." 2>&1", $output); 

這將允許您創建5個不同的視頻。然後,您需要這些五個圖像的10-12個不同副本,並再次創建具有淡入淡出效果的單獨視頻。

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4 

在此之後,你就會有這樣的視頻:視頻圖像1和圖像2的淡入淡出效果,然後和它的淡入淡出效果等。現在按照相應的順序組合這些視頻以獲得整個視頻。

,用於組合的視頻,你需要:

$command = "cat pass.mpg slideshow/frame.mpg > final.mpg"; 

這意味着使用cat加入了視頻,然後你需要將它們轉換爲MPG,加入他們的行列,並再次重新轉換它們到MP4或AVI正常查看它們。此外,轉換後的mpg視頻將不適合,所以不要打擾。當你將它們轉換成mp4時,它會正常工作。

+1

而不是創建你的圖像文件的多個副本,你可以告訴ffmpeg循環輸入。 '-loop 1 -i輸入。jpg -t 2'會告訴ffmpeg使用靜止圖像作爲循環源。因爲這會永久播放,所以需要使用'-t 2'選項設置輸出視頻的時間(在這種情況下,指定2秒)。 – stib

1

您可以使用gifblender從圖像中創建混合的中間幀,然後使用ffmpeg將它們轉換爲電影。

-1

通過使用幀率濾鏡,您可以在圖片之間進行透射淡化的幻燈片放映。在下面的例子中,0.25是用於讀取圖片的幀率,在這種情況下,每張圖片爲4秒。參數fps設置輸出幀率。參數interp_start和interp_end可以用於改變衰落效應:interp_start = 128:interp_end = 128意味着完全不衰減。 interp_start = 0:interp_end = 255表示連續衰落。當一張照片淡出並且下一張照片完全淡入時,第三張照片將立即開始淡入。沒有顯示第二張照片的暫停。 interp_start = 64:interp_end = 191意味着一半的時間暫停顯示圖片,另一半則消失。不幸的是,它不會從0到100%完全消失,而只會從25%到75%。這不完全是你想要的,但總比沒有淡化更好。

的ffmpeg -framerate 0.25 -i IMG_%3d.jpg -vf 「幀率= FPS = 30:interp_start = 64:interp_end = 192:場景= 100」 test.mp4

+1

雖然這可能在理論上回答這個問題,但[這將是更可取的](// meta.stackoverflow.com/q/8259)在這裏包含答案的基本部分,並提供供參考的鏈接。 –

+0

你是對的,我編輯了我的答案。 – Michael