TV Aufnahme zu festgelegtem Zeitpunkt

  • Ich möchte im Internet verfügbare Videostreams deutscher TV-Programme zu bestimmten Zeitpunkten aufnehmen und die Aufnahme zu einem zweiten bestimmten Zeitpunkt beenden.
    Anschließend will ich mir den gespeicherten Videostream zu einem beliebigen Zeitpunkt ansehen.
    Außerdem möchte ich gerne eventuell nicht zum Film gehörende aufgenommene Teile des Streams herausschneiden können.


    Ich habe zu zeitversetzten Aufnahmen im Forum noch keinen Beitrag gefunden.
    Das habe ich bisher probiert:


    1) Aufnahme einer Sendung mit dem roten Aufnahmeknopf: Funktioniert einwandfrei.


    2) Werkzeuge --> VLM-Konfiguration --> Einstellung "Zeitplan" wählen und einen Namen eingeben
    --> Eingang wählen: Netzwerk + "rtp://@239.35.10.4:10000" (erhalten aus info(Playlist) )
    --> Ausgabe wählen: Es öffnet sich das Fenster "Quelle", jedoch ohne irgendwelche Angaben
    --> "Next" drücken --> "Datei" wählen, "Hinzufügen" drücken --> Zieleinstellen (""C:\Users\MyName\Videos\Fritz-TV\Zeit-Test01.ps)
    --> "Next" drücken, Standard Profil erscheint, "Transkodierung" ist aktiviert
    --> "Next" drücken, generierter Stream-Ausgabe-String = ":sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=C:\\Users\\MyName\\Videos\\Fritz-TV\\Zeit-Test01.mp4,no-overwrite} :sout-keep"
    --> "Stream" drücken
    --> Zeitsteuerung: Uhrzeit eingeben und Einstellungen in .vlm-File exportieren, schließen.
    Ich habe dann bis zur eingestellten Uhrzeit gewartet, aber es ist nichts passiert. Offenbar habe ich diese Option falsch als Programmierung der Aufnahme Funktion verstanden.


    Was also istr zu tun, um Beginn und Ende einer Aufzeichnung so zu programmieren, dass sie automatisch zum gewünschten Zeitpunkt abläuft?
    Ich könnte mir vorstellen, dass man auch mit einem Timer ein Script aufrufen kann, aber ich habe keine Ahnung wie so ein Script aussehen müsste. Ich habe "1st Clock" installiert, was mir den Aufruf von Programmen über eine Befehlszeile mit zusätzlicher Angabe von Parametern zu einem bestimmten Zeitpunkt ermöglicht.

  • Hallo PanamaJoe,


    willkommen im Forum.


    Du schilderst Deine Vorstellungen und Wünsche und schreibst dazu:


    Quote

    ... Ich habe zu zeitversetzten Aufnahmen im Forum noch keinen Beitrag gefunden. ...


    Nun, das wundert mich. In unserem Unterforum Informationen und Hinweise gibt es das Thema B00 - Häufig gestellte Fragen zum VLC Player, in welchem auch auf das Thema Wie kann man einen Stream zeitlich programmiert aufzeichnen? verwiesen wird.


    Ich empfehle Dir, Dich ganz allgemein einmal mit diesen Themen zum VLC, im besonderen natürlich mit dem zum zeitlich programmierten Aufzeichnen zu befassen.


    Mit freundlichem Gruß,


    kodela



    ,

  • Vielen Dank. Ich hatte mit unterschiedlichen Suchbegriffen gesucht, aber offenbar nicht den richtigen eingegeben und den Beitrag deshalb nicht gefunden. Ich werde versuchen, deinen Vorschlag jetzt auf meine Situation anzuwenden und das dann testen. Wenn es klappt, werde ich meine Lösung dann publizieren.

  • Hallo PanamaJoe,


    na ja, die Suche über Suchbegriffen ist nicht immer einfach, aber nun weißt Du ja, wo man doch eine ganze Menge an Informationen zum VLC bekommen kann. Ich hoffe, Dir wird damit geholfen und Du kannst Deine Lösung des Problems bald hier vorstellen.


    MfG, kodela

  • Ich habe nun eine Menge Zeit damit verbracht, nach dem beschriebenen Muster einen Parameter-String für die Aufzeichnung eines Internet-Videostreams zu programmieren, leider bisher ohne Erfolg.


    Ich bin dabei vom Fritz-TV-Stream des Ersten Programms ausgegangen (http://download.avm.de/tv/1/m3u/das_erste.m3u) Diese URL wird im VLC so in die plazlist aufgenommen:
    rtp://@239.35.10.4:10000


    Mein Parameterstring sah zunächst so aus:
    rtp://@239.35.10.4:10000 --sout file/dst=C:\\Users\\MyName\\Videos\\Aufnahmen\\TV Aufnahme Das Erste.ts


    VLC wird von dieser Adresse aufgerufen:
    C:\Program Files (x86)\VideoLAN\VLC\vlc.exe


    Leider kann man den Ausgabe-Filenamen nicht wie im Beispiel mit Zwischenräumen eingeben, da der Name bei der Fileerstellung ab dem ersten Zwr beendet wird. Der String heißt deshalb nun:
    rtp://@239.35.10.4:10000 --sout file/dst=C:\\Users\\MyName\\Videos\\Aufnahmen\\TV_Aufnahme_Das_Erste.ts


    Beim Starten des Schedulers wird korrekt das Ausgabefile erstellt und VLC poppt auf und der rtp-String ist in der Playlist eingetragen, aber weiter passiert nichts. Es sieht so aus, als ob der Inputstream nicht gestartet wird.


    Offenbar wird VLC in einer nicht korrekten Weise aufgerufen, denn auch der übliche Doppelklick auf die Elemente in der Playlist bewirkt kein Abspielen des Streams und es ist auch nicht möglich, unter "Meine Videos" die vorhandenen Files anzuzeigen. Dazu muss ich VLC schließen und erneut aufrufen.


    Haben Sie noch einen Tipp?

  • OK, ich habe noch einen Schriftwechsel zu dem gleichen Thema gefunden, in dem Sie sich über einen relativen langen Zeitraum mit einem anderen Mitglied an das Thema herangetastet hatten. Nachdem ich alles durchgelesen hatte (Bis zum Schluss!!) habe ich jetzt das richtige Format für die Parameter:


    rtp://239.35.10.4:10000 :live-caching=1000 --sout file/ts:C:\\Users\\MyName\\Videos\\Aufnahmen\\TV_Aufnahme_Das_Erste.ts


    Damit geht es einwandfrei.
    Ich schlage vor, dass Sie dieses Beispiel noch an F12 anhängen.


    Danke.

  • Hallo PanamaJoe,


    Format für die Parameter:


    rtp://239.35.10.4:10000 :live-caching=1000 --sout file/ts:C:\\Users\\MyName\\Videos\\Aufnahmen\\TV_Aufnahme_Das_Erste.ts


    Das ist aber doch nur der halbe Weg nach Rom. Du wolltest die Aufnahme zu einem bestimmten Zeitpunkt starten. Das erreichst Du mit diesem Parameterstring alleine ja nicht. Hast Du auf Aborange zurückgegriffen, oder wie sonst hast Du die Aufnahmezeit realisiert?


    MfG, kodela

  • Es geht vermutlich um das Aufzeichnen eines IPTV Streams, lässt sich für 'Insider' an der rtp://-IP erkennen. :)
    Zu diesem Thema habe ich auch 'geforscht' - also mitschneiden/aufzeichnen eines beliebigen Streams ohne Live zu recoden, Start der Aufnahme zu einer bestimmten Uhrzeit und Beenden der Aufzeichnung nach xx Minuten.


    Über mein Benutzerprofil findest du die Adresse meines Blogs, dort suche über die Tags 'VLC' oder 'IPTV'. (Denke in dieser Form ist es akzeptabel kodela, oder?)
    Ich habe dort zum Thema 2 Artikel veröffentlicht. Oder über PN nachfragen ..


    Hier in Kurzform meine 'Ergebnisse':


    Code
    vlc --qt-start-minimized rtp://@239.35.10.61:10000 --run-time=5400 --sout "C:\Users\UserName\Desktop\aufnahme.ts"


    Über --run-time=60 wird die Aufnahmedauer in Sekunden angegeben, hier also 60 Sekunden.
    Über den Windows Taskplaner (Aufgabenplanung) wird die Batchdatei zur gewünschten Zeit gestartet - quasi die 'Programmierung'.
    VLC entweder mit komplettem Pfad aufrufen oder vorher in der Batch in den VLC Pfad wechseln.


    Dann kam durch einen Leser die Frage nach Serienaufzeichnung, Problem hierbei: wenn ich jeden Tag eine Sendung (Serie) mit statischem Dateinamen aufzeichnen möchte muss der Dateiname sich von Tag zu Tag ändern. Um die Dateien gut zuordnen zu können liegt es nahe im Dateinamen jeweils das aktuelle Datum und die Uhrzeit unterzubringen.


    Code
    vlc --qt-start-minimized rtp://@239.35.10.59:10000 --run-time=5400 --sout "C:\Users\UserName\Desktop\Serie %date% %time:~0,2%.%time:~3,2%.ts"


    Ergibt dann z.B. einen Dateinamen: Serie 04.04.2014 14.40.ts


    Verbesserungsvorschläge oder Hinweise auf Fehler sind natürlich erwünscht.

  • Hallo Matze.B,


    danke für Deine Erläuterungen. Die zeitliche Programmierung hast Du über den Windows Taskplaner realisiert. Damit hatte ich auch begonnen, bin dann aber auf den aborange-Scheduler umgestiegen, der nach meinem Empfinden einfacher zu handhaben ist. Man erspart sich außerdem eine (oder mehrere) Batchdatei und kann den Parameterstring für den Aufruf des VLC direkt über den aborange-Scheduler übergeben. Aber das ist wie so oft auch Geschmackssache.


    MfG, kodela

  • Den aborange-Scheduler werde ich mir auch mal anschauen. Was den Windows Taskplaner angeht stimme ich dir zu, der ist etwas umständlich zu bedienen, das wirkt auf Anfänger oder Nutzer die noch nie mit diesem gearbeitet haben sicher etwas abschreckend. Da er aber ohnehin vorhanden ist und auch grundsätzlich immer mitläuft nutze ich ihn doch ganz gerne.

  • Leider kann man den Ausgabe-Filenamen nicht wie im Beispiel mit Zwischenräumen eingeben, da der Name bei der Fileerstellung ab dem ersten Zwr beendet wird. Der String heißt deshalb nun:
    rtp://@239.35.10.4:10000 --sout file/dst=C:\\Users\\MyName\\Videos\\Aufnahmen\\TV_Aufnahme_Das_Erste.ts


    Unter Windows einen Pfad mit Leerzeichen (Zwischenräume) einfach immer in Anführunszeichen setzen. Dein Beispiel würde so aussehen:


    vlc rtp://@239.35.10.4:10000 --sout "C:\Users\MyName\Videos\Aufnahmen\TV Aufnahme Das Erste.ts"


    Eine mögliche Fehlerquelle dabei ist der Umstand das es offenbar unterschiedliche doppelte Anführungszeichen gibt, es kann vorkommen das beim Kopieren von Befehlszeilen und anschließendem Einfügen andere Anführungszeichen angezeigt werden als die welche man durch 'selber schreiben' erzeugt. Falls also mal ein Pfad nicht funktioniert obwohl er vorhanden ist und die Schreibweise stimmt die Anführungszeichen noch einmal direkt eingeben.

  • Vielen Dank für die weiteren Hinweise.


    Ich habe tatsächlich entsprechend der Empfehlung kodelas den aborange Scheduler installiert und verwende diesen zu Start der Task. Schade, dass der in VLC eingebaute Manager nicht zu funktionieren scheint, ohnehin würde dort aber die Eingabe der Aufzeichnungsdauer bezw. des Aufnahmeschlusses fehlen. Vielleicht macht sich ja doch noch einmal jemand daran, das zu optimieren.


    Die in meinem Fall mit dem Scheduler übergebenen Parameter lauten jetzt vollständig im Fall des TV-Programms "Das Erste": --qt-start-minimized rtp://239.35.10.4:10000 :live-caching=1000 --sout file/ts:C:\\Users\\Volker\\Videos\\Aufnahmen\\Aufnahme.ts --run-time=7200 vlc://quit


    Ich hatte versucht, den Filenamen um den Datums- und Uhrzeitstring mit %Y, %m usw. eindeutig zu machen, aber aus einem mir nicht bekannten Grund funktioniert das bei mir nicht. Das erzeugte File hat den Filenamen genau so wie vorgegeben, also z.B. "Aufzeichnung_%Y%m%d%H%M%S", die Symbole werden nicht ersetzt. Ich habe diese Kodierung deshalb weggelassen, da ich ohnehin die jeweiligen Aufzeichnungen entsprechend dem Inhalt umbenennen werde.
    Dennoch habe ich weiter experimentiert.
    Die Verwendung von Anführungszeichen für den gesamten Pfad funktioniert auch bei mir. Aus:
    --sout file/ts:C:\\Users\\Volker\\Videos\\Aufnahmen\\Aufnahme.ts ist nun
    --sout "C:\\Users\\Volker\\Videos\\Aufnahmen\\Aufnahme.ts" geworden. Damit funktioniert nun auch das Einfügen von Zwischenräumen.
    Allerdings hatte ich auch mit der von Matze.B vorgeschlagenen Zeitangabe Typ ""Serie %date% %time:~0,2%.%time:~3,2%.ts" ebenfalls kein Glück. Mit dem so geschriebenen Parameter startet VLC gar nicht erst, während die von kodela vorgeschlagene Variante zwar den Start erlaubte, aber im Filenamen nicht das Datum und die Uhrzeit anzeigt. Vielleicht liegt das ja daran, dass wir mit unterschiedlichen Versionen arbeiten. Meine ist 2.1.3 Rincewind und die scheint variable Filenamen-Angaben nicht zu erlauben oder erfordert noch eine andere Kodierung.


    Im Übrigen habe ich generell die Aufnahmezeit auf 2 Stunden (7200 Sekunden) begrenzt, falls ich einmal vergessen sollte, die Uhrzeit für "taskkill" richtig zu setzen. Damit wird vermieden, dass mir VLC über Nacht die ganze Platte voll schreibt. Fernsehfilme dauern ja sehr selten länger als 2 Stunden.


    Übrigens gäbe es neben dem Scheduler und dem Windows Taskplaner gibt es noch weitere Möglichkeiten zur Zeitsteuerung. Ich habe z.B. seit langem 1st Clock installiert, das Programm erlaubt ebenfalls den Start von Programmen mit Parameterübergabe zu vorgewählten Daten und Zeitpunkten.


    Insgesamt benutze ich nun 3 Programme für mein Vorhaben. Das erste ist "TV-Browser" ver. 3.3.3 zum Auffinden der Uhrzeiten gewünschten Sendung. Dann den Scheduler zum Einstellen der Uhrzeiten und Aktivieren der Aufnahme und schließlich VLC zum Aufnehmen und Wiedergeben.


    Ich erwähne den erst gestern installierten TV-Browser hier, weil er eine Vielzahl von PlugIns bietet (Darunter auch solche zur Programmierung von Aufnahmen) und ich die Hoffnung habe, dass man damit vielleicht die Scheduler-Eingaben oder gar die VLC-Aufrufe selbst (halb-)automatisch direkt aus dieser "elektronischen Fernsehzeitung" erzeugen kann. Ich forsche da jetzt mal nach.


    Hier ein Link für diejenigen, die das selbst verfolgen möchten:
    http://wiki.tvbrowser.org/inde…BCtzte_Hard-_und_Software
    Bisher scheint VLC noch nicht unterstützt zu sein, aber das kann ja noch werden ....

  • Hallo,


    erst einmal vielen Dank für Deine ausführliche und informative Dokumentierung Deines Vorgehens.


    Zu dem Problem mit der Zeitangabe im Dateinamen schreibst Du:


    Quote

    ... Ich hatte versucht, den Filenamen um den Datums- und Uhrzeitstring mit %Y, %m usw. eindeutig zu machen, aber aus einem mir nicht bekannten Grund funktioniert das bei mir nicht. Das erzeugte File hat den Filenamen genau so wie vorgegeben, also z.B.
    "Aufzeichnung_%Y%m%d%H%M%S", die Symbole werden nicht ersetzt. ...


    Ja, das ist eines der vielen Probleme von Rincewind. Mit Twoflower funktioniert dies. Und es ist einer der vielen Gründe, warum ich persönlich noch immer die Version 2.0.8 verwende.


    MfG, kodela

  • Hallo,


    nach langwieriger Recherche habe ich herausgefunden, wie die Zeitangabe in einem Dateinamen auch unter Rincewind funktioniert.


    Man muss den zusätzlichen Parameter --sout-file-format und vor jedem Platzhalter zwei Prozentzeichen setzen, also an Stelle von "Aufzeichnung_%Y%m%d%H%M%S" muss "Aufzeichnung_%%Y%m%%d%%H%%M%%S" gesetzt werden.


    Es gibt aber bei der Übergabe eines Parameterstrings an den aborange Scheduler weiterhin mit 2.1.3 Probleme.


    kodela

  • Die Übergabe der Parameter --sout "C:\Users\User\Desktop\Serie %date% %time:~0,2%.%time:~3,2%.ts" an den aborange Scheduler hat auch bei mir (mit meinem oben erwähnten Beispiel) nicht funktioniert. Ich arbeite aber ohnehin immer über Batch-Dateien.
    Ich werde das morgen mal weiter untersuchen ob a) der Windows Taskplaner die Aufgabe ausführt wenn man dort die Parameter direkt einträgt und b) aborange Scheduler eventuell die Aufgabe über die Batchdatei starten kann.
    Im Moment habe ich übrigens meine Batch über den Task Manager mit VLC 2.1.4 getestet was anstandslos funktioniert. VLC 2.1.4 ist bereits seit einiger Zeit auf dem Server, aber noch nicht offiziell veröffentlicht.

  • Hallo,


    ich habe mich noch einmal mit dem Zeitstempel für generierte Audio- oder Videodateien befasst. Da hat sich ja mit der Umstellung von Twoflower zu Rincewind etwas geändert.


    In meinem Beitrag vom 9. April habe ich bereits darauf hingewiesen, dass mit den Rincewind-Versionen der zusätzliche Parameter --sout-file-format angegeben werden muss. Ich habe dort auch geschrieben, dass an Stelle von einem %-Zeichen zwei zu setzen seien. Dies gilt so nicht generell.


    Nach meinen Beobachtungen müssen nur in Skriptdateien die zwei %-Zeichen gesetzt werden. Bei einer direkten Übergabe, zum Beispiel durch den aborange-Scheduler, ist dies nicht erforderlich.


    Hier ein Parameterstring, wie ich ihn erfolgreich für Rincewind-Versionen mit dem aborange-Scheduler getestet habe:


    Code
    --qt-start-minimized --sout-file-format dvb-t://frequency=666000000 :program=32 --sout=#transcode{vcodec=h264,vb=1200,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=file,mux=mkv,dst="D:\\VLC\\Aufnahmen\\TV_Das_Erste_%Y%m%d%H%M.mkv"} --run-time=20 vlc://quit


    Für Twoflower-Versionen darf der Parameter --sout-file-format nicht gesetzt werden!


    MfG, kodela