Constantin Posted September 26, 2017 Share Posted September 26, 2017 Hi zusammen, ich habe inzwischen schon so manchen HLS-Stream zum Laufen gebracht, teilweise unter Verwendung von ?addhdr= Jetzt habe ich allerdings das Problem, dass ich einen Stream gerne über einen Webproxy laufen lassen würde. Über FFMPEG läuft das z.B. problemlos, ich ersetze den Host in der URL durch die IP-Adresse des Proxies und setze den richtigen Host als Header. Also angenommen, die Stream-URL lautete https://irgendwas.akamaihd.net/hls/live/master.m3u8 und mein Proxy hätte die IP 0.0.0.0, dann läuft folgendes mit FFMPEG problemlos: ffmpeg.exe -headers "Host: irgendwas.akamaihd.net" -i "https://0.0.0.0/hls/live/master.m3u8" -f mpegts -c:a copy -c:v copy Jetzt habe ich versucht, diesen Stream wiefolgt im DVBViewer einzurichten: https://0.0.0.0/hls/live/master.m3u8?addhdr=Host: irgendwas.akamaihd.net Das läuft aber nicht, und in der DVBViewer.log kann ich auch nachvollziehen, weshalb: 26.09.17 10:39:47.876 TDocumentHTTPStream Connecting to http://0.0.0.0/hls/live/master.m3u8 26.09.17 10:39:48.218 TDocumentHTTPStream Request Header GET /hls/live/master.m3u8 HTTP/1.1 Host: 0.0.0.0:80 User-Agent: Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1 Host: irgendwas.akamaihd.net 26.09.17 10:39:48.560 TDocumentHTTPStream Received header HTTP/1.0 400 Bad Request Server: AkamaiGHost Mime-Version: 1.0 Content-Type: text/html Content-Length: 208 Expires: Tue, 26 Sep 2017 08:39:46 GMT Date: Tue, 26 Sep 2017 08:39:46 GMT Connection: close 26.09.17 10:39:48.563 THLSStream Getting the M3U Playlist failed 26.09.17 10:39:48.574 TFileDevice CloseDevice Der Host-Header wird zweimal gesetzt, der Server verwirft aber wohl den zweiten und daher ist das Request ungültig. Könnte man die Logik, die das Request zusammenbaut nicht so anpassen, dass der Host-Header nur dann automatisch gesetzt wird, wenn er nicht über ?addhdr= überschrieben wird? Dann würde der Stream nämlich auch schon problemlos laufen! Und es wäre auch für viele andere Streams eine Lösung, wo der "X-Forwarded-For"-Header nicht ausreicht. Vielleicht lässt sich das ja für eine kommende Version ohne viel Aufwand umsetzen, wäre großartig! Quote Link to comment
Griga Posted September 26, 2017 Share Posted September 26, 2017 4 hours ago, Constantin said: Könnte man die Logik, die das Request zusammenbaut nicht so anpassen, dass der Host-Header nur dann automatisch gesetzt wird, wenn er nicht über ?addhdr= überschrieben wird? Könnte man. Das wird beim User-Agent ja bereits so gemacht. Ab den nächsten Releases wird das funktionieren. Quote Link to comment
Constantin Posted September 28, 2017 Author Share Posted September 28, 2017 Top, danke Dir! Quote Link to comment
Griga Posted September 28, 2017 Share Posted September 28, 2017 Empfängst du die Streams hauptsächlich mit dem DVBViewer oder Media Server? Velleicht kannst du die Änderung vorab schon mal testen. Quote Link to comment
Constantin Posted September 28, 2017 Author Share Posted September 28, 2017 Hauptsächlich bzw. fast ausschließlich über den Media Server! Quote Link to comment
Griga Posted September 28, 2017 Share Posted September 28, 2017 Du hast eine PM. 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.