web-dev-qa-db-ja.com

mplayerでMP4を再生すると、オーディオ/ビデオが同期しなくなります

MplayerでMP4ファイルを再生しようとすると、数秒後に「システムが遅すぎて再生できません!」というメッセージが表示されます。警告が表示され、ビデオがオーディオより遅れ始めます。これはMP4でのみ発生し、ほぼすべてのMP4で発生するようです。 mplayerは私のシステムに過度の負担をかけているようには見えません。それは、その特定のフォーマットを再生することに関するものにすぎません。私はすべてのmplayerの提案を試しました(別のビデオドライバー、-framedropなど);部分的にでも役立つのは-autosync 30、しかしそれはハックです。何が悪いのでしょうか?デバッグ/修正するにはどうすればよいですか?


編集:私のビデオカードはnVidiaです。 公式ドライバー を使用します。 mplayerによると私の利用可能なビデオ出力ドライバーは次のとおりです。

    xv  X11/Xv
    gl_nosw OpenGL no software rendering
    x11 X11 ( XImage/Shm )
    xover   General X11 driver for overlay capable video output drivers
    gl  OpenGL
    gl2 X11 (OpenGL) - multiple textures version
    matrixview  MatrixView (OpenGL)
    null    Null video output
    mpegpes MPEG-PES file
    yuv4mpeg    yuv4mpeg output for mjpegtools
    png PNG file
    jpeg    JPEG file

私は他のプレイヤーを試したことがありませんが(私も持っていないと思います)、別のプレイヤーをインストールして、同じ問題が発生するかどうかを確認します。複数のコンピューターでこの問題が発生していることを忘れましたが、すべて基本的に同じセットアップであるため、おそらく一般的な原因です。

10
Michael Mrozek

Nvidiaには常にそのような問題があります。あなたのmplayerはおそらくある種のハードウェアアクセラレーションを使用していますが、これは時々バグがある可能性があります(私はうまく機能していてバグのあるnvidiaシステムも見ました)。単純なx11出力(-vo x11)はおそらく機能します。

まだ-framedropフラグを試すことができます。それが機能しない場合は、低レベルの出力ドライバーを使用すれば、-hardframedropでも機能します。

今日のPCでは、単純な-vo x11 -framedropもOKであり、少なくともバグのある低レベルのもの(nvidiaの場合は非常に可能性が高い)の問題を排除します。

実際には、3つの異なるnvidiaドライバーがあります。

  • x.Orgのドライバー
  • クローズドソースのnvidiaドライバー
  • クローズドソースのnvidiaのオープンソースのクローンもあります。

これらは異なるコンボを持っています。 -vo x11に満足できない場合は、それらを試してみることができます。