Downloading From MFC

Steam recording with RTMPDump or FFmpeg.
Post Reply
alphabr
Posts: 2
Joined: Fri Jul 04, 2014 2:08 pm

Downloading From MFC

Post by alphabr » Fri Jul 04, 2014 3:37 pm

Hi,

I have a problem trying to download from MFC using rtmpdump

I managed to replay the mfc challenge, but when star recording, it keep forefever in 0kb.

Here is the debug log :

Code: Select all

Starting download at: 0.000 kB
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: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: RTMP_SendPause, 1, pauseTime=0
DEBUG: Invoking pause
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
DEBUG: RTMP_ClientPacket, received: invoke 156 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 mfc_111994074.>
DEBUG: Property: <Name: details, STRING: mfc_111994074>
DEBUG: Property: <Name: clientid, STRING: BYIQQQsK>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Pause.Notify
DEBUG: RTMP_SendPause, 0, pauseTime=0
DEBUG: Invoking pause
DEBUG: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleChangeChunkSize, received: chunk size change to 4096
DEBUG: HandleCtrl, received ctrl, type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 1
DEBUG: HandleCtrl, received ctrl, type: 32, len: 6
DEBUG: HandleCtrl, Stream BufferReady 1
DEBUG: RTMP_ClientPacket, received: invoke 160 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 mfc_111994074.
>
DEBUG: Property: <Name: details, STRING: mfc_111994074>
DEBUG: Property: <Name: clientid, STRING: BYIQQQsK>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Unpause.Notify
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
DEBUG: RTMP_ClientPacket, received: invoke 162 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 mfc_1119
94074.>
DEBUG: Property: <Name: details, STRING: mfc_111994074>
DEBUG: Property: <Name: clientid, STRING: BYIQQQsK>
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: HandleCtrl, received ctrl, type: 31, len: 6
DEBUG: HandleCtrl, Stream BufferEmpty 1
DEBUG: HandleCtrl, received ctrl, type: 6, len: 6
DEBUG: HandleCtrl, Ping 360409342
DEBUG: sending ctrl, type: 0x0007
DEBUG: HandleCtrl, received ctrl, type: 6, len: 6
DEBUG: HandleCtrl, Ping 360709933
DEBUG: sending ctrl, type: 0x0007
DEBUG: HandleCtrl, received ctrl, type: 6, len: 6
DEBUG: HandleCtrl, Ping 361010525
DEBUG: sending ctrl, type: 0x0007
It Stuck on 0 KB And stay forever for some models, HD ones I think.

Debuging rtmpdump, the last call was in:

rtmp.c

Code: Select all

RTMPSockBuf_Fill(RTMPSockBuf *sb)

#if defined(CRYPTO) && !defined(NO_SSL)
      if (sb->sb_ssl)
	{
	  nBytes = TLS_read(sb->sb_ssl, sb->sb_start + sb->sb_size, nBytes);
	}
      else
#endif
	{
HERE>>>>	  nBytes = recv(sb->sb_socket, sb->sb_start + sb->sb_size, nBytes, 0); 
Any help if rtmpdump can still record from MFC ?

alphabr
Posts: 2
Joined: Fri Jul 04, 2014 2:08 pm

Re: Downloading From MFC

Post by alphabr » Sat Jul 05, 2014 1:44 am

I figured that for HD Models the playpath in above example should be mp4:mfc_111994074.f4v

But even even though it dont work.

Stay at 0kb forever

minipc
Posts: 1
Joined: Fri Sep 26, 2014 8:23 pm

Re: Downloading From MFC

Post by minipc » Fri Sep 26, 2014 8:38 pm

have you tried using a combination of rtmpdumphelper and rtmpsuck ? there is a known overwriting issue with rtmpsuck, mentioned in the documentation for rtmpdumphelper. but if you can figure a way round that, it's an effective combination.

Post Reply