Aufnahmen transkodieren (DM7080)

  • Hi,


    ist es möglich bestehende Aufnahmen direkt auf der Dreambox zu trankodieren? Ich suche kein Plugin, was das erledigt und es muss auch nicht automatisiert passieren. Die Shell ist völlig ok für mich ;). Würde der GStreamer das können oder nutzt dieser dann nicht die Trancodingfunktion des SoCs? Oder mal ganz platt: kann ich eine Aufnahme in ein Device schreiben und irgendwie das transkodierte Resultat abgreifen?


    Gruß

  • das macht der rtsp daemon, du kannst den stream als kanal in die Favoriten machen und dann kannst du ihn auch wieder aufnehmen. Die Frage wie sinnvoll das ist beantwortest du dir aber besser selber.

  • Du brauchst die Pakete curl und ffmpeg (nur, um die Länge der Aufnahme zu bestimmen)


    Zwar ein langer Einzeiler - aber immerhin ein Einzeler ;)


    Code
    1. MOVIE='/media/hdd/movie/20180312 2046 - ProSieben HD - Young Sheldon.ts' NAME='Young Sheldon Transcoded' DURATION=$(printf %.0f $(ffprobe -v error -select_streams v:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 """$MOVIE""" 2>/dev/null | head -n1)) && curl -X POST "http://localhost/web/timeradd?sRef=1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A`echo -ne 'rtsp://127.0.0.1:554/stream?ref=1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A'$(echo -n $MOVIE | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g')%3ATranscode | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g' | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g'`&begin="$(date +"%s")"&end="$(( $(date +"%s") + $DURATION))"&name="$(echo -n $NAME | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g')"&description=&eit=0&sessionid=$(curl -s -X POST "http://localhost/web/session" |grep -o -E "<e2sessionid>(.*)</e2sessionid>" |sed "s|.*<e2sessionid>\(.*\)</e2sessionid>.*|\\1|")"

    Musst nur MOVIE und NAME am Anfang der Zeile anpassen. Daraufhin wird die Länge des .ts Files gelesen und eine Aufnahme gestartet, die als Quelle den RTSP-Server hat.


    Ob das jetzt so sinnvoll ist, sei mal dahingestellt. :)


    Edit: Der RTSP-Server darf dafür NICHT auf Follow-Live stehen, sondern muss auf TV-Kanäle eingestellt sein. Das ganze findet dann im Hintergrund statt. Heisst du kannst sogar nebenbei Fernsehen.