mcpField
M
mpv

mpv

公式
github.comメディアツール37.6kmpv今日更新
リポジトリ公式サイト

mpv について

mpv は、コマンドラインから完全に制御できる軽量なオープンソースメディアプレイヤーです。ローカルファイルとネットワークストリームに対応し、自動化と統合のためのスクリプト化インターフェイスを提供します。

主な機能

  1. 01ローカルビデオとオーディオファイルを再生
  2. 02URL から直接メディアをストリーミング
  3. 03コマンドラインフラグで再生動作をカスタマイズ
  4. 04スクリプティングを通じて機能を拡張

活用シーン

  1. 01ビデオ処理ワークフローを自動化
  2. 02コーディングエージェントにメディア検証を統合
  3. 03バッチ処理とヘッドレス再生

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install mpv

インストール後にmpv --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
mpv video.mp4
02
mpv https://example.com/stream

詳細

mpv ロゴ

mpv

外部リンク

概要

mpv は、コマンドライン向けの自由なメディアプレーヤーです。幅広い種類のメディアファイル形式、音声・動画コーデック、字幕形式に対応しています。

FAQ があります。

リリースはリリース一覧で確認できます。

システム要件

  • 古すぎない Linux(通常、積極的にサポートされるのは各ディストリビューションの最新リリースのみです)、Windows 10 1607 以降、または macOS 10.15 以降。
  • ある程度の性能を備えた CPU。CPU が動画をリアルタイムでデコードするには遅すぎる場合、ハードウェアデコードが役立つことがありますが、--hwdec オプションで明示的に有効にする必要があります。
  • ある程度の性能を備えた GPU。mpv は、組み込み GPU や統合 GPU での電力効率の高い再生を重視していません(たとえば、ハードウェアデコードはデフォルトで有効になっていません)。低消費電力 GPU では、ティアリングやカクつきなどの問題が発生する可能性があります。このような GPU では、滑らかに再生するために --profile=fast を使用することをおすすめします。メインの動画出力では、GPU の固定機能ハードウェアではなく、シェーダーを使って動画をレンダリングおよびスケーリングします。Windows では、グラフィックドライバーが最新であることを確認してください。場合によっては、古いフォールバック動画出力方式(Linux での --vo=xv など)が役立つことがありますが、この用途は推奨もサポートもされていません。

mpv は、古いハードウェアやサポート対象外の古いオペレーティングシステムで動作しなくなることを意図的に避けているわけではありませんが、それらを考慮して開発されているわけではありません。そのような環境との互換性は保証されません。動作した場合は、幸運だったと考えてください。

ダウンロード

準公式ビルドやサードパーティのパッケージについては、 mpv.io/installation をご覧ください。

変更履歴

完全な変更履歴はありませんが、プレーヤーのコアインターフェースに関する変更は インターフェースの変更履歴に記載されています。

C API の変更はクライアント API の変更履歴に記載されています。

リリース一覧には、各リリースの重要な変更の概要が掲載されています。

デフォルトのキー割り当ての変更は restore-old-bindings.confに記載されています。

デフォルトの OSC 割り当ての変更は restore-osc-bindings.confに記載されています。

コンパイル

フル機能でコンパイルするには、いくつかの外部ライブラリの開発用ファイルが必要です。mpv のビルドには meson が必要です。meson はディストリビューションのパッケージまたは PyPI から入手できます。

ビルドディレクトリを作成した後(例: meson setup build)、meson configure build を実行すると、利用可能なすべてのビルドオプションの一覧を表示できます。また、meson_options.txt ファイルを直接確認することもできます。ログはビルドディレクトリ内の meson-logs に保存されます。

例:

meson setup build
meson compile -C build
meson install -C build

libplacebo については、ビルド環境で十分なバージョンの libplacebo を容易に入手できない場合、meson は git のチェックアウトをサブプロジェクトとして利用できるため、mpv のコンパイルが簡単になります。この場合、libplacebo は mpv に静的リンクされます。例:

mkdir -p subprojects
git clone https://code.videolan.org/videolan/libplacebo.git --depth=1 --recursive subprojects/libplacebo

