![ffmpeg影像輸入在Windows中的輸入等級使用奇數或偶數](https://rvso.com/image/1592559/ffmpeg%E5%BD%B1%E5%83%8F%E8%BC%B8%E5%85%A5%E5%9C%A8Windows%E4%B8%AD%E7%9A%84%E8%BC%B8%E5%85%A5%E7%AD%89%E7%B4%9A%E4%BD%BF%E7%94%A8%E5%A5%87%E6%95%B8%E6%88%96%E5%81%B6%E6%95%B8.png)
有幾種解決方案可以在濾鏡層級選擇每個奇數或偶數影像,而且它們都有效。但就我而言,我有一個 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 倍。
缺點:似乎比在過濾器層級使用它需要更多的內存,但為什麼呢?
有人有更好的解決方案嗎?