Saya baru tahu cara membuat slideshow dengan crossfade. Ini adalah proses dua langkah. Langkah pertama membaca gambar dengan framerate 0,5 (yang berarti 2 detik untuk setiap gambar), dan menghasilkan video perantara dengan framerate 2. Itu berarti setiap gambar diulang 4 kali. Langkah kedua berlaku filter framerate. Hasilnya adalah bahwa setiap gambar ditampilkan selama 1,5 detik, diikuti oleh silang 0,5 detik.
ffmpeg -framerate 0.5 -i IMG_% 3d.jpg -r 2 -codec: v mpeg4 temp.mp4
ffmpeg -i temp.mp4 -vf "framerate = fps = 25" -codec: v mpeg4 out.mp4
Proses dua langkah ini berfungsi dengan baik, tetapi saya memiliki dua pertanyaan:
- Apakah mungkin untuk mendapatkan hasil yang sama dalam satu langkah, tanpa file video perantara?
- Jika jawaban untuk pertanyaan pertama adalah tidak, bisakah seseorang tolong tunjukkan saya bagaimana perintah di atas harus dimodifikasi untuk file perantara lossless, misalnya RAWVIDEO?
Terima kasih, Michael
mpeg4
sebagai codec? Menggunakan encoder tertentu tanpa menetapkan bitrate target atau tingkat kualitas akan menghasilkan kualitas output yang buruk. Saya lebih suka menggunakan H.264 kecuali jika Anda secara khusus perlu menargetkan perangkat yang tidak mendukungnya.Jawaban:
Anda dapat mengembalikan bingkai sebelum menerapkan filter:
Pembaruan : Filter framerate tampaknya terikat ke framerate input yang dicerna, jadi metode alt menggunakan pipa
Solusi satu baris:
di mana W dan H diganti dengan dimensi input.
sumber
Saya ingin merangkum solusinya:
di mana A adalah durasi dalam detik berapa lama setiap gambar ditampilkan (tanpa durasi crossfade), B adalah durasi crossfade dalam detik, dan WxH adalah ukuran video output.
sumber
-b:v 5M
dan-q:v 0
saling eksklusif; Anda ingin bitrate tertentu (tapi kemudian dua-pass encoding akan lebih baik), atau Anda menentukan tingkat kualitas target (´-q: v 0` akan menghasilkan file yang sangat besar).-maxrate
parameternya. Jika Anda benar-benar membutuhkanmpeg4
, gunakan-q:v 2 -maxrate 5M
untuk video 1080p, misalnya, untuk mencapai aliran VBR dengan laju terbatas.