MPlayer는 mp4 컨테이너의 Opus 파일을 재생할 수 없습니다

MPlayer는 mp4 컨테이너의 Opus 파일을 재생할 수 없습니다

저는 mplayer 버전 1.4-11을 사용하고 있습니다.

이러한(오디오 전용) 유형의 파일을 재생하려고 하면 MPlayer에서 "오디오 형식 0x7375704F에 대한 코덱을 찾을 수 없습니다"라는 오류 메시지가 표시됩니다.

다른 미디어 플레이어(예: vlc)는 문제 없이 재생합니다.

지원되는 코덱목록MPlayer 웹사이트에는 코덱 이름이 "FFmpeg opus" 및 "FFmpeg libopus"인 유사한 오디오 형식 "0x7375706F"를 지원한다고 명시되어 있습니다.

MPlayer는 .opus 또는 .mkv 파일 확장자를 가진 opus 오디오 파일을 성공적으로 재생할 수 있으며, ffplay(ffmpeg 플레이어 유틸리티)는 이러한 mp4 파일을 문제 없이 재생할 수 있습니다.

다음은 이러한 파일을 생성하는 명령 예입니다(가지고 있는 기존 오디오 파일 사용).

ffmpeg -i myaudio.mp3 -acodec libopus -y test.mp4

모든 것은 MPlayer가 파일을 재생하는 데 문제가 없다는 것을 나타내지만 오디오 형식이 지원되지 않는다고 불평합니다. 왜?

답변1

MPlayer는 codecs.conf라는 구성 파일을 사용하여 다양한 코덱에 대한 지원을 제어합니다. 어떤 이유로 1.4.11부터 .mp4 컨테이너 내의 이러한 작품 조합은 포함되지 않습니다.

맨페이지에는 이러한 파일이 때때로 실행 파일에 내장되어 있지만 파일 시스템 중 하나를 사용하여 이를 재정의할 수도 있음이 나와 있습니다. 내 컴퓨터에서는 mplayer 먼저 에서 파일을 찾고, 에서 파일을 찾을 수 없으면 인수를 사용하여 mplayer를 호출하여 이를 확인할 수 있습니다.codecs.conf$HOME/.mplayer/codecs.conf/etc/mplayer/codecs.conf-v

또한 맨페이지에는 -codecs-file명령줄에서 인수 옵션을 전달할 수 있다고 나와 있지만 저에게는 해당되지 않습니다.

따라서 기본 파일의 복사본을 얻으십시오 codecs.conf. 소스 tarball에서 찾을 수 있습니다.웹사이트또는이것비공식 github 미러. 이 파일은 etc/소스 트리 아래에서 찾을 수 있습니다.

파일 상단에 다음을 추가합니다.

; Manually added: support opus inside .mp4
audiocodec ffopusmp4
  info "FFmpeg opus/mp4"
  status working
  format 0x7375704F
  fourcc opus
  driver ffmpeg
  dll opus

검색 경로에 저장해 보세요. 저에게는 그게 입니다 $HOME/.mplayer/codecs.conf.

MPlayer는 해당 codecs.conf파일의 버전을 지정하므로 경고가 표시되는 경우:

This codecs.conf is too old and incompatible with this MPlayer release!

최신 버전의 파일을 받아 업데이트해야 합니다. 긴급 상황에서는 파일 상단의 "릴리스" 값을 현재 날짜로 늘리면 됩니다. 하지만 프로젝트에서 버전을 늘리기로 결정한 이유에 따라 비호환성이 발생할 수 있습니다.

이 변경으로 다른 파일과 마찬가지로 .mp4 파일의 곡을 재생할 수 있습니다.

관련 정보