FFMPEG menggabungkan PNG dengan ukuran berbeda ke dalam film


1

Apakah mungkin untuk menggabungkan PNG dari ketinggian yang berbeda tanpa mengubah ukuran (seperti halnya petak)? Saya memiliki pasangan gambar dengan lebar yang sama, tetapi yang pertama memiliki tinggi 900px dan 200px kedua. Saya ingin mereka bergabung menjadi gambar ketinggian 1100px yang menjaga ukurannya (ubin memberi 50-50% split).

Apakah mungkin untuk menggabungkan gambar dari dua folder? Jika ada input seperti -i folder1 /% d.png -i folder2 /% d.png ffmpeg memperlakukan ini sebagai satu urutan diikuti oleh yang lain. Saya ingin digabung berpasangan (folder1 / 1.png dengan folder2 / 1.png dan sebagainya).


Gabungkan mereka ke dalam bingkai terlebih dahulu, kemudian lewati bingkai yang telah diproses ke ffmpeg.
gronostaj

Tujuan utamanya adalah menggunakan ffmpeg jika ini memungkinkan. Karena ubin berfungsi, mungkin ada beberapa filter lanjutan. Juga ini harus lebih sedikit memakan waktu daripada membelah menjadi bagian-bagian yang berbeda. Saat ini saya menggabungkan mereka menggunakan pustaka GD, tetapi butuh beberapa jam dan membutuhkan banyak ruang disk kosong. Jadi saya secara eksplisit bertanya apakah mungkin untuk melakukannya di ffmpeg.
VanDi

Jawaban:


2

representasi membosankan dari hamparan dua urutan gambar dengan lebar yang sama dan tinggi yang berbeda

Representasi membosankan dari hamparan dua gambar dengan lebar yang sama dan tinggi berbeda

Gunakan filter vstack :

ffmpeg -i dir1/%d.png -i dir2/%d.png -filter_complex \
"[0:v][1:v]vstack,format=yuv420p" \
-c:v libx264 -preset medium -crf 23 -movflags +faststart out.mp4
  • Saya menambahkan filter format untuk memastikan bahwa output menggunakan subsampel kroma yang kompatibel dengan pemain berbasis non-FFmpeg; jika tidak ffmpeg, tergantung pada banyak faktor, upaya untuk meminimalkan atau menghindari sub-contoh yang secara teknis sering diinginkan tetapi tidak untuk pemutaran dengan pemain bodoh. Ini sama dengan menggunakan -pix_fmt yuv420pyang Anda lihat dalam contoh lain, tetapi saya lebih suka menggunakannya dalam filtergraph jika saya melakukan penyaringan lainnya.

  • -presetdan -crfmengontrol kecepatan encoding dan kualitas output. Lihat Panduan Pengkodean Video FFmpeg H.264 untuk info lebih lanjut tentang opsi ini.

  • -movflags +faststartakan menemukan kembali moovatom dari akhir file ke awal setelah penyandian selesai. Biasanya digunakan jika pemirsa Anda menonton melalui unduhan progresif di browser atau serupa.


Sekali lagi terima kasih. Ini benar-benar luar biasa karena di GD library saya mendapat kurang dari satu penggabungan dalam 3 detik. Materi yang sama berlaku pada solusi Anda pada 20 fps pada ffmpeg, dan semua pekerjaan dilakukan dalam satu program - lebih dari 70 kali lebih cepat dan menyimpan dua program berbeda menjadi satu. ;)
VanDi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.