ffmpeg影像輸入在Windows中的輸入等級使用奇數或偶數

ffmpeg影像輸入在Windows中的輸入等級使用奇數或偶數

有幾種解決方案可以在濾鏡層級選擇每個奇數或偶數影像,而且它們都有效。但就我而言,我有一個 15360x8640 .jpg 檔案的輸入,無論我輸入所有圖像並丟棄過濾器中的每一秒,還是跳過每一秒輸入圖像,都會產生很大的差異。它會大大加快編碼速度。我的正常輸入是(對於五位數字文件,在 win10 x64 上運行):

ffmpeg.exe -framerate 60 -i %05d.jpg -vcodec libx264 out.mkv

我嘗試過的(取自這個線程,可能只適用於 Linux,但我無法檢查):

ffmpeg.exe -framerate 60 -i %04d%[13579%].jpg -vcodec libx264 out.mkv

以及帶有和不帶有全局選項的各種變體等等。全部失敗。總是導致“%04d%[13579%].jpg:沒有這樣的檔案或目錄”或類似的內容。

每十幀一個工作範例(即 00001 00011 00021 等)。

ffmpeg.exe -framerate 60 -i %04d1.jpg -vcodec libx264 out.mkv

有人已經解決了這個問題或是有新的想法嗎?

答案1

目前有兩步驟解決方案。
建立清單:

dir *1.jpg *3.jpg *5.jpg *7.jpg *9.jpg /b /on | c:\prog\unix\sed "s/^/file /" > "!list.txt"

使用清單:

ffmpeg.exe -r 60 -f concat -safe 0 -i "!list.txt" -vcodec libx264 out.mkv

優點:僅僅為了獲得這些文件的副本(在輸入級別上以不同的方式命名為輸入或解碼時間)就可以節省大約 TB 的時間。與使用巨大的 .jpg 作為輸入在濾波器層級進行轉換相比,速度提高了近 1.5 倍。
缺點:似乎比在過濾器層級使用它需要更多的內存,但為什麼呢?
有人有更好的解決方案嗎?

相關內容