PDA

View Full Version : rtmpdump file download keeps restarting


greenythebeast
03-03-2012, 06:05 PM
INFO: Metadata:
INFO: trackinfo:
INFO: timescale 20.00
INFO: length 7801.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype avc1
INFO: timescale 44100.00
INFO: length 17198080.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype mp4a
INFO: audiochannels 2.00
INFO: audiosamplerate 44100.00
INFO: videoframerate 20.00
INFO: aacaot 2.00
INFO: avclevel 30.00
INFO: avcprofile 100.00
INFO: audiocodecid mp4a
INFO: videocodecid avc1
INFO: width 640.00
INFO: height 480.00
INFO: frameWidth 640.00
INFO: frameHeight 480.00
INFO: displayWidth 640.00
INFO: displayHeight 480.00
INFO: framerate 20.00
INFO: moovposition 18636601.00
INFO: duration 390.05
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
192.642 kB / 5.10 sec (1.3%)
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: RTMP_SendPause, 1, pauseTime=7988
DEBUG: Invoking pause
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
686.531 kB / 14.25 sec (3.6%)
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
1197.806 kB / 22.20 sec (5.6%)
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleCtrl, received ctrl, type: 1, len: 6
DEBUG: HandleCtrl, Stream EOF 1
DEBUG: RTMP_ClientPacket, received: invoke 196 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 /4/f/5/0/2/4f50213383d63video4.mp4.>
DEBUG: Property: <Name: details, STRING: /4/f/5/0/2/4f50213383d63video4.mp4>
DEBUG: Property: <Name: clientid, NUMBER: 274062908.00>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Pause.Notify
DEBUG: RTMP_SendPause, 0, pauseTime=7988
DEBUG: Invoking pause
DEBUG: HandleCtrl, received ctrl, type: 4, len: 6
DEBUG: HandleCtrl, Stream IsRecorded 1
DEBUG: HandleCtrl, received ctrl, type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 1
DEBUG: RTMP_ClientPacket, received: invoke 200 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.Unpause.Notify>
DEBUG: Property: <Name: description, STRING: Unpausing /4/f/5/0/2/4f50213383d63video4.mp4.>
DEBUG: Property: <Name: details, STRING: /4/f/5/0/2/4f50213383d63video4.mp4>
DEBUG: Property: <Name: clientid, NUMBER: 274062908.00>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Unpause.Notify
DEBUG: RTMP_ClientPacket, received: invoke 170 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.Play.Start>
DEBUG: Property: <Name: description, STRING: Started playing /4/f/5/0/2/4f50213383d63video4.mp4.>
DEBUG: Property: <Name: clientid, NUMBER: 274062908.00>
DEBUG: Property: <Name: isFastPlay, BOOLEAN: FALSE>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Start
DEBUG: RTMP_ClientPacket, received: notify 24 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name, STRING: |RtmpSampleAccess>
DEBUG: Property: <Name: no-name, BOOLEAN: FALSE>
DEBUG: Property: <Name: no-name, BOOLEAN: FALSE>
DEBUG: (object end)
DEBUG: RTMP_ClientPacket, received: notify 44 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name, STRING: onStatus>
DEBUG: Property: <Name: no-name, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: code, STRING: NetStream.Data.Start>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: RTMP_ClientPacket, received: notify 604 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name, STRING: onMetaData>
DEBUG: Property: <Name: no-name, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: trackinfo, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: no-name, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: timescale, NUMBER: 20.00>
DEBUG: Property: <Name: length, NUMBER: 7801.00>
DEBUG: Property: <Name: language, STRING: eng>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: no-name, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: avc1>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: Property: <Name: no-name, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: timescale, NUMBER: 44100.00>
DEBUG: Property: <Name: length, NUMBER: 17198080.00>
DEBUG: Property: <Name: language, STRING: eng>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: no-name, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: mp4a>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: Property: <Name: audiochannels, NUMBER: 2.00>
DEBUG: Property: <Name: audiosamplerate, NUMBER: 44100.00>
DEBUG: Property: <Name: videoframerate, NUMBER: 20.00>
DEBUG: Property: <Name: aacaot, NUMBER: 2.00>
DEBUG: Property: <Name: avclevel, NUMBER: 30.00>
DEBUG: Property: <Name: avcprofile, NUMBER: 100.00>
DEBUG: Property: <Name: audiocodecid, STRING: mp4a>
DEBUG: Property: <Name: videocodecid, STRING: avc1>
DEBUG: Property: <Name: width, NUMBER: 640.00>
DEBUG: Property: <Name: height, NUMBER: 480.00>
DEBUG: Property: <Name: frameWidth, NUMBER: 640.00>
DEBUG: Property: <Name: frameHeight, NUMBER: 480.00>
DEBUG: Property: <Name: displayWidth, NUMBER: 640.00>
DEBUG: Property: <Name: displayHeight, NUMBER: 480.00>
DEBUG: Property: <Name: framerate, NUMBER: 20.00>
DEBUG: Property: <Name: moovposition, NUMBER: 18636601.00>
DEBUG: Property: <Name: duration, NUMBER: 390.05>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
1674.271 kB / 13.75 sec (3.5%)
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: RTMP_SendPause, 1, pauseTime=15975
DEBUG: Invoking pause
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
2207.438 kB / 22.00 sec (5.6%)
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
2930.950 kB / 31.75 sec (8.1%)
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleCtrl, received ctrl, type: 1, len: 6
DEBUG: HandleCtrl, Stream EOF 1
DEBUG: RTMP_ClientPacket, received: invoke 196 bytes


