mpv, 2012'de wm4 olarak da bilinen Vincent Lang tarafından, 2010'da MPlayer'dançatallananmplayer2'den çatallandı.[7] Çatalın amacı, sürdürülemez kodu kaldırarak ve çok eski sistemler için desteği keserek geliştirici etkinliğini teşvik etmekti. Sonuç olarak, proje büyük bir katkı akışına sahipti.[8]
Haziran 2015'ten bu yana, projenin kaynak kodu, mpv'nin daha fazla uygulamada bir kütüphane olarak kullanılmasına izin vermek için GNU Genel Kamu Lisansı sürüm 2'den (GPLv2) veya daha sonra GNU Kısıtlı Genel Kamu Lisansı sürüm 2.1'e (LGPLv2.1) veya daha sonrasına yeniden lisanslanma sürecindedir.[9]
mpv, MPlayer'dan çatallandığından beri [10] birkaç önemli değişiklik geçirdi; en kullanıcı tarafından görülebilen, temel fare kontrol edilebilirliği sunmak için mpv ile entegre edilmiş bir ekran denetleyicisi (OSC) minimal GUI'nin eklenmesidir. Bu, yeni kullanıcılar için etkileşimi kolaylaştırmak ve kesin ve doğrudan aramayı sağlamak için tasarlandı.
Video web siteleri
youtube-dl kullanarak mpv, YouTube'da ve desteklenen diğer 1000'den fazla sitede yüksek çözünürlüklü video (HD) içeriğinin ve sesin oynatılmasını doğal olarak destekler.[11] Bu, mpv'nin Adobe Flash veya HTML5 tabanlı siteye özel video oynatıcıların yerini almasına olanak tanır.
Oynatıcı, sabit aralıkta hız değişimi için bir scaletempo2 parametresi ile donatılmıştır; bunun için, orijinal mplayer'da kullanılan orijinal scaletempo ve lastikbanttan daha fazla düzgünlük göstererek Waveform Benzerlik Örtüşme ve Ekleme (WSOLA) algoritmasını kullanır.[15]
Geliştirilmiş istemci API'si
Tek başına bir medya oynatıcı olarak çalışmanın ötesinde, mpv, libmpv adlı bir kitaplık arabirimi aracılığıyla doğrudan diğer uygulamalar tarafından kullanılmak üzere tasarlanmıştır. Bu, tüm mpv kod dizisini güvenli hale getirmeyi gerektiriyordu. libmpv kullanan bir uygulamaya örnek Plex'tir.[16] Bir JSON IPC mekanizmasıyla birlikte bu oynatıcı denetimi biçimi, MPlayer'ın "bağımlı modunun" yerini alır.
Kodlama alt sistemi
mpv, farklı biçimlerde oynatılan dosyaları kaydetmek için kullanılabilecek yeni bir video kodlama modu içerir. Bu, mpv'nin birçok video formatını destekleyen bir dönüştürücü olarak çalışmasına izin verir.[17] Bu özellik, oynatıcıya entegre edilmek yerine ayrı bir program olan MPlayer'ın MEncoder bileşeninin doğrudan yerine geçer.
Lua komut dosyası
mpv'nin davranışı ve işlevleri, video kırpma, grafik kullanıcı arabirimi (GUI) sağlama veya ekranın yenileme hızını otomatik olarak ayarlama gibi görevler için kullanılabilen Lua komut dosyası dilinde yazılmış küçük programlar kullanılarak özelleştirilebilir.[18]
Orijinal MPlayer gibi, mpv de, MPlayer'dan daha gelişmiş bir kullanıcı arayüzüne sahip olmasına rağmen, yalnızca klavyeyi değil, aynı zamanda mpv'ler için ekran denetleyicisi (OSC) için fareyi de kullanabilen bir komut satırı uygulamasıdır. Bununla birlikte, bu OSC hala tam özellikli bir GUI değildir ve mpv'ye daha eksiksiz bir grafik arayüz vermek için Qt, GTK veya diğer bazı widget araç takımı için GUI widget'larını kullanan bir dizi ön uç vardır.
Aşağıdakiler, mpv'den daha fazla özellik ve daha kullanıcı dostu arayüz ve/veya çeşitli işletim sistemleri veya masaüstü ortamları ile daha iyi entegrasyon sağlamaya çalışan mpv'nin ("libmpv" veya mpv'nin komut satırı sürümüne dayalı) tüm açık kaynaklı ön uçlarıdır.[19]
Baka MPlayer - macOS sürümü kullanıcının kaynaktan derlemesini gerektirir. Windows, Linux ve macOS platformları için medya oynatıcı, Qt5 widget'ları ile C++ ile yazılmıştır. Ana hedefi düzenli, basit tasarımdır.[20] Gelişimi, Ocak 2017'de, henüz tam olarak bitmemiş olan aynı geliştiriciler Mochi Player tarafından başka bir mpv ön yüzü lehine durdu.
Deepin Movie - Linux için - Çin Deepin dağıtımı ve masaüstü ortamı için varsayılan video oynatıcı tarafından yazılmıştır.[21]
IINA - yerel macOS Kakao arayüzüne sahip macOS 10.10+ medya oynatıcı Bu, macOS'in en son sürümlerinde bulunan yeni özelliklerden yararlanan, mpv için tam özellikli bir yerel macOS grafik arabirimidir. mpv yapılandırma dosyası ve komut dosyası sistemi de entegre edilmiştir.[23]
Kawaii-Player - Linux ve Windows 10 - Qt5 widget'lı medya oynatıcı ve medya sunucusu . Amacı sadece bir multimedya oynatıcı değil, aynı zamanda bir ses/video kitaplığı yöneticisi ve taşınabilir medya sunucusu ve torrentakış sunucusu/oynatıcısı olmaktır.[24]
Media Player Classic Qute Theatre (mpc-qt) - C++ ile yazılmış Qt5 widget'lı Linux ve Windows medya oynatıcı. Amacı, Linux gibi Unix benzeri işletim sistemlerinde de çalışan, platformlar arası mpv tabanlı bir multimedya oynatıcı olarak yalnızca Windows programı olan Media Player Classic Ev Sineması'nın (mpc-hc) işlevselliğini yeniden üretmek ve nihai olarak geliştirmektir. .
mpv.net - Yerel Windows arayüzüne sahip Windows medya oynatıcı. Amacı, özelleştirilebilir bir Windows bağlam menüsü, C# komut dosyası oluşturma ve eklentiler için bir Yönetilen Genişletilebilirlik Çerçevesi (MEF) ile birlikte Windows'ta standart mpv OSC arabirimini sağlamaktır.[25]
OvoPlayer - Pascal ile yazılmış, LCL widget setlerine dayalı birçok arka ucu destekleyen Linux ve Windows müzik çalar. Amacı, mpv gibi mümkün olduğunca çok sayıda ses motoru arka ucunu destekleyen esnek bir ses çalar olmaktır.[26]
SMPlayer - MPlayer veya mpv kullanabilen gelişmiş özellikler ve YouTube ve Chromecast desteği ile tam özellikli, platformlar arası ve kaplanabilir. Microsoft Windows, Linux ve macOS için mevcuttur ve Qt4/Qt5 ile C++ ile yazılmıştır.[27]
Sugoi Player - Windows'ta medya oynatıcı (Linux ve macOS üzerinde çalışabilir, ancak bunlar denenmemiş), C++ ile yazılmış Qt5 widget'ları ile Baka MPlayer'dan çatallanmıştır. Baka MPlayer'ın geliştirilmesi Ocak 2017'de durduğundan, Baka MPlayer'a dayalı bir mpv ön yüzünü geliştirmeyi ve geliştirmeye devam etmeyi amaçlıyor.[28]
xt7-player-mpv - Qt5 veya Qt4 pencere öğelerine sahip Linux medya oynatıcısı, Gambas 3'te (BASIC'in bir lehçesi) yazılmıştır. Amacı, kullanılabilirlik ve YouTube ve SHOUTcast entegrasyonu, medya etiketleme, kitaplık ve oynatma listesi yönetimi gibi çeşitli ekstra özelliklerin yanı sıra bunun ötesinde daha fazla özellik eklemektir.[29]
^wm4. "LGPL relicensing (#2033)". mpv-player/mpv (source code repository). GitHub. 14 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Eylül 2017. ... GPL-incompatible dependencies such as OpenSSL are a big issue for library users, even if the library user is ok with the GPL. ...