Audio/video stream recording forums
|
Attention Visitor: |
You may have to register or log in before you can post:
|
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Streaming to CDNI am trying to use rtmplib via ffmpeg to stream my video to my CDN.
My CDN requires me to perform a handshake to retrieve a nonce. I am able to successfully request the nonce which is returned via AMF. However, because my CDN responds with a 403 response code, librtmp returns and error code of -1 and doesn't allow me to read the AMF response. Is there a way for me to read the AMF response that was returned by my CDN via ffmpeg or librtmp? The only solution I can think of would involve sending a rtmpt request outside of librtmp and scrape the response. Thanks, Nick |
#2
|
|||
|
|||
Re: Streaming to CDNBelow is the debug output of my request. I wish to retrieve the value for nonce. Which, in this case is 77ae1c63de6afd025208a6e2f13e4e48.
Parsing... Parsed protocol: 0 Parsed host : ******************** Parsed app : ****** RTMP_Connect1, ... connected, handshaking HandShake: Type Answer : 03 HandShake: Server Uptime : 1181242740 HandShake: FMS Version : 3.5.2.1 HandShake: Handshaking finished.... RTMP_Connect1, handshaked RTMP_SendPacket: fd=380, size=211 0000: 03 00 00 00 00 00 d3 14 00 00 00 00 ............ 0000: 02 00 07 63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 ...connect.?.... 0010: 00 00 00 03 00 03 61 70 70 02 00 06 ** ** ** ** ......app...**** 0020: ** ** 00 05 74 63 55 72 6c 02 00 41 72 74 6d 70 **..tcUrl..Artmp 0030: 3a 2f 2f ** ** ** ** ** ** ** ** ** ** ** ** ** ://************* 0040: ** ** ** ** ** ** ** 2f ** ** ** ** ** ** 2f 68 *******/******/h 0050: 61 70 70 79 3f 61 75 74 68 6d 6f 64 3d ** ** ** appy?authmod=*** 0060: ** 26 75 73 65 72 3d ** ** ** ** ** ** 00 04 66 *&user=******..f 0070: 70 61 64 01 00 00 0c 63 61 70 61 62 69 6c 69 74 pad....capabilit 0000: c3 . 0000: 69 65 73 00 40 2e 00 00 00 00 00 00 00 0b 61 75 ies.@.........au 0010: 64 69 6f 43 6f 64 65 63 73 00 40 a8 ee 00 00 00 dioCodecs.@..... 0020: 00 00 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 00 ....videoCodecs. 0030: 40 6f 80 00 00 00 00 00 00 0d 76 69 64 65 6f 46 @o........videoF 0040: 75 6e 63 74 69 6f 6e 00 3f f0 00 00 00 00 00 00 unction.?....... 0050: 00 00 09 ... Invoking connect RTMP_ReadPacket: fd=380 0000: 03 00 00 00 00 00 ce 14 00 00 00 00 ............ 0000: 02 00 06 5f 65 72 72 6f 72 00 3f f0 00 00 00 00 ..._error.?..... 0010: 00 00 05 03 00 05 6c 65 76 65 6c 02 00 05 65 72 ......level...er 0020: 72 6f 72 00 04 63 6f 64 65 02 00 1e 4e 65 74 43 ror..code...NetC 0030: 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e 65 63 onnection.Connec 0040: 74 2e 52 65 6a 65 63 74 65 64 00 0b 64 65 73 63 t.Rejected..desc 0050: 72 69 70 74 69 6f 6e 02 00 71 5b 20 41 63 63 65 ription..q[ Acce 0060: 73 73 4d 61 6e 61 67 65 72 2e 52 65 6a 65 63 74 ssManager.Reject 0070: 20 5d 20 3a 20 5b 20 61 75 74 68 6d 6f 64 3d ** ] : [ authmod=* RTMP_ReadPacket: fd=380 0000: c3 . 0000: ** ** ** 20 5d 20 3a 20 3f 72 65 61 73 6f 6e 3d *** ] : ?reason= 0010: 6e 65 65 64 61 75 74 68 26 75 73 65 72 3d ** ** needauth&user=** 0020: ** ** ** ** 26 6e 6f 6e 63 65 3d 37 37 61 65 31 ****&nonce=77ae1 0030: 63 36 33 64 65 36 61 66 64 30 32 35 32 30 38 61 c63de6afd025208a 0040: 36 65 32 66 31 33 65 34 65 34 38 00 00 09 6e2f13e4e48... RTMP_ClientPacket, received: invoke 206 bytes (object begin) Property: <Name: no-name., STRING: _error> Property: <Name: no-name., NUMBER: 1.00> Property: NULL Property: <Name: no-name., OBJECT> (object begin) Property: <Name: level, STRING: error> Property: <Name: code, STRING: NetConnection.Connect.Rejected> Property: <Name: description, STRING: [ AccessManager.Reject ] : [ aut hmod=**** ] : ?reason=needauth&user=******&nonce=77ae1c63de6afd0 25208a6e2f13e4e4 8> (object end) (object end) HandleInvoke, server invoking <_error> rtmp server sent error RTMP_ReadPacket: fd=380 0000: 03 00 00 00 00 00 12 14 00 00 00 00 ............ 0000: 02 00 05 63 6c 6f 73 65 00 00 00 00 00 00 00 00 ...close........ 0010: 00 05 .. RTMP_ClientPacket, received: invoke 18 bytes (object begin) Property: <Name: no-name., STRING: close> Property: <Name: no-name., NUMBER: 0.00> Property: NULL (object end) HandleInvoke, server invoking <close> rtmp server requested close |
Tags: authmod, cdn, ffmpeg, librtmp |
Thread Tools | |
Display Modes | |
|
|