Hi.
I am not quite sure if this has been mentioned in other threads/forums but since I could not find any info about this I would like to share my experience on how to make rtmpdump package work on linux OpenSuSe 12.3 edition.
It took me for about two weeks to pinpoint what was wrong with the default settings on SuSeFirewall2 that were preventing me from using it at the same time as rtmpsrv/rtmpsuck. The problem was that, if I had the firewall on, even if I had set up port redirection (with the "
iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner root -j REDIRECT" rule), still I would not be able to catch any stream parameters.
So I took some stubbornness of mine and "invested" in this pursuit.
Today, reading the
/etc/sysconfig/SuSefirewall2 file more thoroughly, I managed to find the answer to this "disturbing" issue:
- by the end of the config file /etc/sysconfig/SuSefirewall2 there's one "variable" that is not set by default (and so defaults to "yes" which is the opposite of what it should be for this particular matter);
- that variable's name is FW_LO_NOTRACK, and for redirecting 1935 port, one should set it like so: FW_LO_NOTRACK="no". This means that the firewall setting will then allow "tracking" the loopback device, where rtmpsuck and rtmpsrv will be listening afterwards (after setting this variable, restarting SuSefirewall2 at root's prompt and finally issuing the redirection command given above.
So wrapping-up we've got:
- edit /etc/sysconfig/SuSefirewall2 and set FW_LO_NOTRACK="no" at its end;
- firing/restarting SuSefirewall2 by issuing SuSefirewall2 on a # (root) prompt
- adding/appending the redirection rule (also on the # prompt like this: iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner root -j REDIRECT
Then, you can go on another terminal with the normal privileges and fire up rtmpsrv or rtmpsuck followed by your browser to get the stream parameters.
When you get those you can either just undo (Delete) the above 3rd step, or restart SuSefirewall2 that it will simply overwrite the redirection command.
Cheers!