Jump to content

Stream kann im Webinterface nicht abgespielt werden


TheDriver12

Recommended Posts

Hallo zusammen,

 

Wenn ich über das Webinterface einen Stream zum Abspielen aufrufe, tritt folgender Fehler auf (siehe Anhang).

Der Stream startet für 1 Sekunde und dann dreht sich die Sanduhr weiter und es erscheint kein Bild.

http://192.168.1.10:8089/streamint.html?direct=1&chid=4135554550587262419|PL%20-%20TVP%202%20FHD&streamid={CB66AA97-E173-4243-92E9-08E2FFDD86F3}
 

Alle anderen Seiten der Weboberfläche funktionieren. Auf dem Server selbst ist der Aufruf problemlos möglich, von einem Client-PC leider nicht.
 

Gibt es hierfür eine Lösung?
 

Mit freundlichen Grüße,
TheDriver12

support_mg20231207a.zip

Link to comment
15 hours ago, TheDriver12 said:

Auf dem Server selbst ist der Aufruf problemlos möglich, von einem Client-PC leider nicht.

 

In welchem Browser tritt das Problem auf? Betrifft es auch andere / alle Sender?

 

direct=1  in der URL weist auf eine direkte Wiedergabe ohne vorangehende Stream-Konfiguration (Auswahl des Formats, der Bitrate usw.) hin. Der Media Server versucht dann, die zuletzt verwendete Konfiguration aus einem Cookie zu lesen, oder falls nicht vorhanden, eine Default-Konfiguration zu verwenden. Funktioniert es beim Aufruf mit vorangehender Konfiguration, z.B. über die Seite Medien -> TV -> Klick auf das Zahnrad, das beim Überstreichen eines Senders mit der Maus erscheint? Dabei sollte die gleiche Konfiguration wie im Browser auf dem Server-PC eingestellt sein.

 

Im svcdebug.log fällt auf, dass die von FFmpeg für die Transkodierung verwendete Quelle bei dir IPTV-Kanäle sind. Bei vielen deiner Versuche bricht FFmpeg die Transkodierung mit einem Exitcode ab, der auf einen Fehler hinweist.

 

Bei den Senderdaten für die betroffenen IPTV-Kanäle fällt auf, dass sie keine Audio PID haben (Packet Identifier für Audiodaten), manche auch keine Video PID. Sie stehen auf 0. Ein laut Kommandozeile umzuwandelnder, aber fehlender Audio/Videostream kann in FFmpeg zum Abbruch führen.

 

Sowohl der DVBViewer als auch der Media Server ergänzen solche Daten zwar automatisch beim Tunen solcher Sender. Allerdings verlängert dies das Tunen und könnte bei Transkodierung zu Problemen führen, z.B. weil ein Timeout überschritten wird.

 

Probiere deshalb, im Senderlisten-Editor des DVBViewers auf dem Server-PC solche IPTV- Sender mit Doppelklick anzuwählen und beobachte auf der rechten Seite, ob es ihm dabei gelingt, fehlende Video/Audio-PIDs zu ermitteln. Falls ja, speichere die geänderte Senderliste im Senderlisten-Editor (mit dem Disketten-Button unten). Der Media Server übernimmt sie dann nach kurzer Zeit (etwa einer Sekunde) automatisch. Probiere danach, ob die Transkodierung und die Wiedergabe des Senders auf dem Client-PC gelingt.

 

Link to comment

Ich habe es mit dem Chrome-Browser ausgeführt.
Ja, das gilt für alle Kanäle.
 
Gibt es eine bestimmte Präferenz für einen Browser?
Welchen Browser platzieren Sie ganz oben?

 

Ich habe es jetzt 7 Mal gemacht und 4 davon funktionieren jetzt.
Und es dauert lange, bis er anfängt, Bilder zu zeigen.

 

Es gibt auch einen TemplatePower-Fehler im Protokoll.
„Can't find the block definition of withrights“support_mg20231208a.zip
Sollte damit etwas geschehen?

 

Ich finde Ihre Erklärung sehr ausführlich und sie hat mir sehr geholfen.
Vielen Dank dafür.

