mpv-player / mpv

mpv logo

  • Overzicht
  • Systeemvereisten
  • Downloads
  • Changelog
  • Compilatie
  • Release cyclus
  • Bug reports
  • Bijdragen
  • Licentie
  • Contact
  • Wiki
  • FAQ
  • Handleiding

Overzicht

mpv is een vrije (als in vrijheid) mediaspeler voor de commandoregel. Het ondersteunt een breed scala aan media file formats, audio en video codecs, en ondertiteling types.

Er is een FAQ.

Releases zijn te vinden op de release lijst.

Systeem eisen

  • Een niet al te oude Linux, Windows 7 of later, of OSX 10.8 of later.
  • Een enigszins capabele CPU. Hardware decodering kan helpen als de CPU te langzaam is om video in realtime te decoderen, maar moet expliciet worden ingeschakeld met de --hwdecoptie.
  • Een niet te crappy GPU. mpv’s focus ligt niet op energie-efficiĆ«nt afspelen op ingebouwde of geĆÆntegreerde GPU’s (hardware decodering is bijvoorbeeld niet eens standaard ingeschakeld). GPU’s met laag vermogen kunnen problemen veroorzaken zoals scheuren, stotteren, enz. De belangrijkste video-output gebruikt shaders voor video rendering en scaling, in plaats van GPU fixed function hardware. Op Windows moet u ervoor zorgen dat de huidige grafische stuurprogramma’s zijn geĆÆnstalleerd. In sommige gevallen kunnen oude fallback video-output methodes helpen (zoals --vo=xv op Linux), maar dit gebruik wordt niet aanbevolen of ondersteund.

Downloads

Voor semi-officiƫle builds en third-party packages kijk a.u.b. op pv.io/installation.

Changelog

Er is geen complete changelog; echter, veranderingen aan de speler core interface zijn vermeld in de interface changelog.

Veranderingen in de C API zijn gedocumenteerd in de client API changelog.

De releaselijst bevat een samenvatting van de meeste belangrijke veranderingen in elke release.

Veranderingen in de standaard key bindings zijn aangegeven inrestore-old-bindings.conf.

Compilatie

Voor het compileren met volledige functies zijn ontwikkelbestanden voor diverse externe bibliotheken nodig. Hieronder staat een lijst met enkele belangrijke vereisten.

Het mpv build systeem gebruikt waf, maar we slaan het niet op in het depot. Het ./bootstrap.py script zal de laatste versie van waf downloaden die getest is met het build system.

Voor een lijst van de beschikbare build opties gebruik ./waf configure --help. Als u denkt dat u ondersteuning voor een bepaalde functie hebt geĆÆnstalleerd, maar configure slaagt er niet in om het te detecteren, kan het bestand build/config.log informatie bevatten over de redenen voor het falen.

NOTE: Om te voorkomen dat de uitvoer onoverzichtelijk wordt met onleesbare spam, toont --help slechts een van de twee schakelaars voor elke optie. Als de optie standaard automatisch wordt gedetecteerd, wordt de --disable-*** schakelaar afgedrukt; als de optie standaard is uitgeschakeld, wordt de --enable-*** schakelaar afgedrukt. Hoe dan ook, u kunt --enable-*** of --disable-** gebruiken, ongeacht wat --help aangeeft.

Om de software te bouwen kunt u ./waf build gebruiken: het resultaat van de compilatie zal in build/mpv staan. U kunt ./waf install gebruiken om mpv naar de prefix te installeren nadat het is gecompileerd.

Voorbeeld:

./bootstrap.py./waf configure./waf./waf install

Essentiƫle afhankelijkheden (onvolledige lijst):

  • gcc of clang
  • X development headers (xlib, xrandr, xext, xscrnsaver, xinerama, libvdpau,libGL, GLX, EGL, xv, …)
  • Audio uitvoer ontwikkeling headers (libasound/ALSA, pulseaudio)
  • FFmpeg bibliotheken (libavutil libavcodec libavformat libswscale libavfilteren ofwel libswresample of libavresample)
  • zlib
  • iconv (normaal geleverd door het systeem libc)
  • libass (OSD, OSC, tekst ondertitels)
  • Lua (optioneel, nodig voor de OSC pseudo-GUI en youtube-dl integratie)
  • libjpeg (optioneel, alleen gebruikt voor screenshots)
  • uchardet (optioneel, voor ondertitel charset detectie)
  • nvdec en vaapi bibliotheken voor hardware decoding op Linux (optioneel)

