#acl FreaknetGroup:read,write,admin,delete,revert All:read = RTSP STREAMING HOLOCAUST = <> The goal is: stream a webcam or a source that ISN'T rtsp creating a RTSP stream into a local port or something that can be used to stream out the shit, for example to rtsp.me server. == DLINK SHITTY CAMERA == First case is this fucking DLINK DCS-933L. No rtsp at all. Camera can be set up only with the FUCKING EXPLORER 11. Install User-Agent Switcher for Chrome plugin / addon so you can mimic explore11 into chrome and setup the camera as you need. Camera view is here: http://10.69.1.220/video.cgi or mjpeg.cgi === FFMPEG howto === '''FFMPEG IS A STEAMING PILE OF SHIT. FUCK THAT SHIT AND HIS CREATOR.''' I spent weeks trying it. I got rtsp with ffmpeg consuming '''100% of all 4 cores on my i5 cpu. That's ridiculous. DON'T USE IT.''' === VLC HOWTO === * Use GUI. * launch vlc * press Ctrl-S * click on NETWORK tab, and enter the CAMERA URL where the fucking video is: example "http://user:user@your.server:22080/video.cgi" * click Stream * click Next * choose New Destination: RTSP. If you wanna a different port from 8554, click "Add" and set it there. * click Next * Select a profile (h264+mp3 for example) * click Next * COPY SOMEWHERE THE GENERATED STRING OUTPUT!!! If it's blank, click some times on "Stream all elementary streams" to show it * click STREAM! and YOU'RE FUCKING STREAMING that camera on rtsp on the port you selected, on your pc. To view, ASSUMING your port was 8554: ''ffplay rtsp://your.local.streaming.vlc.ip:8554/'' '''DON'T FORGET THE / AT THE END''' NOW, you saved your generated output string before. You are streaming from vlc interface but yo' smart, yo'wanna cvlc. convert it! String: {{{ :sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:58554/} :no-sout-all :sout-keep}}} become: {{{ cvlc --sout "#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:58554/}" --no-sout-all --sout-keep http://user:pass@your.camera.address:yourcameraport/video.cgi }}} Some tuning can be made! This camera doesn't have audio at all. So the string became: {{{ cvlc --sout "#transcode{vcodec=h264,scale=Auto}:rtp{sdp=rtsp://:8554/}" --sout-keep http://user:pass@your.camera.address:yourcameraport/video.cgi }}} mjpg as a vcodec can help use less cpu BUT rtsp.me don't accept it with the free plan: {{{ cvlc --sout "#transcode{vcodec=mjpg,scale=Auto}:rtp{sdp=rtsp://:8554/}" --sout-keep http://user:pass@your.camera.address:yourcameraport/video.cgi }}} === LAST WORKING COMMAND LINE FOR DLINK FUCKING CAMERA === {{{ cvlc --sout "#transcode{vcodec=h264,scale=Auto}:rtp{sdp=rtsp://:8554/}" --sout-keep http://user:pass@server.ip:port/video.cgi }}} == Raspberry PI with an usb camera == Rasp pi has very low memory. Tried this on a 256 MB rasp pi 1 HAHAHAHAH!!! Setup was done using vlc GUI on my laptop because I can't figure out HOW THE FUCK VLC want the /dev/video0 device showed in his ass. So: === VLC HOWTO to set up raspberry === * Use GUI on some other pc, e.g. your laptop it has an usb video camera. * launch vlc * press Ctrl-S * click on CAPTURE DEVICE tab, set capture mode to VIDEO CAMERA, enter the VIDEO DEVICE NAME where the fucking video is, i suppose dev/video0. If you have audio, try it there. * I also set Video Standard to PAL. * click Stream * click Next * choose New Destination: RTSP. If you wanna a different port from 8554, click "Add" and set it there. * click Next * Select a profile (h264+mp3 for example) * click Next * COPY SOMEWHERE THE GENERATED STRING OUTPUT!!! If it's blank, click some times on "Stream all elementary streams" to show it * click STREAM! and YOU'RE FUCKING STREAMING that camera on rtsp on the port you selected, on your pc. Test it using ffplay. BECAUSE YO'SMART, you want to use cvlc instead. So, convert your magic string: {{{ :sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:58554/} :no-sout-all :sout-keep }}} into {{{ cvlc --sout "transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:58554/}" --no-sout-all --sout-keep v4l2:///dev/video0 }}} '''''note the v4l2:// for using the video device. WHAT A FUCKING SHIT. why THE FUCK vlc need v4l2 there? WHY THE HOLY FUCK we can't simply write /dev/video0 and let vlc KNOW or GUESS that, in order to deal with a FUCKING VIDEO DEVICE, it's CLEAR that you must use v4l shit? Those things are driving me nuts about usability.''''' As usual you can tweak to use no sound, and mjpg as we did before. '''NOTE: h264 uses almost 100% cpu on raspberry and sometimes it dies with a malloc() error. mjpg instead uses only 45% of the cpu and the rtsp goes out smoothly. But rtsp.me can't accept it with the free plan.''' === LAST TRIED COMMAND LINE ON RASP PI 1 WITH 256 MB RAM === {{{ cvlc --sout "#transcode{vcodec=mjpg,scale=Auto}:rtp{sdp=rtsp://:8554/}" --sout-keep v4l2:///dev/video0 }}} == PORT FORWARDING == To expose your rtsp streams outside to rtsp.me, '''you must forward TCP AND UDP!!!!!!''' == rtsp.me problems == this fucking site. === VERY IMPORTANT: SET UDP INTO ADVANCED SETTINGS === '''YOU MUST SET "TRANSPORT:UDP" IN ADVANCED SETTINGS, AND SAVE!''' === You MUST WAIT === Click on rtsp.me url, and FUCKING WAIT. It's slow to load, dunno why. Buffering? === mjpg stuck === If you try mjpg somewhere, when you revert stream to h264, this fucking site remember mjpg and got stuck there. You need to DELETE the camera and create it back. === stream doesn't start === You launch the stream, rtsp.me doesn't start. You wait, and after some minutes, it give you the MIDDLE FINGER. You must first play your stream from somewhere using ffplay or mplayer or whatever. After that, rtsp.me works. Dunno why. == Conclusion == That's FUCKING ALL after 3 days of madness following WEEKS of checking the internet for any clear howto about how to do this shit. I hope this howto IS FUCKING EASY and COMPLETE. STEP BY STEP. GOD BLESS YA ALL, GOD BLESS THE U.S.A. '''Thanks to Lobo, Katolaz, Nigthtolo and Freaknet guys!!!'''