Please note this is work in progress...
1st things 1st, to keep this in content we are using RTMPDump for "live streaming" to VLC or MPlayer or any other player that is supported. If you are after downloading videos with RTMPDump things dont change that much but a good add-on to have along side is get-flash-videos. So please keep this discussion about "live streaming" with RTMPDump and not downloading video.
Q. What is RTMPDump...?
A. RTMPDump is a toolkit for RTMP streams. All forms of RTMP are supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.
Downloading/Installing/Compiling from source
Windows
Latest official release - rtmpdump-2.3-windows.zip
Latest git release - rtmpdump-20110723-git-b627335-win32.zip
Unofficial release 2.4 - rtmpdump-2.4.zip
Unofficial rtmpdump 2.4 binaries compiled with KSV's patches - rtmpdump 2.4 - MIRROR
Unofficial rtmpdump 2.4 binaries compiled with KSV's patches[Mips Fix] - rtmpdump-2.4 - MIRROR
Unofficial release 2.5 - >removed by request<
Xeebo and KSV 2.5 patches - >removed by request<
KSV's github repository - https://github.com/K-S-V/Scripts
svnpenn's github repository - https://github.com/svnpenn/rtmpdump/downloads
GUI for RTMPDump
rtmpGUI - rtmpGUI - MIRROR
VLCexplorer - VLCexplorer - MIRROR
rtmpdump helper - RTMPDumpHelper - MIRROR
RTMPexplorer - RTMPexplorer - MIRROR
RTMPexplorerX - RTMPexplorerX - MIRROR
JTV-Downloader - JTV-Downloader - MIRROR
A FEW TIPS: Here ill give you 2 ways to make RTMPDump just work ok.
Tip 1
Copy rtmpdump.exe to your C:\Windows\System32 Folder.
Tip 2
a) Make a new Folder on your C:\ Drive(Root) and call it
rtmpdump and place rtmpdump.exe in there.
b) From your desktop right click My Computer(XP) Computer(Vista, 7) then choose...
Code:
Advanced System Settings --> Environment Variables... --> System Variables --> Path
c) Click Edit and add right at the end this exactly as i have it...
NOTE: Very important dont delete any other text or youll f*ckup your computer.
Click Ok, Ok.
d) Now to test if rtmpdump is working open a CMD window and type
rtmpdump -h and hit Enter.
Now rtmpdump works from anywhere as its a system variable...
Compiling RTMPDump using MinGW.
Code:
1. Get zlib from the following link:
http://gnuwin32.sourceforge.net/packages/zlib.htm
Extract the archive and copy file "zlib1.dll" into your \MinGW\lib directory.
2. Get openssl from:
http://www.slproweb.com/products/Win32OpenSSL.html
Select the "full" installer. Install and copy files "libeay32" "ssleay32" with
extensions ".dll", ".lib" ".def" ".a" into \MinGW\lib and the files
from \OpenSSL\include
into \MinGW\include\openssl .
2.5. Download & Extract RTMPDump source tarball.
3. Edit the Makefile of rtmpdump and change the line:
LIBS=-lcrypto -lz
into:
LIBS=-llibeay32 -llibssl32 -lzlib1
4. Compile rtmpdump and run
...
Linux
Latest official release - rtmpdump-2.3.tgz
Unofficial release -
Compiling RTMPDump
Code:
1. Download RTMPDump source tarball.
2. Extracted it.
3. Change directory - cd /home/user/Downloads/rtmpdump-2.3
4. Then - make SYS=posix
5. Then - sudo make install
Please note: You will need build-essentials to compile correctly first.
Code:
sudo apt-get install build-essentials
Installing RTMPDump from Ubuntu, Mint etc... repository.
Code:
1. Open Terminal
2. sudo apt-get install rtmpdump
...
Mac OS
Latest official release - NONE
Unofficial release - rtmpdump-2.3_mac_os
Compiling RTMPDump
Code:
1. Download and extract the latest RTMPDump source tarball, open a Terminal window and cd to the directory you just extracted the sources, i.e. ./rtmpdump-2.3
2. You need to make a small change in the Makefile in the ./librtmp directory, so you need to cd into that directory
3. Edit Makefile in ./librtmp and replace -soname with -dylib_install_name
4. cd ..
5. sudo make install SYS=posix
...
Android
Latest official release - rtmpdump-2.3-android.zip
RTMPdump build for Android - https://github.com/S74ck3r/rtmpdump/downloads
Unofficial release -
Compiling RTMPDump
...
Older Releases
Binaries of past builds for all platforms - rtmpdump-binaries
RTMPDump Help
Code:
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
rtmpdump: This program dumps the media content streamed over RTMP.
--help|-h Prints this help screen.
--rtmp|-r url URL (e.g. rtmp://host[:port]/path)
--host|-n hostname Overrides the hostname in the rtmp url
--port|-c port Overrides the port in the rtmp url
--socks|-S host:port Use the specified SOCKS proxy
--protocol|-l num Overrides the protocol in the rtmp url (0 - RTMP, 2 - RTMPE)
--playpath|-y path Overrides the playpath parsed from rtmp url
--playlist|-Y Set playlist before playing
--swfUrl|-s url URL to player swf file
--tcUrl|-t url URL to played stream (default: "rtmp://host[:port]/app")
--pageUrl|-p url Web URL of played programme
--app|-a app Name of target app on server
--swfhash|-w hexstring SHA256 hash of the decompressed SWF file (32 bytes)
--swfsize|-x num Size of the decompressed SWF file, required for SWFVerification
--swfVfy|-W url URL to player swf file, compute hash/size automatically
--swfAge|-X days Number of days to use cached SWF hash before refreshing
--auth|-u string Authentication string to be appended to the connect string
--conn|-C type:data Arbitrary AMF data to be appended to the connect string
B:boolean(0|1), S:string, N:number, O:object-flag(0|1),
Z:(null), NB:name:boolean, NS:name:string, NN:name:number
--flashVer|-f string Flash version string (default: "WIN 10,0,32,18")
--live|-v Save a live stream, no --resume (seeking) of live streams possible
--subscribe|-d string Stream name to subscribe to (otherwise defaults to playpath if live is specifed)
--flv|-o string FLV output file name, if the file name is - print stream to stdout
--resume|-e Resume a partial RTMP download
--timeout|-m num Timeout connection num seconds (default: 30)
--start|-A num Start at num seconds into stream (not valid when using --live)
--stop|-B num Stop at num seconds into stream
--token|-T key Key for SecureToken response
--hashes|-# Display progress with hashes, not with the byte counter
--buffer|-b Buffer time in milliseconds (default: 36000000)
--skip|-k num Skip num keyframes when looking for last keyframe to resume from. Useful if resume fails (default: 0)
--quiet|-q Suppresses all command output.
--verbose|-V Verbose command output.
--debug|-z Debug level command output.
If you don't pass parameters for swfUrl, pageUrl, or auth these properties will
not be included in the connect packet.
Tutorial
A nice and easy to follow tutorial by screensports can be downloaded and will show you how to hunt down RTMP streams and use RTMPDump. - Tutorial : Sniffing + rtmpdump
How to use rtmpsrv or rtmpsuck in Linux(Ubuntu, Mint etc...)
Code:
1. Create a new user account so you can monitor the rtmp protocol --> System --> Administration --> Users and Groups.
2. Create a new user/login account and name it user2.
3. Open a terminal to setup the monitor rules...
Code:
sudo iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner user2 -j REDIRECT
4. Next switch to the new user2 account within the terminal...
5. Next launch either rtmpsrv(Live) or rtmpsuck(Record)...
NOTE: If you use rtmpsuck make sure the folder you are going to save the file to is shared between your user accounts otherwise nothing will be downloaded/saved.
6. Start playing/refresh(F5) the stream, rtmpsrv will generate the string/syntax needed to download using rtmpdump or if its rtmpsuck it will begin saving (ONLY if the folder you are currently in is shared) if you use rtmpsrv then you need to copy the syntax and return to your default user account, in terminal press Ctrl & C and type...
7. Still in the terminal cancel the monitoring rule...
Code:
sudo iptables -t nat -F
8. Now the syntax that you copied from rtmpsrv can be put into rtmpdump...
Code:
rtmpdump "syntax" | Media Player
NOTE: Dont forget to pipe(|) it to your Media Player(MPlayer, VLC etc...) of choice.
flvstreamer a re-fork of rtmpdump-2.1c
Q. What is flvstreamer...?
A. flvstreamer is an open source command-line RTMP client intended to stream audio or video content from all types of flash or rtmp servers. Forked from rtmpdump v1.6 with encrypted rtmp and swf verification support removed. This tool provides free interoperability with the previously undocumented adobe RTMP protocol so widely in use on the internet today. It was developed entirely by reverse engineering methods and without access to any proprietary or restrictive-license protocol specifications.
Windows
Latest official release - http://download-mirror.savannah.gnu....treamer/win32/
Linux
Latest official release - http://download-mirror.savannah.gnu....treamer/linux/
Mac OS
Latest official release - http://download-mirror.savannah.gnu....reamer/macosx/
flvstreamer Source Code - http://download-mirror.savannah.gnu....reamer/source/
Read Me - http://svn.savannah.gnu.org/viewvc/*...ot=flvstreamer