Saya mencoba mengkonversi 20+ file .avi dalam batch menggunakan ffmpeg.
Saya punya yang berikut ini
@echo off.
for file in *.avi
do
ffmpeg -i "$file" -s 640x480 -vcodec msmpeg4v2 "'basename "$file" .avi'.mpg';
done
di file .bat saya tetapi tidak berfungsi. Bagaimana saya bisa membuatnya bekerja di bawah OS Windows. Oh, dan ya semua file ada di folder yang sama.
Pesan kesalahan yang saya dapatkan:
File tidak terduga saat ini
windows
conversion
ffmpeg
batch-file
Darius
sumber
sumber
cmd
) dan kemudian jalankan file batch menggunakan path lengkapnya dari sana. Apa yang sebenarnya ingin Anda lakukan dengan video? Video macam apa ini? Apakah Anda hanya perlu memindahkannya ke wadah MPG? Atau apakah Anda perlu mengubah ukurannya? Atau apakah Anda secara khusus membutuhkanmsmpeg4v2
codec?ffmpeg -i input.avi -c:v libx264 -crf 23 -s 640x480 output.mp4
mana nilai CRF menentukan kualitas (lebih sedikit lebih baik, lebih banyak lebih buruk, nilai waras dari 19 hingga 24). Lihat juga: Konversi video lama menjadi ukuran yang lebih kecil dan Parameter apa yang harus saya perhatikan untuk mengurangi ukuran file .MOV?Jawaban:
File batch Anda tidak dalam format yang benar untuk skrip Windows bat. Sebaliknya skrip Anda sepertinya ditujukan untuk Linux. Anda harus mengubah skrip untuk menggunakan loop for yang didukung oleh Windows Shell.
Di bawah ini adalah contoh bagaimana menyelesaikan tugas ini dengan menggunakan windows for loop. Cukup letakkan baris di bawah ini di file batch Anda dan pindahkan skrip ke direktori yang sama dengan file avi, kemudian jalankan.
sumber
[NULL @ 000000000037e360] Unable to find a suitable output format for 'outputfile.avi.mpg;' outputfile.avi.mpg:: Invalid argument