Link to comment
12 hours ago, TheDriver12 said:

Gibt es eine bestimmte Präferenz für einen Browser?

 

Chrome, Edge und Firefox sollten gut funktionieren. Ich glaube, bei dir ist es eher ein Problem, das FFmpeg mit deinen IPTV-Sendern hat. Leider kann ich die Sender nicht empfangen, die offenbar von einem niederländischen Anbieter stammen, und deshalb das Problem nicht reproduzieren.

 

12 hours ago, TheDriver12 said:

Ich habe es jetzt 7 Mal gemacht und 4 davon funktionieren jetzt.

 

Was hast du gemacht?

 

12 hours ago, TheDriver12 said:

Es gibt auch einen TemplatePower-Fehler im Protokoll. (...) Sollte damit etwas geschehen?

 

Es ist nur ein Hinweis, dass unnötiger Code ausgeführt wird. Ich habe die Stelle inzwischen gefunden und entfernt. Sie hat auf die Wiedergabe von Streams keinen Einfluss.

 

Link to comment

Meine Schlussfolgerung mag verfrüht sein, aber wäre es möglich, den gefundenen Wert der Video-PID, Audio-PID, PMT-PID, PCR-PID, Service-PID, Sprache irgendwo zu speichern und ihn dann zu verwenden, sobald beim Streaming der Eindruck entsteht, dass er still ist? Fehlt es dir, das zuerst auszuprobieren?

 

Das ist ein tolles Programm!

 

Wenn ich Vorschläge machen könnte, würde ich an Folgendes denken:
Die Textfelder könnten eine Farbe haben, z. B. sanftes Rot bei 0.
Und unten in der Statusleiste ein Fortschrittsbalken oder eine ganz kleine Sanduhr, die anzeigt, dass noch nach etwas gesucht wird, etwa nach einer Sprache oder einer Video-PID.
Und eine Schaltfläche, die einige Standardwerte enthält (VID, AID, PMT, PCR, die häufig vorkamen) und in sanftem Orange ausgefüllt werden kann.

Link to comment
9 minutes ago, TheDriver12 said:

aber wäre es möglich, den gefundenen Wert der Video-PID, Audio-PID, PMT-PID, PCR-PID, Service-PID, Sprache irgendwo zu speichern

 

Die werden bereits jetzt auf jeden Fall gespeichert.

 

On 12/8/2023 at 11:17 AM, Griga said:

Probiere deshalb, im Senderlisten-Editor des DVBViewers auf dem Server-PC solche IPTV- Sender mit Doppelklick anzuwählen und beobachte auf der rechten Seite, ob es ihm dabei gelingt, fehlende Video/Audio-PIDs zu ermitteln. Falls ja, speichere die geänderte Senderliste im Senderlisten-Editor (mit dem Disketten-Button unten). Der Media Server übernimmt sie dann nach kurzer Zeit (etwa einer Sekunde) automatisch.

 

Danach sollte die gefundenen Werte dauerhaft vorhanden sein, auch nach einem Neustart des DVBViewers. Der DVBViewer speichert Änderungen in der Senderliste spätestens, wenn er beendet wird. Der Media Server übernimmt Änderungen in der Senderliste dauerhaft, sobald sie im DVBViewer gespeichert sind.

 

Leider habe ich von dir kein Feedback erhalten, ob und mit welchem Erfolg du die oben angegebene Maßnahme durchgeführt hast.

 

Link to comment
21 hours ago, Griga said:

Leider habe ich von dir kein Feedback erhalten, ob und mit welchem Erfolg du die oben angegebene Maßnahme durchgeführt hast.

 

Sorry, ich habe deine zweite support.zip nicht bemerkt. Darin kann ich sehen, dass die zuletzt eingestellten Sender bei dir nun zwar alle eine Audio- und Video-PID haben, aber die Transkodierung mit FFmpeg in mehreren Fällen trotzdem fehlschlägt.

 

