2016-12-16 99 views
0

我使用Python3,subprocess和ffmpeg將多個PNG圖像轉換爲單個視頻。使用ffmpeg和Python3子進程將多個PNG圖像轉換爲視頻

我有400個PNG編號爲「00001.png」。

此呼籲一個單一的特定圖像AA一幀視頻工作:但是

subprocess.call(["ffmpeg","-y","-r","24","-i", "00300.png","-vcodec","mpeg4", "-qscale","5", "-r", "24", "video.mp4"]) 

,當我嘗試看到了一些網上的方法調用所有格式化爲「###我的圖片## PNG」使用 「%05d.png」,如下圖,現在不工作:

subprocess.call(["ffmpeg","-y","-r","24","-i", "%05d.png","-vcodec","mpeg4", "-qscale","5", "-r", "24", "video.mp4"]) 

我收到錯誤:"%05d.png: No such file or directory"

我有這樣的感覺,上面的語法適合於Python2,而不是在我的python3上工作,但無法在任何地方找到正確的python3語法。

在此先感謝您的幫助

+0

你在哪看到'「%05d.png」'?在Linux上可能會使用'* .png',因爲'Bash'將它轉換爲名稱匹配'* .png'的文件列表。我只在圖像轉換器'ImageMagic'中看到''%05d.png''。 – furas

+0

ffmpeg語法看起來不錯。也許它需要以某種方式逃脫。 @furas ffmpeg接受圖像序列的[語法](http://ffmpeg.org/ffmpeg-formats.html#Examples-1)。 – Mulvya

+0

我試過這個'subprocess',它適合我。因爲我在子文件夾「test」中使用了短名稱001.png - 003.png,因此我使用了''test /%03d.png「'。你是否在包含圖像的文件夾中運行腳本? – furas

回答

1

好了,我終於找到了答案,並預期這是令人失望的簡單:編號具有(在我的案件00001)以1開始,而實際上我的文件範圍從00002.png到00301.png。

儘快添加了一個初始00001.png文件。

+1

您的Q聲明否則:)。FFmpeg有一個start_number選項,所以''ffmpeg 「,」 - y「,」 - r「,」24「,」 - start_number「,」2「,」 - i「,」%05d.png「' – Mulvya

+0

這完全是我的錯!感謝提示Mulvya。 – ylnor

相關問題