TwT Geschrieben 7. Februar 2013 Melden Share Geschrieben 7. Februar 2013 Hallo, mittlerweile habe ich gelernt, daß man enigma2 .ts Dateien nur mit einer XML abspielen kann. Diese habe ich mir zum testen selbst geschrieben/verändert. Hat auch funktioniert. Auch gibt es wohl ein Plugin CooliTSclimax mit dem sich die XML aus der TS erzeugen läßt. Soweit ich es vestanden habe, zieht CooliTSclimax seine Infos direkt aus der TS EPG,PIDs und andere Infos stehen aber auch in der .eit und .meta Datei. Gibts es ein Plugin, das mit Hilfe dieser Dateien eine XML erzeugt? Irgendwo habe ich gelesen, das die Coolstream Aufnahmen auch ohne plugins umwandeln/abspielen kann. Stimmt das? (Hat bei mir nicht funktioniert. Wiedergabe hat immer nach ca. 20sec. abgebrochen) TwT Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TwT Geschrieben 26. März 2013 Autor Melden Share Geschrieben 26. März 2013 (bearbeitet) Hallo, die Sache mit cooliTSclimax funktioniert mittlerweile. Im dbox2world forum habe ich hier ein Script gefunden, mit dem man die Enigma Dateien vom Tuxcomander aus patchen kann: http://www.dbox2worl...les/#post120232 Auf dieser Idee aufbauend hier 2 Scripte von mir, mit denen man danach die Infos aus der .meta und der .eit Datei in die xml übertragen kann. meta: #!/bin/sh # Erleichtert Fehlersuche #set -x #ALLDEBUG="--save-headers -S" # /var/tuxbox/config/tuxcom/meta # Fuer saubere Meldung bei Fehlern errorexit () { echo "Fehler, stop: $1" >&2 exit 1 } # parameter 1: path to file # parameter 2: filename file=`echo "$1$2"` file2=$(echo $file | sed 's/.ts.meta//g') echo $file epgtitle=`sed -n '2p' "$file"` echo $epgtitle sed -i "s/<epgtitle>.*</<epgtitle>$epgtitle</g" "$file2.xml" info1=`sed -n '3p' "$file"` sed -i "s/<info1>.*</<info1>$info1</g" "$file2.xml" exit 0 eit #!/bin/sh # Erleichtert Fehlersuche #set -x #ALLDEBUG="--save-headers -S" # /var/tuxbox/config/tuxcom/eit # Fuer saubere Meldung bei Fehlern errorexit () { echo "Fehler, stop: $1" >&2 exit 1 } Short_Event_Descriptor() { echo Short_Event_Descriptor pos=$1 descriptor_length=`dd ibs=1 skip=$((pos+1)) obs=1 count=1 if="$file" ` descriptor_length=$( printf "%d" "'${descriptor_length}" ) echo $descriptor_length if [ $descriptor_length -eq "0" ]; then descriptor_length=10 fi event_name_length=`dd ibs=1 skip=$((pos+5)) obs=1 count=1 if="$file"` event_name_length=$( printf "%d" "'${event_name_length}" ) echo $event_name_length event_name_char=`dd ibs=1 skip=$((pos+7)) obs=1 count=$((event_name_length-1)) if="$file"` echo $event_name_char text_length=`dd ibs=1 skip=$((event_name_length+pos+6)) obs=1 count=1 if="$file" ` text_length=$( printf "%d" "'${text_length}" ) echo $text_length text_char=`dd ibs=1 skip=$((event_name_length+pos+8)) obs=1 count=$((text_length-1)) if="$file" ` info2=$info2$text_char } Extended_Event_Descriptor () { pos=$1 descriptor_length=`dd ibs=1 skip=$((pos+1)) obs=1 count=1 if="$file"` descriptor_length=$(printf '%d' "'$descriptor_length") echo $descriptor_length item_char=`dd ibs=1 skip=$((pos+8)) obs=1 count=$((descriptor_length-6)) if="$file" ` item_char=$(echo $item_char | sed 's// /g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;') info2=$info2$item_char } Component_Descriptor () { pos=$1 descriptor_length=`dd ibs=1 skip=$((pos+1)) obs=1 count=1 if="$file"` descriptor_length=$(printf '%d' "'$descriptor_length") if [ $descriptor_length -eq "0" ]; then descriptor_length=10 fi stream_content=`dd ibs=1 skip=$((pos+2)) obs=1 count=1 if="$file"` stream_content=$(printf '%d' "'$stream_content") stream_content=$((stream_content&15)) component_type=`dd ibs=1 skip=$((pos+3)) obs=1 count=1 if="$file"` component_type=$(printf '%d' "'$component_type") component_tag=`dd ibs=1 skip=$((pos+4)) obs=1 count=1 if="$file"` component_tag=$(printf '%d' "'$component_tag") text_char=`dd ibs=1 skip=$((pos+9)) obs=1 count=$((descriptor_length-7)) if="$file" ` echo Component_Descriptor echo Length $descriptor_length echo Compenent_tag: $component_tag printf "s_c : %d (0x%X)\n" $stream_content $stream_content echo c_t: $component_type echo "$text_char" if [ $stream_content -eq 2 ]; then eval "audio$namez=\$"text_char"" namez=$((namez+1)) fi } Unknown_Descriptor () { pos=$1 descriptor_length=`dd ibs=1 skip=$((posh+1)) obs=1 count=1 if="$file"` descriptor_length=$(printf '%d' "'$descriptor_length") echo Unknown echo $descriptor_length } # parameter 1: path to file # parameter 2: filename File=`echo "$1$2"` file2=$(echo $File | sed 's/.eit//g') file="$File" echo $file if [ -f "$file" ]; then echo "ist da" else echo "ist nicht da" exit fi info2="" posh=12 namez=0 #filesize=$( stat -c %s "$file") filesize=$(wc -c <"$file") echo $filesize while [ $posh -lt $filesize ] do descriptor=`dd ibs=1 skip=$posh obs=1 count=1 if="$file"` echo $descriptor if [ "$descriptor" = "N" ] then Extended_Event_Descriptor $posh fi if [ "$descriptor" = "M" ] then Unknown_Descriptor $posh fi if [ "$descriptor" = "P" ] then Component_Descriptor $posh fi posh=$((descriptor_length+posh+2)) done echo $info2 echo "$file2.xml" sed -i "s|<info2>.*<|<info2>$info2<|g" "$file2.xml" i=0 while [ $i -lt $namez ] do eval echo "The part is \$audio$i" eval text_char="\$audio$i" echo "$text_char" sed -i "$((i+14)),/ name=\".*\"/s/ name=\".*\"/ n____ame=\"$text_char\"/" "$file2.xml" i=`expr $i + 1` done sed -i "s/n____ame/name/g" "$file2.xml" exit 0 Beide scripte "eit" und "meta" ausführbar machen und nach /var/tuxbox/config/tuxcom/ kopieren. Bei mir funktioniert es, trotzdem testen erstmal auf eigene Gefahr. Bin leider kein gelernter Programmierer, also falls jemand Vorschläge hat, wie man etwas besser machen kann, diese bitte ebenfalls posten. Ein Dank noch an folgende Seite, auf der ich die meisten Informationen über die eit und die descriptoren gefunden habe. http://www.fr-an.de/ Gruß TwT bearbeitet 26. März 2013 von TwT 1 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Grabber66 Geschrieben 5. Mai 2013 Melden Share Geschrieben 5. Mai 2013 Sag mal ich finde es super das du das so hinbekommen hast. Doch wie führst du die beiden scripte aus. Ich jetzt mal zu testzwecken 3 Aufnahmen in einen unterordner /hdd/record/test geschoben. Irgentwie muss ich den scripten doch sagen, wo sie was machen müssen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TwT Geschrieben 7. Mai 2013 Autor Melden Share Geschrieben 7. Mai 2013 (bearbeitet) Hallo, die Scripte als eit und meta (um)benennen,ausführbar machen (chmod 755) und nach /var/tuxbox/config/tuxcom/ kopieren. Im Tuxcomander wird dann nach Markieren bzw. Anwählen der Datei (eit oder meta) und Drücken auf die OK Taste das jeweilige Script ausgeführt. Voraussetzung ist, daß mit cooliTSclimax schon die xml für die jeweilige TS erzeugt wurde. Gruß TwT bearbeitet 7. Mai 2013 von TwT Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge