Customized rtmpdump binaries with patch fileAnonymous recently shared some good patches with me so i thought of reviving the release thread again. apart from all my patches till date this release includes following new enhancements.
Anonymous's Contribution: 1. Better resume support: rtmpdump can now resume from corrupted files by automatically searching the file for valid audio video frames. 2. Invalidate "Play2" command: rtmpsuck now invalidates this transition command so flash player isn't able to adaptively switch the stream to another quality during capture. 3. Generate unique filenames: if detected filename is longer than 128 characters it generates short unique name instead. 4. fixed a bug in AMF3 decoding 5. few other minor fixes My Fixes: 1. add timestamp to detected filename (rtmpsrv and rtmpsuck) to avoid overwriting the streams 2. replace invalid characters in filename with underscore 3. fixed a crash in rtmpsuck when closed using 'q' command 4. fixed generation of invalid flv file in some rare cases 5. few other minor fixes Update 17/04/2013: 1. fixed rtmpsrv command generation in some specific cases + other minor fixes Update 22/04/2013: 1. enhanced keyframe search for much better resume functionality 2. fixed a bug in RTMP_FindPrefixProperty and RTMP_FindFirstMatchingProperty function Update 25/04/2013: 1. added onFCSubscribe response to rtmpsrv to detect more streams 2. show complete debug info in rtmpsuck when connection is closed 3. fixed a small bug in redirect handling (allocating 1 byte less than required) Update 07/05/2013: 1. fixed timestamp generation on some platforms Update 15/05/2013: 1. added support for featve.com changes Update 19/05/2013: 1. added support for wfctv.com Update 11/06/2013: 1. updated support for webvideocore.net servers Update 14/09/2013: 1. added support for yycast.com changes Update 18/10/2013: 1. added support for yukons.net, axcast.com changes Update 14/03/2014: 1. also check client signature to detect if server wanna use old rtmp handshake (fixes handshake problems with some lousy servers)2. added support for ddoss.me, streampiraten.ws changes 3. handle NetConnection.Connect.Rejected for onStatus response along with _error Update 21/03/2014: 1. updated support for streampiraten.ws and clones 2. fixed a small bug Update 11/09/2014: 1. updates for some site changes Update 28/10/2014: 1. cleaned-up and merged --ccommand | -K switch patch (provided by @denobis) 2. rewrote the support for 3dbuzz.com authentication Update 19/01/2015: 1. some minor fixes Update 09/02/2015: 1. updated support for mips.tv and clones Update 01/05/2015: 1. save and resume support for more than 4 GB files 2. add null encoding support in AMF object ( -C NZ:name: ) 3. other minor fixes Update 05/05/2015: 1. added basic support for AMF_REFERENCE type 2. added support for tvb.com streams Update 11/12/2015: 1. fixed some AMF3 decoding issues (videostream.dn.ua) 2. fixed a crash in rtmpsuck 3. other minor fixes Update 15/12/2015: 1. sync with rtmpdump upstream ========== This release supersedes all previous releases. Code:
https://github.com/K-S-V/Scripts/releases Compiling with Patch for other systems: assuming you have all tools (gcc, binutils etc.) and dependencies (OpenSSL, Zlib) installed correctly for your distribution. 1. clone the repository Code:
git clone git://git.ffmpeg.org/rtmpdump Code:
patch -p0 -i Patch.diff Code:
make |
Re: Customized rtmpdump binaries with patch fileKSV
Thanks for your work and time:cool: |
Re: Customized rtmpdump binaries with patch fileunsurpassable
|
Re: Customized rtmpdump binaries with patch fileSO Greatly appreciated!!!
|
Re: Customized rtmpdump binaries with patch fileGREAT stuff as always, KSV :-)
|
Re: Customized rtmpdump binaries with patch fileThanks for the great work.
|
Re: Customized rtmpdump binaries with patch fileThanks KSV for your time. ;)
But I already have a question. When I watch this stream in browser, it works fine but with rtmpdump it fails many times before good start. Code:
rtmpdump -v -r "rtmp://cp99495.live.edgefcs.net:80 |
Re: Customized rtmpdump binaries with patch fileThank you very much KSV
|
Re: Customized rtmpdump binaries with patch fileThanks again KSV for all of your work :)
|
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch filei have seen some people claiming that certain url's working with old builds but not new one's. this is due to the changed behavior of url parsing in official git repository. for example if you have passed following url to rtmpdump it will behave differently after this commit.
Code:
-r "rtmp://host/first/second/third/fourth" you can overcome this problem in two ways: 1. specify app and playpath using separate commands (-a|--app) and (-y|--playpath) respectively. 2. in my builds you can also use // as app and playpath separator. Code:
-r "rtmp://host/first/second//third/fourth" |
Re: Customized rtmpdump binaries with patch fileQuote:
Code:
rtmpdump -v -r "rtmp://124.40.42.172/live/Flash_li |
Re: Customized rtmpdump binaries with patch fileQuote:
Code:
rtmpdump -v -r "rtmp://124.40.42.172:80/live/Flash_live_KTO_TV@27823" -W "http://www.ktotv.com/templates/ktotv/swf/player.swf" -t "rtmp://cp99495.live.edgefcs.net:80/live" -o Test.flv Code:
RTMPDump v2.4 GIT-2012-12-30 (Compiled by KSV) |
Re: Customized rtmpdump binaries with patch fileIt's working great with -t parameter added even with original server.
Thanks very much KSV. ;) |
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch fileHow about BUFX - realtime download on some servers...
Isn't possible to download with real speed on servers based on Flash Media Server 3? Majority of sites runnin FMS is needed to use -v mode and sometimes videos are downloaded with lag between Video/Sound. |
Re: Customized rtmpdump binaries with patch fileQuote:
Code:
--realtime|-R Don't attempt to speed up download via the Pause/Unpause BUFX hack |
Re: Customized rtmpdump binaries with patch fileI have some trouble with a stream. The capturing seems to start but it captures only 0.01sec and then the process hangs / doesn't captures anything more ... :(
Code:
C:\Users\media\Desktop\rtmp>rtmpdump -r "rtmp://xxx:1936/streams" -a "streams" -f "WIN 11,6,602,180" -W "http://xxx/xxx/xxx.swf" -p "http://xxx" -y "xxx" -o "xxx" |
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch fileThank you KSV for your effort and for adding those patches, one of which has fixed my previous problem. It is definitely appreciated. If only I had a tenth of the understanding that you have!
a69 |
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch fileI have compiled this release into librtmp's for various systems (iOS (Apple TV, iPhone, iPod Touch), RasPi, Linux 32&64) for anyone wanting this release in their XBMC.
I can easily put exectuables up also if anyone needs but I don't know of any practical reasons off the top of my head for devices like RasPi and iOS. http://www.mediafire.com/?x4cvp5hl4m9xr |
Re: Customized rtmpdump binaries with patch fileThank you Redpenguin.
I have a problem with your xbmc apk for android. (Sorry for my english because I´m Spanish). I installed your xbmc apk and when I click to run it crash. Say: La aplicación XBMC (proceso org.xbmc.xbmc) se ha interrumpido inesperadamente. Inténtelo de nuevo |
RTMPDUMP returns wrong AMF calculationvery weird problem: I'm using unofficial KSV version. on one of my boxes it doesnt work properly: I investigated and found that the server asks for an answer which on other boxes is calculated well, but on this box no... checked python, and there it calculates well
so, on this thing: enc = AMF_EncodeNumber(enc, pend, exp(atan(sqrt(VerificationNumber))) + 1) the "bad" box returns ((VerificationNumber) + 1) any idea? I'm totally cluless:confused: btw, it's a linux box |
Re: Customized rtmpdump binaries with patch fileQuote:
http://forum.xbmc.org/showthread.php?tid=162307 is the support thread I maintain for my librtmp files and the APK if you wanna check it out. |
Re: RTMPDUMP returns wrong AMF calculationQuote:
|
Re: Customized rtmpdump binaries with patch fileAlso KSV or somebody else not sure if you have a cable TV subscription or not to test:
http://www.cnn.com/video and test their "Live TV" section. But I have noticed that the rtmpdump code must have changed sometime after 2011-07-11 because like I said before if I use KSV or normal versions since then it constantly results in "Invalid AMF Data" with rtmpsrv from RTMPDumpHelper. From what I can tell, they (edgecfs) are simply changing the connection data on every play request and using weird characters like the Spanish upside down exclamation point. Not sure why but the older rtmpdumps can simply flow with these odd connection data but the newer cannot and just error out, so I was wondering if this could be fixed via a patch. Here is a sample of what I mean: rtmpdump -r "rtmpe://cp99921.live.edgefcs.net:1935/live" -a "live?auth=daEdabcbS bfdrdlcNa.dudNbld5cebQaKan-brBoEc-hca-lxy_GFs&aifp=v001&slist=tvehln104_1_low@s8 9305" -f "WIN 11,7,700,169" -W "http://z.cdn.turner.com/xslo/cvp/plugins/akamai/ streaming/osmf1.6/2.11.3/AkamaiAdvancedStreamingPlugin.swf" -p "http://www.cnn.c om/video/#/video/cvptve/cvpstream2" --live -C Θ: -y "tvehln104_1_low@s89305?auth =daEdabcbSbfdrdlcNa.dudNbld5cebQaKan-brBoEc-hca-lxy_GFs&aifp=v001&slist=tvehln10 4_1_low@s89305" -o "tvehln104_1_low@s89305.flv" ERROR: Invalid AMF parameter: Θ: It's as if the command would easily work with zero issues if it was not for the strange ASCII characters. Though not sure if this would be something the actual RTMPDump would need to code. |
Re: Customized rtmpdump binaries with patch filehere is the log:
the "bad" box- Quote:
here is the "good" box- Quote:
rest of the log is the same for both boxes (until hang up) |
Re: Customized rtmpdump binaries with patch file@bentzi
your problem seems like a bug in math library (libm.so). try upgrading glibc to newer version. it's also possible that your compiler optimization is breaking it. try compiling static binary with no optimizations. Code:
LDFLAGS="-static" OPT="-g -O0" does this happens also with rtmpsuck? also post the verbose log of successful and failed attempt. Code:
-z 2> Debug.txt |
Re: Customized rtmpdump binaries with patch fileQuote:
http://pastebin.com/VkbqL0vQ |
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch fileIt looks like newer rtmpsrv is giving a very similar error to older rtmpsuck.
http://pastebin.com/tWJEYA28 |
Re: Customized rtmpdump binaries with patch fileQuote:
change following in rtmpsrv.c and try: countAMF: Code:
len += 2; Code:
argv[ac].av_val = ptr; |
Re: Customized rtmpdump binaries with patch fileThat's completely gets rid of the invalid AMF data, but for some reason it still errors out on RTMPDump:
https://dl.dropboxusercontent.com/u/...tmpsrv-log.txt The thing I always noticed between the older and newer RTMPSrvs I had was when 2011-07-11 was recording it always claimed the AMF Data was "-C 0:0 -C 0:1" such as I seen from your fix, but the original ones from this thread claim they got the strange chars I mentioned before. |
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch fileQuote:
http://www.cnn.com/video/data/3.0/vi...eam1/index.xml You can tell it seems to mention rtmpe first and that's the protocol uses in the older version but I do see an rtmpte URL also in that XML but Wireshark claims rtmpte is not in use by default. |
Re: Customized rtmpdump binaries with patch fileQuote:
|
Re: Customized rtmpdump binaries with patch fileFirst post updated with new fixes.
|
Re: Customized rtmpdump binaries with patch fileTY.
Only thing that confuses me then after you looked at this issue is how the older rtmpdump involked by rtmpsrv is actually able to download from the stream. What would the older one have the newer one doesn't, is the question. |
Re: Customized rtmpdump binaries with patch fileQuote:
are you suggesting that older version of rtmpdump is able to download while newer one isn't. there is one more thing we can try. post the debug log of older and newer rtmpdump. rtmpsrv doesn't matter because after the above fix both generates proper command line. introduction of those array types have caused many regressions. |
All times are GMT -6. The time now is 08:30 AM. |