Bagian pertama dari pertanyaan saya:
Saya membaca dokumentasi ffmpeg ( section 3.2 How do I encode single pictures into movies?
) berikut ini:
Untuk menyandikan gambar tunggal ke dalam film, jalankan perintah:
ffmpeg -f image2 -i img%d.jpg movie.mpg
Perhatikan bahwa `% d 'diganti dengan nomor gambar: img% 03d.jpg berarti urutan img001.jpg, img002.jpg, dll ...
Pertanyaan saya adalah: Siapa yang melakukan terjemahan antara img%03d.jpg
dan img001.jpg, img002.jpg, etc
? Apakah itu shell atau ffmpeg?
Bagian kedua:
Saya ingin meminta ffmpeg untuk menyandikan urutan gambar ke dalam video. Namun, urutan saya sering dimulai dengan indeks yang berbeda dari 1, (misalnya kita dapat menyebutnya start_index
) dan berakhir pada indeks yang dapat kita panggil end_index
. Selain itu, urutan menggunakan peningkatan nilai increment
, misalnya:
img_0025.png, img_0030.png, img_0035.png, ... img_0100.png
Dimana start_index
25, end_index
100, dan increment
5.
Saya ingin memberi makan urutan gambar seperti di atas ke ffmpeg tanpa harus mengubah nama urutan terlebih dahulu. Dokumentasi menjelaskan bagaimana melakukan ini dengan tautan simbolik, tapi saya bertanya-tanya apakah ada cara untuk menghindarinya sama sekali, mungkin menggunakan globbing lanjutan di zsh.
while IFS= read -d $'\0' -r file ;do pnmcomp -align=center -valign=middle <(anytopnm "$file" 2>/devnull) done
skrip berhenti bekerja (yaitu saya dapatkanpipe: could not find codec parameters
). Apa kamu tahu kenapa? Apakah saya perlupnmscale
atauppmmake
memberi makanffmpeg
denganpnm
gambar?avisynth
(lingkungan skrip video yang kuat - avisynth hanya untuk Windows :( Alasan utama saya menggunakannetpbm
format adalah karena saya terus melihat posting tentang masalah memasukkan jpeg ke pipa, jadi saya hanya memilih jalur yang paling tidak resistansi. Pengkodean video akan menjadi langkah yang menyebabkan hilangnya kualitas, tetapi meningkatkan ukuran bingkai membantu ... Saya kira Anda memiliki alasan spesifik untuk menggunakan video, tetapi peragaan slide sederhana dapat bekerja untuk AndaUntuk bagian pertama saja: Ini ffmpeg melakukan pekerjaan. Shell tidak memahami
%d
string sebagai pola khusus dalam nama file.sumber