2014-07-25 59 views
37
ffmpeg -r 1/5 -start_number 2 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

這條線很好,但我想成爲另一個文件夾的圖像。在我的文件夾 圖片名稱:如何使用FFmpeg從圖像創建視頻?

img001.jpg 
img002.jpg 
img003.jpg 
... 

如何從另一文件夾中的圖片?例如:「C:\ mypics」

我試過這段代碼,但是ffmpeg只爲第一張圖片(img001.jpg)設置了視頻。

ffmpeg -r 1/5 -start_number 0 -i C:\myimages\img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

回答

45

Create a video slideshow from images – FFmpeg

如果您的視頻不能正常顯示幀如果遇到問題,比如第一個圖像跳過或只顯示一幀,然後使用的fps視頻濾波器代替-r用於輸出的幀率

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4 

可替換地,視頻格式過濾器可以被添加到filterchain取代-pix_fmt YUV420P「FPS = 25,格式= YUV420P」。這種方法的好處是,你可以控制過濾器先行

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4 

我測試了下面的參數,它爲我工作

"e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -vf "fps=25,format=yuv420p" e:\out.mp4 

以下參數也工作,但它總是跳過第一張圖片

"e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -r 30 -pix_fmt yuv420p e:\out.mp4 

使從放置在不同的文件夾

圖像的視頻首先添加圖像路徑imagepaths.txt像的下方。


# this is a comment details https://trac.ffmpeg.org/wiki/Concatenate 

file 'E:\images\png\images__%3d.jpg' 
file 'E:\images\jpg\images__%3d.jpg' 

樣本用法如下;


"h:\ffmpeg\ffmpeg.exe" -y -r 1/5 -f concat -safe 0 -i "E:\images\imagepaths.txt" -c:v libx264 -vf "fps=25,format=yuv420p" "e:\out.mp4" 

-safe 0參數防止不安全文件名錯誤

相關鏈接

FFmpeg making video from images placed in different folders

FFMPEG An Intermediate Guide/image sequence

Concatenate – FFmpeg

+0

是的,它也適用於我,謝謝。 – user3877422

+0

_「如果您的視頻沒有正確顯示幀如果您遇到問題,例如第一張圖像被跳過或僅顯示一幀,則使用fps視頻濾鏡代替」_ 對不起,請您解釋一下您意思是「fps視頻過濾器」嗎? – arnuschky

+1

據我所知-r參數是可變的幀速率,這意味着FFMPEG可能會丟棄或重複幀以實現所需的輸出幀速率。使用fps過濾器「-vf fps = value」強制FFMPEG產生恆定的幀速率。請參閱[從圖像創建視頻幻燈片 - FFmpeg](https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images#Ifyourvideodoesnotshowtheframescorrectly),and this [What(the technical)difference between -r和fps過濾器?](http://ffmpeg.org/pipermail/ffmpeg-user/2013-July/016273.html)。因此,使用** - r **參數有時會跳過第一張圖像。 – khan

18

-pattern_type glob

這個偉大的選項,可以更容易地在許多情況下選擇的影像:不過

ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' \ 
    -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

需要注意的是,儘管名字,這不是一般的外殼的圖案,例如:-i '*'失敗:https://trac.ffmpeg.org/ticket/3620(顯然是因爲文件類型是從擴展中推導出來的)。

-r 30是克服玩家蝽象VLC低幀率:Playback issues in VLC with low fps video from images using ffmpeg

另請參見:SU

測試上ffmpeg 2.8.6,Ubuntu 16.04。

相關問題