Libass afhankelijkheden (bij het bouwen van libass):

  • gcc of clang, yasm op x86 en x86_64
  • fribidi, freetype, fontconfig development headers (voor libass)
  • harfbuzz (vereist voor correcte rendering van combining characters, met name voor een correcte weergave van niet-Engelse tekst op OSX, en Arabisch/Indische scripts op elk platform)

FFmpeg afhankelijkheden (bij het bouwen van FFmpeg):

  • gcc of clang, yasm op x86 en x86_64
  • OpenSSL of GnuTLS (moeten expliciet worden ingeschakeld bij het compileren van FFmpeg)
  • libx264/libmp3lame/libfdk-aac als u encoding wilt gebruiken (moeten expliciet worden ingeschakeld bij het compileren van FFmpeg)
  • Voor native DASH-weergave, FFmpeg moet worden gebouwd met –enable-libxml2 (hoewel er implicaties voor de veiligheid, en DASH ondersteuning heeft veel bugs).
  • AV1 decodering ondersteuning vereist dav1d.
  • Voor goede nvidia ondersteuning op Linux, zorg ervoor dat nv-codec-headers is geinstalleerd en kan worden gevonden door configure.

De meeste van de bovenstaande bibliotheken zijn beschikbaar in geschikte versies op normale Linux distributies. Voor het gemak van het compileren van de laatste git master van alles, wilt u misschien de apart verkrijgbare build wrapper gebruiken (mpv-build)die eerst de FFmpeg bibliotheken en libass compileert, en dan de playerstatically linked tegen die.

Als u een Windows binary wilt bouwen, moet u of MSYS2 en MinGW gebruiken, of cross-compileren vanuit Linux met MinGW. Zie Windows compilatie.

Uitgave cyclus

Om de maand wordt een willekeurig git snapshot gemaakt, en krijgt een 0.X.0 versienummer. Er wordt verder geen onderhoud gepleegd.

Het doel van releases is om Linux distributies gelukkig te maken. Van Linux distributies wordt ook verwacht dat ze hun eigen patches aanbrengen in geval van bugs en beveiligingsissues.

Releases anders dan de laatste release worden niet ondersteund en niet onderhouden.

Zie het release policy document voor meer informatie.

Bug reports

Gebruik a.u.b. de issue tracker van GitHub om ons bugreports of feature requests te sturen. Volg de instructies van het sjabloon of de issu zal waarschijnlijk worden genegeerd of gesloten als ongeldig.

Gebruik de bug tracker als plaats voor eenvoudige vragen is prima, maar IRC wordt aanbevolen (zie Contact hieronder).

Bijdragen

Lees contribute.md.

Voor kleine veranderingen kunt u ons gewoon pull requests sturen via GitHub. Voor grotere veranderingen kom en praat met ons op IRC voordat u begint te werken aan hen. Het zal de code review voor beide partijen later makkelijker maken.

U kunt de wiki of de issue tracker bekijken voor ideeƫn over wat u zou kunnen bijdragen.

Licentie

GPLv2 “of later” standaard, LGPLv2.1 “of later” met --enable-lgpl.Zie details.

Geschiedenis

Deze software is gebaseerd op het MPlayer project. Voordat mpv bestond als een project, werd de code basis kort ontwikkeld onder het mplayer2 project. Voor details, zie de FAQ.

Contact

De meeste activiteit gebeurt op het IRC kanaal en de github issue tracker.

  • GitHub issue tracker: issue tracker (rapporteer bugs hier)
  • IRC kanaal voor gebruikers: #mpv op irc.freenode.net
  • Ontwikkelaar IRC Kanaal: #mpv-devel op irc.freenode.net

Leave a Reply

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.