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コンテナ内のこれらの作品の組み合わせは含まれていません。

マンページには、これらのファイルが時々実行可能ファイルに組み込まれていますが、ファイルシステムの1つを使用してそれらを上書きすることもできます。マイコンピュータでは、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ファイルの曲を再生できます。

関連情報