Splamy / TS3AudioBot

Advanced Musicbot for Teamspeak 3
https://splamy.de/TSAudioBot/Home
Open Software License 3.0
688 stars 138 forks source link

.m3u8 #340

Closed cknost closed 5 years ago

cknost commented 6 years ago

Hello, i have many problems with using m3u8. The url: https://1liveuni-lh.akamaihd.net/i/1LIVE_HDS@179577/index_1_a-b.m3u8?sd=10&rebase=on The url is from: https://1liveuni-lh.akamaihd.net/i/1LIVE_HDS@179577/master.m3u8 https://1liveuni-lh.akamaihd.net/i/1LIVE_HDS@179577/master.m3u8 works a little bit better I use the newest Develop Version. Here is a Video: https://youtu.be/5wqF0CU7BbI

Splamy commented 6 years ago

Those are HLS (HTTP Live Streaming) files for iOS. I don't think I'll support such files anytime soon. You can simply go to the website https://www1.wdr.de/unternehmen/der-wdr/serviceangebot/digitalradio/webradio-100.html and choose the normal icecast/mp3 stream instead: https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3 you even get a better bitrate. (Btw it's still 'develop' and not 'developh')

cknost commented 6 years ago

The bitrate is bad with the mp3, it is only 128k mp3. The other is 96-200 kb/s aac+

ShadowFM commented 6 years ago

What about radio urls like: http://listen.housetime.fm/aacplus.pls ? Because it looks like that .pls doesn't work, only .mp3 / YT / Twitch / Soundcloud worked for me

Splamy commented 6 years ago

Looking into the file you get when downloading the link target you'll get a playlist with different bitrates/encodings When I for example choose the first one and play it with !pl http://listen.housetime.fm/tunein-aacplus-pls it works just fine. I dont know if i can/will add a special resolver into !play. Since it is actually a playlist file. I can however add a playlist loader for it. This would mean you can load it with !list get http://listen.housetime.fm/aacplus.pls and then !list play <1/2/3/...> depending on which stream you want to choose

ShadowFM commented 6 years ago

I already did it as workaround but I think it will be easier as you said with something like !list get <url>

Splamy commented 6 years ago

That is definitely possible, I'll add it to the todo list.

Splamy commented 5 years ago

So, I got it working. You can now play m3u8 hls streams with !play https://1liveuni-lh.akamaihd.net/i/1LIVE_HDS@179577/index_1_a-b.m3u8?sd=10&rebase=on Note that that m3u is usually a playlist format, so you can still also load it with !list get ..., but for hls livestreams (like the link here) this is probably not what you want. Just as a short reminder

And (currently only for the dotnet core build, as I will have to bump the required net/mono version for the library i'm using) I added support for a bunch of other playlist formats: m3u, pls, wpl, zpl

You can test if everything works; I'll close he issue if I dont hear anything back in a few days...

cknost commented 5 years ago

Okay, thanks.

http://listen.housetime.fm/tunein-aacplus-pls is only a redirection to the real streaming servers. http://aach.stream.tb-group.fm/ht.aac Could it be.

cknost commented 5 years ago

For all streams: http://aach.stream.tb-group.fm/index.html http://aacl.stream.tb-group.fm/index.html http://mp3.stream.tb-group.fm/index.html http://aachd.stream.tb-group.fm/index.html

Splamy commented 5 years ago

The server of http://listen.housetime.fm/tunein-aacplus-pls will redirect you to http://listen.HouseTime.FM/aacplus.pls if it detects that your user-agent is a normal browser. You can get the playlist in the bot with !list get http://listen.HouseTime.FM/aacplus.pls (Note that this is a *.pls file which only the dotnet core build can read right now)

I also tested the icecast streams in your second post and they all work. The website gives you a m3u playlist with the actual stream as a single entry. So you have to write

"Splamy": !lis get http://aach.stream.tb-group.fm/clt-high.aac.m3u
"TS3AudioBot": Playlist: "clt-highaacm3u" with 1 songs. 
0: http://aach.stream.tb-group.fm:80/clt-high.aac
 "Splamy": !list play

Alternatively you can declare an alias which gets a playlist and just starts it like this: alias add m3u "!x (!list get (!param 0)) (!list play)" and then just write !m3u http://aach.stream.tb-group.fm/clt-high.aac.m3u