[[Vorlage(Getestet, bionic, focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] optional [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] [:Shell/Bash-Skripting-Guide_für_Anfänger/#Variablen-belegen: Quoten und Maskieren] [:Shell/Einführung/#Programme-im-Terminal-beenden: Programme im Terminal beenden] }}} [[Inhaltsverzeichnis()]] [[Bild(./mpv-logo.png, 48, align=left)]] [https://www.mpv.io/ mpv] {en} ist ein Kommandozeilen-Medienplayer (inklusive minimalistischer GUI), der auf den Quellen von [:MPlayer:] und mplayer2 basiert. Wie der MPlayer unterstützt mpv eine Vielzahl von Betriebssystemen und Medienformaten (Audio und Video). Er eignet sich auch zur Wiedergabe von DVDs und Blu-Rays sowie für TV-Empfang (analog und digital/DVB). Hervorzuheben ist, dass in mpv die Encodierfunktionen von [:MEncoder:] integriert sind (in mplayer2 fehlen diese). [[Vorlage(Bildunterschrift,./mpv-screen-menu.png, 200, "mpv mit Bildschirmmenü", right,)]] mpv unterscheidet sich von seinen Vorgängern in zwei wesentlichen Punkten: * mpv setzt besonders auf eine mit Hilfe von OpenGL verbesserte Videoqualität und kann den Grafikchip (GPU) zum Rendern der Ausgabe nutzen ([wikipedia:Video_Decode_and_Presentation_API_for_Unix:VDPAU] (Nvidia),[wikipedia_en:Video_Acceleration_API:VA API] (Intel) und [wikipedia:X-Video_Bitstream_Acceleration:XvBA] (AMD); siehe auch [:Video-Dekodierung_beschleunigen:]). * mpv besitzt im Vergleich zum MPlayer angepasste Optionsbezeichnungen und unterschiedlich eingefärbte Status- und Fehlermeldungen. Beispielsweise wurde aus der MPlayer-Option `-ss HH:MM`, die zur angegebenen Zeit in Sekunden springt, in mpv `--start`. Auf einer speziellen [github:mpv-player/mpv/blob/master/DOCS/mplayer-changes.rst: GitHub-Seite] {en} ist u.a. auch eine Tabelle mit allen gegenüber MPlayer geänderten Optionen angeführt. Es gibt verschiedene grafische Oberflächen für mpv. Ubuntu Budgie und Ubuntu MATE bringen '''celluloid''' bereits mit. Weitere Oberflächen sind im [archwiki:List_of_applications/Multimedia#mpv-based:ArchWiki] {en} zu finden. = Installation = [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] mpv ist in den offiziellen Paketquellen enthalten[1]: {{{#!vorlage Paketinstallation mpv, universe }}} == PPA == Alternativ kann eine aktuellere Version über ein – unter den nachfolgend aufgeführten Alternativen auszuwählendes – "Personal Package Archiv" (PPA)[2] installiert werden. Die nachfolgend aufgeführten PPAs werden auf der [https://mpv.io/installation/ mpv-Installationsseite] {en} offiziell für Ubuntu empfohlen. === mpv-tests === [[Vorlage(ppa, mc3man/mpv-tests)]] Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben. = Konfiguration = mpv verwendet für Encoding-Profile die systemweite Konfigurationsdatei '''/etc/mpv/encoding-profiles.conf'''. Die allgemeine systemweite Konfigurationsdatei ist '''/etc/mpv/mpv.conf'''. Benutzerspezifische Standardeinstellungen und Profile können in der Datei '''~/.mpv/config''' (bei neueren mpv-Versionen in '''~/.config/mpv/config''' und bei noch neueren Versionen in '''~/.config/mpv/mpv.conf''') im [:Homeverzeichnis:] gespeichert werden. Anstatt also z.B. jedes Mal die Option `--vo=opengl-old` an den Befehl anzuhängen, kann man Folgendes in die Datei eintragen (Zeilen, die mit `#` beginnen, sind Kommentare)[3]: {{{ # Verwende opengl-old Video-Ausgabe als Standard. (Der Video-Ausgabetreiber opengl-old ist speziell # für ältere GPUs konzipiert, jedoch auch nur bei älteren mpv-Versionen verfügbar bzw. überhaupt nötig. # Bei neueren Versionen würde mpv eine Fehlermeldung ausgeben.) vo=opengl-old # Lautstärke: 100 % volume=100 }}} Siehe dazu auch den Abschnitt [#Bedienung Bedienung]. {{{#!vorlage Hinweis Diese Standardeinstellungen setzt man am Besten ganz nach oben in die Datei, oberhalb etwaiger Profileinträge (s.a. den Text nach diesem Hinweis). Alternativ könnte man Standardeinstellungen auch in einem Profil mit dem Namen `default` eintragen. Es ist aber ziemlich egal, sie sind zu Einträgen im `default`-Profil gleichrangig, ganz egal ob dieses (zusätzlich) existiert oder nicht! }}} Um das Arbeiten mit unterschiedlichen Konfigurationen zu erleichtern können Profile definiert werden. Ein Profileintrag beginnt mit dem Profilnamen in eckigen Klammern: {{{ [still] # profile-desc legt eine Profilbeschreibung fest, die mit der Option --profile=help # zusammen mit den Profileinstellungen angezeigt wird. Die Profilbeschreibung ist optional. profile-desc="stilles Profil" # Lautstärke: 0 % volume=0 }}} Um ein Profil zu verwenden, wird es beim Start von mpv mit der Option `--profile=` aufgerufen: {{{#!vorlage Befehl mpv --profile=PROFILNAME }}} Des Weiteren bieten Auto-Profile die Möglichkeit, Voreinstellungen anzugeben, die nur für bestimmte Dateiendungen oder Eingabeprotokolle (z.B. `dvd://` oder `tv://`) gelten sollen. Diese Auto-Profile werden bei Angabe des entsprechenden Eingabeprotokolls bzw.der Dateiendung automatisch geladen: {{{ # Profil für die DVD Wiedergabe; Sprache Deutsch, Untertitel Englisch, Zeilenentflechtung ein [protocol.dvd] profile-desc="Profil für dvd:// Streams" alang=de slang=en deinterlace=yes }}} {{{#!vorlage Hinweis Einträge in den normalen Profilen bzw. Auto-Profilen setzen gegenteilige Einträge in den Standardeinstellungen sowie in einem eventuell vorhandenen Profil mit dem Namen `default` außer Kraft! }}} Und es gibt noch weitere Möglichkeiten: {{{ [still] profile-desc="stilles Profil" # Lautstärke: 0 volume=0 # Vollbild "Ja": fullscreen=yes [protocol.http] profile-desc="Profil für http://-Streams" # Man kann andere (Auto-)Profile mitbenutzen. Das klappt auch innerhalb von normalen Profilen. Es ist egal, # ob das mitbenutzte (Auto-)Profil ober- oder unterhalb des benutzenden (Auto-)Profils steht. profile=still # Im Folgenden ist "fullscreen=no" aktiv, hätte es aber vor "profile=still" gestanden, so wäre "fullscreen=yes" # aus dem stillen Profil aktiv gewesen; ergo zählt immer der spätere Eintrag! fullscreen=no # Der Cache-Speicher ist auf "auto" gesetzt, damit er für Netzwerk-Streams geeignet ist # (automatische Aktivierung bei Bedarf); die Größe wird durch die Option "cache-default" festgelegt: cache=auto # Die Größe des bei Bedarf aktivierten Caches in kByte: cache-default=300000 # Falls das Video größer würde als der Bildschirm, dann reduziere es auf die Bildschirm-Größe: autofit-larger=100%x100% # Falls das Video kleiner würde als der Bildschirm, dann erhöhe es auf die Bildschirm-Größe: autofit-smaller=100%x100% # Stellt die anfängliche Fenster-Position ein; angegeben als prozentualer Anteil der Bildschirm-Größe: geometry=50%:50% # Lässt den Demuxer in einem separatem Strang laufen und ihn eine sichere Menge an Paketen vorabrufen: demuxer-thread=yes # Bei aktivierter Option "demuxer-thread" wird die angegebene Menge an Sekunden im Voraus gepuffert: demuxer-readahead-secs=240 # Wie viele Sekunden an Audio/Video bei aktiviertem Cache vorabgerufen werden: cache-secs=240 # Die Wiedergabe startet, wenn der Cache sich mit der angegebenen Menge in kByte gefüllt hat: cache-initial=1024 [protocol.https] profile-desc="Profil für https://-Streams" profile=protocol.http }}} Eine Liste aller verfügbaren Eingabeprotokolle erhält man mit: {{{#!vorlage Befehl mpv --list-protocols }}} Eine Liste aller verfügbaren Profile – auch der in mpv eingebauten – sowie der Auto-Profile erhält man mit: {{{#!vorlage Befehl mpv --profile=help }}} Informationen zu einem bestimmten Profil gibt es mit: {{{#!vorlage Befehl mpv --show-profile=PROFILNAME }}} Beim Profil `default` wird jedoch lediglich die Profilbeschreibung angezeigt! Um zu erreichen, dass sämtliche systemweite und benutzerspezifische Konfigurationsdateien (z.B. '''mpv.conf''' und '''input.conf''') ignoriert werden wird mpv mit der Option `--no-config` aufgerufen: {{{#!vorlage Befehl mpv --no-config /PFAD/ZUR/DATEI__oder__URL-der-STREAMING-WEBSEITE__oder__STREAMING-URL__oder__PROTOKOLL://... }}} Mehr Informationen zu Profilen bzw. Auto-Profilen sind in der [man:mpv:Manpage] {en} zu finden. [[Anker(KDE-Plasma-5-Integration)]] = Bedienung = mpv kann auf verschiedene Arten zur Multimedia-Wiedergabe gestartet werden: {{{#!vorlage Hinweis Die beiden ersten, grafische Oberflächen betreffende Möglichkeiten stehen in früheren Ubuntu- bzw. mpv-Versionen u.U. nicht zur Verfügung! }}} * Über einen Menü-Eintrag, z.B. im [:LXDE:]-Menü unter ''"Unterhaltungsmedien -> mpv Media Player"''. In das geöffnete Fenster zieht man nun per [[Vorlage(Tasten, lmt)]]-Klick eine Multimedia-Datei. * Indem man entweder mit [[Vorlage(Tasten, rmt)]]-Klick das Kontextmenü einer Multimedia-Datei aufruft und dort dann mit [[Vorlage(Tasten, lmt)]]-Klick den Eintrag ''"mpv Media Player"'' auswählt oder aber – falls mpv als Standardanwendung verwendet wird – per (Doppel-)[[Vorlage(Tasten, lmt)]]-Klick direkt eine Multimedia-Datei startet. * In einem Terminal-Fenster[4]; mit dem Befehl: {{{#!vorlage Befehl mpv /PFAD/ZUR/DATEI__oder__URL-der-STREAMING-WEBSEITE__oder__STREAMING-URL__oder__PROTOKOLL://... --vo=opengl-old }}} wird z.B. eine Video- oder Audiodatei bzw. ein Internet-[:Streaming:Stream] abgespielt oder werden auch Medien von verschiedenerlei sonstigen Geräten wiedergegeben. {{{#!vorlage Hinweis * Der Video-Ausgabetreiber `opengl-old` ist speziell für ältere GPUs konzipiert, jedoch auch nur bei älteren mpv-Versionen verfügbar. Bei neueren Versionen wird stattdessen automatisch der normale `opengl`-Ausgabetreiber verwendet und man kann sich deshalb die Option `--vo=opengl-old` ersparen. * Auf der Kommandozeile an mpv übergebene Optionen setzen etwaig vorhandene gegenteilige Einträge in Profilen bzw. Auto-Profilen außer Kraft. Siehe dazu auch den vorigen Abschnitt [#Konfiguration Konfiguration]. }}} Eine Liste der verfügbaren Video-Ausgabetreiber erhält man mit dem Befehl: {{{#!vorlage Befehl mpv --vo help }}} bzw. äquivalent mit: {{{#!vorlage Befehl mpv --vo=help }}} Eine Liste der verfügbaren Audio-Ausgabetreiber erhält man demgegenüber mit dem Befehl: {{{#!vorlage Befehl mpv --ao=help }}} Eine kurze Zusammenfassung der wichtigsten mpv-Optionen erhält man mit: {{{#!vorlage Befehl mpv --h }}} Wenn man an den vorigen Befehl etwas erweitert, so kann man gezielt Hilfe zu bestimmten Wortnustern bekommen. Im folgenden z.B. für das Wort "scale": {{{#!vorlage Befehl mpv --h=scale }}} Dito, aber jetzt auch mit allen Optionen welche das Wort "scale" enthalten: {{{#!vorlage Befehl mpv --h=*scale* }}} Eine Ausgabe der verwendeten mpv-Programmversion erhält man mit der Option `--version` bzw. `-V`. == Information == Sofern man mpv über die Kommandozeile gestartet hat, so zeigt er dort einige Informationen (Dateiformat, Codec, Erstelldatum, Länge) über das abzuspielende Video an, die auch von Einsteigern leicht verstanden werden können. Bei DVDs werden alle verfügbaren Audiospuren und Untertitel angezeigt, bei DVB die Frequenz, bei TV die Treiberinformationen der TV-Karte bzw. Webcam. Hier ein Beispiel für den von Youtube gestreamten Film [wikipedia:Sintel:]: {{{#!vorlage Befehl mpv https://www.youtube.com/watch?v=HomAZcKm3Jo --vo=opengl-old }}} {{{ Playing: https://www.youtube.com/watch?v=HomAZcKm3Jo [quvi] Checking URL... [cache] Cache size set to 320 KiB Cache fill: 20.62% (67584 bytes) Detected file format: QuickTime / MOV (libavformat) Clip info: major_brand: mp42 minor_version: 0 compatible_brands: isommp42 creation_time: 2013-12-08 02:53:19 [stream] Video (+) --vid=1 (*) (h264) [stream] Audio (+) --aid=1 --alang=und (*) (aac) Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [lavc:h264] Selected audio codec: AAC (Advanced Audio Coding) [lavc:aac] AO: [pulse] 44100Hz stereo 2ch float VO: [opengl-old] 1280x546 => 1280x546 420p AV: 00:00:33 / 00:14:48 (3%) A-V: -0.000 Cache: 45% }}} Die Informationsausgabe lässt sich über insgesamt neun Stufen über die Option `--msg-level=` für jedes Modul einzeln anpassen. Mit {{{#!vorlage Befehl mpv https://www.youtube.com/watch?v=HomAZcKm3Jo --vo=opengl-old --msg-level=all=v }}} werden für den Film [wikipedia:Sintel:] erheblich mehr Informationen ausgegeben. Mehr Informationen zu den `--msg-level`-Optionen sind in der [man:mpv:Manpage] {en} zu finden. == Streaming == mpv kann auch diverse Arten von Internet-[:Streaming:Streams] (wie z.B. Streaming-Dateien, Streaming-Playlisten und Live-Streams) abspielen und wahlweise auch dauerhaft [:Streams_speichern:speichern]. {{{#!vorlage Hinweis Im Zweifelsfalle sollte die URL-der-STREAMING-WEBSEITE bzw. die STREAMING-URL in (doppelte) Anführungszeichen gesetzt werden, damit vermieden wird, dass etwaige darin vorkommende Sonderzeichen von der [:Shell:] interpretiert werden können[5]. Das `&` würde etwa als Zeilenumbruch gewertet werden. Notfalls kann man aber das Terminal mit der Tastenkombination [[Vorlage(Tasten,strg )]] + [[Vorlage(Tasten,C )]], bei aktiviertem Terminal, wieder beenden[6]. }}} Abspielen geht so: {{{#!vorlage Befehl mpv URL-der-STREAMING-WEBSEITE__oder__STREAMING-URL }}} Das funktioniert auch mit Streaming-Playlisten, wobei mpv automatisch den Stream mit der bestmöglichen Qualität auswählt. So gibt mpv den ersten Stream der Streaming-Playliste wieder: {{{#!vorlage Befehl mpv --playlist=PLAYLIST-URL }}} mit einer zusätzlichen Option: {{{#!vorlage Befehl mpv --playlist=PLAYLIST-URL --playlist-start=2 }}} aber den dritten, denn die Zählung ist nullbasiert. ## Die Option `--playlist-start=NUMMER` heißt so erst seit Neuesten, in [:Xenial:Ubuntu 16.04] hieß sie noch `--playlist-pos=NUMMER`. Hilfreich besonders für die Untersuchung von Streaming-Playlisten ist das Programme [:FFmpeg:ffprobe]. Mit der Option `--stream-capture=video.mp4` kann ein Internet-Stream gleichzeitig betrachtet und gespeichert werden: {{{#!vorlage Befehl mpv STREAM-URL --stream-capture=video.mp4 }}} Mit der Option `--stream-dump=video.mp4` kann ein Internet-Stream direkt gespeichert werden: {{{#!vorlage Befehl mpv STREAM-URL --stream-dump=video.mp4 }}} Ab Ubuntu 20.04 lautet der Befehl --stream-record {{{#!vorlage Befehl mpv STREAM-URL --stream-record=video.mp4 }}} Das funktioniert aber nur wenn die Dateiendung das Format des Streams hat. Für viele Internet-TV-Stationen muss hier .ts verwendet werden. {{{#!vorlage Befehl mpv STREAM-URL.m3u8 --stream-record=video.ts }}} Das Speichern eines Internet-Streams sollte nicht unterbrochen werden, weil sonst Header-Informationen verloren gehen können und das Video damit unlesbar wird. Aus dem selben Grund klappt oft auch das Speichern von Live-Streams nicht bzw. letztere können hinterher entweder gar nicht oder nur mit [:VLC:] abgespielt werden. === Youtube === Für die Wiedergabe von Youtube-Videos wird einfach die URL des Videos an mpv übergeben: {{{#!vorlage Befehl mpv https://www.youtube.com/watch?v=VIDEOCODE }}} {{{#!vorlage Hinweis * Es ist angebracht, eine aktuelle Version von [:youtube-dl:] auf dem System zu haben, damit mpv das Video mit der bestmöglichen Qualität abspielen kann. * Mit der Option `--no-ytdl` spielt mpv das Video direkt – also ohne [:youtube-dl:] – ab }}} == DVD-Wiedergabe == Zur [:DVD-Wiedergabe:] sind zunächst einige Vorbereitungen zu treffen. Anschließend lassen sich DVDs mit dem folgenden Befehl wiedergeben: {{{#!vorlage Befehl mpv dvd:// }}} Sollte die DVD nicht als '''/dev/dvd''' ins System eingebunden sein (ab [:Saucy:Ubuntu 13.10] üblich), kann man sie unter Angabe der Gerätedatei (hier z.B. als '''/dev/sr0''') abspielen: {{{#!vorlage Befehl mpv dvd:// --dvd-device=/dev/sr0 }}} [[Bild(./mpv-smenu.png, 100, align=right)]] Die DVD-Wiedergabe mit Menü erfolgt mit Hilfe der Bibliothek '''libdvdnav''' über den Befehl: {{{#!vorlage Befehl mpv dvdnav://menu }}} Dies funktioniert noch nicht einwandfrei. Über das Bildschirmmenü ist es aber möglich, die verfügbaren Audiospuren (Sprechblasensymbol) und Untertitel (Rechtecksymbol) per Mausklick auszuwählen. Eine andere Möglichkeit ist, den Videotrack über seine Nummer, die Audiospur mit `--alang=de` und die Untertitel mit `--slang=de` direkt anzugeben. In folgendem Beispiel wird der erste Videotrack der DVD (normalerweise der Hauptfilm) mit deutscher Synchronisation oder, falls diese nicht verfügbar ist, in Englisch mit ungarischen Untertiteln abgespielt: {{{#!vorlage Befehl mpv dvd://1 --alang=de,en --slang=hu }}} Der folgende Befehl macht das Gleiche, mit der Option `longest` wird aber automatisch der längste Videotrack der DVD ausgewählt: {{{#!vorlage Befehl mpv dvdnav://longest --alang=de,en --slang=hu }}} == Blu-Ray-Wiedergabe == mpv sollte unverschlüsselte Blu-Ray-Disks mit Hilfe der Bibliothek '''libbluray''' wiedergeben können: {{{#!vorlage Befehl mpv bd:// }}} mpv verwendet zur Wiedergabe verschlüsselter Blu-Rays die gleichen Bibliotheken wie [:VLC:]. Weitere Informationen zur Installation sind im Artikel [:Blu-Ray_wiedergeben:] und dieser [github:mpv-player/mpv/issues/72:Diskussion] {en} zu finden. == Video- und Audiofilter == Eine der großen Stärken von mpv sind seine zahlreichen Filter. Eine Ausgabe aller verfügbaren Videofilter erhält man per: {{{#!vorlage Befehl mpv --vf help }}} Eine Ausgabe aller Audiofilter erhält man per: {{{#!vorlage Befehl mpv --af help }}} Ein paar Beispiele: * Film deinterlacen: {{{#!vorlage Befehl mpv /PFAD/ZUR/DATEI --vf=yadif }}} Die Option `--vf=yadif` benötigt viel CPU-Rechenzeit. Eine Alternative ist beispielsweise : {{{#!vorlage Befehl mpv /PFAD/ZUR/DATEI --vf=pp=lb }}} * Videofenster verkleinern ohne Qualitätsverlust: {{{#!vorlage Befehl mpv /PFAD/ZUR/DATEI --vf=dsize=360:203 }}} * Lautstärkeregelung per Software kann den Sound verzerren (normalerweise sorgt die Soundkarte und/oder der Soundserver dafür, eine höhere Lautstärke einzustellen). Hier eine Verstärkung um 10dB: {{{#!vorlage Befehl mpv --af=volume=10 }}} == Audio-Wiedergabe und Aufnahme direkt von der Soundkarte == mpv kann über das Protokoll `av://` (das auf die Bibliothek [https://www.ffmpeg.org/libavdevice.html libavdevice] {en} zurückgreift) den Ton direkt von der Soundkarte wiedergeben: {{{#!vorlage Befehl mpv av://alsa:hw:0 }}} An den Befehl können noch Audio-Filter angehängt werden, auch das [#Encodierung Encodieren] des Tons ist möglich. Der folgende Befehl erstellt vom Ton der ersten (eingebauten) Soundkarte eine MP3-Datei: {{{#!vorlage Befehl mpv av://alsa:hw:0 -o out.mp3 }}} == TV-Wiedergabe und Aufnahme == === Video4Linux2 - Webcam === Analog-TV ist zwar inzwischen in den meisten Bundesländern abgeschaltet, aber eine [:Webcam:] oder ein [:Videograbbing:Videograbber] ist für Linux nichts anderes als eine TV-Karte ohne Tuner. * Variante 1 - mpv kann mit mit dem Protokoll `av://` ein Video von einem v4l2-Gerät wiedergeben: {{{#!vorlage Befehl mpv av://video4linux2:/dev/video0 }}} {{{#!vorlage Hinweis Beim `av://` Protokoll ist es in mpv aber nicht möglich noch weitere Optionen wie die Videonorm, die Inputnummer, die Bildwiederholrate (FPS) oder die Größe des Videos einzustellen. Vor dem Aufruf des mpv Befehls können diese Einstellungen mit dem Programm [:Videograbbing#Schnelltest-mit-qv4l2:qv4l2] vorgenommen werden. }}} * Variante 2 - mpv kann auch mit dem von MPlayer bekannten Protokoll `tv://` ein v4l2-Video wiedergeben: {{{#!vorlage Befehl mpv tv:// }}} wird das Bild von einer Webcam oder von einer an einem Grabber angeschlossenen analogen Videoquelle angezeigt (wenn das Gerät als '''/dev/video0''' im System registriert ist). Die wichtigsten Optionen für das Betrachten von analogem Videomaterial mit mpv sind im folgenden Befehl zusammengestellt: {{{#!vorlage Befehl mpv tv:// --tv=driver=v4l2:device=/dev/video0:input=0:fps=25:norm=PAL:outfmt=uyvy:width=720:height=576 --no-correct-pts }}} Die Option `--no-correct-pts` vermeidet die ständige Fehlermeldung, dass keine Video-[wikipedia_en:Presentation_timestamp:PTS] vorhanden sind. Mit der Erweiterung des Befehls ist sogar eine gleichzeitige Wiedergabe von Video und Ton möglich, allerdings mit einer deutlichen Verschiebung der Tonspur, die mit der [[Vorlage(Tasten, -)]] Taste korrigiert werden kann: {{{#!vorlage Befehl mpv tv:// --tv=driver=v4l2:device=/dev/video0:input=0:fps=25:norm=PAL:outfmt=uyvy:width=720:height=576:alsa:amode=1:forcechan=2:audiorate=48000:adevice=hw.2:forceaudio:immediatemode=no --no-correct-pts }}} Mehr Informationen zu den `--tv`-Optionen sind in der [man:mpv:Manpage] {en} zu finden. Bei analogem Video empfiehlt es sich, z.B. mit `--vf=pp=lb` einen Deinterlace-Filter einzusetzen und das Seitenverhältnis mit z.B. `--aspect=16:9` festzulegen. === Video4Linux2 - Aufnahme === Für eine Aufnahme muss an die angeführten `mpv av://...` bzw. `mpv tv://...`-Befehle nur die Option `-o` mit dem Dateinamen der Ausgabedatei und den ensprechenden Codec-Parametern, wie im Abschnitt [#Encodierung Encodierung] beschrieben, angehängt werden. Optional kann eine Filterkette angefügt werden. === DVB-Wiedergabe === Als erstes muss eine entsprechende Datei '''channels.conf''' im Verzeichnis '''~/.mpv/''' (bei neueren mpv-Versionen im Verzeichnis '''~/.config/mpv/''') erstellt werden. Eine ausführliche Anleitung zur Erstellung einer geeigneten [:w-scan2:channels.conf] ist hier im Wiki vorhanden. {{{#!vorlage Hinweis Die '''channels.conf''' muss in der [http://www.vdr-wiki.de/wiki/index.php/Dvb-apps_zap azap/czap/szap/tzap/xine] {de}-Syntax sein, die von [:w-scan2:] mit der Option `-X` erzeugt wird. }}} Nun kann mpv das TV-Programm mit dem Befehl: {{{#!vorlage Befehl mpv dvb:// }}} oder {{{#!vorlage Befehl mpv dvb://SENDERNAME }}} anzeigen. Der `SENDERNAME` muss exakt der Bezeichnung aus der '''~/.mpv/channels.conf''' entsprechen (Leerzeichen - falls vorhanden - maskieren!). Mit den Tasten [[Vorlage(Tasten, h)]] und [[Vorlage(Tasten, k)]] wird jeweils ein Programm vor- und zurückgeschaltet, mit [[Vorlage(Tasten, f)]] zwischen Fenster- und Vollbildmodus umgeschaltet. === DVB-Aufnahme === mpv kann DVB-Transport-Streams direkt mit der Option `--stream-dump=Aufnahme.ts` auf der Festplatte aufnehmen (ca. 25 MB/Minute): {{{#!vorlage Befehl mpv dvb://SENDERNAME --stream-dump=Aufnahme.ts }}} Dabei wird der Stream nicht umgewandelt, sondern einfach gespeichert. Alternativ kann auch gleich im gewünschten Format (hier: MP4) aufgenommen werden (siehe auch nächster Abschnitt): {{{#!vorlage Befehl mpv dvb://SENDERNAME -o Aufnahme.mp4 }}} Mit der Option `--stream-capture=Aufnahme.ts` wird das Programm gleichzeitig aufgezeichnet und wiedergegeben, was aber viel Systemleistung benötigt und oft nicht funktioniert. == Webcam == Mit mpv kann man die Webcam testen (Live-Bild wiedergeben) mit folgendem Befehl: {{{#!vorlage Befehl mpv av://v4l2:/dev/video0 }}} == Encodierung == Bei mpv ist eine Encodierfunktion, die beim MPlayer in das separate Programm [:MEncoder:] ausgelagert wurde, integriert. Mit der Option `--o` und der Angabe einer Ausgabedatei wird mpv in den Encodiermodus umgeschaltet. Die Eingabedatei (das kann auch ein Youtube-Link, eine DVD oder ein v4l2 Gerät z.B. eine Webcam sein) wird jetzt nicht mehr am Bildschirm angezeigt, sondern in das angegebene Format umgewandelt. mpv erkennt an der Endung der Ausgabedatei das gewünschte Dateiformat (.mp4, .avi, .mp3, .ts ...) und verwendet dafür voreingestellte Werte, diese können aber mit Angabe der entsprechenden Option überschrieben werden. Zum Beispiel erreicht man mit der Option `--ovcopts=b=1200k` (Videobitrate) beim '''.avi'''-Format eine höhere Qualität als mit dem voreingestellten Wert. Die Zusammenstellung eines mpv-Kommandos für die Encodierung erfolgt nach diesem Schema: {{{#!vorlage Befehl mpv infile -o outfile [--of=outfileformat] [--ofopts=formatoptions] \ [--ofps=outfps | --oautofps] [--oharddup] [--ocopyts | --orawts] [--oneverdrop] \ [(any other mpv options)] \ --ovc=outvideocodec [--ovcopts=outvideocodecoptions] \ --oac=outaudiocodec [--oacopts=outaudiocodecoptions] }}} Eine sehr ausführliche Liste aller verfügbaren Formate, Codecs und Optionen kann man mit dem folgenden Befehl durchblättern: {{{#!vorlage Befehl mpv -ovc help -ovcopts help -oac help -oacopts help -of help -ofopts help | less }}} Beispiele: * Wandelt ein von mpv unterstütztes Video in ein H.264-Video mit AAC-Audio um: {{{#!vorlage Befehl mpv infile -o outfile.mp4 }}} * Wandelt ein Video in das AVI-Format um: {{{#!vorlage Befehl mpv infile -o outfile.avi --ofps=25 --ovc=mpeg4 --ovcopts=qscale=4 --ovcopts=b=1000k --oac=libmp3lame --oacopts=ab=128k }}} Weitere Encodierbeispiele sind über den Abschnitt [#Links Links] zu finden. == Tastenbefehle == {{{#!vorlage Tabelle <-4 tablestyle="width: 95%;" rowclass="titel"> Grundlegende Tastenbefehle +++ Taste Funktion Taste Funktion +++ [[Vorlage(Tasten, esc)]] Wiedergabe beenden [[Vorlage(Tasten, 0)]] Lautstärke erhöhen +++ [[Vorlage(Tasten, space)]] Wiedergabe pausieren [[Vorlage(Tasten, 9)]] Lautstärke verringern +++ [[Vorlage(Tasten, rechts)]] 10 Sekunden vorspringen [[Vorlage(Tasten, m)]] Audioausgabe de- & aktivieren +++ [[Vorlage(Tasten, links)]] 10 Sekunden zurückspringen [[Vorlage(Tasten, f)]] Vollbildanzeige de- & aktivieren +++ [[Vorlage(Tasten, rauf)]] 1 Minute vorspringen [[Vorlage(Tasten, #)]] Audiospur wechseln +++ [[Vorlage(Tasten, runter)]] 1 Minute zurückspringen [[Vorlage(Tasten, j)]] Untertitel wechseln +++ [[Vorlage(Tasten, bild-rauf)]] 10 Minuten vorspringen [[Vorlage(Tasten, o)]] On-Screen-Display wechseln +++ [[Vorlage(Tasten, bild-runter)]] 10 Minuten zurückspringen }}} Weitere Tasten erläutert die [man:mpv:Manpage von mpv] {en}. Wer eigene Tastenkombinationen einsetzen möchte, bearbeitet die Datei '''~/.mpv/input.conf''' bzw. '''~/.config/mpv/input.conf''' nach folgendem Beispiel: {{{ # 90 Grad im Uhrzeigersinn drehen Alt+RIGHT no-osd vf add rotate=90 # 90 Grad gegen den Uhrzeigersinn drehen Alt+LEFT no-osd vf add rotate=270 }}} = Links = * [https://mpv.io/ Projektseite] {en} * [https://mpv.io/manual/ Reference Manual] {en} - Dokumentation * [freenode:mpv:] - IRC-Channel für Nutzer * [freenode:mpv-devel:] - IRC-Channel für Entwickler * [github:mpv-player/mpv/blob/master/DOCS/encoding.rst: kurze Erklärung der Encoding-Funktionen mit Beispielen] {en} * [github:mpv-player/mpv/releases: Anmerkungen zu den einzelnen mpv-Versionen] {en} * [github:mpv-player/mpv:Quellcode] * [https://wiki.archlinux.de/title/Mpv Arch Wiki] {de} und [archwiki:mpv:Arch Wiki] {en} * [https://www.maketecheasier.com/mpv-cli-media-player/ How To Use mpv – CLI Media Player] {en} - Blogbeitrag, 10/2014 * [:VideoPlayer:] {Übersicht} Programmübersicht # tag: Multimedia, TV, Videoplayer