必須の依存関係(一部のみ):

  • gcc または clang
  • X 開発用ヘッダー(xlib、xrandr、xext、xscrnsaver、xpresent、libvdpau、 libGL、GLX、EGL、xv など)
  • オーディオ出力の開発用ヘッダー(libasound/ALSA、pulseaudio)
  • FFmpeg ライブラリ(libavutil libavcodec libavformat libswscale libavfilter および libswresample または libavresample のいずれか)
  • libplacebo
  • zlib
  • iconv(通常はシステムの libc が提供)
  • libass(OSD、OSC、テキスト字幕)
  • Lua(任意。OSC の疑似 GUI と youtube-dl 連携に必要)
  • libjpeg(任意。スクリーンショットのみで使用)
  • uchardet(任意。字幕の文字コード検出用)
  • nvdec および vaapi ライブラリ(Linux でのハードウェアデコード用、任意)

libass の依存関係(libass をビルドする場合):

  • gcc または clang、x86 および x86_64 では nasm
  • fribidi、freetype、fontconfig の開発用ヘッダー(libass 用)
  • harfbuzz(結合文字の正しい描画に必要。特に macOS での英語以外のテキストや、どのプラットフォームでもアラビア語・インド系文字の描画に必要)

FFmpeg の依存関係(FFmpeg をビルドする場合):

  • gcc または clang、x86 および x86_64 では nasm
  • OpenSSL または GnuTLS(FFmpeg のコンパイル時に明示的に有効化する必要があります)
  • エンコードを使用する場合は libx264/libmp3lame/libfdk-aac(FFmpeg のコンパイル時に明示的に有効化する必要があります)
  • ネイティブの DASH 再生には、FFmpeg を --enable-libxml2 付きでビルドする必要があります(セキュリティ上の懸念があり、DASH サポートには多くのバグがあります)。
  • AV1 デコードには dav1d が必要です。
  • Linux で NVIDIA への対応を良好にするには、nv-codec-headers がインストールされており、configure で検出できることを確認してください。

上記のライブラリの多くは、一般的な Linux ディストリビューションで適切なバージョンが利用できます。すべての最新の git master を簡単にコンパイルするには、別途提供されているビルドラッパー(mpv-build)を使用するとよいでしょう。これは、まず FFmpeg ライブラリと libass をコンパイルし、その後それらに静的リンクされたプレイヤーをコンパイルします。

Windows 向けのバイナリをビルドする場合は、Windows でのコンパイル を参照してください。

リリースサイクル

年に一度または二度、現在の開発状態からリリースが切り出され、0.X.0 のバージョン番号が割り当てられます。セキュリティ上の問題が発生した場合を除き、それ以降のメンテナンスは行われません。

リリースの目的は、Linux ディストリビューションを満足させることです。Linux ディストリビューションは、バグが発生した場合に独自のパッチを適用することも期待されています。

最新リリース以外のリリースはサポートされておらず、メンテナンスも行われません。

詳細は リリースポリシーのドキュメント を参照してください。

バグレポート

バグレポートや機能リクエストは、GitHub が提供する issue tracker をご利用ください。テンプレートの指示に従ってください。従わない場合、issue は無視されるか、無効として閉じられる可能性が高くなります。

質問は discussions または IRC(下記の Contact を参照)でお尋ねいただけます。

貢献

contribute.mdをお読みください。

小規模な変更であれば、GitHub からプルリクエストを送っていただくだけで構いません。大規模な変更の場合は、作業を始める前に IRC でご相談ください。後々、双方にとってコードレビューがしやすくなります。

何に貢献できるかのアイデアを探すには、ウィキや課題トラッカーをご覧ください。

ライセンス

デフォルトでは GPLv2「以降」、-Dgpl=false を指定した場合は LGPLv2.1「以降」です。 詳細はこちらをご覧ください。

歴史

このソフトウェアは MPlayer プロジェクトを基にしています。mpv がプロジェクトとして存在する以前、コードベースは一時的に mplayer2 プロジェクトで開発されていました。詳細については、FAQをご覧ください。

お問い合わせ

活動の大半は IRC チャンネルと GitHub の課題トラッカーで行われています。

  • GitHub の課題トラッカー:課題トラッカー(バグの報告はこちら)
  • ディスカッション:ディスカッション
  • ユーザー向け IRC チャンネル:irc.libera.chat の #mpv
  • 開発者向け IRC チャンネル:irc.libera.chat の #mpv-devel

コメント