• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Tipp] HowTo Kaffeine: Fernsehaufnahmen programmieren

Spielwurm

Advanced Hacker
Das neue Kaffeine 1.2.1 steht seit einigen Tagen bei Packman zur Installation bereit. Bei dieser Version können TV-Aufnahmen programmiert werden per qdbus. Das ist sehr nützlich, wenn man von TV-Browser aus die Aufnahmewünsche übergeben will. Das geht dann ganz einfach: rechte Maustaste auf die Sendung -> Aufnahmen -> OK -> OK Fertig

Jetzt die Zeile für Qdbus:

qdbus org.kde.kaffeine /Television ScheduleProgram Name Kanal Zeitpunkt Dauer wieoft

ergibt am konkreten Beispiel:

qdbus org.kde.kaffeine /Television ScheduleProgram Hallo NDR 2011-04-11T19:30:00Z 00:30:00 0

Beim Parameter wieoft steht die 0 (Null) für einmalige Aufnahme!

Jetzt ein Script für den TV-Browser, das man z.B. im eigenen bin-Ordner speichert und ausführbar macht:

Code:
#!/bin/bash
#
# Dieses Script überträgt Aufnahmedaten vom
# TV-Browser zu Kaffeine
# Changes by Hartmut Krummrei April/2011

# Konfiguration
kaffeine
lArgumente=8

# Wenn zu wenig Parameter angegeben werden abbrechen
if (( $# < $lArgumente )) ; then
        echo "Nicht genügend Parameter übergeben."
	exit 3
fi

# Wenn genau 8 Parameter übergeben werden ist der 9. der Name
if (( $# == $lArgumente )) ; then
	strJahr=$1
	strMonat=$2
	strTag=$3
	strStunde=$4
	strMinute=$5
	strLaenge=$6
	strKanal=$7
	strTitle=$8
fi

# Wenn mehr als 8 Parameter, gehören die Überschüssigen zum Namen
if (( $# > $lArgumente )) ; then
	strJahr=$1
	shift
	strMonat=$1
	shift
	strTag=$1
	shift
	strStunde=$1
	shift
	strMinute=$1
	shift
	strLaenge=$1
	shift
	strKanal=$1
	shift
	while [ ! -z "$1" ]
	do
		strTitle=$strTitle"_"$1
		shift
	done
fi

# Monatszahl nur einstellig?

if (( ${#strMonat} < 2 )) ; then
	strMonat="0"$strMonat
fi

# Tagzahl nur einstellig?

if (( ${#strTag} < 2 )) ; then
	strTag="0"$strTag
fi

# StartStunde nur einstellig?

if (( ${#strStunde} < 2 )) ; then
	strStunde="0"$strStunde
fi

# Startminute nur einstellig?

if (( ${#strMinute} < 2 )) ; then
	strMinute="0"$strMinute
fi

# Teile für Befehl bauen
strName=$strJahr"-"$strMonat"-"$strTag"_"$strStunde"-"$strMinute"_"$strTitle
strZeitpunkt=$strJahr"-"$strMonat"-"$strTag"T"$strStunde":"$strMinute":00"
strDauerStunden=$(($strLaenge/60))
if (( ${#strDauerStunden} < 2 )) ; then
	strDauerStunden="0"$strDauerStunden
fi
strDauerMinuten=$(($strLaenge%60))
if (( ${#strDauerMinuten} < 2 )) ; then
	strDauerMinuten="0"$strDauerMinuten
fi
strDauer=$strDauerStunden":"$strDauerMinuten":00"

# Aufruf des Kaffeine-Interface

# alt für dcop und Kaffeine 0.8.x
#dcop kaffeine KaffeineIface dvbNewTimer "$strName" "$strKanal" "$strZeitpunkt" "$strDauer"

# neu für qdbus und Kaffeine >= 1.2.1
qdbus org.kde.kaffeine /Television ScheduleProgram "$strName" "$strKanal" "$strZeitpunkt" "$strDauer" 0
# die Null am Ende der vorhergehenden Zeile steht für "einmalig"

# Rückgabe an den TV-Browser
echo "Name:"$strName";Kanal:"$strKanal";Zeit:"$strZeitpunkt";Dauer:"$strDauer

Das muss vom TV-Browser mit folgenden Parametern aufgerufen werden:

{start_year} {start_month} {start_day} {start_hour} {start_minute} {length_minutes} {isset(channel_name_external_quiet,channel_name)} {title}

Für Löschen einer programmierten Sendung irgendwas eingeben, das ist noch nicht fertig. Vielleicht demnächst hier mehr.

Hartmut
 
OP
S

Spielwurm

Advanced Hacker
Neue Erkenntnisse

Kaffeine 1.2.x ist einStück Software, das man eigentlich meiden sollte, wenn man kann. Das sage ich, weil ich Kaffeine 0.8.x kenne und das neue Kaffeine mit dem alten vergleiche. Das neue Programm kann nur eins besser: es kommt mit HDTV-Sendern klar, dafür ist es in allen anderen Belangen schlechter. Die Liste, was Kaffeine 0.8.x besser kann:

  • - Audio-Spuren kann man auswählen
    - Untertitel ebenfalls
    - die Einstellungen für "x min. vor dem Aufnahmezeitpunkt anfangen/nach dem Filmende mehr aufzeichen" wirken auch bei fernprogrammierten Aufnahmen
    - LED für "Kaffeine zeichnet auf"
    - noch eine LED für "Kaffeine zeichnet dieses Programm auf"
    - Wenn Kaffeine ein Programm aufzeichnet, dann schrumpft automatisch die Senderliste auf das Bouquet zusammen, so dass man sehen kann, was sonst noch verfügbar ist
    - Videos können gestreamt werden
    - Xine kann hier eingerichtet werden
    - es gibt mehr Einstellungsmöglichkeiten

Wer nicht mit HDTV zu tun hat, installiert sich am Besten Kaffeine-kde3 von Packman, wer mit HDTV zu tun hat, istalliert sich Kaffeine 1.2.1 (auch von PM) zusätzlich und benennt /usr/bin/kaffeine um nach /usr/bin/kaffeine-kde4, damit es kein Kuddelmuddel gibt. Die Fernprogrammierung von Kaffeine-kde3 ist im Script oben enthalten, dafür muss die Zeile mit "qdbus" auskommentiert werden, in der Zeile mit "dcop" muss dafür das Kommentarzeichen weg.

Im Forum kaffeine.kde.org habe ich ansatzweise meine Kritik geschrieben, aber dort liest wohle keiner von den Entwicklern mit ...

Hartmut
 
Oben