Jump to content

Probleme wenn Stream pausiert wird.


Meo

Recommended Posts

Ich schau öfter mal TV als Stream. Beispiel:
- https://mcdn.daserste.de/daserste/de/master.m3u8
- Als Datei wiedergeben

- Max.Rate 0

Da "Das Erste" 120 Minuten als Stream vorhält, springe ich z.B. 30 Minuten zurück und lasse den Stream dann laufen. Die Laufzeitanzeige bleibt auf 01:30:00 stehen. Dies stimmt auch, da der Stream sich weiterschiebt.

Jetzt pausiere  ich den Stream für 5 Minuten. In dieser Zeit müsste die Laufanzeige Rückwärts laufen - Macht sie aber nicht. Nicht schlimm.

Wenn ich den Stream wieder laufen lasse, läuft er genau an der Stelle weiter, wo ich pausiert hatte.

Aber wenn ich jetzt mit den Pfeiltasten z.B. vorwärts springe, lande ich nicht 10 Sekunden weiter vorne, sondern 5 Minuten 10 Sekunden.

Die Stelle wieder zu finden, von der ich gesprungen bin, ist extrem schwierig. Da ich normal nicht weiß wie lange ich den Stream pausiert habe..

Was mich bei Streams auch irritiert, dass die Tasten "Vorherige" und "Nächste" in der Senderliste weiter schaltet und nicht im Stream springt, wie auch im Video.

Edited by Meo
Ergänzungen.
Link to comment

Ich habe es mir inzwischen angeschaut und kann das Problem bestätigen. Die Ursache ist, dass du dem DVBViewer gegenüber falsche Tatsachen vortäuschst:

 

Am 29.9.2023 um 21:10 schrieb Meo:

Ich schau öfter mal TV als Stream. Beispiel:
- https://mcdn.daserste.de/daserste/de/master.m3u8
- Als Datei wiedergeben

 

Warum eigentlich? Du sagst dem DVBViewer, er soll den Live Stream wie eine Datei behandeln. Wegen dem senderseitigen Timeshift-Puffer hat der Stream zwar in gewisser Weise Dateicharakter. Der DVBViewer kann bei Dateiwiedergabe im Gegensatz zu vielen anderen Playern mit Dateien umgehen, die am Ende immer länger werden (laufende Aufnahmen), aber nicht mit welchen, die gleichzeitig am Anfang kürzer werden. Das ist nämlich bei "echten" Dateien faktisch unmöglich. Beim HLS-Format (.m3u8) geht dies nur, weil die "Datei" auf dem Server in Segmente zerstückelt vorliegt, jedes nur wenige Sekunden lang.

 

Außerdem dauert der Wiedergabstart bei "Als Datei wiedergeben" deutlich länger, weil Dateiwiedergabe sich nicht auf bereits vorhandene Senderdaten stützt. Deshalb muss der DVBViewer erst ein ganzes Stück des Streams vorab herunterladen und analysieren, bevor er weiß, mit was er es zu tun hat.

 

Dass die Fehldeklaration bei deinen Bedienungsgewohnheiten zu zweifelhaften Ergebnissen führen kann, wird schon dadurch deutlich, dass sich keine beliebig lange Pause realisieren lässt. Irgendwann ist nämlich das Segment, das bei Fortsetzung der Wiedergabe nach Pause als nächstes dran wäre, auf dem Server verschwunden. Dann funktioniert der Wiedergabestart nicht mehr - zumindest nicht an der Stelle, an der die Wiedergabe pausiert wurde.

 

Es gibt zwei Lösungmöglichkeiten:

  • Du deklarierst den Stream korrekt als "Live". Wenn du dann die Wiedergabe pausierst, startet der DVBViewer wie immer bei TV/Radio eine Timeshift-Aufnahme, die am Anfang nicht kürzer wird. Damit funktionieren Pause und Springen bestens. Allerdings steht der senderseitige Timeshift-Puffer nicht mehr zur Verfügung, solange das DVBViewer-Timeshift aktiv ist.
  • Du delegierst die HLS-Dateiwiedergabe an den LAV Quellfilter/Splitter (Einstellungen -> Optionen -> Wiedergabe-Komponenten -> DVBViewer Filter -> DVBViewer Filter benutzen für *.m3u8 aus). Dieser Quellfilter erkennt richtig, dass es sich um einen Live Stream handelt, und deaktiviert deshalb einfach Pause und Springen. Ein Timeshift-Handling gibt es bei ihm nicht. Damit kann das Problem ebenfalls nicht mehr auftreten.

Um Reklamationen wie der im obigen Post vorzubeugen, könnte der DVBViewer Filter das Verhalten des LAV Quellfilters übernehmen. Oder stillschweigend die falsche Deklaration als "Datei" korrigieren und den Live Stream mit allen Konsequenzen als solchen wiedergeben.

 

Die Alternative wäre, an der Angelegenheit herumzuflicken. Zum Beispiel, den Pause-Zeitpunkt festzuhalten und bei Fortsetzung der Wiedergabe die inzwischen vergangene Zeit von der (in der Kontrollleiste angezeigten) zeitlichen Position im senderseitigen Timeshiftpuffer abzuziehen. Dies würde verhindern, dass ein nachfolgender Sprung in die Zukunft die vorgesehenen x Sekunden plus die während der Pause vergangenen Zeit beträgt. Trotz Pause die tatsächliche Position im senderseitigen Timeshift-Puffer abfragen geht schlecht, weil Pause bei Dateiwiedergabe den gesamten Stream anhält und damit auch das Lesen aktueller Media-Playlisten, in denen der Sender die verfügbaren Segmente bekanntgibt.

 

Eine in jeder Beziehung saubere Lösung ist hier leider nicht drin.

 

  • Like 1
  • Thanks 1
Link to comment
Am 5.10.2023 um 10:08 schrieb Griga:

Allerdings steht der senderseitige Timeshift-Puffer nicht mehr zur Verfügung, solange das DVBViewer-Timeshift aktiv ist.

Ah, da ist doch die Lösung für mich. Timeshift und "Als Datei wiedergeben" aus. So klappt's mit dem Timeshift-Puffer und dem Rest.

Vielen Dank Griga, für die ausführlichen Infos!

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...