You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
mpromonet e58fcde90c build raspberry package using https://github.com/raspberrypi/tools.git toolchain 9 years ago
inc accept short start code 9 years ago
src fix #11 do not try to open an output when parameter is not set + do not start mainloop if no source is available 9 years ago
v4l2wrapper@95a99a01ab upgrade v4l2wrapper 9 years ago
.gitignore try to build raspberry on travis 9 years ago
.gitmodules extract V4L2 wrapper 10 years ago
.travis.yml build raspberry package using https://github.com/raspberrypi/tools.git toolchain 9 years ago
CMakeLists.txt allow to cross compile for raspberry 9 years ago
LICENSE Initial commit 11 years ago
README.md update README adding link to v4l2tool to compress input stream 9 years ago
raspberry.toolchain allow to cross compile for raspberry 9 years ago

README.md

Build status Coverity Scan Build Status

h264_v4l2_rtspserver

It is an RTSP server feed from an Video4Linux device that support H264 format.

It is based on :

The RTSP server support :

  • RTP/UDP unicast
  • RTP/UDP multicast
  • RTP/TCP
  • RTP/RTSP/HTTP

License

Domain public

Dependencies

  • liblivemedia-dev > live.2012.01.07 (need StreamReplicator)
  • libv4l-dev
  • liblog4cpp5-dev

Build

cmake . && make

If it fails you will need to install libv4l-dev liblivemedia-dev liblog4cpp5-dev.
If it still not work you will need to read Makefile.

Install

make install

Build Package

cpack .
dpkg -i h264_v4l2_rtspserver*.deb

Using Raspberry Pi Camera

This RTSP server works using Raspberry Pi camera with :

Using with v4l2loopback

For camera providing uncompress format v4l2tools can compress the video to an intermediate virtual V4L2 device v4l2loopback:

/dev/video0 (camera device)-> v4l2compress_h264 -> /dev/video10 (v4l2loopback device) -> h264_v4l2_rtspserver

This workflow could be set using :

modprobe v4l2loopback video_nr=10
v4l2compress_h264 /dev/video0 /dev/video10 &
h264_v4l2_rtspserver /dev/video10 &

Usage

./h264_v4l2_rtspserver [-v[v]] [-Q queueSize] [-O file] \
		       [-I interface] [-P RTSP port] [-T RTSP/HTTP port] [-m multicast url] [-u unicast url] [-M multicast addr] [-c] [-t timeout] \
		       [-r] [-s] [-W width] [-H height] [-F fps] [device1] [device2]
	 -v       : verbose
	 -vv      : very verbose
	 -Q length: Number of frame queue  (default 10)
	 -O output: Copy captured frame to a file or a V4L2 device
	 RTSP options :
	 -I addr  : RTSP interface (default autodetect)
	 -P port  : RTSP port (default 8554)
	 -T port  : RTSP over HTTP port (default 0)
	 -u url   : unicast url (default unicast)
	 -m url   : multicast url (default multicast)
	 -M addr  : multicast group:port (default is random_address:20000)
	 -c       : don't repeat config (default repeat config before IDR frame)
	 -t secs  : RTCP expiration timeout (default 65)
	 V4L2 options :
	 -r       : V4L2 capture using read interface (default use memory mapped buffers)
	 -s       : V4L2 capture using live555 mainloop (default use a separated reading thread)
	 -f       : V4L2 capture using current format (-W,-H,-F are ignored)
	 -W width : V4L2 capture width (default 640)
	 -H height: V4L2 capture height (default 480)
	 -F fps   : V4L2 capture framerate (default 25)
	 device   : V4L2 capture device (default /dev/video0)