PDA

View Full Version : Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV files


josan
01-27-2011, 06:26 PM
Hello ~~:D
Sorry to bother you again~~:p
But I got some problems about rtmpsuck & rtmpsrv!!

I have downloaded rtmpdump (http://all-streaming-media.com/record-video-stream/rtmpdump-freeware-console-RTMP-downloading-application.htm) 2.3 and compiled them successfully in Linux environment.

Try to make some testing of rtmpsrv / rtmpsuck. So far, it seems... "connect" is OK, but can't "play" file!! Please kindly give me some advice :)

Thank you very much~~

Here are my testing scenario & log!

Step1. Use command "iptables -t nat -A OUTPUT -p tcp --dport 1935 -j REDIRECT" on Linux
Step2. Run ./rtmpsuck -z (debug mode) on Linux (Be a RTMP server to publish this file ->testh264.flv)
Step3. Installing Apached2.2 on Windows (Be a local web server)
Step4. Using JW player to write a simple HTML file as below:
(This test.html is on Apached server, will be the viewer of testh264.flv)

<html>
<body>
<script type='text/javascript' src='swfobject.js'></script>

<div id='mediaspace'>This text will be replaced</div>

<script type='text/javascript'>
var so = new SWFObject('player.swf','mpl','640','360','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addParam('wmode','opaque');
so.addVariable('file','testh264');
so.addVariable('streamer','rtmp://192.168.81.3:1935/app/');
so.write('mediaspace');
</script>
</body>
</html>

And...
Here are my debug log file of rtmpsuck & rtmpsrv:

log of rtmpsuck:
RTMP Proxy Server v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL

Streaming on rtmp://0.0.0.0:1935
DEBUG: serverThread: accepted connection from 192.168.81.61 to 192.168.81.3

DEBUG: SHandShake: Type Requested : 03
DEBUG2: 01 c2 8e c5 80 00 07 02 2c 4e a1 d3 e9 cf 07 fe
...
DEBUG2: 3c 98 31 5c 32 69 af 6c 0b 0f a6 1d d0 ac d0 a2
DEBUG: SHandShake: Server digest offset: 430
DEBUG: SHandShake: Initial server digest:
DEBUG: 6c f8 11 61 90 09 bb 24 3d fc 3b 34 d3 4d ad c6
DEBUG: b6 95 ba 07 f0 d8 a1 aa b0 72 26 5b f1 62 8a fd
DEBUG2: Serversig:
DEBUG2: fe e7 f6 05 03 05 01 01 67 45 8b 6b c6 23 7b 32
...
DEBUG2: 44 d8 c9 6e ee ea 49 5c 9b f4 4a 06 bc 46 7c 39
DEBUG: SHandShake: Client Uptime : 29527749
DEBUG: SHandShake: Player Version: 128.0.7.2
WARNING: Trying different position for client digest!
DEBUG: SHandShake: Calculated digest key from secure key and server digest:
DEBUG: 10 e6 5d bc 2d 46 50 f3 1a 1f a7 0e 6b 1b b3 7b
DEBUG: 33 1e 31 8b ce 5e 17 34 80 9b 1a db 6f 2b eb b9
DEBUG: SHandShake: Server signature calculated:
DEBUG: 2b ec dd 24 a4 03 95 eb 74 e7 a1 58 50 23 45 ff
DEBUG: 74 f3 13 36 60 51 f4 73 04 4e 93 a3 94 b2 d4 0a
DEBUG2: SHandShake: Sending handshake response:
DEBUG2: 01 c2 8e c5 80 00 07 02 2c 4e a1 d3 e9 cf 07 fe
...
DEBUG2: 74 f3 13 36 60 51 f4 73 04 4e 93 a3 94 b2 d4 0a
DEBUG2: SHandShake: 2nd handshake:
DEBUG2: a5 fc 11 59 71 ae 7f 23 11 e8 c6 74 50 c0 a1 8d
DEBUG2: c0 bb 63 1e bc af d5 ee 74 21 29 49 1c 13 f5 c4
...
DEBUG2: 30 88 28 c2 cc a0 af a5 f8 17 ea 3f 48 11 78 d4
DEBUG2: 91 cf b2 59 29 ca 03 38 20 ad 56 65 1a f2 1c 51
DEBUG: SHandShake: Client sent signature:
DEBUG: 30 88 28 c2 cc a0 af a5 f8 17 ea 3f 48 11 78 d4
DEBUG: 91 cf b2 59 29 ca 03 38 20 ad 56 65 1a f2 1c 51
DEBUG: SHandShake: Digest key:
DEBUG: 2c 7f f1 1c 7f 7d 7f 7f ed 42 07 d1 e4 79 2e a3
DEBUG: 11 55 ce e2 c1 ae 3b 7f 3d f2 ae d5 6a 8c 9f 26
DEBUG: SHandShake: Signature calculated:
DEBUG: 30 88 28 c2 cc a0 af a5 f8 17 ea 3f 48 11 78 d4
DEBUG: 91 cf b2 59 29 ca 03 38 20 ad 56 65 1a f2 1c 51
DEBUG: SHandShake: Genuine Adobe Flash Player
DEBUG: SHandShake: Handshaking finished....
DEBUG2: RTMP_ReadPacket: fd=7
DEBUG2: 0000: 03 00 00 00 00 01 2c 14 00 00 00 00 ......,.....
DEBUG2: 0000: 02 00 07 63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 ...connect.?....
DEBUG2: 0010: 00 00 00 03 00 03 61 70 70 02 00 04 61 70 70 2f ......app...app/
DEBUG2: 0020: 00 08 66 6c 61 73 68 56 65 72 02 00 0d 57 49 4e ..flashVer...WIN
DEBUG2: 0030: 20 31 30 2c 31 2c 38 35 2c 33 00 06 73 77 66 55 10,1,85,3..swfU
DEBUG2: 0040: 72 6c 02 00 1b 68 74 74 70 3a 2f 2f 31 32 37 2e rl...http://127.
DEBUG2: 0050: 30 2e 30 2e 31 2f 70 6c 61 79 65 72 2e 73 77 66 0.0.1/player.swf
DEBUG2: 0060: 00 05 74 63 55 72 6c 02 00 1d 72 74 6d 70 3a 2f ..tcUrl...rtmp:/
DEBUG2: 0070: 2f 31 39 32 2e 31 36 38 2e 38 31 2e 33 3a 31 39 /192.168.81.3:19
DEBUG2: RTMP_ReadPacket: fd=7
DEBUG2: 0000: c3 .
DEBUG2: 0000: 33 35 2f 61 70 70 2f 00 04 66 70 61 64 01 00 00 35/app/..fpad...
DEBUG2: 0010: 0c 63 61 70 61 62 69 6c 69 74 69 65 73 00 40 6d .capabilities.@m
DEBUG2: 0020: e0 00 00 00 00 00 00 0b 61 75 64 69 6f 43 6f 64 ........audioCod
DEBUG2: 0030: 65 63 73 00 40 a8 ee 00 00 00 00 00 00 0b 76 69 ecs.@.........vi
DEBUG2: 0040: 64 65 6f 43 6f 64 65 63 73 00 40 6f 80 00 00 00 deoCodecs.@o....
DEBUG2: 0050: 00 00 00 0d 76 69 64 65 6f 46 75 6e 63 74 69 6f ....videoFunctio
DEBUG2: 0060: 6e 00 3f f0 00 00 00 00 00 00 00 07 70 61 67 65 n.?.........page
DEBUG2: 0070: 55 72 6c 02 00 1a 68 74 74 70 3a 2f 2f 31 32 37 Url...http://127
DEBUG2: RTMP_ReadPacket: fd=7
DEBUG2: 0000: c3 .
DEBUG2: 0000: 2e 30 2e 30 2e 31 2f 74 65 73 74 2e 68 74 6d 6c .0.0.1/test.html
DEBUG2: 0010: 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67 ..objectEncoding
DEBUG2: 0020: 00 00 00 00 00 00 00 00 00 00 00 09 ............
DEBUG: ServePacket, client sent packet type 14, size 300 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name., STRING: connect>
DEBUG: Property: <Name: no-name., NUMBER: 1.00>
DEBUG: Property: <Name: no-name., OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: app, STRING: app/>
DEBUG: Property: <Name: flashVer, STRING: WIN 10,1,85,3>
DEBUG: Property: <Name: swfUrl, STRING: http://127.0.0.1/player.swf>
DEBUG: Property: <Name: tcUrl, STRING: rtmp://192.168.81.3:1935/app/>
DEBUG: Property: <Name: fpad, BOOLEAN: FALSE>
DEBUG: Property: <Name: capabilities, NUMBER: 239.00>
DEBUG: Property: <Name: audioCodecs, NUMBER: 3191.00>
DEBUG: Property: <Name: videoCodecs, NUMBER: 252.00>
DEBUG: Property: <Name: videoFunction, NUMBER: 1.00>
DEBUG: Property: <Name: pageUrl, STRING: http://127.0.0.1/test.html>
DEBUG: Property: <Name: objectEncoding, NUMBER: 0.00>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <connect>
Processing connect
app: app/
flashVer: WIN 10,1,85,3
swfUrl: http://127.0.0.1/player.swf
ERROR: RTMP_HashSWF: connection lost while downloading swfurl http://127.0.0.1/player.swf
tcUrl: rtmp://192.168.81.3:1935/app/
pageUrl: http://127.0.0.1/test.html
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: RTMPSockBuf_Fill, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: RTMP_Connect1, handshake failed.
DEBUG2: RTMP_ReadPacket: fd=7

Sorry, it's too long~ exceed the limitation~
I will post log of rtmpsrv again!

Josan

josan
01-27-2011, 06:34 PM
log of rtmpsrv:
RTMP Server v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL

Streaming on rtmp://0.0.0.0:1935
DEBUG: serverThread: accepted connection from 192.168.81.61 to 192.168.81.3

DEBUG: SHandShake: Type Requested : 03
DEBUG2: 01 f6 7e ed 80 00 07 02 5f fc f9 97 0e 1d ce 7e
...
DEBUG2: 59 5e bb c2 fa 04 3c 4c 7d 4a 2e 19 6d 6a bb 30
DEBUG: SHandShake: Server digest offset: 430
DEBUG: SHandShake: Initial server digest:
DEBUG: 9f 18 f4 5a c2 81 02 90 cc ff 34 99 53 66 bd 6c
DEBUG: 3c 6e 7e 3d 59 e3 65 89 32 4a d5 a0 34 18 6a ff
DEBUG2: Serversig:
DEBUG2: ff 1b e4 d3 03 05 01 01 67 45 8b 6b c6 23 7b 32
...
DEBUG2: 44 d8 c9 6e ee ea 49 5c 9b f4 4a 06 bc 46 7c 39
DEBUG: SHandShake: Client Uptime : 32931565
DEBUG: SHandShake: Player Version: 128.0.7.2
WARNING: Trying different position for client digest!
DEBUG: SHandShake: Calculated digest key from secure key and server digest:
DEBUG: 94 87 70 c5 4d 3c 7f 86 91 82 f2 1d a7 7b 79 f2
DEBUG: c9 55 8a 1f b8 0e 11 72 0d 84 9d 30 b6 fa 40 c3
DEBUG: SHandShake: Server signature calculated:
DEBUG: 7c 26 42 47 3a 45 38 96 2b 8f 6e 0d 1f a6 d4 f2
DEBUG: f8 32 88 6d 7e 80 c7 47 79 9e a6 cc 85 48 72 65
DEBUG2: SHandShake: Sending handshake response:
DEBUG2: 01 f6 7e ed 80 00 07 02 5f fc f9 97 0e 1d ce 7e
...
DEBUG2: f8 32 88 6d 7e 80 c7 47 79 9e a6 cc 85 48 72 65
DEBUG2: SHandShake: 2nd handshake:
DEBUG2: a8 ef 03 a0 6c a3 46 18 6f a7 58 95 14 3d c1 29
...
DEBUG2: 89 2a 48 cd ee 85 5a 51 94 5a d7 33 25 fc 83 7b
DEBUG: SHandShake: Client sent signature:
DEBUG: 99 b3 48 6b 0b 8d 6a a1 54 ba 9a c0 13 5e 6e 93
DEBUG: 89 2a 48 cd ee 85 5a 51 94 5a d7 33 25 fc 83 7b
DEBUG: SHandShake: Digest key:
DEBUG: a0 2d b7 16 3f b1 ba 0c 71 4e d3 7c d4 b8 be 38
DEBUG: 09 1a f7 7f bc ad 0c 82 6d eb 02 9d cb ab 59 e7
DEBUG: SHandShake: Signature calculated:
DEBUG: 99 b3 48 6b 0b 8d 6a a1 54 ba 9a c0 13 5e 6e 93
DEBUG: 89 2a 48 cd ee 85 5a 51 94 5a d7 33 25 fc 83 7b
DEBUG: SHandShake: Genuine Adobe Flash Player
DEBUG: SHandShake: Handshaking finished....
(Part I)

josan
01-27-2011, 06:37 PM
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: 03 00 00 01 00 01 2c 14 00 00 00 00 ......,.....
DEBUG2: 0000: 02 00 07 63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 ...connect.?....
DEBUG2: 0010: 00 00 00 03 00 03 61 70 70 02 00 04 61 70 70 2f ......app...app/
DEBUG2: 0020: 00 08 66 6c 61 73 68 56 65 72 02 00 0d 57 49 4e ..flashVer...WIN
DEBUG2: 0030: 20 31 30 2c 31 2c 38 35 2c 33 00 06 73 77 66 55 10,1,85,3..swfU
DEBUG2: 0040: 72 6c 02 00 1b 68 74 74 70 3a 2f 2f 31 32 37 2e rl...http://127.
DEBUG2: 0050: 30 2e 30 2e 31 2f 70 6c 61 79 65 72 2e 73 77 66 0.0.1/player.swf
DEBUG2: 0060: 00 05 74 63 55 72 6c 02 00 1d 72 74 6d 70 3a 2f ..tcUrl...rtmp:/
DEBUG2: 0070: 2f 31 39 32 2e 31 36 38 2e 38 31 2e 33 3a 31 39 /192.168.81.3:19
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: c3 .
DEBUG2: 0000: 33 35 2f 61 70 70 2f 00 04 66 70 61 64 01 00 00 35/app/..fpad...
DEBUG2: 0010: 0c 63 61 70 61 62 69 6c 69 74 69 65 73 00 40 6d .capabilities.@m
DEBUG2: 0020: e0 00 00 00 00 00 00 0b 61 75 64 69 6f 43 6f 64 ........audioCod
DEBUG2: 0030: 65 63 73 00 40 a8 ee 00 00 00 00 00 00 0b 76 69 ecs.@.........vi
DEBUG2: 0040: 64 65 6f 43 6f 64 65 63 73 00 40 6f 80 00 00 00 deoCodecs.@o....
DEBUG2: 0050: 00 00 00 0d 76 69 64 65 6f 46 75 6e 63 74 69 6f ....videoFunctio
DEBUG2: 0060: 6e 00 3f f0 00 00 00 00 00 00 00 07 70 61 67 65 n.?.........page
DEBUG2: 0070: 55 72 6c 02 00 1a 68 74 74 70 3a 2f 2f 31 32 37 Url...http://127
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: c3 .
DEBUG2: 0000: 2e 30 2e 30 2e 31 2f 74 65 73 74 2e 68 74 6d 6c .0.0.1/test.html
DEBUG2: 0010: 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67 ..objectEncoding
DEBUG2: 0020: 00 00 00 00 00 00 00 00 00 00 00 09 ............
DEBUG: ServePacket, received packet type 14, size 300 bytes
DEBUG: ServePacket, received: invoke 300 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name., STRING: connect>
DEBUG: Property: <Name: no-name., NUMBER: 1.00>
DEBUG: Property: <Name: no-name., OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: app, STRING: app/>
DEBUG: Property: <Name: flashVer, STRING: WIN 10,1,85,3>
DEBUG: Property: <Name: swfUrl, STRING: http://127.0.0.1/player.swf>
DEBUG: Property: <Name: tcUrl, STRING: rtmp://192.168.81.3:1935/app/>
DEBUG: Property: <Name: fpad, BOOLEAN: FALSE>
DEBUG: Property: <Name: capabilities, NUMBER: 239.00>
DEBUG: Property: <Name: audioCodecs, NUMBER: 3191.00>
DEBUG: Property: <Name: videoCodecs, NUMBER: 252.00>
DEBUG: Property: <Name: videoFunction, NUMBER: 1.00>
DEBUG: Property: <Name: pageUrl, STRING: http://127.0.0.1/test.html>
DEBUG: Property: <Name: objectEncoding, NUMBER: 0.00>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <connect>
DEBUG2: RTMP_SendPacket: fd=5, size=239
DEBUG2: 0000: 43 00 00 00 00 00 ef 14 C.......
DEBUG2: 0000: 02 00 07 5f 72 65 73 75 6c 74 00 3f f0 00 00 00 ..._result.?....
DEBUG2: 0010: 00 00 00 03 00 06 66 6d 73 56 65 72 02 00 0d 46 ......fmsVer...F
DEBUG2: 0020: 4d 53 2f 33 2c 35 2c 31 2c 35 32 35 00 0c 63 61 MS/3,5,1,525..ca
DEBUG2: 0030: 70 61 62 69 6c 69 74 69 65 73 00 40 3f 00 00 00 pabilities.@?...
DEBUG2: 0040: 00 00 00 00 04 6d 6f 64 65 00 3f f0 00 00 00 00 .....mode.?.....
DEBUG2: 0050: 00 00 00 00 09 03 00 05 6c 65 76 65 6c 02 00 06 ........level...
DEBUG2: 0060: 73 74 61 74 75 73 00 04 63 6f 64 65 02 00 1d 4e status..code...N
DEBUG2: 0070: 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e etConnection.Con
DEBUG2: 0000: c3 .
DEBUG2: 0000: 6e 65 63 74 2e 53 75 63 63 65 73 73 00 0b 64 65 nect.Success..de
DEBUG2: 0010: 73 63 72 69 70 74 69 6f 6e 02 00 15 43 6f 6e 6e scription...Conn
DEBUG2: 0020: 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 ection succeeded
DEBUG2: 0030: 2e 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e ...objectEncodin
DEBUG2: 0040: 67 00 00 00 00 00 00 00 00 00 00 04 64 61 74 61 g...........data
DEBUG2: 0050: 03 00 07 76 65 72 73 69 6f 6e 02 00 09 33 2c 35 ...version...3,5
DEBUG2: 0060: 2c 31 2c 35 32 35 00 00 09 00 00 09 00 00 09 ,1,525.........
DEBUG: Invoking _result
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: 02 09 81 9f 00 00 0a 04 00 00 00 00 ............
DEBUG2: 0000: 00 03 00 00 00 00 00 00 07 d0 ..........
DEBUG: ServePacket, received packet type 04, size 10 bytes
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: 43 00 01 e4 00 00 19 14 C.......
DEBUG2: 0000: 02 00 0c 63 72 65 61 74 65 53 74 72 65 61 6d 00 ...createStream.
DEBUG2: 0010: 40 00 00 00 00 00 00 00 05 @........
DEBUG: ServePacket, received packet type 14, size 25 bytes
DEBUG: ServePacket, received: invoke 25 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name., STRING: createStream>
DEBUG: Property: <Name: no-name., NUMBER: 2.00>
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <createStream>
DEBUG2: RTMP_SendPacket: fd=5, size=29
DEBUG2: 0000: 43 00 00 00 00 00 1d 14 C.......
DEBUG2: 0000: 02 00 07 5f 72 65 73 75 6c 74 00 40 00 00 00 00 ..._result.@....
DEBUG2: 0010: 00 00 00 05 00 3f f0 00 00 00 00 00 00 .....?.......
DEBUG: Invoking _result
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: 43 00 00 09 00 00 27 14 C.....'.
DEBUG2: 0000: 02 00 0f 67 65 74 53 74 72 65 61 6d 4c 65 6e 67 ...getStreamLeng
DEBUG2: 0010: 74 68 00 40 08 00 00 00 00 00 00 05 02 00 08 74 th.@...........t
DEBUG2: 0020: 65 73 74 68 32 36 34 esth264
DEBUG: ServePacket, received packet type 14, size 39 bytes
DEBUG: ServePacket, received: invoke 39 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name., STRING: getStreamLength>
DEBUG: Property: <Name: no-name., NUMBER: 3.00>
DEBUG: Property: NULL
DEBUG: Property: <Name: no-name., STRING: testh264>
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <getStreamLength>
DEBUG2: RTMP_SendPacket: fd=5, size=29
DEBUG2: 0000: c3 .
DEBUG2: 0000: 02 00 07 5f 72 65 73 75 6c 74 00 40 08 00 00 00 ..._result.@....
DEBUG2: 0010: 00 00 00 05 00 40 24 00 00 00 00 00 00 .....@$......
DEBUG: Invoking _result
DEBUG2: RTMP_ReadPacket: fd=5
DEBUG2: 0000: 08 00 01 ee 00 00 1c 14 01 00 00 00 ............
DEBUG2: 0000: 02 00 04 70 6c 61 79 00 00 00 00 00 00 00 00 00 ...play.........
DEBUG2: 0010: 05 02 00 08 74 65 73 74 68 32 36 34 ....testh264
DEBUG: ServePacket, received packet type 14, size 28 bytes
DEBUG: ServePacket, received: invoke 28 bytes
DEBUG: (object begin)
DEBUG: Property: <Name: no-name., STRING: play>
DEBUG: Property: <Name: no-name., NUMBER: 0.00>
DEBUG: Property: NULL
DEBUG: Property: <Name: no-name., STRING: testh264>
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <play>
DEBUG: sending ctrl. type: 0x0000
DEBUG2: RTMP_SendPacket: fd=5, size=6
DEBUG2: 0000: 42 00 00 00 00 00 06 04 B.......
DEBUG2: 0000: 00 00 00 00 00 01 ......
DEBUG2: RTMP_SendPacket: fd=5, size=141
DEBUG2: 0000: 43 00 00 00 00 00 8d 14 C.......
DEBUG2: 0000: 02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 ...onStatus.....
DEBUG2: 0010: 00 00 00 00 03 00 05 6c 65 76 65 6c 02 00 06 73 .......level...s
DEBUG2: 0020: 74 61 74 75 73 00 04 63 6f 64 65 02 00 14 4e 65 tatus..code...Ne
DEBUG2: 0030: 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 61 tStream.Play.Sta
DEBUG2: 0040: 72 74 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 rt..description.
DEBUG2: 0050: 00 0f 53 74 61 72 74 65 64 20 70 6c 61 79 69 6e ..Started playin
DEBUG2: 0060: 67 00 07 64 65 74 61 69 6c 73 02 00 08 74 65 73 g..details...tes
DEBUG2: 0070: 74 68 32 36 34 00 08 63 6c 69 65 6e 74 69 64 02 th264..clientid.
DEBUG2: 0000: c3 .
DEBUG2: 0000: 00 08 63 6c 69 65 6e 74 69 64 00 00 09 ..clientid...
DEBUG: Invoking onStatus (Part II)

josan
01-27-2011, 06:39 PM
DEBUG: sending ctrl. type: 0x0001
DEBUG2: RTMP_SendPacket: fd=5, size=6
DEBUG2: 0000: c2 .
DEBUG2: 0000: 00 01 00 00 00 01 ......
DEBUG2: RTMP_SendPacket: fd=5, size=140
DEBUG2: 0000: 43 00 00 00 00 00 8c 14 C.......
DEBUG2: 0000: 02 00 08 6f 6e 53 74 61 74 75 73 00 00 00 00 00 ...onStatus.....
DEBUG2: 0010: 00 00 00 00 03 00 05 6c 65 76 65 6c 02 00 06 73 .......level...s
DEBUG2: 0020: 74 61 74 75 73 00 04 63 6f 64 65 02 00 13 4e 65 tatus..code...Ne
DEBUG2: 0030: 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74 6f tStream.Play.Sto
DEBUG2: 0040: 70 00 0b 64 65 73 63 72 69 70 74 69 6f 6e 02 00 p..description..
DEBUG2: 0050: 0f 53 74 6f 70 70 65 64 20 70 6c 61 79 69 6e 67 .Stopped playing
DEBUG2: 0060: 00 07 64 65 74 61 69 6c 73 02 00 08 74 65 73 74 ..details...test
DEBUG2: 0070: 68 32 36 34 00 08 63 6c 69 65 6e 74 69 64 02 00 h264..clientid..
DEBUG2: 0000: c3 .
DEBUG2: 0000: 08 63 6c 69 65 6e 74 69 64 00 00 09 .clientid...
DEBUG: Invoking onStatus
Closing connection... done! (End)

Sorry~~ It's really tooooo long :p

Elliott Tong
02-07-2011, 07:44 PM
Hi There,

I think I got the similar problem here.

I compiled rtmpdump (http://all-streaming-media.com/record-video-stream/rtmpdump-freeware-console-RTMP-downloading-application.htm) 2.3 under Windows, and created a RTMP server based on its rtmpsvr sample to forward the video from FMS.

I found the FLV Player 2.0 build 25 can't play the video streamed out from this server if the video is H.264 encoded. However, if I changed the video encoding to VP6, the video can be played normally.

I can sure that the Metadata and the H.264 header(which is the packet followed by the Metadata packet) are sent to the player before the video stearm.

I tried to use rtmpdump to dump the video from this server to a flv file, and video can be played successfully afterward, no matter it is H264 or VP6. But just can't play it on the fly. :(

And also, the debug log from rtmpdump seems no big different between connected to this server and the FMS (except 1) Error respond to FCSubscribe, 2) Haven't invoke onBWDone, 3) Haven't invoke _onbwcheck, and 4) Haven't send flow control commands, Stream Begin & BufferEmpty).


Hope there is anybody can give me a hand on this. Thank you very much in advance!!

Cheers,
Elliott

josan
02-11-2011, 12:53 AM
Hello Elliott ~
Could you explain more detail about your testing?
Did you execute rtmpdump/rtmpsrv/rtmpsuck??
Then how to publish your video(file??) on the server?? :confused:

"and created a RTMP server based on its rtmpsvr sample to forward the video from FMS"??

Thanks~:)

Regards,
Josan

Elliott Tong
02-11-2011, 10:27 PM
Hi Josan,

In fact, I'm working on forwarding a h.264 video stream from a real FMS to another RTMP server which is hosted by rtmpsvr via a proprietary communication channel.

For sure, the original rtmpsvr is not working in my case, so I modified to receive video streaming from the proprietary channel and wait for a Player to connect, give it a video stream in another hand.

I extracted the rtmp url which given from the player at the AVMATCH(&method, &av_play) case in the rtmpsvr's ServeInvoke() function, and do SetChunkSize, SendStreamBegin, SendPlayReset, SendPlayStart, SendRtmpSampleAccess in sequence. After matched the url, I invoked RTMP_Serve() function for doing the handshake, keep reading RTMP packets afterward, and start streaming the video to the Player.

Hope this can help you analyzing your problem. :)

Cheers,
Elliott

josan
02-25-2011, 01:50 AM
Thank you~~ Elliott !! :)

According to your problem, I happen to read from RTMP spec. that...
To play H.264/AAC file, you must precede the stream name with mp4: and specify the file extension.
For example, to play the file sample.m4v, specific "mp4:sample.m4v"

Hope it will be helpful!
Regards,
Josan