ffmpeg dan kesalahan 'tidak dapat menemukan output yang sesuai'

17

Saya mencoba mengonversi MKV besar ke file AVI sekolah lama.

Saya mencoba ini:

ffmpeg -i video.mkv -s -codec:v mpeg4 -bf 1 -b 2567k -mbd 2 -g 300 -flags cgop -acodec copy video.avi

tapi saya mengerti

[NULL @ 0x7fa0d901e600] Unable to find a suitable output format for 'mpeg4' mpeg4: Invalid argument

Versi panjang dari pesan ffmpeg ...

ffmpeg version 2.1.3 Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb  4 2014 17:53:32 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.1.3 --enable-shared     --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-     hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags=        --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, matroska,webm, from ‘video.mkv':
  Metadata:
    creation_time   : 2011-05-11 09:25:47
  Duration: 00:49:01.35, start: 0.000000, bitrate: 2851 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709), 1280x720, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default) (forced)
    Stream #0:2(eng): Subtitle: subrip
[NULL @ 0x7fa0d901e600] Unable to find a suitable output format for 'mpeg4' 
mpeg4: Invalid argument

Adakah yang tahu apa yang terjadi?

EDIT: Saya bermaksud menggunakan ffmpeg setelah DivX Converter - baik di Mac dan Windows - akan gagal di berbagai titik mencoba transcode video ke profil DivX Home Theater. Yang paling dekat yang saya dapatkan adalah jawaban shlck. Itu hanya memunculkan peringatan (daripada kesalahan.) Dalam hal apapun, saya tidak bisa membuat video diputar di DVD player (itu akan membeku setiap 10 detik selama sekitar 6 detik). Jika Anda menemukan pertanyaan ini saat mencoba meneliti pembuatan video yang kompatibel dengan profil DivX Home Theatre, Anda dapat menggunakan string ini sebagai titik awal untuk mencari tahu apa yang salah, dan mengirim pertanyaan tindak lanjut baru ke SU:

ffmpeg -i video.mkv -s 720x406 -codec:v mpeg4 -bf 1 -b:v 2567k -mbd 2 -g 300 -flags cgop -sc_threshold 1000000000 -acodec copy video.avi

(Pada akhirnya saya memberikan DVD player lama).

sederajat
sumber
-s adalah untuk menentukan ukuran output. Formatnya adalah -swxh, di mana w dan h adalah lebar dan tinggi output.
Vineet Menon
Terima kasih tetapi jika Anda membaca edit saya, atau jawaban dan komentar oleh slhck yang saya terima, Anda akan melihat bahwa itu adalah hal pertama yang diperbaiki.
es
ya! saya melihat pertanyaan Anda yang diedit agak terlambat.
Vineet Menon

Jawaban:

14

Anda memiliki -sopsi kesepian di sana. Itu merindukan argumennya.

Anda harus menentukan ukuran yang Anda inginkan atau meninggalkannya sepenuhnya - jika tidak maka tidak akan menafsirkan -codec:vdengan benar dan menganggap itu mpeg4adalah nama file output Anda.

Selain itu, gunakan -b:vbukan hanya -b- itu ambigu.

ffmpeg -i video.mkv -s 1280x720 -codec:v mpeg4 -bf 1 -b:v 2567k -mbd 2 -g 300 -flags cgop -acodec copy video.avi
slhck
sumber
Terima kasih! Saya telah memasukkan -s 720x406 tetapi sekarang mendapatkan: [mpeg4 @ 0x7fc13a813800] Rasio aspek piksel tidak valid 406/405, batasnya 255/255 mengurangi / [mpeg4 @ 0x7fc13a813800] ditutup gop dengan deteksi perubahan adegan belum didukung, tetapkan ambang batas untuk 1000000000 (...) / Kesalahan saat membuka encoder untuk aliran keluaran # 0: 0 - mungkin parameter yang salah seperti bit_rate, laju, lebar atau tinggi / Saya menggunakan resolusi yang disarankan aplikasi DivX Converter untuk 'Home Theatre' profil diberikan file input yang sama (DivX converter memiliki bug fatal sendiri). Tahu ke mana harus pergi dari sini w / ffmpeg?
setara es
(Saya juga mengoreksi opsi -b)
iceequal
Hapus -flags cgopjika Anda tidak perlu itu. Atau tambahkan -sc_threshold 1000000000sebagai opsi.
slhck
-sc_threshold 1000000000ffmpeg diizinkan untuk setidaknya transcode file. Bagi siapa pun yang mencoba membuat video yang kompatibel dengan profil Home Theater DivX, lihat pertanyaan saya yang diedit di atas (Anda harus melakukan lebih banyak pertanyaan / penelitian).
es