mpvは、MPlayerとmplayer2からフォークしたメディアプレーヤーである。GNU GPL v2 などの自由ソフトウェアライセンスの下で配布されている。
Unix系とWindowsで動作し、mpv-androidという名称でAndroidにも移植されている。
歴史
mpvは2012年にmplayer2からフォークしたメディアプレーヤーである。フォークした理由は、保守ができないコードを削除することと、非常に古いシステムのサポートを終了することにより、開発者の活動を促進することであった。結果として、このプロジェクトには多くの人が貢献するようになった。
2015年6月以降、プロジェクトのソースコードはGNU GPL v2 からGNU LGPL v2.1 に再ライセンスされ、より多くのアプリケーションでmpvをライブラリとして使用することが可能となった。
MPlayerからの変更点
MPlayerからフォークして以降、mpvには幾つかの注目すべき変更が加えられており、最も大きな変更点は基本的なマウスによる操作を提供するOn Screen Controller (OSC) と呼ばれるmpvに統合された最低限のGUIである。これは、新規ユーザーにとって対話を容易なものにし、正確かつ直接的なシークを可能にすることを目的としていた。
- ウェブサイト上の動画の再生
- youtube-dlを使用することによって、mpvはYouTubeやその他の1,000以上のサイトの高精細度ビデオを再生することができる。これによって、mpvはAdobe FlashやHTML5に基づいたサイト固有のビデオプレーヤーを置き換えることができる。
- 高品質な動画の出力
- mpvにはOpenGLと新しいVulkanに基づくカスタマイズ可能な動画出力用のドライバが含まれている。これには、高度な拡大フィルタ・カラーマネージメントシステム・カスタマイズ可能なピクセルシェーダーなどの再生品質を制御するための100以上のオプションをサポートしている。
- 改良されたクライアントAPI
- mpvは単独のメディアプレーヤーとしてだけではなく、
libmpvと呼ばれているAPIを通して、他のアプリケーションでも直接使用ができるように設計されている。このためには、mpvの全てのコードをスレッドセーフなものにする必要があった。libmpvを使用するアプリケーションの例としてPlexがある。この形式のプレーヤー制御は、JSON-RPCと共に、MPlayerのslaveモードを置き換えるものである。 - 符号化サブシステム
- mpvには様々な動画圧縮コーデックに対応した、新たな動画圧縮モードが含まれている。このことは、mpvが多くの動画圧縮コーデックに対応したトランスコーダとして機能することを意味している。この機能はMPlayerのMEncoderコンポーネントの直接的な代替品として機能する。MEncoderはMPlayerとは兄弟関係であるが、組み込まれてはいない。
- Luaスクリプト
- mpvの動作や機能はLuaによってカスタマイズすることができる。これは動画の切り取り・GUIの提供・ディスプレイのリフレッシュレートの自動調整などに利用することができる。
削除された機能
ビデオCDのサポートは終了した。
インタフェースとフロントエンド
オリジナルのMPlayerと同様に、mpvはコマンドラインインタフェース向けのアプリケーションであるが、MPlayerよりも高度なユーザインタフェースを持っており、OSCはキーボードだけではなくマウスを使用することもできる。しかしながら、OSCはGUIの機能に完全対応したものではなく、QtやGTKなどのGUIツールキットを利用して、mpvにより完全なGUIを提供するフロントエンドが幾つか開発されている。
以下は、mpvよりも多くの機能とユーザーフレンドリーなユーザインタフェースの提供と、様々なオペレーティングシステムやデスクトップ環境との統合を目指している、libmpvに基づいたオープンソースのmpvのフロントエンドの一覧である。
脚注
注釈
出典
関連項目
- FFmpeg
- libavcodec
- ビデオプレーヤーの比較
外部リンク
- 公式ウェブサイト
- mpv - GitHub




