Mpv (メディアプレーヤー)
From Wikipedia, the free encyclopedia
初版
2013年8月7日[1]
プログラミング
言語 C言語、Objective-C、Lua
言語 C言語、Objective-C、Lua
|
| |
|
Sprite Frightを再生中のmpv | |
| 初版 | 2013年8月7日[1] |
|---|---|
| 最新版 |
0.40.0[2] |
| リポジトリ | |
| プログラミング 言語 | C言語、Objective-C、Lua |
| 使用エンジン |
|
| 対応OS | Unix系、Windows |
| 種別 | メディアプレーヤー |
| ライセンス | 自由ソフトウェアライセンス[3] |
| 公式サイト |
mpv |
mpvは、MPlayerとmplayer2からフォークしたメディアプレーヤーである。GNU GPL v2+などの自由ソフトウェアライセンスの下で配布されている。
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 |