Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Problems playing 'restreamed' HLS or DASH streams from Streamlink (Read 5508 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Problems playing 'restreamed' HLS or DASH streams from Streamlink

Hello braintrust,

I decided to try streaming the HLS and HDS audio streams of BBC Radio Four using fb2k which can't natively handle either protocol.

Streamlink normally spawns a player (VLC, MPC-HC etc) and pipes via stdout, but f2bk can't apparently read fd://0. However streamlink can also serve the content of an HLS or HDS stream via its own HTTP server, so I tried the following:

Code: [Select]
streamlink --player-external-http --player-continuous-http --player-external-http-port 8000 http://open.live.bbc.co.uk/mediaselector/6/redir/version/2.0/mediaset/audio-syndication-high/proto/http/transferformat/hls/vpid/bbc_radio_fourfm best

This shows what you would expect in the command prompt. If I open the URL http://localhost:8000 I can see the "Got HTTP request from foobar2000/1.5.1" logged, but foobar times out and throws an error.

Suspecting this was something to do with no obvious file format, or foobar 'seeing' a progressive download instead of an audio stream (because if you open the Streamlink URL in a browser, it prompts a file download), I wondered about forcing a file format with http://localhost:8000/file.aac . This showed the correct audio channels, codec and codec profile in Details, but foobar then seems to freeze as soon as it tries to play back the first audio sample.

When it bails out, you then hear the brief first audio sample presumably as the playback buffer clears. Trying other file format extensions on the end of the URL (.ts, .m4a etc) don't work.

I thought I'd try to re-serve DASH (mpd) instead:

Code: [Select]
streamlink --player-external-http --player-continuous-http --player-external-http-port 8000 http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/uk/dash_full/ak/bbc_radio_fourfm.mpd best

When trying to play the stream with randomfilename.aac appended to http://localhost:8000/ , foobar complains: Unable to open item for playback (This is an M4A file, please rename it in order to play it)

Changing to m4a shows "Unable to open item for playback (Length of object is unknown)". Trying the 'raw' URL without a filename and extension shows "Unsupported format or corrupted file".

Any prospect of supporting streaming from Streamlink in this manner?

P.S. if you wish to test this yourself, if you aren't in the UK those HLS and DASH URLs won't work, but there are lower bit rate 'intl' versions of the streams. URLs available from the transports file, http://www.bbc.co.uk/radio/imda/imda_transports.xml
Don't forget International Talk Like A Pirate Day! September the 19th!

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #1
foo_input_ffpmeg should handle HLS streams. You'll need ffmpeg extracted somewhere to use it.

http://www.foobar2000.org/components/view/foo_input_ffmpeg
https://ffmpeg.zeranoe.com/builds/

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #2
Configure as follows:
"You can install foo_input_ffmpeg (FFmpeg Decoder Wrapper) and make sure that in the preferences under Playback>Decoding>FFmpeg Decoder Wrapper "HLS" is ticked. You also need a ffmpeg executable in the path."

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #3
foo_input_ffpmeg should handle HLS streams. You'll need ffmpeg extracted somewhere to use it.

http://www.foobar2000.org/components/view/foo_input_ffmpeg
https://ffmpeg.zeranoe.com/builds/

Oh very good! I'm already a longtime ffmpeg CLI user so this is most convenient. Can't believe I didn't find this extension before, I have certainly looked...

Interestingly it looks like it can't handle redirects - balks when attempting to play the initial HLS URL http://open.live.bbc.co.uk/mediaselector/6/redir/version/2.0/mediaset/audio-syndication-high/proto/http/transferformat/hls/vpid/bbc_radio_fourfm with "Unable to open item for playback (Unsupported format or corrupted file):". It works fine in a browser and all other players. Playing the m3u8 URL directly works - however this file's URL may be dynamically created so can't necessarily always be done. Is the redirect problem down to the extension, ffmpeg invocation or foobar core behaviour?

That initial URL 302 redirects to an m3u8 containing the relevant mediaset (generated by CDN) which then 307s and supplies TS chunks as normal.

A minor disadvantage with this extension is that bit rate is not reported to foobar either, I get "? kbps" and initially also only saw "HLS" for codec, which I fixed by enabling 'show codec names' in the HLS decoder setup. Though playing that BBC stream, I'm getting periodic buffer underruns... I'm cursed!

It appears any additional arguments in the Decoder Wrapper config panel don't overrule hardcoded defaults, which is a shame. I was wondering if disabling the -f w64 and -acodec pcm_f32le options (instead just passing the bit stream for foobar to decode) might have changed the buffering behaviour, if it's actually a decode issue and not a network streaming issue. Might reshack the DLL and see if behaviour changes.


I'd still be interested to understand why foobar doesn't seem to like the streamlink-reflected audio streams, particularly as other players (MPC-HC, VLC et al) seem to be quite happy with either format, including when streaming the HTTP reversion.
Don't forget International Talk Like A Pirate Day! September the 19th!

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #4
HLS will be supported natively in foobar2000 v1.6.1, coming soon.

Microsoft Windows: We can't script here, this is bat country.

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #5
An update, using fb2k with the FFmpeg wrapper, I was eventually able to get DASH streams playing inside fb2k (albeit transcoded to 32-bit PCM by the plugin which seems unavoidable) by adding a a DASH format with the file type mask "http://*.mpd;https://*.mpd"

Locally restreamed streams via streamlink still behave oddly with fb2k. 1.6.2 gave up after an initial connect but 1.6.7b5 seems a bit more resilient but still takes two tries. The second connect attempt starts playing very quickly after the first attempt expires. It does seem to be opening a new connection both times.

Some wireshark caps from loopback, streamlink invoked with:
Code: [Select]
streamlink http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/uk/dash_full/aks/bbc_6music.mpd "best" --player-continuous-http --player-external-http --player-external-http-port 8081 --http-timeout 3

VLC v3.0.14 (after 10-15 seconds delay):

Code: [Select]
GET / HTTP/1.1
Host: 127.0.0.1:8081
Accept: */*
Accept-Language: en_GB
User-Agent: VLC/3.0.14 LibVLC/3.0.14
Range: bytes=0-

\X...9...V.2Ui..........J.u
M[sN..:..U/[.....Z......WU.~....(..H.. .0VX.......sP.H$R..f.........S..+...F0..Q.y]...*Z3....!.T...D..:.D{W.".
...{g..n.x..i.g.~..j.s...d..t.\.*t..C..0.q.s9m....+.....03.....\.k...q^.c...x ..(..."'`.......@!%.....&.$.d..q..@........~.&..ubU..=\:...`........R.;. .d3.P....$.....G..9*b..,..LA
.p.Jm....7
.-k
.........<.<....?...<3...2(...P6F...?.......?..-..M.jH...!..\B..L....'...$....+..D..."...`wG..RVK...J..,a.<...-dm.%....x...C...V.8c..2D.M........:^h..i.."c.|?....DY..8.ap!.Iw.CF..m...N$...I.t.7.#.o....;.+.&B.....D....Nv..'<...*....z.J
L|..O...Gyw.=..=..}.......'._...2....".L...tKw.<..bdQ ....}.;.K.r..c?.,./.P...".......n..:..(....XA ._....".9F..w.s.....
.>.o.j..~#...7\..... ...>Y....U...
../.D..4..5.q........k.....,..<..f.>w.."(.NK..;"
...@.tC........\s7....\^.u...i.g...:............... W..t...}..
.
.Rz.. .5.....&..{..<kJ....4.....E...?.. ....W`JQ...6....q.0j.r.....2.~u...xW`...8.e._L..0[..p.
....f. /..............#<..........U....OuY5......v..L...{..J.........60
M.F.K..2m....
.k.
......
.A....f..F5...S...P}.....qQh...@S.4:.......H.....F.2..v...B...........w'
.N.Z...0FM.F.T..x.e W.dB/6..7..7.k..Z......p.>..o.d9!.O......v.....U.D.....r.9.....Y..e...x..V. .....%..qS z.9../.:d.G.l.N..o...=._.+....9.....%>...C...........R.....,F....U.x4...y8.....M..b.
;..dV.....M..X.+.[s.l....,}...;.....L..F....R...z%...3.UM.eL.....$x...N..2..../...C..Y..`{....C..Th3b..5..v{....5/....;O....Rp..H..'-. ..K..1.......
.......?il2...............=L/..?...n...f..K.
(etc.)


fb2k 1.6.2 (after about 30 secs, a timeout)
Code: [Select]
GET / HTTP/1.1
Host: localhost:8081
Connection: close
User-Agent: foobar2000/1.6.2
Accept: */*
Icy-MetaData:1

HTTP/1.1 200 OK
Server: Streamlink
Content-Type: video/unknown

....ftypiso6....iso6dash...(freeUSP by CodeShop....................=moov...lmvhd....................................................................@...................................trak...\tkhd........................................................................@..............=mdia... mdhd....................U......2hdlr........soun............USP Sound Handler.....minf....smhd...........$dinf....dref............url ........stbl...[stsd...........Kmp4a...............................'esds...........@.......U...............stts............stsc............stsz................stco...........(mvex... trex............................moof....mfhd......>j....traf....tfhd...*...............@....tfdt......F...0.....trun.......,.......;...T...Y.......^...z...3.......M...Q...............(...F...I...x.......{.......-...j...~...z.......Y.......%...G...F.../...I...U...V...m...f...........u...:......./...=...[...O...c...........m...R...*.......n...$...s...........*...$...0...V...f.......:...9...........}..."...................,...O...V.......H...0...........=...1...<...............9.......3...V...U...U...]...Y...a...e...Z...e...........A...{...s.......2...............?...Z...\...^...a...........7...R...S...I...T...J.......e...d...K...H...4...H...........:...F...L...........Z.......$...>....... ...*...M...\...I...k...\...H...B...Y...Y...P...S...\...[...[...T...T...~...S.......t...7...[...........T...2...T...X...<...9.......w.......*...O...@...S...............`...V...^...w...v...............;...T...G.......................8...T...............2...B.......V...U...U...W...U.......)...I...R...\...R...F...P...u...\...........`...l.......?...................q...g.......2...6...0...U...]...[...s...l...q...K...........@...?...J...Y...U...z...k...p...$...6...S...@...O...........7...N...Z...S...J...Q...R...G.......L...A...R...a...I...........J...6...[...k...O...X...........2...T...P...X...T...`...D...............8...V...U...^....mdat!|T..,"....ry.R.$ArK.p.;.......pqPK..F.*,V.:..<q.8.D$yn(.*...`2.bP..#3ZG.U.<.D..<..y$.j.S.........T..y.S8n...b ./.r.0".@.Ex{...fF....w..$.`...i "....".Ff-`2K7...88.-....`.q*{..0{.J.........n...}_L..r.".@... .r.x.Y.
.Y..- `..._].v>....:..M.G..i.^.{..t9..`C&pR..?`g.....Q2..C...K.....DA.....p-@..pwS\.J.....&.....x
......R$....}...|.,.rE.M....'(O.......:.W.{.......*..7.J............L.7.....T.g.......}aE...$ec...C..rC.....o...............;.........?=g.1WA....ZC...\.r
..l.D.......D..wV........z.U..J....6.l......Q._'.xEL....F."/0.El-{.%1z.......A.K.v....g.i...A.b..^..o.M5....F....|....|..H.&...4o:wJ...*.#S.......O ....fA..D@@...{r...U.. .
MB....M..9_..^#.x.a.%.?.....BK.....3.Z!N..8.8L..dr..^D?5E*..j.....3B...T.M5..i..x. .
..U.k.?C.o.=....N.....k^.JZ.-...BX..).)\8.....K}....*........3...Y.vW......G.go.6c..ko:...'...am.Le.0.!.T...& .
.|...^...BYv...7.lz.<...\B@..A!,..r&......S..K1R.......M `.f...DgG.......a..Lp......1...9\.......tH,...$."@6...[.;.zsg..[.5.z...kd.Y.'.dZ:..@r..?..9. .V9......Kk.....bf...ph.....O...h........KY.....Y.N.t...P.UZ....]....?.N..
..#....pRL...g.........Y4...Z..I....`x.......X......TX..._R...V0ft...O.y'..U&.......p|?.m.....,...t.........J.)pB.....o...~u..........D........>!....G.$."+'.?.<v.
h,...2.e!.d..<...(q.4/...g..7-...........dd2./.uv..z...A}R.....3..1'c~[..cJ.....P}+./...>...o.D...Av..OaY;. .H.$.yx....2.`.P....w..E...Ke....pX....<...p.l...7p.f......G...m.....m.=kX.8...7.(.`.6...0.>IL...i.p)...k}..M.. &...3o.P..v
......_.t.5.....if. .{......9....S.T..[.
wD...|.K..8...*...~ck..FT3w7.u\..n.........`...5i..tA.....).1W1...r.u.. .P..~)...0F....iC ...L..H...A.`...<...GFw.]_..Ae............[9..C..Z.m..4B.TS......:..f.D!}.#.z..........0..!.T...& ....... JZj.....bm..Jp.`....H.T(#...e.a!)..t.wN$F.(.=ZM....i.h$.d.tF./...s.I=.+.~.`P... !.n.......R....@..+&.O=k.[i1..%@..mQ|....)..M.L|,.J..b...&.L...j. ..a.#.. ..DJ....fm.l..k.....<..UT.wM............/.`
..o.......]..6.^I..;.:..
+........F,...GP.Z]j*.DR....w....`..kx2...<.t:l...L..k.>.D.....r(.n.MQ!.k......&@....n6...v...(.[s..OS....pD......%l
..R.#)&........P........j....<......@x.?..A.P.....1.a........X.^..%....}.Q.....:..E....|Gh..'........R.c-"....l.z-.........!...[..;...#..*!.....6......:...\.........S.....T5(I$\..`*~.....V..S./..'..;3.x...n.?.....-u...O..@3.`..
..pA..".Z;....!4.....&~.H..`J4....!............;.'.k.\....Z#.X.y.F;..o.zm.Y/%..e....A=...-......L}V...ew.}.yy..=.)H..LG$s.bX.........e...G....r....J0.Z..,..i..;...E..I....0..N...5.X.....
....L..x.o......\j\
.).).C.7...K.Y.S....'..:.(...*3....Wx....;
..2.i....._>9....&.K .!.O......R....D.,..}s..V.U.[Wp....0......]......'.....#.dT.x.d:YT$..t.F]>...qc.. ...*..........D..I1..m....!...A'..G...hz....~+..5L.....*..!9....d..F....
9T..m3].$B]...._..Q..tU.L.LM...+...Y....B#...a..+HTR......H .....=HKM....$.+=.[)
Q......M"!..._F...Te...H.>Og..
....^.w.-....xQ_..C&.B`Pu..q.G.....s.gvW..z?....`fQ{>.;....}J_'.`......yP...sg6M.`g....q.W!..f
G.sg.p..X(..@-+|.PpiT.X.s.z...r...j6..G._... .....*..4[.;.=.t.....t....c.<*.n....Z....uG.2.<4...... ..T..-../...........j....).j+....
(.J8..:..@G....)...........{L...Ivp6_.H{B..........`............H......t..6V...z..$.f..I...}..v..q.*.>.....I-.2T.......2...#.M1..`[........]..rn..a..p$..B.:k...=.V(...b^.fo.S.....||k....n.....Yt?..[8;...X&P.@.a..}.)6e...s.#..G.....0..sJ...%.6%.o.!@....Z..MO...x....3..`$.............RQ^.........8j..k]{.(..&"!....7.Z.^Y..../8:t......"...&..de.T.i..F.....W..`...".D4.}w.X....3..............G
.b).J.V...o.].7$.....b...UR.=...........jl.....>.3.........p..9.nL.!.T...& .....=.J.Y*R.......n.}R....2K.bKv.........%..."&"E?..r.)..$;.y>.b....jj...l.4_...d..5.....Gct..+.D....HmmS...... :#.7..8}.}....@.a........F..W)...........PwQj"..r.d.8z...S|...?....-.....c.?..g..FH....~u............#.M'.g<....<....r.u?Cn.V".x...').............-.(.....u..%....I.^.6......G...%.....O.../-OTPc.8.C._5J~..u..w...i.W..W.Y*B.w.j,....K....].We......1.E.d..l..u...Q....G.Xi.J.&b......o......:.,...k9|w.o.s.+......1k.n.f:.v..zUz_Z.;.Ua.......4...&..7.7...z~.5.-sl6.U? .X.%..2.7&..9.Jf..........n..v.5.:.y...Z ..&..471a....a.+K....
.L..[m.... .s........l.V.jd....K..;.........D...
n.....E^..us..d0v...4L.'.UT.Lm.t.r]...1..z|.....H.....o.[...1...'o.....z..W.Zj.m.{...6..5#.4.K.....4.L."&
(etc.)

MPC-HC (after 10-15 seconds delay):
Code: [Select]
GET / HTTP/1.1
User-Agent: Lavf/58.68.100
Accept: */*
Range: bytes=0-
Connection: close
Host: 127.0.0.1:8081
Icy-MetaData: 1

E.B.Ks...H.C.......
?.F
.[.L.Y../.......N..\X.6n{T..t^D..7...+C$LN.}.A.....R......LE.A.z.y.U..*(.c.j..[2....w\-mq..n3...zh...Rs..G...qUb...w!.T....".F.hQ.....xy...}T..|..iH ....u>M
.>|.N(....EQ 2w.............:.ozfB.. ...H......V.p.....Y..Nkp.5y<Y...X.
../.....:C....%.
......X..&.v_X...<<...h.{n.........\.R.hU;..l..HD.?Z...M....s.s<-......1..y....'.A...r.sO...._.}..)|.....S........[&..7.#R..u.......o^..$.d.n@......i_..pj.vsE_.'
....)..+..O...$.N.T...._....D.u..
........n.....)t,{|}!../
..&#g.o.D.{8.`.....m.z..m...$Ow'.;.*kr\......c
.......]zv..v.^: ...z6..R.T<..oD..z|..2......~....k&.C.:..4g..R...$..RlI..M...}u.|..j..o.h.{.....B..uB.%B.v.i..]..4S..........8...3..8...].....U.. ....a...,4... Y.......~........2...@..H.....d.)../#..sg.%...}
_i....X0.....T!U,.f.L'
...4Q...D'....U'.O....6K.~.| &.>....c5..l....xdm....rP.F.G...h...L..FPl.J.`D.....-.;v;..m...E.Q.0..K....T....{...Z.i8T .. .eA|..E.AU.]w......o}<.....@.',..i..$.....g.p...AX.2D..
.......o.B.........P..[..u.f.!.T..T.2.
i.:.................\...u.F..qu..L...IQ . %.".y 4.M)........D.
.
.B.4.p....:Ca.%@v...^.{.Pq3...F_..Sv.y%.;....Rh.....8... (..."PZ@.g...M.........i.?.A.t~#.e.0...?.j.
..
..x..._......n...Kb.q;)....K......Ly..u..q..]....U..M..mtv....'.X.+kq72.K..r....6...PM.9.....`%..k..5..@V..0.'....4/<p.......-...$x...@..d.l.l....t..:o_.......j..T/...^.S..J...j.....r..3'....c+......TB.&h.......Tnt.v.R....._..v.wI...).Ah..B@...-.....0..b..n.Tc.#....7..;]..5.......:...f...h.
&3...?.....o.l.Qdzw........qy.C*.'.88.... *.R3..f../4~G..a....a{Ng...X.`.*!.K......P.6...*W3k../p\..7p..`lD($.....:.j.....9i
.f..r..nd!..kb'.).....g..|.V........N1F6..j4....+B...6...:...F6...._..dv;(o:!C.T.M+.c2lF...by.....j.....z...M..9..mu.i.r..)....;S.8.1IN..#.E9.L..7.H....-e..s..E..f..N..1..y...P.A<.)..xuA.*.}*.......4.N.H.T... NW.!.j.....
0F.9..c.o ...4U...t....@..~$..|.0F<$.....!.T..P.2..t.....t.....].z.jk.x...$(.#..fD....l.B1:...BD.9.Y6..S.$.......... e......?.....)Yt.?QeQ..y.... &z..PF..S"`Oq.gq...^.._.n2....$L......3........)t~I...b.?uc.................x6.j.=...N)(.....J...J.&.s}j..uNt'./..#j.>..w.n>..4..V... ......I.....p.#VLQ....JF... .(s.6r....#e...#/d....,.).$......;....e...3..p......Ev1%3....w...........)1..........|.....i....y4.P.~b.%.,.n...$j.1k5fg....>+....n?<WH.$LO.`...a.Kd...t.-9a.e.4WI...9....VR.z........OP".7xArZ..$d..............`..........#x[#..9..Yo.+.X......c.Q1......A....E......-....UU.M6^I.=..g
.?...Y.^3....'3T.N[h.8....`.A$...O._......{.'.....^...H....?..-XLL..7;..n.V......$..n...6g....'H.Y.!......K..C%X...]..}Z[..R.`..d.Y.v....
.>oW.F0. ..".H.....u..<..:S.y.....`....!m+t.w....
.tj..M.\.....9.....*..I..g.p..D..3.{D.mED...a.w.OB..;...C....J..,.....o..~O..ec..,.....>V...D.k.#v;.!.T..(...%.C........o7<.......w.^.5{.Y..m..(. %J.(3.$%..9.tL}.v..g.uI..F."`}.Q..\.G......z.=.h..COpL.:..k...3....L.};s.:..s..^..7>.b...$b..... .dnZW....e.......>.i.....*.5....N.......+.Z...;.?.gEK....}Z...........)......L...:.I..~{'......S.m......H....Y.............z.w~L].>..d...K...........]...4v....@.D....{.4.Z.......6....i...v..J .........~.3w'.......Q.@....M&..r.....9.%KbQ......}9r.x.A0.%s..Z.D.
.-...M..N...!..mrf7......s...~.[..
(etc.)




fb2k 1.6.7 (after 10-15 seconds delay):
Code: [Select]
tcp.stream eq 66

GET / HTTP/1.1
Host: localhost:8081
Connection: close
User-Agent: foobar2000/1.6.7b5
Accept: */*
Icy-MetaData:1

9....1Pa...B.%...[.CIZ*b..{...O.g.|.._......b-...~..B..[3..N...o..,...m._.=N..........fA..j........Dl...
... ..3...q.f....).54."R..%.\~^...'.!.O......r........m4.AR.%g..q2.....'/..urP..f.._..;.....\...=yR..........L..u.^k...Q.?v......!...1Gi.......4G......9...n%...[...[.{b\...[..fK.nf.w.2..S...^.....C...J...w...yq!..T...+5.Y{.Lp..M..x.Lp.
J.7....!...N.......Y~#r.<..x>......{............$......<....-.A.6v`A7..imC..7A .OD..#.c....o.U..^..LR...jt...1....)..g0.X(....S....,...o
.9.'.z...
..&.br.~.Wr......@...u(.....u.w=A.j...s9.....r.R....KP.......c......R.$....6.3.vT...Z.r0........,4.j..9S.......v.b...<.l.vI....P.........a....$..j.K....V..
..|..*..Z.".++.js%.......QF.vv'.....T@x.J.X..S.qu......n.....>...#.-o[.X.....'.......}..T...j..j..j...k...)D.r..@.K...../../..w.WZ^......d.H.
N."..F!..s.V.&....c.
.Ol...i....[N.7.x.9M....\..g.3-.....{..?..zU.......>f.....U.
1.XY....._...wO.j.P....&G...../....W.MM.Q....C
r..!i.y7%...E@.....j...l..T#`..;.)...6S..2I...9.=.US&H%T...R.M..f.F*D..~,..t.{...a$.,m....(...v..{....s Nh.!.O......f.
........T..y...\..)2...eHe.$`......E..?.<.YQ.J..I.....*.MS.e...g...k.x....#......wV..Z...Cp.0O..^u.^..=...C5>sM:.M.Wl..XH.$g0.C"m.....9.....o.....A...\..h....ng.d.v..b..q....6ySl...6...`M....[.?.v..<_9"6rb.'~.d\.....n..S.B.#.p<rs?j..y...~q...T}.vf(..^.@...#}.#.s$.yu...3.".......2VF.........3.a.<.kW.q_..t......!{.....Z.....9.K].8..nNR...j.)s....q.....[.c8Q....J .>..5....Ug}La....W*.\......"X..U...l....k/!?.4.o...h..XL*....2.Ri3G......Q.Fd..2. W.Y.~Y..;r...j.K...T.......fN.M.i..f.T..5V.Y8..o,. u|k.....~.\u.f .#...7.9.P..{...{....#LQ..
..,W=...... .....8.....%#`..e....o......V&......4...y.w...{...7..+.Y.OH...p.<......u..Z.k....1..=..........0... ..T.$.._....".\...
6...C.v.......Zj9.wD..z.8U.T...FD....kw,..!......xP...m.......G,..5.Hs.....+..9.krf.
.......<*....oN..
_Gl.yr.l.kf...
....[Sf...D.... ..H1.!....).pq.4.9.G{u.\....$u}.._:..J....$..;.*.y..z+.5.q....w..!.O......v.I.Q,4+
....)..nF.....R...S`.x.4._.&...,.D..e.,I....J{....~-.y.b..q..(e.../Y..z....U.<.G0|1h....h...m.yYo..)....epF..d..l)..g...u.......s....U. .....@............aF..|...-..6.x.l.....b....d....E..F
.ql
..R.a.........:.....3.uM.a:..9.C:.<]@..,..3...W...C...v}+
(etc.)

fb2k console during playback attempt:
Code: [Select]
Unable to open item for playback (Unsupported format or corrupted file):
"http://localhost:8081/"

but almost immediately after:
Code: [Select]
tcp.stream eq 93

GET / HTTP/1.1
Host: localhost:8081
Connection: close
User-Agent: foobar2000/1.6.7b5
Accept: */*
Icy-MetaData:1

N..Hl./.{...C..^.......|Y......
.3.....Rw..(lL.^...._..pP...
.,w]F...n........]X....C:..4.L
r.0..sM....YwL...e.".i.........,....o..).T.....r.M. ....:...}.s..TL......@..n...0sG.?._Km........_...X.......G...h....tlKt|.(
.'.}{....xo.^..388......LPCXX.........}..K..T8.
..c.A$.oq._./..8}s........A....o.3...cK..9..~.....&T..<......... 8..g.HH.R*.u^i'....'.y...4.."...4.....W:..@_3r3<..Tl..rB
.....{EV.. ...[ $.j..??......;t.).....;F..e.o.w.#...O......7...T.*.j...-."..Sy.LT.U....^...B....!1*lH..OP.R....5..a..M..j&.
,2..091.d.P.K**....5...U....[4.C...^yW.........@...T.>gr.......................!.Oo.....f.z..............y.z..z.ko.Q.I.HO1'*D....}..M....... .b-........N*..!|....)...&!.k....#l.O.r..<..-....f.b.'.....amx.).!.Y.qc=.....8..M...E..q..5....G(..E....k7#.\......c....2N.Z..U..*.......vN....pw...V..<6.y.I].t.ZR:......$..6l.`.g.?8....Q..=....rb....c...s..+..5..-....QI..+.
.j.396>..Q..{p?:.......{R.......%H.1..... ........n.<.G..A....w.
7.yhT.5./-{.z...H....Q.q.X...v.......yZV<...X..2....!.4.e.C.( .^.c...
zMC.m.....5.d...h1#.k6R.rM....].u....
M.[.[...d...........-m..2.......q(.l...A8...7:..i....v.S.
+.
.A`..(1..>..R.N..W......=...r.
.....swaW....y..q.....R..\..........h.h.S3w.C]
Z..'*..YR...fa.oF4.._...ZJ.Fc..@..@..~'I
..:.C.*.&<zK..2.....h.....v..6...M..p...............Ae4.r..0.]V-n.7.l
.eIy.c.)Z..sZ..1.....3sR;.....kE...J DZ.B.........|.=...-dA...@..Y+Ml.bO..o.......n...9.s..}..%z.G..n...._.o....................................!.Og.....V.z...-E.=../^|/.i...8...Y.1..N....O..4.p.6.-......@.".v.1Z. .V.$...O...i.......k...O..=..~..%..f.T.Q..m.4..........NA!"......[&O .`8..cC..q[.w.}..^W...0@..S.&t...... ..3\._y+.L...u...4@.o.Q..l1.N0....@Qlc...{..J.3?.P)......../..[+...1z..HmL.o...5.Q..u.'...]...,G..e..E....[.{m.......Z.....t....b......L.X......<.h.t....cA.M22.b.-N...L......dvo2N....M...0Eu7.u.....E.{'o.]. R....}Y@.f.?.....Ts.............o).....B..\C..)..,. ^.../.$E^....r.:[............aH].!W....a...A}....8%M.*zm......b...?...-.?.V.D.A.L...."..Va...;z|g.....W..^.9..LhD.........1..{..Q+...q
(etc.)



streamlink invoked with
Code: [Select]
streamlink http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/uk/dash_full/aks/bbc_6music.mpd "best" --player-continuous-http --player-external-http --player-external-http-port 8081 --http-timeout 3 --player-passthrough http
Also tested with
Code: [Select]
streamlink http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/uk/dash_full/aks/bbc_6music.mpd "best" --player-continuous-http --player-external-http --player-external-http-port 8081 --http-timeout 3

example CLI output from streamlink during these tests:
e.g.
Code: [Select]
[cli][info] Found matching plugin dash for URL http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/uk/dash_full/aks/bbc_6music.mpd
[cli][info] Available streams: a48k (worst), a96k, a128k, a320k (best)
[cli][info] Starting server, access with one of:
[cli][info]  http://127.0.0.1:8081/
[cli][info]  http://192.168.2.103:8081/
[cli][info]  http://192.168.47.1:8081/
[cli][info]  http://192.168.57.1:8081/
[cli][info] Got HTTP request from VLC/3.0.14 LibVLC/3.0.14
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from VLC/3.0.14 LibVLC/3.0.14
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from foobar2000/1.6.2
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from foobar2000/1.6.2
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from MPC-HC
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from Lavf/58.68.100
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from foobar2000/1.6.7b5
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from foobar2000/1.6.7b5
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from foobar2000/1.6.7b5
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[cli][info] Got HTTP request from foobar2000/1.6.7b5
[cli][info] Opening stream: a320k (dash)
[cli][info] HTTP connection closed
[cli][info] Stream ended
[/code]
Don't forget International Talk Like A Pirate Day! September the 19th!

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #6
Why are you still using the wrapper when fb2k now has native support? Just File>Add location...

http://as-hls-uk-live.akamaized.net/pool_904/live/uk/bbc_6music/bbc_6music.isml/bbc_6music-audio=320000.norewind.m3u8

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #7
Why are you still using the wrapper when fb2k now has native support? Just File>Add location...

http://as-hls-uk-live.akamaized.net/pool_904/live/uk/bbc_6music/bbc_6music.isml/bbc_6music-audio=320000.norewind.m3u8


A great question ;) I was attempting to get DASH working so my tests went down that route. I then wondered about RTMP streams via Streamlink and as I was tinkering with streamlink I carried on investigating that method, discovered the odd initial play behaviour so wanted to document it.

1.6.7 still can't handle redirects to an HLS playlist, e.g.
http://open.live.bbc.co.uk/mediaselector/6/redir/version/2.0/mediaset/audio-syndication-high/proto/http/transferformat/hls/vpid/bbc_radio_fourfm
which 302 redirects to
http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_fourfm.m3u8

However fb2k throws the previously seen "Unable to open item for playback (Unsupported format or corrupted file)" error.
Don't forget International Talk Like A Pirate Day! September the 19th!

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #8
Mishandling of redirected playlists noted (wrong base path used for resolving relative paths), thanks for reporting.
Microsoft Windows: We can't script here, this is bat country.

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #9
Trying to test the above gives me:
403 notukerror
Seems to be successfully blocking all UK hosts that I can bounce traffic off, including fb2k web site server.
Whom do I bring a shrubbery to?
Microsoft Windows: We can't script here, this is bat country.

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #10
Added attempted fixes in 1.6.7 beta 6.
Can't access the relevant stream so I don't know if it's fixed or not.

+ 'special' handling of "notukerror" added, too.
Microsoft Windows: We can't script here, this is bat country.


 

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #12
Thanks for confirming.
Microsoft Windows: We can't script here, this is bat country.

Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #13
I'm in the UK and can confirm the fix works.

So, I'm from outside UK so do I need to use a VPN or something like this, to listening BBC via Foobar?


Re: Problems playing 'restreamed' HLS or DASH streams from Streamlink

Reply #15
I've  just found the solution:
Add a location by the file menu

Quote
http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one
http://stream.live.vc.bbcmedia.co.uk/bbc_radio_two
http://stream.live.vc.bbcmedia.co.uk/bbc_radio_three
http://stream.live.vc.bbcmedia.co.uk/bbc_radio_fourfm
http://stream.live.vc.bbcmedia.co.uk/bbc_radio_four_extra
http://stream.live.vc.bbcmedia.co.uk/bbc_radio_five_live_online_nonuk
http://stream.live.vc.bbcmedia.co.uk/bbc_6music
http://stream.live.vc.bbcmedia.co.uk/bbc_1xtra
http://stream.live.vc.bbcmedia.co.uk/bbc_asian_network

Enjoy it while it lasts, you might be lucky and the georestriction hasn't got your IP address correctly classified if you're non-UK. There are lower bit rate streams for international listeners but ISTR only the UK used to get the highest (320 kbps AAC-LC) streams. Either way enjoy!

Many thanks @Peter for implementing a fix and testing. Sorry I didn't reply to you, I keep on missing forum notifications as my account is on an old email account I rarely check. Time to do something about that...
Don't forget International Talk Like A Pirate Day! September the 19th!