4x ulang videoframe menggunakan ffmpeg

9

Saya perlu mempercepat video dengan faktor 4x, tetapi tidak ingin menjatuhkan frame dan sebaliknya rata-rata. Yakni masing-masing 4 frame dirata-rata, dan menghasilkan 1 frame output. Frame-rate target tetap sama, jadi video sekarang 4 kali lebih cepat.

Apakah ada cara untuk melakukannya di ffmpeg?

BarsMonster
sumber
3
Bisakah Anda lebih spesifik tentang bagaimana mereka seharusnya "dirata-rata"? Metode apa yang ingin Anda gunakan?
Logan
@LordNeckbeard (f1 + f2 + f3 + f4) / 4 - rata-rata sederhana. Jadi setiap frame yang dihasilkan memiliki jejak gerakan yang samar pada semua sub-frame.
BarsMonster
@BarsMonster Saya ragu ffmpeg bisa melakukan ini. Pernahkah Anda melihat efek ini dilakukan dengan cara lain? Apakah Anda tahu seperti apa sebenarnya itu?
Jim Mack
@ Jimmack Saat ini saya melakukan itu secara manual di VirtualDub, mereka memiliki filter interpolasi, dengan interpolasi 0,5x itu tidak benar rata 2 frame. Inilah hasilnya: youtube.com/watch?v=8zrws5CGWsI Kita dapat melihat bahwa setiap frame memiliki pergerakan 2 subframe, sehingga sedikit lebih halus. Tetapi melakukannya dalam cmdline akan jauh lebih cepat di masa depan.
BarsMonster
slowmoVideo mungkin patut dicoba, tetapi saya tidak tahu apakah ini memiliki cli. Filter framerate FFmpeg tampaknya melakukan interpolasi, tetapi tampaknya tidak sesuai dengan kebutuhan Anda.
Logan

Jawaban:

9

ffmpeg dengan filterchain ini melakukannya:

ffmpeg -i input -vf "tblend=average,framestep=2,tblend=average,framestep=2,setpts=0.25*PTS" -r srcfps -{encoding parameters} output

srcfps harus diganti dengan framerate input Anda.

Gyan
sumber
1
Juga mencoba untuk x16 menggunakan "tblend = rata-rata, framestep = 2, tblend = rata-rata, framestep = 2, tblend = rata-rata, framestep = 2, tblend = rata-rata, framestep = 2, setpts = 0.0625 * PTS"
BarsMonster