Mplay.sh
(→Parameter) |
|||
| Zeile 405: | Zeile 405: | ||
('sndctrl' ist ein Script zur Steuerung einer ALSA- | ('sndctrl' ist ein Script zur Steuerung einer ALSA- | ||
Soundkarte, DD Lautstärkeregelung usw.) | Soundkarte, DD Lautstärkeregelung usw.) | ||
| + | |||
| + | ===DOLBY DIGITAL=== | ||
| + | Die Standardkonfiguration ist konservativ auf die Audioausgabe über die DVB-Karte eingestellt. MPlayer muß so einen evt. vorhandenen 5.1-Stream auf Stereo herunterrechnen. | ||
| + | Falls 'echter' 5.1-Sound gewünscht ist, sollte man seine Aufmerksamkeit auf die 'mplayrc' und die 'video-52.conf' richten. | ||
| + | * 5.1 Ausgabe über Soundkarte (ALSA) | ||
| + | in 'mplayrc' : MPLAY_AO=alsa | ||
| + | in 'video-a52.conf': MPLAY_TYPE_OPTIONS="-channels 6" und ggf. MPLAY_DD20 aktivieren | ||
| + | * AC3-Datenstrom auf externen Decoder/Receiver streamen | ||
| + | in 'video-a52.conf': MPLAY_TYPE_OPTIONS="-ac hwac3," aktivieren | ||
| + | (ungetestet, evt. ein bisschen experimentieren) | ||
| + | |||
| + | |||
| + | ===UNTERTITEL=== | ||
| + | Untertitel werden gemäß dem normalen Handling von MPlayer erkannt und verarbeitet (Dateiname der Untertitel-Datei bis auf die Dateierweiterung identisch zum Filmnamen). Um Untertitel ähnlich flexibel wie alle anderen Dateitypen verarbeiten zu können, wird von 'mplay.sh' nach der Erkennung des Untertiteltyps nach einer entsprechenden Konfigurationsdatei gesucht und diese geladen. Damit können sowohl globale Optionen in der 'mplayrc' gesetzt als auch spezielle für bestimmte Untertiteltypen bestimmt werden. | ||
| + | |||
| + | '''Beispiel:''' Wenn zu einer 'Film.avi' eine 'Film.srt' existiert, wird das erkannt und eine evt. vorhandene 'srt.conf' geladen. | ||
==Sonstiges== | ==Sonstiges== | ||
Version vom 15. April 2007, 17:55 Uhr
Inhaltsverzeichnis[Verbergen] |
Beschreibung
Autor: Thomas Hildebrandt
Das (zweifelsohne sehr gute) Script 'mplayer.sh' weist einige Beschränkungen auf, deren Beseitigung ich mit der Entwicklung dieses Scriptes anstrebte.
Konkret sind das:
- Anzeige im OSD des VDR
Die Anzeige des kompletten Dateinamens im OSD (inkl. Extension) fand ich persönlich immer nicht so schick. Ein Eintrag, nur aus z.B. dem Namen des Films gefällt mir besser.
- gemischte Playlists mit verschiedenen Dateitypen
Jede Datei kann ihre eigene Konfiguration bekommen. Das ist meines Wissens mit MPlayer's '-playlist' Option schlicht nicht zu realisieren.
Status
Version:
- 0.4.2
getestet mit:
- MPlayer-1.0rc1-3.4.1
Hardwareanforderungen
- irgendetwas, worauf MPlayer etwas abspielen kann
Softwareanforderungen
- VDR
- Mplayer-plugin
- MPlayer-1.0rc1-3.4.1 (frühere Versionen mögen teilweise funktionieren)
Installation
- kopiere die 'mplay.sh' an einen dir genehmen Ort (z.B. /usr/bin)
- kopiere die Dateien im Verzeichnis 'conf' an einen dir genehmen Ort (z.B. ins VDR Konfigurationsverzeichnis unter 'plugins/mplay'
- editiere die 'mplay.sh' und trage oben das von dir gewählte Konfigurationsverzeichnis ein (Zeile 16)
- VDR muss so aufgerufen werden, dass das MPlayer-Plugin als Parameter 'mplay.sh' bekommt
- Korrektur der Parameter in den Konfigurationsdateien im Konfigurationsverzeichnis
- evt. anpassen der Parameter in der 'mplayersources.conf'
Konfiguration
mplayrc
# mplayrc # configuration file for 'mplay' # set this to find debug messages in syslog #MPLAY_DEBUG=yes # set this, if your VDR doesn't stop to play its sound, when # invoking 'mplay.sh' #MPLAY_FIXVDRSOUND=yes # media root dir (the trailing slash is important) MPLAY_MEDIA_DIR=/media # media types to search for in MDIR # (when no file is given in a set file) MPLAY_TYPES="avi mpg mkv mov flv vob vdr" # where or what is our 'mplayer' MPLAY_MPLAYER=mplayer # support file for playing MPLAY_PLAY=~/mplay.play # default video out MPLAY_VOUT=mpegpes # default audio out MPLAY_AOUT=mpegpes # MPlayer mandatory options # (this will always passed through to MPlayer) MPLAY_GLOBAL="-quiet -nolirc -cache 8192 -framedrop" # automatic identifying file types MPLAY_IDENTIFY=yes ### target resolutions of video output # up to 3 resolutions are supported # (set the highest in MPLAY_RES1) # this seems to be the most common use MPLAY_RES1=720x576 MPLAY_RES2=352x288 # try this with a slow cpu #MPLAY_RES1=352x288 # or this, if it works with your card #MPLAY_RES1=720x576 #MPLAY_RES2=640x480 #MPLAY_RES3=352x288 # scale videos up instead of down MPLAY_SCALE=up # care for aspect MPLAY_ASPECT=yes # when using 'lavc' filter, use it with this argument MPLAY_LAVC=4600 # option for MPlayer's 'pp' option (very seldom used) #MPLAY_PP=fd # padding #MPLAY_PADDING=20 ### global options for subtitle handling # show subtitles, if found MPLAY_SUB_SHOW=yes # languages to display MPLAY_SUB_LANGUAGES=ger,eng # vertical position (% of screen height) MPLAY_SUB_POS=95 # width on screen (% of screen width) MPLAY_SUB_WIDTH=95 # fps #MPLAY_SUB_FPS=25 # subtitle delay #MPLAY_SUB_DELAY=5 # background transparency #MPLAY_SUB_BG_ALPHA=0 # background 'color' (means grayscale up to now) #MPLAY_SUB_BG_COLOR=0 # command for 'sndctrl', if available #MPLAY_WITH_SNDCTL=/usr/bin/sndctrl # command for SVDR commands to VDR, if available MPLAY_SVDR=svdrpsend.pl # command for logging into syslog MPLAY_LOGGER="logger -i -t mplay.sh"
Parameter
Jeder der folgenden Parameter kann eigentlich und im Prinzip in jeder der Konfigurationsdateien stehen. Sie können auf diese Weise überschrieben oder ergänzt werden.
MPLAY_AF
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: Parameter für MPLayer's Audiofilter (-af)
MPLAY_AOUT
regulär definiert in: mplayrc
Standardwert: alsa
Beschreibung: das Audioausgabegerät für MPlayer
MPLAY_ASPECT
regulaer definiert in: mplayrc
Standardwert: yes
Beschreibung: Wenn gesetzt, versucht 'mplay.sh' die korrekte
Auflösung des Videomaterials aus dem von MPlayer
ermittelten Aspekt-Ratio zu errechnen.
MPLAY_DD20
regulaer definiert in: video-a52.conf
Standardwert: siehe 'video-a52.conf'
Beschreibung: spezielle Parameter, wenn zwar ein AC3 Audiostrom
vorliegt, dieser jedoch "nur" 2.0 ist
MPLAY_DEBUG
regulär definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: wenn gesetzt (auf irgendeinen Wert) werden
verschiedene Meldungen ins System Log geschrieben
MPLAY_DIRECT
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: ist diese Option gesetzt, wird der MPlayer kommentar-
los mit den hiermit gesetzten Parametern und dem
Dateinamen aufgerufen;
'mplay.sh' beendet sich danach
MPLAY_FILE
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: definiert in einer SET-Datei die Datei, die
abgespielt werden soll
MPLAY_FIXVDRSOUND
regulär definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: Wenn die Audioausgabe in 'MPLAY_AOUT' auf 'alsa'
gesetzt ist, kann es sein, dass der Ton des VDR
nebenher weiterläuft. Setz' diesen Wert auf 'yes'
und 'mplay.sh' macht einen Workaround für dieses
Problem.
Kleine Nebenwirkung: Nach Ende von 'mplay.sh'
ist der VDR auch stumm bis zur nächsten Betätigung
der Lautstärkeregelung.
MPLAY_GLOBAL
regulär definiert in: mplayrc
Standardwert: "-quiet -nolirc -cache 8192"
Beschreibung: globale Optionen für MPlayer
MPLAY_IDENTIFY
regulär definiert in: mplayrc
Standardwert: yes
Beschreibung: bewirkt, dass eine Identifizierung der abzuspielenden
Datei versucht wird
(ACHTUNG: Wenn dieser Parameter nicht auf 'yes' steht,
muss jede einzelne Option in den SET-Dateien manuell
gesetzt werden!)
MPLAY_LAVC
regulär definiert in: mplayrc
Standardwert: 4600:25
Beschreibung: betrifft MPlayer's 'lavc'-Videofilter und beschreibt
die Datenrate, mit der MPlayer einen on-the-fly
MPEG1-Datenstrom erzeugt. Der Wert hängt von der
Leistungsfähigkeit des Systems ab und muss probiert
werden.
Als Ausgangswert mag '4000' dienen. Der Wert kann
erhöht werden, bis die Videoausgabe zu ruckeln anfängt.
MPLAY_LOGGER
regulär definiert in: mplayrc
Standardwert: "logger -i -t mplay.sh"
Beschreibung: falls 'MPLAY_DEBUG' gesetzt ist, muss hiermit das
Programm definiert werden, das zum Loggen
benutzt wird
MPLAY_MEDIA_DIR
regulär definiert in: mplayrc
Standardwert: ein existierendes Verzeichnis
Beschreibung: das Verzeichnis, in dem deine abzuspielenden Dateien
liegen
MPLAY_MPLAYER
regulär definiert in: mplayrc
Standardwert: mplayer
Beschreibung: das Kommando, mit dem MPlayer aufgerufen wird
MPLAY_PADDING
regulär definiert in: irgendwo
Standardwert: <nicht gesetzt>
Beschreibung: erzeugt einen schwarzen Rand um das Video
(Ausgleich des Overscans von TV-Geräten)
MPLAY_PLAY
regulär definiert in: mplayrc
Standardwert: ~/mplay.play
Beschreibung: 'mplay.sh' erzeugt eine temporäre Datei, die den
kompletten MPlayer-Aufruf enthält. Dieser Parameter
kontrolliert, wo diese Datei liegen soll
MPLAY_PLAYLIST
regulär definiert in: Dateityp-Konfigurationsdatei
Standardwert: <nicht gesetzt>
Beschreibung: kennzeichnet den Dateityp als Playlist
MPLAY_PP
regulär definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: Optionen für MPlayer's 'pp' Videofilter
MPLAY_RES1 MPLAY_RES2 MPLAY_RES3
regulär definiert in: mplayrc
Standardwerte: 720x576
640x480
352x288
Beschreibung: Bis zu 3 mögliche Ausgabe-Auflösungen können
hiermit definiert werden. Die höchste muss in
MPLAY_RES1 stehen. 'mplay.sh' skaliert ein Video
abhängig von MPLAY_SCALE auf die nächste, die
zur Verfügung steht.
MPLAY_RES1 muss immer definiert sein, die anderen
können. MPLAY_RES3 wird nicht beachtet, wenn es
kein MPLAY_RES2 gibt.
(HINWEIS: Die Auflösung 640x480 erzeugt auf
manchen Karten kein korrektes oder ein verschobenes
Bild.)
MPLAY_RESOLUTION
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: erzwingt die Ausgabe in einer bestimmten Auflösung
(ACHTUNG: Im Regelfall wird NICHT jede beliebige
Auflösung unterstützt.)
MPLAY_SCALE_ALWAYS
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: erzwingt den Einsatz der MPlayer Videofilter-Option
'scale=...', auch, wenn das von der Auflösung her
nicht nötig waere (hilft zuweilen gegen
Bildstörungen)
MPLAY_SCALE
regulär definiert in: mplayrc
Standardwert: up
Beschreibung: Wenn auf 'up' gesetzt, werden Video-Ausgaben auf die
nächstgrössere Auflösung skaliert statt auf die
nächstkleinere.
(Beispiel: Video ist 640x272, mögliche Auflösungen
seien 720x576 und 352x288. Mit 'MPLAY_SCALE=up'
wird das Video mit 720x576 abgespielt, ohne den
Parameter mit 352x288.)
MPLAY_SOUNDSET
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: definiert in einer SET-Datei das Soundset, mit dem
die Datei abgespielt werden soll
(siehe auch 'MPLAY_WITH_SNDCTL')
MPLAY_SUB_FILE
regulaer definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: spezifiziert eine konkrete Untertitel-Datei
MPLAY_SUB_FPS
regulaer definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: abweichende Geschwindigkeit für Untertitel
spezifizieren (in fps)
MPLAY_SUB_ID
regulaer definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: benutzt statt des Standardwertes '0' eine andere SID
für die Untertitel (ermöglicht die Benutzung eines
anderen Untertitels, falls mehrere vorliegen)
MPLAY_SUB_LANGUAGES
regulaer definiert in: mplayrc
Standardwert: ger,eng
Beschreibung: Sprachen(liste), die MPlayer als Untertitel anzeigen
soll (mehrere Sprachen durch Komma trennen)
MPLAY_SUB_SHOW
regulaer definiert in: mplayrc
Standardwert: yes
Beschreibung: weist 'mplay.sh' an, Untertitel anzuzeigen, wenn diese
identifiziert werden
MPLAY_SUB_POS
regulaer definiert in: mplayrc
Standardwert: 95
Beschreibung: die Position der Untertitel in % der Höhe des
Bildschirms
MPLAY_SUB_WIDTH
regulaer definiert in: mplayrc
Standardwert: 95
Beschreibung: die maximale Breite der Untertitel in % der Breite des
Bildschirms
MPLAY_SUB_DELAY
regulaer definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: Verzögerung bei der Anzeige der Untertitel in Sekunden
MPLAY_SUB_BG_ALPHA
regulaer definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: Hintergrundtransparenz fuer Untertitel (und OSD)
MPLAY_SUB_BG_COLOR
regulaer definiert in: mplayrc
Standardwert: <nicht gesetzt>
Beschreibung: Hintergrundfarbe für Untertitel (und OSD)
MPLAY_TYPE_OPTIONS
regulär definiert in: Dateityp-Konfigurationsdatei
Standardwert: <nicht gesetzt>
Beschreibung: definiert Optionen speziell für diesen Dateityp
MPLAY_TYPES
regulär definiert in: mplayrc
Standardwert: "avi mpg mkv mov"
Beschreibung: definiert die Dateitypen, nach denen im Medien-
verzeichnis gesucht wird
MPLAY_VF
regulär definiert in: SET Datei
Standardwert: <nicht gesetzt>
Beschreibung: Parameter für MPLayer's Videofilter (-vf)
MPLAY_VOUT
regulär definiert in: mplayrc
Standardwert: mpegpes
Beschreibung: das Videoausgabegerät für MPlayer
MPLAY_WITH_SNDCTL
regulär definiert in: mplayrc
Standardwert: <nicht gesetzt> oder z.B. '/usr/bin/sndctrl'
Beschreibung: wenn auf den Namen des Soundcontrol-Scriptes gesetzt
wird 'mplay.sh' versuchen, ein Soundset-Handling
durchzuführen
('sndctrl' ist ein Script zur Steuerung einer ALSA-
Soundkarte, DD Lautstärkeregelung usw.)
DOLBY DIGITAL
Die Standardkonfiguration ist konservativ auf die Audioausgabe über die DVB-Karte eingestellt. MPlayer muß so einen evt. vorhandenen 5.1-Stream auf Stereo herunterrechnen. Falls 'echter' 5.1-Sound gewünscht ist, sollte man seine Aufmerksamkeit auf die 'mplayrc' und die 'video-52.conf' richten.
- 5.1 Ausgabe über Soundkarte (ALSA)
in 'mplayrc' : MPLAY_AO=alsa in 'video-a52.conf': MPLAY_TYPE_OPTIONS="-channels 6" und ggf. MPLAY_DD20 aktivieren
- AC3-Datenstrom auf externen Decoder/Receiver streamen
in 'video-a52.conf': MPLAY_TYPE_OPTIONS="-ac hwac3," aktivieren
(ungetestet, evt. ein bisschen experimentieren)
UNTERTITEL
Untertitel werden gemäß dem normalen Handling von MPlayer erkannt und verarbeitet (Dateiname der Untertitel-Datei bis auf die Dateierweiterung identisch zum Filmnamen). Um Untertitel ähnlich flexibel wie alle anderen Dateitypen verarbeiten zu können, wird von 'mplay.sh' nach der Erkennung des Untertiteltyps nach einer entsprechenden Konfigurationsdatei gesucht und diese geladen. Damit können sowohl globale Optionen in der 'mplayrc' gesetzt als auch spezielle für bestimmte Untertiteltypen bestimmt werden.
Beispiel: Wenn zu einer 'Film.avi' eine 'Film.srt' existiert, wird das erkannt und eine evt. vorhandene 'srt.conf' geladen.
Sonstiges
Tipps
- WICHTIG: Die Dateien/Sets im Anzeigeverzeichnis müssen tatsächlich Dateien sein, KEINE Links
- Die Dateitypenkonfigurationsdateien für Audiodaten gibt es getrennt für reines Audio und für Audio in Video. So mag manch einer eine reine MP3-Datei anders gespielt haben als wenn der MP3-Ton aus einem Film stammt. Hierzu läßt sich eine spezielle Konfigurationsdatei für jeden Dateityp erstellen.
Im Beispiel: 'mplay.sh' liest die 'video-mp3.conf' statt der 'mp3.conf', wenn ein Videostream identifiziert werden kann
- Es gibt keinen Parameter der Art 'SLOWCPU' oder so. Wenn dein Rechner mit 720x576 nicht klarkommt (ruckeln usw.), dann setze 'MPLAY_RES1=352x288' und lass MPLAY_RES2 und MPLAY_RES3 weg.