RTMP and NBC Plugins.Download and Keep NBC Videos.
#1
Rainbow 
I will pay 10 dollars (via Paypal) to the person who helps me solve this problem!Big Grin
Please send me Private Messages.
I have used Wireshark to analyze every packet.I think I am almost there, but some parameters are wrong. I just Need a hint from an expert.
Thanks a lot!

Thanks for your attention!I have solved this problem on my own!
Reply
#2
Rainbow 
When I am watching the videos on NBC.com,(http://www.nbc.com/saturday-night-live/v...1163334).I use Replay Media Catcher and Wireshark to catch these packets:
Code:
connect.?..........app..'ondemand?_fcs_vhost=cp37307.edgefcs.net..flashVer...WIN 10,0,22,87..swfUrl..Ahttp://www.nbc.com/asse.ts/video/3-0/swf/videoplayer_extension.swf..tcUrl..Artmp://72.246.103.99:1935/ondemand?_fcs_vhost=cp37307.edgefcs.net..fpad....c.apabilities.@[email protected].@o.......
videoFunction.?.........pageUrl..Nhttp://www.nbc.com/saturday-.night-live/video/episodes/?vid=1163334#vid=1163334..objectEncoding.............................................................................._result.?..........fmsVer..
FMS/3,5,1,525..capabilities.@?........mode.?.............level...status..code...NetConnection.Con.nect.Success..description...Connection succeeded...objectEncoding...........data.......version...3,5,1,525.....................onBWDone.........................createStream.@Q@....................._result.@Q@.......?.............................I........play............5nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500.................................................onStatus.............level...status..code...NetStream.Play.Reset..description..LPlaying and resetting nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500...details..5nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500..clientid...2s^Q4jxr...........................
....................onStatus.............level...status..code...NetStream.Play.Start..description..FStarted playing nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500...details..5nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500..clientid...2s^Q4jxr..................|RtmpSampleAccess......................,........onStatus...code...NetStream.Data.Start...............T.........................
onMetaData.......audiocodecid.@........
audiodatarate.@H
^5?|...canseektoend....creationdate...Sun Oct 04 05:17:13 2009
..duration.@.~.;dZ...framerate.@>[email protected].@.~....o.
lasttimestamp.@.~.n..P..metadatacreator..$Manitu Group FLV MetaData Injector 2..On2...Technologies..profile...VP6-E..videocodecid.@........
[email protected].@........
audiodelay...........canSeekToEnd....metadatadate.BrA...p.....keyframes..
filepositions
...E.@..`[email protected]!8N.....
But I cant use Flazr or RTMPDUMP to download it.
Here is my code for Flazr:
Code:
import com.flazr.*
def host ='72.246.103.99'
def app = 'ondemand?_fcs_vhost=cp37307.edgefcs.net'
def tcUrl = 'rtmp://72.246.103.99:1935/ondemand?_fcs_vhost=cp37307.edgefcs.net'
def playParam = 'nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500'
def saveAs = 'test.flv'
def session = new RtmpSession(host, 1935, app, playParam, saveAs)
params = session.connectParams

params.flashVer = 'WIN 10,0,22,87'
params.swfUrl = 'http://www.nbc.com/assets/video/3-0/swf/videoplayer_extension.swf'
params.fmsVer='FMS/3,5,1,525'
params.tcUrl = tcUrl
params.pageUrl = 'http://www.nbc.com/saturday-night-live/video/episodes/?vid=1163334#vid=1163334'

RtmpClient.connect session

The error is:
Code:
D:\Flazr>java -cp lib\commons-codec-1.2.jar;lib\commons-httpclient-3.1.jar;lib\f
lazr-0.5.jar;lib\groovy-all-1.6.0.jar;lib\jcl104-over-slf4j-1.4.2.jar;lib\log4j-
1.2.14.jar;lib\mina-core-1.1.7.jar;lib\slf4j-api-1.4.3.jar;lib\slf4j-log4j12-1.4
.2.jar groovy.lang.GroovyShell scripts/nbc2.groovy
23:31:38,878 [main] INFO [FlvWriter] - opened file for writing: D:\Flazr\test.fl
v
23:31:40,992 [AnonymousIoService-1] INFO [RtmpClient] - session opened, starting
handshake
23:31:42,404 [AnonymousIoService-4] INFO [RtmpDecoder] - received server handsha
ke, sending reply
23:31:42,474 [AnonymousIoService-4] INFO [Invoke] - encoded invoke: [method: con
nect, sequenceId: 1, args: [{app=ondemand?_fcs_vhost=cp37307.edgefcs.net, object
Encoding=0, fpad=false, flashVer=WIN 10,0,22,87, tcUrl=rtmp://72.246.103.99:1935
/ondemand?_fcs_vhost=cp37307.edgefcs.net, audioCodecs=1639, videoFunction=1, pag
eUrl=http://www.nbc.com/saturday-night-live/video/episodes/?vid=1163334#vid=1163
334, capabilities=15, fmsVer=FMS/3,5,1,525, swfUrl=http://www.nbc.com/assets/vid
eo/3-0/swf/videoplayer_extension.swf, videoCodecs=252}]]
23:31:43,605 [AnonymousIoService-5] INFO [RtmpDecoder] - ignoring received packe
t: [LARGE(0x00) c2 t0(a) s4 #0 SERVER_BANDWIDTH(0x05)]
23:31:43,605 [AnonymousIoService-5] INFO [RtmpDecoder] - ignoring received packe
t: [LARGE(0x00) c2 t0(a) s5 #0 CLIENT_BANDWIDTH(0x06)]
23:31:43,605 [AnonymousIoService-5] INFO [Invoke] - decoded invoke: [method: _re
sult, sequenceId: 1, streamId: 0, args: [[[STRING(0x02) fmsVer: FMS/3,5,1,525],
[NUMBER(0x00) capabilities: 31.0], [NUMBER(0x00) mode: 1.0]], [[STRING(0x02) lev
el: status], [STRING(0x02) code: NetConnection.Connect.Success], [STRING(0x02) d
escription: Connection succeeded.], [NUMBER(0x00) objectEncoding: 0.0], [MIXED_A
RRAY(0x08) data: [[STRING(0x02) version: 3,5,1,525]]]]]]
23:31:43,615 [AnonymousIoService-5] INFO [InvokeResultHandler] - result for meth
od call: connect
23:31:43,615 [AnonymousIoService-5] INFO [Invoke] - encoded invoke: [method: cre
ateStream, sequenceId: 2, args: []]
23:31:43,615 [AnonymousIoService-5] INFO [Invoke] - decoded invoke: [method: onB
WDone, sequenceId: 0, streamId: 0, args: null]
23:31:43,615 [AnonymousIoService-5] WARN [RtmpDecoder] - unhandled server invoke
: [method: onBWDone, sequenceId: 0, streamId: 0, args: null]
23:31:44,917 [AnonymousIoService-6] INFO [Invoke] - decoded invoke: [method: _re
sult, sequenceId: 2, streamId: 0, args: [null, 1.0]]
23:31:44,917 [AnonymousIoService-6] INFO [InvokeResultHandler] - result for meth
od call: createStream
23:31:44,917 [AnonymousIoService-6] INFO [InvokeResultHandler] - value of stream
Id to play: 1
23:31:44,917 [AnonymousIoService-6] INFO [Invoke] - encoded invoke: [method: pla
y, sequenceId: 3, streamId: 1, args: [null, nbcu/nbcrewind2/203b1009039c822c0174
31b97da2a5de_0500, 0, -2]]
23:31:45,378 [AnonymousIoService-7] INFO [RtmpDecoder] - new chunk size is: 4096

23:31:45,378 [AnonymousIoService-7] INFO [Invoke] - decoded invoke: [method: onS
tatus, sequenceId: 0, streamId: 1, args: [null, [[STRING(0x02) level: status], [
STRING(0x02) code: NetStream.Play.Reset], [STRING(0x02) description: Playing and
resetting nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500.], [STRING(0x02
) details: nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500], [STRING(0x02)
clientid: cZqwIuGw]]]]
23:31:45,388 [AnonymousIoService-7] INFO [RtmpDecoder] - onStatus code: NetStrea
m.Play.Reset
23:31:45,458 [AnonymousIoService-8] INFO [Invoke] - decoded invoke: [method: onS
tatus, sequenceId: 0, streamId: 1, args: [null, [[STRING(0x02) level: status], [
STRING(0x02) code: NetStream.Play.Start], [STRING(0x02) description: Started pla
ying nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500.], [STRING(0x02) deta
ils: nbcu/nbcrewind2/203b1009039c822c017431b97da2a5de_0500], [STRING(0x02) clien
tid: cZqwIuGw]]]]
23:31:45,458 [AnonymousIoService-8] INFO [RtmpDecoder] - onStatus code: NetStrea
m.Play.Start
23:31:45,468 [AnonymousIoService-8] INFO [RtmpDecoder] - server notify: [[STRING
(0x02) |RtmpSampleAccess], [BOOLEAN(0x01) false]]
23:31:45,468 [AnonymousIoService-8] INFO [RtmpDecoder] - server notify: [[STRING
(0x02) onStatus], [OBJECT(0x03) [[STRING(0x02) code: NetStream.Data.Start]]]]
23:31:47,441 [AnonymousIoService-5] ERROR [RtmpClient] - exceptionCaught:
org.apache.mina.filter.codec.ProtocolDecoderException: java.lang.RuntimeExceptio
n: bad byte: 40 (Hexdump: FB E7 6C 8B 44 00 40 A8 6F FC ED 91 68 73 00 40 A8 73
FD F3 B6 45 A2 00 40 A8 77 FE F9 DB 22 D1 00 40 A8 7C 00 00 00 00 00 00 40 A8 80
....
C 89 38 CF 19 26 38 0A 00 EA 70 E8 31 8C 6C A1 04 04 AC CA 4C 30 BD 29 92)
        at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Prot
ocolCodecFilter.java:165)
        at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR
eceived(AbstractIoFilterChain.java:299)
        at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(Abst
ractIoFilterChain.java:53)
        at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.mess
ageReceived(AbstractIoFilterChain.java:648)
        at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorF
ilter.java:220)
        at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.
run(ExecutorFilter.java:264)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
e.java:51)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: bad byte: 40
        at com.flazr.ByteToEnum.parseByte(ByteToEnum.java:45)
        at com.flazr.AmfProperty$Type.parseByte(AmfProperty.java:63)
        at com.flazr.AmfProperty.decode(AmfProperty.java:143)
        at com.flazr.AmfObject.decode(AmfObject.java:80)
        at com.flazr.AmfProperty.decode(AmfProperty.java:173)
        at com.flazr.AmfObject.decode(AmfObject.java:80)
        at com.flazr.RtmpDecoder.decode(RtmpDecoder.java:106)
        at com.flazr.RtmpDecoder.doDecode(RtmpDecoder.java:32)
        at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(Cumulat
iveProtocolDecoder.java:133)
        at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Prot
ocolCodecFilter.java:158)
        ... 9 more
23:31:47,471 [AnonymousIoService-5] INFO [FlvWriter] - closed file, video durati
on: 0.0 seconds
23:31:47,471 [AnonymousIoService-5] INFO [RtmpClient] - disconnected, bytes read
: 35161
Reply
#3
Thanks for your attention!I have solved this problem on my own!
Reply
#4
Thanks for your attention!I have solved this problem on my own!
Reply
#5
I will pay 10 dollars (via Paypal) to the person who helps me solve this problem!Big Grin
Please send me Private Messages.
I have used Wireshark to analyze every packet.I think I am almost there, but some parameters are wrong. I just Need a hint from an expert.
Thanks a lot!
Reply

Logout Mark Read Team Forum Stats Members Help
RTMP and NBC Plugins.Download and Keep NBC Videos.0