mpv (メディアプレーヤー)
mpvは、MPlayerとmplayer2からフォークしたメディアプレーヤーである。GNU GPL v2+などのフリーソフトウェアライセンスの下で配布されている。
![]() | |
![]() Sprite Frightを再生中のmpv | |
| 初版 | 2013年8月7日[1] |
|---|---|
| 最新版 |
0.37.0[2] |
| リポジトリ | |
| プログラミング 言語 | C言語、Objective-C、Lua |
| 使用エンジン |
|
| 対応OS | Unix系、Windows |
| 種別 | メディアプレーヤー |
| ライセンス | フリーソフトウェアライセンス[3] |
| 公式サイト |
mpv |
歴史
mpvは2012年にmplayer2からフォークしたメディアプレーヤーである[注釈 1][4]。フォークした理由は、保守ができないコードを削除することと、非常に古いシステムのサポートを終了することにより、開発者の活動を促進することであった。結果として、このプロジェクトには多くの人が貢献するようになった[5]。
2015年6月以降、プロジェクトのソースコードはGNU GPL v2+からGNU LGPL v2.1+に再ライセンスされ、より多くのアプリケーションでmpvをライブラリとして使用することが可能となった[6]。
MPlayerからの変更点
MPlayerからフォークして以降、mpvには幾つかの注目すべき変更が加えられており[7]、最も大きな変更点は基本的なマウスによる操作を提供するOn Screen Controller (OSC) と呼ばれるmpvに統合された最低限のGUIである。これは、新規ユーザーにとって対話を容易なものにし、正確かつ直接的なシークを可能にすることを目的としていた。
- ウェブサイト上の動画の再生
- youtube-dlを使用することによって、mpvはYouTubeやその他の1,000以上のサイトの高精細度ビデオを再生することができる[8]。これによって、mpvはAdobe FlashやHTML5に基づいたサイト固有のビデオプレーヤーを置き換えることができる。
- 高品質な動画の出力
- mpvにはOpenGLと新しいVulkanに基づくカスタマイズ可能な動画出力用のドライバが含まれている[9][10]。これには、高度な拡大フィルタ・カラーマネージメントシステム・カスタマイズ可能なピクセルシェーダーなどの再生品質を制御するための100以上のオプションをサポートしている[11]。
- 改良されたクライアントAPI
- mpvは単独のメディアプレーヤーとしてだけではなく、
libmpvと呼ばれているAPIを通して、他のアプリケーションでも直接使用ができるように設計されている。このためには、mpvの全てのコードをスレッドセーフなものにする必要があった。libmpvを使用するアプリケーションの例としてPlexがある[12]。この形式のプレーヤー制御は、JSON-RPCと共に、MPlayerのslaveモードを置き換えるものである。 - 符号化サブシステム
- mpvには様々な動画圧縮コーデックに対応した、新たな動画圧縮モードが含まれている。このことは、mpvが多くの動画圧縮コーデックに対応したトランスコーダとして機能することを意味している[13]。この機能はMPlayerのMEncoderコンポーネントの直接的な代替品として機能する。MEncoderはMPlayerとは兄弟関係であるが、組み込まれてはいない。
- Luaスクリプト
- mpvの動作や機能はLuaによってカスタマイズすることができる。これは動画の切り取り・GUIの提供・ディスプレイのリフレッシュレートの自動調整などに利用することができる[14]。
削除された機能
ビデオCDのサポートは終了した。
インタフェースとフロントエンド
オリジナルのMPlayerと同様に、mpvはコマンドラインインタフェース向けのアプリケーションであるが、MPlayerよりも高度なユーザインタフェースを持っており、OSCはキーボードだけではなくマウスを使用することもできる。しかしながら、OSCはGUIの機能に完全対応したものではなく、QtやGTKなどのGUIツールキットを利用して、mpvにより完全なGUIを提供するフロントエンドが幾つか開発されている。
以下は、mpvよりも多くの機能とユーザーフレンドリーなユーザインタフェースの提供と、様々なオペレーティングシステムやデスクトップ環境との統合を目指している、libmpvに基づいたオープンソースのmpvのフロントエンドの一覧である。
| 名称 | オペレーティングシステム | プログラミング言語 | 公式ウェブサイト・リポジトリ |
|---|---|---|---|
| Baka MPlayer | Unix系、Windows | C++ (Qt 5) | bakamplayer |
| Deepin Movie | Linux | C++ (Qt 5) | github |
| GNOME MPV | Linux | C言語 (GTK 3) | github |
| IINA | macOS | Swift | iina |
| Kawaii-Player | Unix系、Windows | Python (PyQt5) | github |
| Media Player Classic Qute Theater (mpc-qt) | Unix系、Windows | C++ (Qt 5) | github |
| mpv-android | Android | Kotlin、Java | github |
| mpv.net | Windows | VB.NET、C# | github |
| OvoPlayer | Unix系、Windows | Pascal | ovoplayer |
| SMPlayer | Unix系、Windows | C++ (Qt) | www |
| xt7-player-mpv | Linux | Gambas | github |
脚注
注釈
- mplayer2は2010年にMPlayerからフォークしたメディアプレーヤーである。
出典
- “Release 0.1”. GitHub (2013年8月7日). 2019年1月13日閲覧。
- "Release v0.37.0"; 閲覧日: 2023年11月24日; 出版日: 2023年11月21日.
- “Copyright”. GitHub. 2019年1月13日閲覧。
- “MPV, A New Fork Of MPlayer/MPlayer2”. Phoronix (2013年8月5日). 2019年1月13日閲覧。
- “Contributors to mpv-player/mpv”. GitHub. 2019年1月13日閲覧。
- “LGPL relicensing”. GitHub. 2019年1月13日閲覧。
- “CHANGES FROM OTHER VERSIONS OF MPLAYER”. GitHub. 2019年1月13日閲覧。
- “Supported sites”. youtube-dl. 2019年1月13日閲覧。
- Joey Sneddon (2017年9月13日). “MPV 0.27 Released with Minor Fixes, New OpenGL Options”. 2019年1月13日閲覧。
- “MPV Player 0.28 Adds Initial Vulkan Support”. Phoronix (2017年12月25日). 2019年1月13日閲覧。
- “VIDEO OUTPUT DRIVERS”. mpv.io. 2019年1月13日閲覧。
- “Introducing the Plex Media Player”. Plex Blog (2015年10月20日). 2019年1月13日閲覧。
- “ENCODING”. mpv.io. 2019年1月13日閲覧。
- “User Scripts”. GitHub. 2019年1月13日閲覧。
関連項目
- FFmpeg
- libavcodec
- ビデオプレーヤーの比較
.png.webp)
