Support #1169
Audio Streaming doesn't start
0%
Description
Hello,
when I try to open this audio streaming source:
http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=173832
i get this error:Error reading meta data
The source works fine with VLC.
Audacious version: 4.1
Repository: ubuntuhandbook
O.S. Ubuntu 20.04.4 LTS
Many Thanks.
Fabio.
History
#1 Updated by John Lindgren over 2 years ago
- Tracker changed from Bug to Support
The URL has an .htm so it's probably an HTML page? (Not at my computer to check right now.)
#2 Updated by Fabio Bizzi over 2 years ago
Hello John,
thank you for your answer. :)
I think that it's a web page that builds an M3U Playlist, please take a look at the curl of the url:
$ curl -Lv http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=173832 * Trying 212.162.82.10:80... * Connected to mediapolis.rai.it (212.162.82.10) port 80 (#0) > GET /relinker/relinkerServlet.htm?cont=173832 HTTP/1.1 > Host: mediapolis.rai.it > User-Agent: curl/7.74.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 302 Moved Temporarily < Date: Sun, 24 Apr 2022 14:56:06 GMT < Access-Control-Allow-Credentials: true < Access-Control-Allow-Methods: GET, OPTIONS, HEAD < Vary: X-Forwarded-Proto < Location: https://radiotreclassica-live.akamaized.net/hls/live/2032595/radiotreclassica/radiotreclassica/playlist.m3u8?auth=daEaFaBcXcgdlbTcZdtaRaMdwdobtb2aFaI-bIzwug-c0-BjywAGt&aifp=V001 < Content-Length: 0 < Content-Type: text/html < * Connection #0 to host mediapolis.rai.it left intact * Issue another request to this URL: 'https://radiotreclassica-live.akamaized.net/hls/live/2032595/radiotreclassica/radiotreclassica/playlist.m3u8?auth=daEaFaBcXcgdlbTcZdtaRaMdwdobtb2aFaI-bIzwug-c0-BjywAGt&aifp=V001' * Trying 2a02:26f0:8d00:11::adde:6b18:443... * Connected to radiotreclassica-live.akamaized.net (2a02:26f0:8d00:11::adde:6b18) port 443 (#1) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt * CApath: /etc/ssl/certs * TLSv1.3 (OUT), TLS handshake, Client hello (1): * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256 * ALPN, server accepted to use http/1.1 * Server certificate: * subject: C=US; ST=Massachusetts; L=Cambridge; O=Akamai Technologies, Inc.; CN=a248.e.akamai.net * start date: Jul 15 00:00:00 2021 GMT * expire date: Jul 20 23:59:59 2022 GMT * subjectAltName: host "radiotreclassica-live.akamaized.net" matched cert's "*.akamaized.net" * issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA * SSL certificate verify ok. > GET /hls/live/2032595/radiotreclassica/radiotreclassica/playlist.m3u8?auth=daEaFaBcXcgdlbTcZdtaRaMdwdobtb2aFaI-bIzwug-c0-BjywAGt&aifp=V001 HTTP/1.1 > Host: radiotreclassica-live.akamaized.net > User-Agent: curl/7.74.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Last-Modified: Thu, 14 Apr 2022 14:44:33 GMT < X-Akamai-Server: Akamai-SMT < Akamai-Mon-Iucid-Ing: 2032595 < Expires: Sun, 24 Apr 2022 14:56:06 GMT < Cache-Control: max-age=0, no-cache, no-store < Pragma: no-cache < Date: Sun, 24 Apr 2022 14:56:06 GMT < Content-Length: 164 < Connection: keep-alive < X-Akamai-Ctla-Debug: playlist.m3u8 playlist.m3u8 playlist_*.m3u8 variant.m3u8 < Content-Type: application/x-mpegURL < Akamai-Mon-Iucid-Del: 1237697 < Alt-Svc: h3-Q050=":443"; ma=93600,quic=":443"; ma=93600; v="46,43" < Content-Type: application/x-mpegURL < Access-Control-Max-Age: 86400 < Access-Control-Allow-Credentials: true < Access-Control-Expose-Headers: Server,range,hdntl,hdnts,Akamai-Mon-Iucid-Ing,Akamai-Mon-Iucid-Del,Akamai-Request-BC < Access-Control-Allow-Headers: origin,range,hdntl,hdnts < Access-Control-Allow-Methods: GET,POST,OPTIONS < Access-Control-Allow-Origin: * < #EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=259266,CODECS="mp4a.40.2" ../../../2032595/radiotreclassica/radiotreclassica/radio3classica_256/chunklist.m3u8 * Connection #1 to host radiotreclassica-live.akamaized.net left intact $
If you try to open directly with audacious the m38u link with the proper head:
https://radiotreclassica-live.akamaized.net/hls/live/2032595/radiotreclassica/radiotreclassica/radio3classica_256/chunklist.m3u8
Audacious starts queuing all the chunks, you can start play during the queuing, but at the end it stops at the last chunk.
The chunklist is very huge and it's filled with these chunks of ten seconds of playback each one.:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-DISCONTINUITY-SEQUENCE:0 #EXT-X-TARGETDURATION:11 #EXT-X-MEDIA-SEQUENCE:85128 #EXT-X-PROGRAM-DATE-TIME:2022-04-24T11:08:09.397+00:00 #EXTINF:10.031, oqn9n5yg/00000044/media_85128.aac #EXTINF:10.031, oqn9n5yg/00000044/media_85129.aac #EXTINF:9.961, oqn9n5yg/00000044/media_85130.aac ... ... ... #EXTINF:10.031, oqn9n5yg/00000045/media_86564.aac #EXTINF:9.961, oqn9n5yg/00000045/media_86565.aac #EXTINF:10.031, oqn9n5yg/00000045/media_86566.aac #EXTINF:9.961, oqn9n5yg/00000045/media_86567.aac
Moreover, the chunks list updates dynamically so if you curl another chunklist it's different from the previous.
VLC handle directly the first url and starts playing, but I LOVE Audacious and I don't like VLC, so please could take a look at it? Please... :) :) :)
Many Thanks.
Fabio.
#3 Updated by John Lindgren over 2 years ago
So if understand correctly, it's an .htm URL redirecting to an .m3u8 playlist, which is made up of a zillion tiny 10-second tracks, and changes each time your access it?
That's an absolutely bonkers way to do streaming. No way we're supporting that in Audacious. You should contact mediapolis.rai.it and ask them to provide a normal MP3 or AAC stream.
#4 Updated by John Lindgren over 2 years ago
- Status changed from New to Closed
#5 Updated by Fabio Bizzi over 2 years ago
Thank you anyway for your time. :)
Fabio.
#6 Updated by Jim Turner over 2 years ago
I think I've mentioned this before, but these are what I believe are called "HLS" streams. They look like a playlist (m3u8), but are streams. HLS is supposed to allow for dynamically-varying rates based on the user's connection. I'm seeing these more and more these days, and I think Audacious will eventually have to support it.
Regards,
Jim
#7 Updated by Jim Turner over 2 years ago
Audacious just added HLS support in closing Issue #1173, so "https://radiotreclassica-live.akamaized.net/hls/live/2032595/radiotreclassica/radiotreclassica/radio3classica_256/chunklist.m3u8" now w/latest GIT updates! However, what's puzzling me is how VLC gets from your original URL to this? I know you did it manually w/curl -Lv. Where did you get that original URL?! Just running plain Curl yields:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=322608,CODECS="mp4a.40.2" ../../../2032595/radiotreclassica/radiotreclassica/radio3classica_256/chunklist.m3u8
which is a relative url (but relative to what?), so I see no way for Audacious to translate that to the full .m3u8 it needs to actually play. It's an interesting classical station (but no metadata tags)!
#8 Updated by Fabio Bizzi over 2 years ago
Jim Turner wrote:
Audacious just added HLS support in closing Issue #1173, so "https://radiotreclassica-live.akamaized.net/hls/live/2032595/radiotreclassica/radiotreclassica/radio3classica_256/chunklist.m3u8" now w/latest GIT updates! However, what's puzzling me is how VLC gets from your original URL to this? I know you did it manually w/curl -Lv. Where did you get that original URL?!
Hello Jim, to get the original URL, I dug into the webpage where the player runs. Now the webpage is changed and I can't found anymore the URL in it.
I found that this weird streaming management is done with the purpose to add JOG functions to the web player. :)
This is the webpage where the webplayer runs, take a look, it has jog functions, the jog functions are based on the "zillion" segments of streaming. REALLY WEIRD, but it works. :)
https://www.raiplaysound.it/radio3classica
It's the last classical Italian Radio, I love it.
Anyway I found an "unofficial - official" mp3 RAI streaming server, so I solved. :)
http://icestreaming.rai.it/status.xsl
The classical radio is stream nr.5
P.S. Really thank you for your time, I appreciate it. :)
Ciao.
Fabio.