Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
RTSP to HTTP with VLC (Windows)
:: The following line is neccessary if you need an ability to restart the streams with this batch file
:: Kill all existing streams (the command actually suspends ALL the vlc processes):
taskkill /f /im "vlc.exe"
:: Run two instances of VLC. These would transcode MP4 rtsp-stream to Motion JPEG http-stream:
start vlc -vvv -Idummy rtsp://login:password@192.168.0.2/streaming/channels/2/preview --sout #transcode{vcodec=MJPG,venc=ffmpeg{strict=1},fps=10,width=640,height=360}:standard{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=:9911/}
start vlc -vvv -Idummy rtsp://login:password@192.168.0.3/streaming/channels/2/preview --sout #transcode{vcodec=MJPG,venc=ffmpeg{strict=1},fps=10,width=640,height=360}:standard{access=http{mime=multipart/x-mixed-replace;boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=:9912/}
:: In order to execute VLC with `vlc` as in exapmle above, you have to add corresponding value to the PATH variable.
:: Otherwise you have to use full path e.g `"C:\Program Files\VLC\vlc.exe"`.
:: Such rtsp-stream uri as rtsp://login:password@127.0.0.1/streaming/channels/2/preview is specific for Hikvision cameras.
:: Access the http-streams like that:
:: For the first camera: http://127.0.0.1:9911
:: For the the second camera: http://127.0.0.1:9912
:: For external access change `127.0.0.1` to the address of the server (or PC) you are running VLC on.
:: Your server's Ports you are using for streaming (9911 and 9912 from current example) must be open for external access.
@JonesTwink

This comment has been minimized.

Copy link
Owner Author

JonesTwink commented Jul 17, 2018

This example shows how to transcode an RTSP-stream to HTTP-stream (MJPEG) with VLC.
rtsp://mycameraip -> http://myserverip
It might be a suitable solution if there's a need to embedd an rtsp-stream from a cctv-camera to a web-page and this web-page will be used by a wide range of devices (LG WebOS TVs for example).

The following line
taskkill /f /im "vlc.exe"
is neccessary if you need an ability to restart the streams with this batch file

The part of uri /streaming/channels/2/preview is specific for Hikvision cameras.

Access the http-streams like that:
http://127.0.0.1:9911
For external access change 127.0.0.1 to the address of the server (or PC) you are running VLC on. Your server's ports you are using for streaming (9911 from current example) must be open for external access.

@Emalton

This comment has been minimized.

Copy link

Emalton commented Apr 20, 2020

Thank you! It still works great!

@JonesTwink

This comment has been minimized.

Copy link
Owner Author

JonesTwink commented May 14, 2020

For external access change 127.0.0.1 to the address of the server (or PC) you are running VLC on. Your server's ports you are using for streaming (9911 from current example) must be open for external access.

I opened inbound port 9911 in windows firewall but not able to access the stream on another device.

Probably something is misconfigured in some other part of you infrastructure. Host any static resource on this machine & port and check whether or not you're able to access it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.