ffmpeg e l'errore "impossibile trovare l'output adatto"


17

Sto cercando di convertire un MKV di grandi dimensioni in un file AVI di vecchia scuola.

Sto provando questo:

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

ma capisco

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

Versione lunga del messaggio di 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

Qualche idea di cosa stia succedendo?

EDIT: intendevo usare ffmpeg dopo che DivX Converter - sia su Mac che su Windows - avrebbe fallito in vari punti nel tentativo di transcodificare un video nel profilo DivX Home Theater. Il più vicino che ho avuto è stata la risposta di Shlck. Emetteva solo avvisi (anziché errori). In ogni caso, non riuscivo a far riprodurre il video sul lettore DVD (si congelava ogni 10 secondi per circa 6 secondi). Se hai trovato questa domanda mentre cercavi di ricercare la creazione di un video compatibile con il profilo DivX Home Theater, potresti utilizzare questa stringa come punto di partenza per capire cosa non va e pubblicare una nuova domanda di follow-up su 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

(Alla fine ho regalato il vecchio lettore DVD).


-s è specificare la dimensione dell'output. Il formato è -swxh, dove wh è larghezza e altezza dell'output.
Vineet Menon,

Grazie ma se leggi la mia modifica, o la risposta e i commenti di Slhck che ho accettato, vedresti che è stata la prima cosa che è stata corretta.
iceequal,

si! ho visto la tua domanda modificata un po 'tardi.
Vineet Menon,

Risposte:


14

Hai -sun'opzione solitaria lì. Manca il suo argomento.

Dovresti specificare la dimensione che desideri o lasciarla completamente fuori, altrimenti non interpreterà -codec:vcorrettamente e supporrà che mpeg4sia il tuo nome di file di output.

Inoltre, usa -b:vinvece di solo -b- è ambiguo.

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

Grazie! Ho messo -s 720x406 ma ora ottengo: [mpeg4 @ 0x7fc13a813800] Proporzioni pixel non valide 406/405, il limite è riduzione di 255/255 / [mpeg4 @ 0x7fc13a813800] gop chiuso con rilevamento cambio scena non è ancora supportato, impostare la soglia su 1000000000 (...) / Errore durante l'apertura dell'encoder per il flusso di output # 0: 0 - forse parametri errati come bit_rate, velocità, larghezza o altezza / Sto usando la risoluzione suggerita dall'applicazione DivX Converter per "Home Theater" profilo dato lo stesso file di input (il convertitore DivX ha bug fatali propri). Qualche idea su dove andare da qui con ffmpeg?
iceequal

(Ho anche corretto l'opzione -b)
iceequal

Rimuovere il -flags cgopse non necessariamente necessario. Oppure aggiungi -sc_threshold 1000000000come opzione.
slhck,

-sc_threshold 1000000000ha permesso a ffmpeg di transcodificare almeno il file. Per chiunque cerchi di creare un video compatibile con il profilo DivX Home Theater, fai riferimento alla mia domanda modificata sopra (dovrai fare più domande / ricerche).
iceequal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.