rtmpdump 2.4: bails at the 4 GB mark?
Just updated to RTMPDump v2.4 last night to attempt to resolve a problem I've been having downloading certain HD streams using get_iplayer v2.82. With this one everything went smoothly until the 71.3% mark, when this happened: --- RTMPDump v2.4 (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL Connecting ... INFO: Connected... Starting download at: 0.000 kB INFO: Metadata: INFO: duration 13856.68 INFO: moovPosition 36.00 INFO: width 1280.00 INFO: height 720.00 INFO: videocodecid avc1 INFO: audiocodecid mp4a INFO: avcprofile 77.00 INFO: avclevel 31.00 INFO: aacaot 2.00 INFO: videoframerate 24.93 INFO: audiosamplerate 44100.00 INFO: audiochannels 2.00 INFO: trackinfo: INFO: length 13856001.00 INFO: timescale 1000.00 INFO: language eng INFO: sampledescription: INFO: sampletype amf0 INFO: length 13856681.00 INFO: timescale 1000.00 INFO: language eng INFO: sampledescription: INFO: sampletype avc1 INFO: length 13856694.00 INFO: timescale 1000.00 INFO: language eng INFO: sampledescription: INFO: sampletype mp4a 4191241.187 kB / 9887.27 sec (71.3%) ERROR: RTMP_ReadPacket, failed to read RTMP packet header INFO: Connection timed out, trying to resume. Resuming download at: 4191241.187 kB INFO: Connection timed out, trying to resume. ERROR: RTMP_ReadPacket, failed to read RTMP packet header ERROR: Failed to resume the stream Download may be incomplete (downloaded about 0.00%), try resuming INFO: Command exit code 2 (raw code = 512) WARNING: Retry recording RTMPDump v2.4 (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL Connecting ... INFO: Connected... Resuming download at: 4189728.217 kB / 9884.000 sec (71.3%) INFO: Metadata: INFO: duration 13856.68 INFO: moovPosition 36.00 INFO: width 1280.00 INFO: height 720.00 INFO: videocodecid avc1 INFO: audiocodecid mp4a INFO: avcprofile 77.00 INFO: avclevel 31.00 INFO: aacaot 2.00 INFO: videoframerate 24.93 INFO: audiosamplerate 44100.00 INFO: audiochannels 2.00 INFO: trackinfo: INFO: length 13856001.00 INFO: timescale 1000.00 INFO: language eng INFO: sampledescription: INFO: sampletype amf0 INFO: length 13856681.00 INFO: timescale 1000.00 INFO: language eng INFO: sampledescription: INFO: sampletype avc1 INFO: length 13856694.00 INFO: timescale 1000.00 INFO: language eng INFO: sampledescription: INFO: sampletype mp4a WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... WARNING: Stream does not start with requested frame, ignoring data... 4189728.217 kB / 9884.00 sec (71.3%) Couldn't resume FLV file, try --skip 1 INFO: Command exit code 1 (raw code = 256) --- 4189728.217 KB is near enough 4 GB; I was able to start a fresh download specifying a "--start" time of 9884.01 seconds and reach the finish line, but that leaves me with two FLV containers I don't know how to merge into one complete video. Could there be some limit or bug being hit somewhere, either within rtmpdump or on the (HFS+) file system itself, which is preventing me from downloading the full 5.6 GB in a oner? Are there any other options I can try?
Jul 29, 2012 jc wrote:
4189728.217 kB / 9884.00 sec (71.3%)
Welcome to the world of 32-bit address space. http://wikipedia.org/wiki/32-bit You will need to compile 64-bit RtmpDump to fix this.
On Sun, 2012-07-29 at 22:14 -0500, Steven Penny wrote:
Jul 29, 2012 jc wrote:
4189728.217 kB / 9884.00 sec (71.3%)
Welcome to the world of 32-bit address space.
http://wikipedia.org/wiki/32-bit
You will need to compile 64-bit RtmpDump to fix this.
That shouldn't be the case, so long as off_t is used appropriately... Unless the system in question has a 32 bit off_t of course...
On Mon, 30 Jul 2012 16:49:27 +1200, David Sainty wrote:
On Sun, 2012-07-29 at 22:14 -0500, Steven Penny wrote:
Jul 29, 2012 jc wrote:
4189728.217 kB / 9884.00 sec (71.3%)
Welcome to the world of 32-bit address space.
http://wikipedia.org/wiki/32-bit
You will need to compile 64-bit RtmpDump to fix this.
That shouldn't be the case, so long as off_t is used appropriately...
Unless the system in question has a 32 bit off_t of course...
iirc the default mingw lacked the proper off_t , if the following patch was applied, files larger than 4gb would work. this old patch is from win32 mingw mplayer builds: http://oss.netfarm.it/mplayer/misc/mingwrt_file64.diff this is fixed in the mingw-w64 fork of mingw. so if you build with the mingw-w64 toolchain it will work ok. http://mingw-w64.sourceforge.net/ note: i havent checked if current mingw has fixed this either. i dont know which toolchains we've been using to build mingw binaries. -compn
Jul 30, 2012 compn wrote:
note: i havent checked if current mingw has fixed this either. i dont know which toolchains we've been using to build mingw binaries.
I have been using the 32-bit compiler (i686-w64-mingw32-gcc) from the MinGW-w64 toolchain for a while now.
On 30 Jul 2012, at 05:14, Steven Penny wrote:
You will need to compile 64-bit RtmpDump to fix this. How can I do this on Darwin, which doesn't make use of mingw? I had a quick look through the source and notice in librtmp/rtmp.c the following code… is it as simple as switching off_t on there?
static struct urlopt { AVal name; off_t off;
Jul 31, 2012 jc wrote
How can I do this on Darwin, which doesn't make use of mingw? I had a quick look through the source and notice in librtmp/rtmp.c the following code… is it as simple as switching off_t on there?
I believe this quote is apropos Sep 30, 2011 Howard Chu wrote
There is nothing to "port". Build with 64-bit compiler switches, get a 64 bit binary.
http://lists.mplayerhq.hu/pipermail/rtmpdump/2011-September/001642.html
Jul 31, 2012 jc wrote
How can I do this on Darwin, which doesn't make use of mingw? I had a quick look through the source and notice in librtmp/rtmp.c the following code is it as simple as switching off_t on there?
I believe this quote is apropos
Sep 30, 2011 Howard Chu wrote
There is nothing to "port". Build with 64-bit compiler switches, get a 64 bit binary.
Not quite, in all darwin versions including iOS, off_t is and has always been 64-bit.
participants (5)
-
compn -
David Sainty -
jc -
Scott D. Davilla -
Steven Penny