Hi<br><br>I've been successfully recording tv from my cable companys web offering (<a href="http://yousee.tv">yousee.tv</a>). It's not public so I can't show you how it looks.<br><br>Unfortunately it stopped working a little over a week ago - maybe they switched server versions.<br>
<br>This was the command I used to successfully record with before:<br><br>./rtmpdump -r rtmpe://<a href="http://live.fmis.yousee.tv/live">live.fmis.yousee.tv/live</a> -v -o tmp.flv -V -W <a href="http://yousee.tv/design/swf/YouSeeVideoPlayer_beta.swf">http://yousee.tv/design/swf/YouSeeVideoPlayer_beta.swf</a> --pageUrl <a href="http://yousee.tv/livetv/dr1?remote">http://yousee.tv/livetv/dr1?remote</a> -y "encoder1_1200" -f "WIN 10,0,32,18" -live -C O:1<br>
<br>Now this gives me:<br><br>DEBUG: Property: <Name:           no-name., STRING:     _error><br>DEBUG: Property: <Name:           no-name., NUMBER:     1.00><br>DEBUG: Property: NULL<br>DEBUG: Property: <Name:           no-name., OBJECT><br>
DEBUG: (object begin)<br>DEBUG: Property: <Name:              level, STRING:     error><br>DEBUG: Property: <Name:               code, STRING:     NetConnection.Connect.Rejected><br>DEBUG: Property: <Name:        description, STRING:     Connection failed.><br>
DEBUG: Property: <Name:        application, BOOLEAN:    FALSE><br><br>So I went to use rtmpsuck to see if I needed to include additional data on the connect request using the --conn/-C command. The normal flash client includes a HUGE amount of request data (compared to others I've seen discussed on the net). I've included the request below but edited it heavily to not flood you:<br>
<br>DEBUG: ServePacket, client sent packet type 14, size 17601 bytes<br>DEBUG: (object begin)<br>DEBUG: Property: <Name:           no-name., STRING:     connect><br>DEBUG: Property: <Name:           no-name., NUMBER:     1.00><br>
DEBUG: Property: <Name:           no-name., OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:                app, STRING:     live><br>DEBUG: Property: <Name:           flashVer, STRING:     WIN 11,0,1,152><br>
DEBUG: Property: <Name:             swfUrl, STRING:     <a href="http://yousee.tv/design/swf/YouSeeVideoPlayer_beta.swf">http://yousee.tv/design/swf/YouSeeVideoPlayer_beta.swf</a>><br>DEBUG: Property: <Name:              tcUrl, STRING:     rtmpe://<a href="http://live.fmis.yousee.tv/live">live.fmis.yousee.tv/live</a>><br>
DEBUG: Property: <Name:               fpad, BOOLEAN:    FALSE><br>DEBUG: Property: <Name:       capabilities, NUMBER:     239.00><br>DEBUG: Property: <Name:        audioCodecs, NUMBER:     3575.00><br>DEBUG: Property: <Name:        videoCodecs, NUMBER:     252.00><br>
DEBUG: Property: <Name:      videoFunction, NUMBER:     1.00><br>DEBUG: Property: <Name:            pageUrl, STRING:     <a href="http://yousee.tv/livetv/dr1/">http://yousee.tv/livetv/dr1/</a>><br>DEBUG: Property: <Name:     objectEncoding, NUMBER:     3.00><br>
DEBUG: (object end)<br>DEBUG: Property: <Name:           no-name., OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:        channelData, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:         channelAry, OBJECT><br>
DEBUG: (object begin)<br>DEBUG: Property: <Name:                  0, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:                url, STRING:     /livetv/dr1><br>DEBUG: Property: <Name:   totalMillisecond, NUMBER:     nan><br>
DEBUG: Property: <Name:         logo_large, STRING:     <a href="http://cloud.yousee.tv/static/img/logos/large_dr1.png">http://cloud.yousee.tv/static/img/logos/large_dr1.png</a>><br>DEBUG: Property: <Name:                 id, STRING:     dr1><br>
DEBUG: Property: <Name:                xml, STRING:     <a href="http://yousee.tv/feeds/player/livetv/dr1/?1321388604.7347">http://yousee.tv/feeds/player/livetv/dr1/?1321388604.7347</a>><br>DEBUG: Property: <Name:               name, STRING:     DR1><br>
DEBUG: Property: <Name:         logo_small, STRING:     <a href="http://cloud.yousee.tv/static/img/logos/small_dr1.png">http://cloud.yousee.tv/static/img/logos/small_dr1.png</a>><br>DEBUG: Property: <Name:            logoUrl, STRING:     <a href="http://cloud.yousee.tv/static/img/logos/small_dr1.png">http://cloud.yousee.tv/static/img/logos/small_dr1.png</a>><br>
DEBUG: Property: <Name:   startMillisecond, NUMBER:     nan><br>DEBUG: (object end)<br>DEBUG: Property: <Name:                  1, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:                url, STRING:     /livetv/dr2><br>
DEBUG: Property: <Name:   totalMillisecond, NUMBER:     nan><br>DEBUG: Property: <Name:         logo_large, STRING:     <a href="http://cloud.yousee.tv/static/img/logos/large_dr2.png">http://cloud.yousee.tv/static/img/logos/large_dr2.png</a>><br>
DEBUG: Property: <Name:                 id, STRING:     dr2><br><br>... this continues to all the way up to object 24 - one for each channel ...<br><br>DEBUG: (object end)<br>DEBUG: (object end)<br>DEBUG: Property: NULL<br>
DEBUG: (object end)<br>DEBUG: Property: <Name:              token, STRING:     /cCFV5CFanarewY0IjC+kpU/3qe8cPd+esf+2TTbQNsslV7Ie81V86iVsoZ/nOtBQJZy1h1NXFN4Dw31uDXEFPfwhyccZ8RVij+sXYb27n2msR3k3ulETYD<br>z+KhYqA4VWbqR8MUMKyx7F5xFEYMlBmnH99acxwnJuLBEuNXZd/WIkvHGRsTDIigJEm0KJv4I7qox7BoK+rUvZgaa5ju4rPGkkDD6sN9hbsSBXZJt3eZoG61JpSeDxv><br>
DEBUG: Property: <Name:         servertime, STRING:     2011/11/15 21:23:24 UTC+0100><br>DEBUG: Property: <Name:               skin, STRING:     yousee><br>DEBUG: Property: <Name:        description, STRING:     ><br>
DEBUG: Property: <Name:       timelineData, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:            itemAry, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:                  0, OBJECT><br>
DEBUG: (object begin)<br>DEBUG: Property: NULL<br>DEBUG: Property: <Name:        description, STRING:     ><br>DEBUG: Property: <Name:           duration, NUMBER:     0.00><br>DEBUG: Property: <Name:     endMillisecond, NUMBER:     1321388700000.00><br>
DEBUG: Property: <Name:              title, STRING:     TV AVISEN><br>DEBUG: Property: <Name:          timeLabel, STRING:     21:00-21:25><br>DEBUG: Property: <Name:     original_title, STRING:     ><br>
DEBUG: Property: <Name:              start, STRING:     2011/11/15 21:00:00 UTC+0100><br>DEBUG: Property: <Name:   startMillisecond, NUMBER:     1321387200000.00><br>DEBUG: Property: <Name:           director, STRING:     ><br>
DEBUG: Property: <Name:                end, STRING:     2011/11/15 21:25:00 UTC+0100>DEBUG: (object end)<br>DEBUG: Property: <Name:                  1, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: NULL<br>
DEBUG: Property: <Name:        description, STRING:     Glem alt om hurtig sagsbehandling, hvis du går til politiet og anmelder, at du har været udsat for bedrageri.  Efterfor<br>skning af økonomisk kriminalitet foregår ofte dræbende langsomt , og imens de kriminelle fortsætter deres fupnumre, må l><br>
<br>... this continues with further objects, 5 in total, which correspond to the channel schedule ...<br><br>DEBUG: (object end)<br>DEBUG: (object end)<br>DEBUG: Property: NULL<br>DEBUG: Property: <Name:   totalMillisecond, NUMBER:     15900000.00><br>
DEBUG: Property: NULL<br>DEBUG: Property: <Name:   startMillisecond, NUMBER:     1321387200000.00><br>DEBUG: Property: NULL<br>DEBUG: Property: <Name: currentMillisecond, NUMBER:     1321388604000.00><br>DEBUG: (object end)<br>
DEBUG: Property: <Name:         streamList, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:                  0, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:            bitrate, NUMBER:     600.00><br>
DEBUG: Property: <Name:         streamName, STRING:     encoder1_600><br>DEBUG: (object end)<br>DEBUG: Property: <Name:                  1, OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:            bitrate, NUMBER:     1200.00><br>
DEBUG: Property: <Name:         streamName, STRING:     encoder1_1200><br>DEBUG: (object end)<br>DEBUG: (object end)<br>DEBUG: Property: <Name:    ratiochangeable, BOOLEAN:    FALSE><br>DEBUG: Property: <Name:          subtitles, BOOLEAN:    FALSE><br>
DEBUG: Property: NULL<br>DEBUG: Property: <Name: serverMillionSecon, NUMBER:     1321388604000.00><br>DEBUG: Property: <Name:     channelLogoUrl, STRING:     <a href="http://cloud.yousee.tv/static/img/logos/small_dr1.png">http://cloud.yousee.tv/static/img/logos/small_dr1.png</a>><br>
DEBUG: Property: NULL<br>DEBUG: Property: <Name:               meta, STRING:     96600|YSBB|<a href="http://yousee.tv">yousee.tv</a>|Livetv:dr1|webtv|livetv|605991935|><br>DEBUG: Property: <Name:        channelName, STRING:     DR1><br>
DEBUG: Property: <Name:               type, STRING:     livetv><br>DEBUG: Property: NULL<br>DEBUG: Property: <Name:          serverurl, STRING:     rtmpe://<a href="http://live.fmis.yousee.tv/live">live.fmis.yousee.tv/live</a>><br>
DEBUG: (object end)<br>DEBUG: (object end)<br>DEBUG: ServeInvoke, client invoking <connect><br><br>Which concludes the client request.<br><br>Server replies with:<br>DEBUG: Property: <Name:               code, STRING:     NetConnection.Connect.Success><br>
<br>And the client is connected.<br><br>As you can see, the request is _very_ large. II've been trying with various combinations of -C data, serverurl, channelName, type, tcUrl, etc. but with no luck. Either my attempt results in:<br>
<br>DEBUG: RTMP_ClientPacket, received: invoke 126 bytes<br>DEBUG: (object begin)<br>DEBUG: Property: <Name:           no-name., STRING:     _error><br>DEBUG: Property: <Name:           no-name., NUMBER:     1.00><br>
DEBUG: Property: NULL<br>DEBUG: Property: <Name:           no-name., OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:              level, STRING:     error><br>DEBUG: Property: <Name:               code, STRING:     NetConnection.Connect.Rejected><br>
DEBUG: Property: <Name:        description, STRING:     Connection failed.><br>DEBUG: Property: <Name:        application, BOOLEAN:    FALSE><br>DEBUG: (object end)<br>DEBUG: (object end)<br><br><br>Or in:<br>
<br>DEBUG: RTMP_ClientPacket, received: invoke 239 bytes<br>DEBUG: (object begin)<br>DEBUG: Property: <Name:           no-name., STRING:     _error><br>DEBUG: Property: <Name:           no-name., NUMBER:     1.00><br>
DEBUG: Property: NULL<br>DEBUG: Property: <Name:           no-name., OBJECT><br>DEBUG: (object begin)<br>DEBUG: Property: <Name:              level, STRING:     error><br>DEBUG: Property: <Name:               code, STRING:     NetConnection.Connect.Rejected><br>
DEBUG: Property: <Name:        description, STRING:     Connection failed.><br>DEBUG: Property: <Name:        description, STRING:     [ Server.Reject ] : Adaptor: _defaultRoot_, VHost: _defaultVHost_, App: live/_definst_,  (onConnect call failed)><br>
DEBUG: (object end)<br>DEBUG: (object end)<br><br>For example the above command gives first error, whereas -C O:0 gives second error - maybe because request no longer is valid?<br><br>I've even been trying to change the code to set serverurl, channelName with additional AMF_EncodeNamedString() calls in SendConnectPacket, but that also didn't work.<br>
<br>Server version seems to be:<br>DEBUG: HandShake: FMS Version   : 4.0.3.1<br><br>Do you have any hints that might help? Since the client request captured via rtmpsuck is so large, I cannot realistically produce the same via -C options. I've been thinking about overwriting the connect packet with the captured one and see if that would work. It's either that or finding a DVB-C capture card... :)<br>
<br>The email got rather long (sorry), but if you need additional data/logs, please say so.<br><br>Thanks,<br><br>/Allan<br><br>