get-flash-videos failing to download some BBC news videos (possibly other BBC videos too)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
get-flash-videos (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
System: Ubuntu 11.04 (but bug is not related to any other packages in system)
Package: get-flash-videos 1.25~git2012.
get-flash-videos is failing on certain videos from the BBC, apparently because of a change in the BBC web page code.
Example output from failed run:
$ get_flash_videos --debug http://
2 plugins installed:
- Hulu.pm
- Itv.pm
Trying to open plugin ~/.get_
Trying to open plugin ~/.get_
Using method 'bbc' for http://
Downloading http://
-> GET http://
<- 200 text/html text/html; charset=utf-8 (58275)
Error: Couldn't find BBC XML playlist URL in http://
Couldn't extract Flash movie URL. This site may need specific support adding,
or fixing.
Please confirm the site is using Flash video and if you have Flash available
check that the URL really works(!).
Check for updates by running: /usr/bin/
If the latest version does not support this please open a bug (or
contribute a patch!) at http://
make sure you include the output with --debug enabled.
Couldn't download any videos.
The following patch fixes this problem...
$ diff -u /usr/share/
--- /usr/share/
+++ /usr/share/
@@ -18,6 +18,10 @@
if ($browser->content =~ /<param name="playlist" value="(http:.+?\.s?xml)"/) {
$playlist_xml = $1;
}
+ elsif ($browser->content =~ /"href"
+ $playlist_xml = $1;
+ $playlist_xml =~ s/\\//g;
+ }
elsif(
my @params = split /,\s*/, $1;
Example output from the same URL with this patch applied:
$ get_flash_videos --debug http://
2 plugins installed:
- Hulu.pm
- Itv.pm
Trying to open plugin ~/.get_
Trying to open plugin ~/.get_
Using method 'bbc' for http://
Downloading http://
-> GET http://
<- 200 text/html text/html; charset=utf-8 (58275)
Playlist URL: http://
-> GET http://
<- 200 text/xml (4864)
-> GET http://
<- 200 text/xml (5841)
FlashVideo:
Running rtmpdump --verbose --pageUrl 'http://
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
rtmpdump: DEBUG: Parsing...
rtmpdump: DEBUG: Parsed protocol: 0
rtmpdump: DEBUG: Parsed host : cp45413.edgefcs.net
rtmpdump: DEBUG: Parsed app : ondemand
rtmpdump: DEBUG: Protocol : RTMP
rtmpdump: DEBUG: Hostname : cp45413.edgefcs.net
rtmpdump: DEBUG: Port : 1935
rtmpdump: DEBUG: Playpath : mp4:public/
rtmpdump: DEBUG: tcUrl : rtmp://
rtmpdump: DEBUG: swfUrl : http://
rtmpdump: DEBUG: pageUrl : http://
rtmpdump: DEBUG: app : ondemand?
rtmpdump: DEBUG: live : no
rtmpdump: DEBUG: timeout : 30 sec
rtmpdump: DEBUG: Setting buffer time to: 36000000ms
Connecting ...
rtmpdump: DEBUG: RTMP_Connect1, ... connected, handshaking
rtmpdump: DEBUG: HandShake: Type Answer : 03
rtmpdump: DEBUG: HandShake: Server Uptime : 739889075
rtmpdump: DEBUG: HandShake: Handshaking finished....
rtmpdump: DEBUG: HandleServerBW: server BW = 1250000
chunk size change to 4096
DEBUG: RTMP_ClientPacket, received: invoke 240 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: fmsVer, STRING: FMS/4,5,2,524>
DEBUG: Property: <Name: capabilities, NUMBER: 127.00>
DEBUG: Property: <Name: mode, NUMBER: 1.00>
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetConnection.
DEBUG: Property: <Name: description, STRING: Connection succeeded.>
DEBUG: Property: <Name: objectEncoding, NUMBER: 0.00>
DEBUG: Property: <Name: data, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: version, STRING: 4,5,2,524>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <connect>
DEBUG: sending ctrl. type: 0x0003
DEBUG: Invoking createStream
DEBUG: RTMP_ClientPacket, received: invoke 21 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onBWDone>
DEBUG: Invoking _checkbw
rtmpdump: DEBUG: RTMP_ClientPacket, received: invoke 29 bytes
eInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <createStream>
DEBUG: SendPlay, seekTime=0, stopTime=0, sending play: mp4:public/
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
rtmpdump: DEBUG: RTMP_ClientPacket, received: invoke 10275 bytes
ndleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
rtmpdump: DEBUG: HandleCtrl, received ctrl. type: 4, len: 6
rtmpdump: DEBUG: HandleChangeChu
eCtrl, Stream Begin 1
DEBUG: RTMP_ClientPacket, received: invoke 270 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetStream.
DEBUG: Property: <Name: description, STRING: Playing and resetting public/
DEBUG: Property: <Name: details, STRING: public/
DEBUG: Property: <Name: clientid, STRING: qAAOwpJA>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.
rtmpdump: DEBUG: RTMP_ClientPacket, received: invoke 264 bytes
operty: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetStream.
DEBUG: Property: <Name: description, STRING: Started playing public/
DEBUG: Property: <Name: details, STRING: public/
DEBUG: Property: <Name: clientid, STRING: qAAOwpJA>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.
Starting download at: 0.000 kB
DEBUG: RTMP_ClientPacket, received: notify 24 bytes
DEBUG: (object begin)
DEBUG: (object end)
DEBUG: ignoring too small audio packet: size: 0
DEBUG: RTMP_ClientPacket, received: notify 44 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: code, STRING: NetStream.
DEBUG: (object end)
DEBUG: (object end)
rtmpdump: DEBUG: RTMP_ClientPacket, received: notify 494 bytes
duration, NUMBER: 123.24>
DEBUG: Property: <Name: moovPosition, NUMBER: 36.00>
DEBUG: Property: <Name: width, NUMBER: 704.00>
DEBUG: Property: <Name: height, NUMBER: 396.00>
DEBUG: Property: <Name: videocodecid, STRING: avc1>
DEBUG: Property: <Name: audiocodecid, STRING: mp4a>
DEBUG: Property: <Name: avcprofile, NUMBER: 77.00>
DEBUG: Property: <Name: avclevel, NUMBER: 30.00>
DEBUG: Property: <Name: aacaot, NUMBER: 2.00>
DEBUG: Property: <Name: videoframerate, NUMBER: 25.00>
DEBUG: Property: <Name: audiosamplerate, NUMBER: 44100.00>
DEBUG: Property: <Name: audiochannels, NUMBER: 1.00>
DEBUG: Property: <Name: trackinfo, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: length, NUMBER: 3081000.00>
DEBUG: Property: <Name: timescale, NUMBER: 25000.00>
DEBUG: Property: <Name: language, STRING: und>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: avc1>
DEBUG: (object end)
DEBUG: (object end)
rtmpdump: DEBUG: (object end)
: timescale, NUMBER: 44100.00>
DEBUG: Property: <Name: language, STRING: und>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: mp4a>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
INFO: Metadata:
INFO: duration 123.24
INFO: moovPosition 36.00
INFO: width 704.00
INFO: height 396.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 77.00
INFO: avclevel 30.00
INFO: aacaot 2.00
INFO: videoframerate 25.00
INFO: audiosamplerate 44100.00
INFO: audiochannels 1.00
INFO: trackinfo:
INFO: length 3081000.00
INFO: timescale 25000.00
INFO: language und
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 5434368.00
INFO: timescale 44100.00
INFO: language und
INFO: sampledescription:
INFO: sampletype mp4a
DEBUG: RTMP_ClientPacket, received: invoke 57 bytesne.flv: 0% (53.28 / 53277.00 KiB)
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onBWDone>
rtmpdump: DEBUG: RTMP_ClientPacket, received: invoke 40 bytes
eInvoke, server invoking <_onbwdone>
BBC_-_Co-
rtmpdump: DEBUG: RTMP_ClientPacket, received: notify 102 bytes
rtmpdump: DEBUG: (object begin)
rtmpdump: DEBUG: (object begin)
rtmpdump: DEBUG: Property: <Name: code, STRING: NetStream.
rtmpdump: DEBUG: Property: <Name: level, STRING: status>
rtmpdump: DEBUG: Property: <Name: duration, NUMBER: 103.00>
rtmpdump: DEBUG: Property: <Name: bytes, NUMBER: 23271822.00>
rtmpdump: DEBUG: (object end)
rtmpdump: DEBUG: (object end)
rtmpdump: DEBUG: HandleCtrl, received ctrl. type: 1, len: 6
rtmpdump: DEBUG: HandleCtrl, Stream EOF 1
rtmpdump: DEBUG: RTMP_ClientPacket, received: invoke 274 bytes
rtmpdump: DEBUG: (object begin)
rtmpdump: DEBUG: Property: NULL
rtmpdump: DEBUG: (object begin)
rtmpdump: DEBUG: Property: <Name: level, STRING: status>
rtmpdump: DEBUG: Property: <Name: code, STRING: NetStream.
rtmpdump: DEBUG: Property: <Name: description, STRING: Stopped playing public/
rtmpdump: DEBUG: Property: <Name: details, STRING: public/
rtmpdump: DEBUG: Property: <Name: clientid, STRING: qAAOwpJA>
rtmpdump: DEBUG: Property: <Name: reason, STRING: >
rtmpdump: DEBUG: (object end)
rtmpdump: DEBUG: (object end)
rtmpdump: DEBUG: HandleInvoke, server invoking <onStatus>
rtmpdump: DEBUG: HandleInvoke, onStatus: NetStream.Play.Stop
rtmpdump: DEBUG: Invoking deleteStream
rtmpdump: DEBUG: Got Play.Complete or Play.Stop from server. Assuming stream is complete
rtmpdump: DEBUG: RTMP_Read returned: 3655
rtmpdump: DEBUG: Closing connection.
Done. Saved 23271668 bytes to BBC_-_Co-
The attachment "Patch to fix bug downloading BBC videos" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.
[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]