mpv-player / mpv

logo mpv

  • Panoramica
  • Requisiti di sistema
  • Downloads
  • Changelog
  • Compilazione
  • Ciclo di rilascio
  • Relazione bug
  • Contribuire
  • Licenza
  • Contatto
  • Wiki
  • FAQ
  • Manuale

Panoramica

mpv è un lettore multimediale libero (come in libertà) per la riga di comando. Supporta un’ampia varietà di formati di file multimediali, codec audio e video, e tipi di sottotitoli.

C’è una FAQ.

Le versioni possono essere trovate nella lista delle versioni.

Requisiti di sistema

  • Un Linux non troppo antico, Windows 7 o successivo, o OSX 10.8 o successivo.
  • Una CPU abbastanza capace. La decodifica hardware potrebbe aiutare se la CPU è troppo lenta per decodificare video in tempo reale, ma deve essere esplicitamente abilitata con l’opzione --hwdec.
  • Una GPU non troppo schifosa. mpv non si concentra sulla riproduzione efficiente dal punto di vista energetico su GPU integrate o integrate (per esempio, la decodifica hardware non è nemmeno abilitata di default). Le GPU a bassa potenza possono causare problemi come tearing, stutter, ecc. L’uscita video principale usa shaders per il rendering video e lo scaling, piuttosto che l’hardware a funzione fissa della GPU. Su Windows, potresti voler assicurarti che i driver grafici siano aggiornati. In alcuni casi, gli antichi metodi di fallback videooutput possono aiutare (come --vo=xv su Linux), ma questo uso non è raccomandato o supportato.

Download

Per le build semi-ufficiali e i pacchetti di terze parti si prega di vedere seempv.io/installazione.

Changelog

Non esiste un changelog completo; tuttavia, i cambiamenti all’interfaccia del player sono elencati nel changelog dell’interfaccia.

Le modifiche all’API C sono documentate nel changelog dell’API del client.

L’elenco delle release ha un riassunto della maggior parte dei cambiamenti importanti in ogni release.

Le modifiche alle associazioni di tasti predefinite sono indicate inrestore-old-bindings.conf.

Compilazione

La compilazione con funzionalità complete richiede file di sviluppo per diverse librerie esterne. Sotto c’è una lista di alcuni importanti requisiti.

Il sistema di compilazione di mpv usa waf, ma non lo memorizziamo nel deposito. Lo script ./bootstrap.py scaricherà l’ultima versione di waf che è stata testata con il sistema di compilazione.

Per una lista delle opzioni di compilazione disponibili usa ./waf configure --help. Se pensi di avere il supporto per qualche caratteristica installata ma configure non riesce a rilevarla, il file build/config.log può contenere informazioni sui motivi del fallimento.

NOTA: Per evitare di ingombrare l’output con spam illeggibile, --help mostra solo uno dei due interruttori per ogni opzione. Se l’opzione è rilevata automaticamente per default, viene stampato l’interruttore --disable-***; se l’opzione è disabilitata per default, viene stampato l’interruttore --enable-***. In entrambi i casi, puoi usare--enable-*** o --disable-** indipendentemente da ciò che viene stampato da --help.

Per costruire il software puoi usare ./waf build: il risultato della compilazione si troverà in build/mpv. Puoi usare ./waf install per installare mpv nel prefisso dopo che è stato compilato.

Esempio:

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

Dipendenze essenziali (elenco incompleto):

  • gcc o clang
  • X headers di sviluppo (xlib, xrandr, xext, xscrnsaver, xinerama, libvdpau,libGL, GLX, EGL, xv, …)
  • intestazioni di sviluppo dell’output audio (libasound/ALSA, pulseaudio)
  • le librerieFFmpeg (libavutil libavcodec libavformat libswscale libavfiltere o libswresample o libavresample)
  • zlib
  • iconv (normalmente fornite dalla libc di sistema)
  • libass (OSD, OSC, sottotitoli di testo)
  • Lua (opzionale, richiesto per la pseudo-GUI OSC e l’integrazione con youtube-dl)
  • libjpeg (opzionale, usato solo per gli screenshot)
  • uchardet (opzionale, per il rilevamento del charset dei sottotitoli)
  • nvdec e le librerie vaapi per la decodifica hardware su Linux (opzionale)