(edited some useless parts of log out to make it short enough)

I'm having a problem using rtmpdump to download a file. For some reason it seems to keep restarting the download, never completing the entire file. I'm not sure if has something to do with the Pause commands in the log or if the buffer is running out or something else. When I add a -v tag to the command it works, but the file isn't live, so what's up? Please help!

KSV
03-03-2012, 08:58 PM
I'm not sure if has something to do with the Pause commands in the log or if the buffer is running out or something else. When I add a -v tag to the command it works, but the file isn't live, so what's up? Please help!

in some cases rtmpdump uses Pause Unpause trick (aka RTMP_LF_BUFX hack) for faster downloading of recorded content. though this works on many servers but few servers send file from beginning instead of respecting the time given in Unpause command. -v | --live switch disables that behavior because this is not applicable to live streams.

greenythebeast
03-03-2012, 10:27 PM
in some cases rtmpdump uses Pause Unpause trick (aka RTMP_LF_BUFX hack) for faster downloading of recorded content. though this works on many servers but few servers send file from beginning instead of respecting the time given in Unpause command. -v | --live switch disables that behavior because this is not applicable to live streams.

alright, so adding the -v to the command is the only way to fix it then?

KSV
03-03-2012, 11:10 PM
alright, so adding the -v to the command is the only way to fix it then?

without code modification it's the only way otherwise simply disable RTMP_LF_BUFX in rtmp.c code and recompile.

greenythebeast
03-04-2012, 07:01 AM
so should i just comment out case 31 in rtmp.c and recompile?

svnpenn
03-04-2012, 07:17 AM
Unless you are only downloading from this site you do not want to change this code. The pause/unpause significantly increases the download speed.

greenythebeast
03-04-2012, 07:28 AM
Unless you are only downloading from this site you do not want to change this code. The pause/unpause significantly increases the download speed.

ok. is there anyway to tell RTMPexplorer to use the -v tag when downloading from a certain site?

svnpenn
03-04-2012, 08:01 AM
When RtmpExplorer starts, close the terminal window.

Start a new window with this command.

rtmpsrv > r.bat

After RtmpExplorer catches the command you can just open the batch file and edit the command.

greenythebeast
03-04-2012, 08:06 AM
When RtmpExplorer starts, close the terminal window.

Start a new window with this command.

rtmpsrv > r.bat

After RtmpExplorer catches the command you can just open the batch file and edit the command.

alright, thanks for the help. any idea how i might be able to automate this on either mac or pc? :P

greenythebeast
03-04-2012, 09:28 AM
alright, thanks for the help. any idea how i might be able to automate this on either mac or pc? :P

so im just curious, but what causes it to download so much slower without that hack? using -v works but dear lord is it slow haha. it seems to start fast but then it slows considerably.

anyway, i quickly wrote an application for Mac that automates it. just wish it was faster lol

svnpenn
03-04-2012, 09:54 AM
FMS 3.5 servers send the following two controls to let the client know when the server has sent a complete buffer. I.e., when the server has sent an amount of data equal to m_nBufferMS in duration. The server meters its output so that data arrives at the client in realtime and no faster.

lists.mplayerhq.hu/pipermail/rtmpdump/2010-May/000878.html

greenythebeast
03-04-2012, 10:37 AM
lists.mplayerhq.hu/pipermail/rtmpdump/2010-May/000878.html

ah ok. so there's really nothing i can do then unless the site changes the way it streams the videos?