Can only watch BBC Parliament and BBC Alba live
Hawes, Mark
MARK.HAWES at au.fujitsu.com
Tue Sep 4 18:39:58 EDT 2012
On 03/09/2012 00:51, Hawes, Mark wrote:
>> problems. BBC Parliament and BBC Alba will play live OK but all other
>> "livetv" channels (e.g. BBC One, BBC Two, BBC News) will not. I'm
>> using version 2.82 of get_iplayer (build c3aafce) running on a
>> slackware 13.7 linux platform and playing the stream out through
cvlc.
>> The commands I am using are: 'get_iplayer --stream --modes=best
>> --type=livetv "BBC Parliament" | cvlc -' which works, while
>> 'get_iplayer --stream --modes=best --type=livetv "BBC One" | cvlc -'
does not.
>> I notice that the available modes for the two working channels are
>> different, with BBC Parliament and Alba playing out OK using
>> 'flashnormal' while BBC One and the other live channels try to use
>> 'flashvhigh2' which is unsuccessful. I have also tried explicitly
>> specifying each of the available modes for these channels, but again
>> to no avail.
> Sometimes --modes=best won't work and you need to specify explicit CDN
> sources in --modes. For example, with BBC One try --modes=flashstd1
> and if that fails try --modes=flashstd2. Unfortunately, the "1" and
"2"
> suffixes don't always correspond to the same CDN for successive
> invocations of get_iplayer. The stream sources are generated
> dynamically and get_iplayer only attempts to stream from the first one
> in order. It may require a few attempts to land on a working CDN.
> Why is this necessary? The main entertainment channels like BBC One
> are usually available on 2 CDNs with multiple encoding qualities on
each.
> However, the first CDN selected may not respond for some reason, or
> the encoding quality you request may not be available on that CDN, or
> you may be attempting to access a geo-locked CDN from outside the UK.
> You thus have to point get_iplayer to whichever CDN is actually
> available at a given time. BBC Parliament and BBC Alba are only
> streamed from one CDN at a single encoding quality, so the above
shenanigans are not required.
Thanks for the quick response. I have done as you have suggested and
seem to have most Success using flashstd2. The command I used was:
get_iplayer-c3aafce/get_iplayer --stream --modes=flashstd2 --type=livetv
"BBC One" --debug | cvlc -
The stream plays for a very brief period (under a second) and then
stops. The log leading up to the failure looks as follows:
get_iplayer v2.82, Copyright (C) 2008-2010 Phil Lewis
This program comes with ABSOLUTELY NO WARRANTY; for details use
--warranty.
This is free software, and you are welcome to redistribute it under
certain
conditions; use --conditions for details.
Matches:
80003: BBC One - live
INFO: 1 Matching Programmes
INFO: Checking existence of default version
INFO: flashstd2 modes will be tried for version default
INFO: Trying flashstd2 mode to record livetv: BBC One - live
INFO: File name prefix = BBC_One_live_2012-09-04_220356
WARNING: Your version of flvstreamer/rtmpdump does not support SWF
Verification FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license:
GPL Connecting ...
Starting Live Stream
.
.
.
0fb0: be 76 b4 c0 7b 43 8e a1 52 46 6f 60 f7 ee 9f 5f
.v..{C..RFo`..._
0fc0: 44 63 1c ed 4d 8d a5 8c f0 02 eb 7f e7 98 1b 70
Dc..M..........p
0fd0: bd ed 4b 4a a2 8f 66 cd fc 72 6e 10 7c 60 66 83
..KJ..f..rn.|`f.
0fe0: 95 2f ac 8e 68 2b 2b 52 0a 95 75 62 4b 0c ff 1f
./..h++R..ubK...
0ff0: f6 f2 ca 1f 23 30 18 78 b7 e6 8d 61 5c ff bd 1c
....#0.x...a\...
DEBUG2: RTMP_ReadPacket: fd=3
0000: c4 .
0000: 4e bd 32 b8 85 a8 a6 33 a2 ea ec 19 30 f0 88 be
N.2....3....0...
0010: 04 be 42 39 a2 71 ac 0a 24 45 09 8a 7b 9f 77 0f
..B9.q..$E..{.w.
0020: fa df 8e d5 61 29 0a fb 90 24 5f 69 c3 de 62 b6
....a)...$_i..b.
0030: 5e 93 42 31 22 55 2a ad 50 cf 2e 0c 06 29 01 77
^.B1"U*.P....).w
0040: 52 c8 d6 77 5d 74 e5 ba 62 50 5f 68 6f 7c be d7
R..w]t..bP_ho|..
0050: 69 78 f0 81 b9 8a 2e 21 1a f4 56 13 73 0c cb 46
ix.....!..V.s..F
0060: 36 3f d0 eb 36 ce b3 24 6b 4f 8f bc 84 98 dc e9
6?..6..$kO......
.
.
.
.
0950: f4 46 94 68 28 49 08 4a 69 1e 43 c5 d5 7d 0c 3b
.F.h(I.Ji.C..}.;
0960: a8 ee cb ec 16 4a b5 a0 2c 37 56 0a 0f d4 49 ca
.....J..,7V...I.
0970: c0 ba c6 11 a7 a8 b8 c1 00 fd 1f 4c 8b 53 0b 8c
...........L.S..
0980: 48 85 50 24 d4 da bc 75 3e 92 27 7f 80 66 57 3c
H.P$...u>.'..fW<
0990: 2c 61 22 9c 6e e1 40 45 35 3b a9 1e 26 2d f0 b3
,a".n. at E5;..&-..
09a0: 05 2a a8 33 9e c6 19 85 38 b1 39 a0 86 8c 67 1f
.*.3....8.9...g.
09b0: d5 e8 26 6b c5 3b 2b fd 24 5e 7c 8e db 11 7b 1b
..&k.;+.$^|...{.
09c0: fa 1c 39 ae 19 8b f4 a0 3f 46 51 25 8c 13 f8 9f
..9.....?FQ%....
09d0: 87 74 36 8d 1d 69 7e ab d6 d3 99 51 1d 30 02 cc
.t6..i~....Q.0..
09e0: a6 07 2c dc 58 b9 f7 11 5a f7 55 e1 3f da 8e dd
..,.X...Z.U.?...
09f0: d2 f6 2d 1d a3 32 35 e8 ce 82 3d e2 0d be 95 0c
..-..25...=.....
0a00: 23 75 17 7f fc 5c 49 ea 3a 86 e1 99 8d 59 51 d2
#u...\I.:....YQ.
0a10: 82 bc fd d0 7f 67 be 86 df 2c 67 6f 43 c9 e6 33
.....g...,goC..3
0a20: e2 20 55 f8 1d 0e 87 41 52 e3 ac 66 6c eb 5c 5a .
U....AR..fl.\Z
0a30: e5 20 75 26 b7 05 13 d9 95 c2 98 f2 c0 5f 6d 3a .
u&........._m:
0a40: 19 a3 4e d8 59 fc dc 3f f6 9f 24 e3 a3 e7 44 eb
..N.Y..?..$...D.
0a50: b3 fd ff 9f 94 c6 eb be 73 c0 15 67 b3 15 e3 41
........s..g...A
0a60: f9 4d 26 a3 56 6f 01 .M&.Vo.
DEBUG2: RTMP_ReadPacket: fd=3
0000: 04 00 00 00 00 00 02 09 01 00 00 00
............
0000: 57 01 W.
DEBUG2: RTMP_ReadPacket: fd=3
0000: 02 00 00 00 00 00 06 04 00 00 00 00
............
0000: 00 1f 00 00 00 01 ......
DEBUG: HandleCtrl, received ctrl. type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG2: RTMP_ReadPacket: fd=3
0000: 02 00 00 00 00 00 06 04 00 00 00 00
............
0000: 00 20 00 00 00 01 . ....
DEBUG: HandleCtrl, received ctrl. type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
DEBUG2: RTMP_ReadPacket: fd=3
0000: 04 00 00 00 00 00 05 09 01 00 00 00
............
0000: 17 02 00 00 00 .....
WARNING: ignoring too small video packet: size: 5
DEBUG2: RTMP_ReadPacket: fd=3
0000: 04 00 00 00 00 00 00 08 01 00 00 00
............
WARNING: ignoring too small audio packet: size: 0
DEBUG2: RTMP_ReadPacket: fd=3
0000: 02 00 00 00 00 00 06 04 00 00 00 00
............
0000: 00 1f 00 00 00 01 ......
DEBUG: HandleCtrl, received ctrl. type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG2: RTMP_ReadPacket: fd=3
0000: 02 00 00 00 00 00 06 04 00 00 00 00
............
0000: 00 20 00 00 00 01 . ....
DEBUG: HandleCtrl, received ctrl. type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
DEBUG2: RTMP_ReadPacket: fd=3
0000: 04 00 00 00 00 00 ac 14 01 00 00 00
............
0000: 02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00
...onStatus.....
0010: 00 00 00 00 05 03 00 05 6c 65 76 65 6c 02 00 06
........level...
0020: 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 16 4e
status..code...N
0030: 65 74 53 74 72 65 61 6d 2e 50 61 75 73 65 2e 4e
etStream.Pause.N
0040: 6f 74 69 66 79 00 0b 64 65 73 63 72 69 70 74 69
otify..descripti
0050: 6f 6e 02 00 1e 50 61 75 73 69 6e 67 20 62 62 63
on...Pausing bbc
0060: 31 5f 69 6e 6c 65 74 5f 34 38 30 40 73 32 34 33
1_inlet_480 at s243
0070: 32 34 2e 00 07 64 65 74 61 69 6c 73 02 00 15 62
24...details...b
0080: 62 63 31 5f 69 6e 6c 65 74 5f 34 38 30 40 73 32
bc1_inlet_480 at s2
0090: 34 33 32 34 00 08 63 6c 69 65 6e 74 69 64 02 00
4324..clientid..
00a0: 08 48 45 4c 6f 45 6e 64 73 00 00 09
.HELoEnds...
DEBUG: RTMP_ClientPacket, received: invoke 172 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name., STRING:
onStatus>
DEBUG: Property: <Name: no-name., NUMBER: 0.00>
DEBUG: Property: NULL
DEBUG: Property: <Name: no-name., OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING:
NetStream.Pause.Notify>
DEBUG: Property: <Name: description, STRING: Pausing
bbc1_inlet_480 at s24324.>
DEBUG: Property: <Name: details, STRING:
bbc1_inlet_480 at s24324>
DEBUG: Property: <Name: clientid, STRING:
HELoEnds>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Pause.Notify
DEBUG2: RTMP_ReadPacket: fd=3
0000: 02 00 00 00 00 00 06 04 00 00 00 00
............
0000: 00 1f 00 00 00 01 ......
DEBUG: HandleCtrl, received ctrl. type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG2: RTMP_ReadPacket: fd=3
0000: 02 00 00 00 00 00 06 04 00 00 00 00
............
0000: 00 06 4b ba a5 ec ..K...
DEBUG: HandleCtrl, received ctrl. type: 6, len: 6
DEBUG: HandleCtrl, Ping 1270523372
DEBUG: sending ctrl. type: 0x0007
DEBUG2: RTMP_SendPacket: fd=3, size=6
0000: 42 00 00 00 00 00 06 04 B.......
0000: 00 07 4b ba a5 ec ..K...
DEBUG2: RTMP_ReadPacket: fd=3
DEBUG: RTMPSockBuf_Fill, recv returned -1. GetSockError(): 11 (Resource
temporarily unavailable)
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
Download may be incomplete (downloaded about 0.00%), try resuming
DEBUG: Closing connection.
INFO: Command exit code 2 (raw code = 512)
INFO: Streaming failed with exit code 2
DEBUG: Record using flashstd2 mode return code: 'abort'
ERROR: aborting get_iplayer
This behaviour is consistent and very repeatable with the stream always
stopping within a second of starting.
Any idea what the problem is?
Mark.
More information about the get_iplayer
mailing list