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

무슨 일이야?

편집 : Mac과 Windows 모두에서 DivX 변환기 후에 ffmpeg를 사용하여 비디오를 DivX 홈 시어터 프로파일로 코드 변환하려는 여러 가지 지점에서 실패했습니다. 내가 얻은 가장 가까운 것은 shlck의 대답이었습니다. 오류가 아닌 경고 만 발생했습니다. 어쨌든 DVD 플레이어에서 비디오를 재생할 수 없었습니다 (약 6 초 동안 10 초마다 정지합니다). 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의 답변과 의견을 읽으면 그것이 가장 먼저 수정 된 것을 볼 수 있습니다.
iceequal

네! 편집 한 질문이 약간 늦었습니다.
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] 장면 변경 감지 기능이있는 닫힌 gop는 아직 지원되지 않습니다. 1000000000 (...) / 출력 스트림 # 0 : 0에 대해 인코더를 여는 중 오류 발생-bit_rate, rate, width 또는 height와 같은 잘못된 매개 변수 / DivX Converter 응용 프로그램이 '홈 시어터'에 대해 제안한 해상도를 사용하고 있습니다. 동일한 입력 파일이 제공된 프로필 (DivX 변환기에는 치명적인 버그가 있음) ffmpeg가있는 곳에서 어디로 가야할지 알고 있습니까?
iceequal

(또한 -b 옵션을 수정했습니다)
iceequal

-flags cgop꼭 필요하지 않은 경우 제거하십시오 . 또는 -sc_threshold 1000000000옵션으로 추가하십시오 .
slhck

-sc_threshold 1000000000ffmpeg가 파일을 최소한 트랜스 코딩하도록 허용했습니다. DivX Home Theater 프로파일 호환 비디오를 만들려는 사람은 위의 편집 된 질문을 참조하십시오 (자세한 질문 / 연구가 필요함).
iceequal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.