ffmpeg та помилка "не в змозі знайти відповідний вихід"


18

Я намагаюся перетворити великий MKV у файл AVI старої школи.

Я намагаюся це:

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

але я отримую

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

Довга версія повідомлення 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

Будь-яка ідея, що відбувається?

EDIT: Я мав намір використовувати ffmpeg після DivX Converter - як на Mac, так і на Windows - не вдалося в різні моменти намагатися перекодувати відео в профіль DivX Home Theater. Найближча мені відповідь була shlck. Він кидав лише попередження (а не помилки.) У будь-якому випадку, я не міг змусити відтворювати відео на DVD-програвачі (воно замерзало кожні 10 секунд протягом приблизно 6 секунд). Якщо ви знайшли це запитання, намагаючись дослідити створення відео, сумісного з профілем DivX для домашнього кінотеатру, можливо, ви можете використати цей рядок як вихідну точку, щоб з’ясувати, що не так, і задати нове додаткове запитання до 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

(Зрештою, я віддав старий програвач DVD).


-s - це визначити розмір виводу. Формат -swxh, де w і h - ширина і висота виводу.
Vineet Menon

Дякую, але якщо ти прочитаєш мою редакцію, або відповідь та коментарі від slhck, яку я прийняв, ти побачив би, що це було перше, що було виправлено.
льодяник

так! я побачив ваше відредаговане питання трохи пізно.
Vineet Menon

Відповіді:


14

У вас там є самотня -sопція. Він пропускає свої аргументи.

Ви повинні вказати потрібний розмір або залишити його повністю - інакше він не буде -codec:vправильно інтерпретувати і припускати, що mpeg4це ваше вихідне ім'я файлу.

Крім того, використовувати -b:vзамість просто -b- це неоднозначно.

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

Дякую! Я поставив -s 720x406, але тепер отримайте: [mpeg4 @ 0x7fc13a813800] Недійсне співвідношення пікселів 406/405, обмеження зменшено на 255/255 / [mpeg4 @ 0x7fc13a813800] закритий гоп із виявленням зміни сцени ще не підтримується, встановіть поріг на 1000000000 (...) / Помилка під час відкриття кодера для вихідного потоку № 0: 0 - можливо, неправильні параметри, такі як bit_rate, швидкість, ширина або висота / Я використовую роздільну здатність, яку пропонує програма DivX Converter для "Домашнього кінотеатру" профілю з тим самим вхідним файлом (у перетворювача DivX є власні фатальні помилки). Будь-яка ідея куди піти звідси w / ffmpeg?
льодяник

(Я також виправив варіант -b)
iceequal

Видаліть, -flags cgopякщо вам це не обов'язково потрібно. Або додати -sc_threshold 1000000000як опцію.
slhck

-sc_threshold 1000000000дозволено ffmpeg принаймні перекодувати файл. Для всіх, хто намагається створити відео сумісне з профілем DivX для домашнього кінотеатру, зверніться до мого відредагованого питання вище (вам потрібно буде більше запитати / досліджувати).
льодяник
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.