RTMP Ripper is a passive ripper for the RTMP protocol that works by intercepting the TCP-packets of RTMP stream and converting and saving them in FLV files. RTMP Ripper is only meant as a proof-of-concept, and there are still parts of the RTMP protocol that it does not implement simply because I have not been able to find any streams that use these parts, such that I could test it.
Please note that RTMP Ripper is provided "as is". This is only a proof-of-concept and not meant for widespread use. But it does work, and because of that I choose to release it. Use at your own risk, and do not expect me to offer any kind of support.
RTMP Ripper can be used in many of the cases where one would otherwise use RTMPDump, particularly in cases where one would use the rtmpsuck proxy server. There are two main advantages to the passive, packet-sniffing approach used by RTMP Ripper over the active, proxy-server approach used by rtmpsuck:
There are also disadvantages to the passive approach, the main one being that RTMP Ripper does not and will never support any of the encrypted transportation protocols that are used by RTMP streams. This is simply not possible to do with a passive ripper.
Unzip RTMPRipper.zip to a folder. Before you can use RTMP Ripper you will need to install WinPcap and the VC++ runtime components if you don't already have them on your system. Follow the instructions in the links to install them. When everything is installed you are ready to start using RTMP Ripper. RTMP Ripper consists of two programs: RTMPRipper and RTMPConverter.
RTMPRipper is responsible for saving the stream to the disk. When you run RTMPRipper you will be asked which network device you want to listen on:
Currently there is no easy way to tell which network device to choose. You might be able to tell by the name, but otherwise you will just have to find a stream that you are sure uses the rtmp:// transportation protocol (e.g. this stream) and try them all. Luckily the list of network devices will only change when you add or remove network devices, so you will probably only have to do this once.
After you have selected the network device you can start a stream in a browser of your choice. If you have selected the correct network device you should soon see network packets coming in:
When the video is over or you don't want to download any more just close the program. The data will be saved in the file stream.rtm.
If you don't get a list of network devices when you start RTMPRipper it might be because the WinPcap driver haven't been started. To solve this problem right-click on RTMPRipper and select "Run as administrator". This should start the driver, and you can close the program again and start it as a normal user.
Next step is to convert the RTMP stream to an FLV file. To do this just run RTMPConverter. It will use stream.rtm as input and save the result in stream.flv.
That's it, enjoy your video! If you find a stream that you are unable til download, then it is most certainly because the stream is not using the rtmp:// transportation protocol. Support for rtmpt:// is planned at some point, but please don't contact me about it. On the other hand, if you find a stream that you are able to download, but where RTMPConverter fails either partially or completely then I am quite interested in hearing about it!
RTMP Ripper was never build for public release, and I am only releasing it because it in my opinion fills a gap in the existing solutions for RTMP ripping, and it is unlikely that I will ever release any updates. However, the good news is that RTMP Ripper was build to test an idea that I had, and now that I have proven that my idea can work I will begin working on a more user-friendly version that extends and integrates the two programs in a single application with a GUI frontend.
I will keep you updated through this page as the new application begins to take shape.