wuffzack Posted October 13, 2019 Share Posted October 13, 2019 Mir ist (unangenehm) aufgefallen, dass der DMS gerne http:// .. ts Dateien "doppelt" öffnet. DVBViewer verhält sich genauso. Spiele ich einen Stream öffnet DMS den link mit einem HTTP GET. Im HTTP request macht er ein "Icy-MetaData: 1" tag, dann liest er etwas Videodaten, schliesst dann die Verbindung und macht quasi zeitgleich erneut eine zweite Verbindung auf. Diesmal lässt er das "Icy-MetaData: 1" im HTTP Request Header weg und liest den stream ganz prima, bis ich stoppe. Das funktioniert fein, ist aber irgendwie ... suboptimal, wenn man einen Anbieter hat, der eine begrenzte Anzahl von Verbindungen erlaubt. Es kann vorkommen, dass das zweite Öffnen schief geht, oder noch schlimmer, eine parallel laufende Aufnahme unterbrochen wird, weil der Provider den laufenden Stream der Aufnahme kappt, wenn nur 2 Verbindungen erlaubt sind. Durch das "doppelte Öffnen" waren es kurzzeitig ja 3. Ich habe in Python einen "Proxy" programmiert, der den ersten Stream nicht schliesst und bei der zweiten Anfrage des DMS einfach die erste Verbindung weiter verwendet. Das ist aber nur eine Notlösung und eigentlich ein ziemlicher Murks. Funktioniert aber prima, und ist für mich ein Hinweis, dass der DMS dieses "doppelte Öffnen" eigentlich nicht machen müsste. Also, hier die Fragen 1.) Warum macht DMS (und DVBViewer) das? Es muss doch einen schlauen Grund dafür geben...??? 2.) Kann man dieses Verhalten irgendwie abstellen? 3.) Falls nicht, wäre es schön, eine Option im DMS Tweaker zu haben. Vielen Dank! Quote Link to comment
Griga Posted October 13, 2019 Share Posted October 13, 2019 vor 36 Minuten schrieb wuffzack: Warum macht DMS (und DVBViewer) das? Es muss doch einen schlauen Grund dafür geben...??? Weil bei Streams oft aus der URL nicht hervorgeht, welches Format dahinter steckt. Deshalb versucht der DVBViewer erst, ihn als Audio Stream / Internet Radio zu öffnen (die einfachste Möglichkeit). Bewahrheitet sich die Vermutung nicht, weiß er aber schon mehr aufgrund des Mime Types in der Antwort des Servers (sofern diese ausreichend aussagekräftig ist) und versucht es auf andere Weise. vor 36 Minuten schrieb wuffzack: 2.) Kann man dieses Verhalten irgendwie abstellen? Ja. Der DVBViewer/DMS ermöglicht, durch eine Pseudo-Protokollangabe das Format vorzugeben. Wenn du zum Beispiel die URL so änderst, dass sie mit ts://... anfängt, geht er davon aus, dass er einen in HTTP verpackten Transportstrom erhält. Bei hls:// würde er von HLS ausgehen. Ein ungelöstes Problem ist dabei allerdings noch, dass ein originales https://... so nicht mehr funktioniert. Eine andere Möglichkeit ist, der URL eine Pseudo-Dateiendung anzuhängen. Angenommen, du hast http://stream-cdn.ok54.de:8080/$OK54 Die URL liefert einen Transportstrom. Du kannst das entweder im Query-Teil klarmachen durch http://stream-cdn.ok54.de:8080/$OK54?xyz=.ts (wobei xyz beliebig ist, könnte auch blabla sein) oder ohne Query-Teil mit http://stream-cdn.ok54.de:8080/$OK54.ts je nach dem, welche Art URL-Modifikation der Server akzeptiert. Bei HLS wäre die Pseudo-Dateiendung .m3u8. Quote Link to comment
wuffzack Posted October 13, 2019 Author Share Posted October 13, 2019 4 minutes ago, Griga said: Ja. Der DVBViewer/DMS ermöglicht, durch eine Pseudo-Protokollangabe das Format vorzugeben. Wenn du zum Beispiel die URL so änderst, dass sie mit ts://... anfängt, geht er davon aus, dass er einen in HTTP verpackten Transportstrom erhält. bei hls:// würde er von HLS ausgehen. Superklasse, funktioniert! Vielen Dank! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.