Dazu noch zwei Ideen:

  • Die Namen deiner IPTV-Sender weisen darauf hin, dass sie Video mit 4k-Auflösung enthalten (3840 x 2160 Pixel). Da sie bei der Transkodierung im Media Server auf maximal 1280 x 720 heruntergerechnet wird, ist 4k für diesen Zweck reiner Overkill. HD-Sender  mit einer Auflösung von 1920 x 1080 oder weniger würden wahrscheinlich besser funktionieren, da FFmepg bei ihnen viel weniger Daten verarbeiten muss, weniger CPU-Last erzeugt und schneller mit einer Vorab-Analyse der Streams fertig ist. Wenn es also die selben Sender in HD gibt, wäre es gut, sie für eine Wiedergabe im Browser zusätzlich in der Senderliste zu haben.
  • Die Zeit, die der Media Server FFmpeg maximal für die Vorab-Analyse der Streams gibt, legt die Datei ffmpegprefs.ini fest, die sich im config-Unterordner des DVBViewer Programmverzeichnisses befindet (also standardmäßig in C:\Program Files (x86)\DVBViewer Pro\config). Wenn du sie mit einem Texteditor (Notepad) öffnest, findest du gleich am Anfang in der Sektion [Defaults] die Angabe AnalyzeDuration=1500 (für 1500 Millisekunden). Das kannst du ändern und den Wert zum Beispiel auf 3000 ms verdoppeln. Dazu musst du den Media Server stoppen, die Änderung durchführen, speichern und den Media Server wieder starten. Bitte beachten: Da die Datei im Programmverzeichnis liegt, erfordert eine Änderung Administratorrechte! Du musst also den Editor mit Administratorrechten starten, oder die Datei erst woanders hin kopieren, mit normalen Rechten bearbeiten und dann wieder zurückkopieren.

 

Link to comment

Obwohl die Kanäle mit 4K gekennzeichnet sind, ist dies nicht der Fall. Sie sind maximal 1080p, also FHD.

Ich habe die Einstellung in der .ini wie vorgeschlagen angepasst und werde es erneut versuchen.

 

Im Allgemeinen dauert es meiner Meinung nach lange, bis ein Bild im Webbrowser angezeigt wird, und normalerweise erscheint es nicht von alleine.
Liegt das nur an mir oder leiden auch andere darunter?

Link to comment
On 12/11/2023 at 12:59 PM, TheDriver12 said:

Im Allgemeinen dauert es meiner Meinung nach lange, bis ein Bild im Webbrowser angezeigt wird,

 

Was bedeutet für dich "lange"?

 

Dass der Wiedergabestart bei einer on-the-fly-Transkodierung länger dauert als ohne ist normal. FFmpeg muss den originalen Stream erst analysieren, dann einen Einstiegspunkt für die Transkodierung finden, dazu kommt die Pufferung von Daten im Media Server und Browser für eine flüssige Wiedergabe... ich erhalte hier in Firefox Zeiten ungefähr zwischen 7 und 20 Sekunden.

 

Insbesondere bei IPTV als Quelle sind die Einstiegspunkte (sogenannte I-Frames) oft dünn gesät, weil die Anbieter möglichst Datenrate sparen. Es hängt vom Zufall ab, wann der nächste auftaucht und FFmpeg den Start der Transkodierung ermöglicht.

 

Leider liefern deine IPTV-Sender einen in HTTP gekapselten Transportstrom, soweit ich es dem svcdebug.log entnehmen kann. Das kann kein Browser ohne Transkodierung wiedergeben. Du könntst höchstens im Stream Setup einen Download als M3U-Datei mit der Adresse des originalen Stream veranlassen, und zusätzlich, dass dein Browser für die M3U-Wiedergabe einen Player wie den VLC oder DVBViewer startet.

 

Ich habe in meiner Senderliste IPTV-Sender, deren Anbieter die Streams in dem häufig verwendeten HLS-Format liefern (die URLs haben dann die Endung .m3u8). Es gibt für Firefox und Chrome ein Add-On, das dem Browser die Wiedergabe des Formats ermöglicht (suche nach "Native HLS Playback"). Deshalb kann ich bei den Sendern im Stream Setup des Webinterface "Originaler Stream - Im Browser wiedergeben" wählen Damit dauert der Wiedergabestart 2 Sekunden...

 

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...