Dipendenze di libass (quando si costruisce libass):

  • gcc o clang, yasm su x86 e x86_64
  • fribidi, freetype, header di sviluppo fontconfig (per libass)
  • harfbuzz (necessario per la corretta resa dei caratteri combinatori, in particolare per la resa corretta del testo non inglese su OSX, e degli script in arabo/indici su qualsiasi piattaforma)

dipendenze diFFmpeg (quando si costruisce FFmpeg):

  • gcc o clang, yasm su x86 e x86_64
  • OpenSSL o GnuTLS (devono essere esplicitamente abilitati durante la compilazione di FFmpeg)
  • libx264/libmp3lame/libfdk-aac se vuoi usare la codifica (devono essere esplicitamente abilitati durante la compilazione di FFmpeg)
  • per la riproduzione DASH nativa, FFmpeg deve essere compilato con –enable-libxml2 (anche se ci sono implicazioni di sicurezza, e il supporto DASH ha molti bug).
  • Il supporto alla decodificaAV1 richiede dav1d.
  • Per un buon supporto nvidia su Linux, assicurati che nv-codec-headers sia installato e possa essere trovato da configure.

La maggior parte delle librerie di cui sopra sono disponibili in versioni adeguate sulle normali distribuzioni Linux. Per facilitare la compilazione dell’ultimo git master di tutto, potresti voler usare il build wrapper disponibile separatamente (mpv-build) che prima compila le librerie FFmpeg e libass, e poi compila i player collegati staticamente con quelle.

Se vuoi costruire un binario per Windows, devi usare MSYS2 e MinGW, o fare una compilazione incrociata da Linux con MinGW. Vedi Compilazione Windows.

Ciclo di rilascio

Ogni due mesi, viene fatto uno snapshot git arbitrario, e viene assegnato un numero di versione 0.X.0. Non viene fatta ulteriore manutenzione.

L’obiettivo dei rilasci è di rendere felici le distribuzioni Linux. Ci si aspetta anche che le distribuzioni Linux applichino le proprie patch in caso di bug e problemi di sicurezza.

Le release diverse da quella più recente non sono supportate e non vengono mantenute.

Vedi il documento sulla politica di rilascio per maggiori informazioni.

Segnalazioni di bug

Si prega di utilizzare il tracker di problemi fornito da GitHub per inviarci segnalazioni di bug o richieste di funzionalità. Segui le istruzioni del template o il problema sarà probabilmente ignorato o chiuso come non valido.

Utilizzare il bug tracker come luogo per semplici domande va bene, ma è consigliato IRC (vedi Contatto sotto).

Contribuire

Si prega di leggere contribute.md.

Per piccoli cambiamenti puoi semplicemente inviarci richieste pull attraverso GitHub. Per cambiamenti più grandi vieni a parlare con noi su IRC prima di iniziare a lavorarci. Renderà la revisione del codice più facile per entrambe le parti in seguito.

Puoi controllare il wiki e il issue tracker per idee su cosa potresti contribuire.

Licenza

GPLv2 “o successiva” di default, LGPLv2.1 “o successiva” con --enable-lgpl.Vedi dettagli.

Storia

Questo software è basato sul progetto MPlayer. Prima che mpv esistesse come progetto, il codice base è stato brevemente sviluppato sotto il progetto mplayer2. Per i dettagli, vedi le FAQ.

Contatto

La maggior parte dell’attività avviene sul canale IRC e sul issue tracker di github.

  • issue tracker di GitHub: issue tracker (segnala i bug qui)
  • Canale IRC utente: #mpv su irc.freenode.net
  • Canale IRC sviluppatori: #mpv-devel su irc.freenode.net

Leave a Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.