2014-09-12 22:59:58 +00:00
|
|
|
[![Build status](https://travis-ci.org/mpromonet/h264_v4l2_rtspserver.png)](https://travis-ci.org/mpromonet/h264_v4l2_rtspserver)
|
2015-03-25 21:46:11 +00:00
|
|
|
[![Coverity Scan Build Status](https://scan.coverity.com/projects/4644/badge.svg)](https://scan.coverity.com/projects/4644)
|
2014-09-12 22:51:38 +00:00
|
|
|
|
2013-11-09 23:08:44 +00:00
|
|
|
h264_v4l2_rtspserver
|
|
|
|
====================
|
2013-11-09 23:34:56 +00:00
|
|
|
|
2014-09-13 15:33:45 +00:00
|
|
|
It is an RTSP server feed from an Video4Linux device that support H264 format.
|
2013-11-09 23:34:56 +00:00
|
|
|
|
2014-09-13 15:33:45 +00:00
|
|
|
It is based on :
|
2013-11-10 14:41:05 +00:00
|
|
|
- libv4l-dev to capture video frames
|
|
|
|
- liblivemedia-dev (http://www.live555.com) to implement RTSP server
|
2013-11-09 23:34:56 +00:00
|
|
|
|
|
|
|
The RTSP server support :
|
|
|
|
- RTP/UDP unicast
|
|
|
|
- RTP/UDP multicast
|
|
|
|
- RTP/TCP
|
|
|
|
- RTP/RTSP/HTTP
|
|
|
|
|
2013-11-09 23:44:03 +00:00
|
|
|
License
|
2014-08-18 21:35:23 +00:00
|
|
|
------------
|
2013-11-09 23:44:03 +00:00
|
|
|
Domain public
|
|
|
|
|
2014-11-22 14:35:59 +00:00
|
|
|
Dependencies
|
2014-09-13 15:33:45 +00:00
|
|
|
------------
|
|
|
|
- liblivemedia-dev > live.2012.01.07 (need StreamReplicator)
|
|
|
|
- libv4l-dev
|
2014-11-22 14:35:59 +00:00
|
|
|
- liblog4cpp5-dev
|
2014-09-13 15:33:45 +00:00
|
|
|
|
2013-11-09 23:44:03 +00:00
|
|
|
Build
|
2014-08-18 21:35:23 +00:00
|
|
|
-------
|
2014-08-15 22:33:02 +00:00
|
|
|
cmake .
|
|
|
|
make
|
|
|
|
|
2014-11-22 14:35:59 +00:00
|
|
|
If it fails you will need to install libv4l-dev liblivemedia-dev liblog4cpp5-dev.
|
2014-08-15 22:33:02 +00:00
|
|
|
If it still not work you will need to read Makefile.
|
2013-11-10 14:41:05 +00:00
|
|
|
|
2014-08-18 21:35:23 +00:00
|
|
|
Install
|
|
|
|
---------
|
2015-09-05 16:09:13 +00:00
|
|
|
make install
|
|
|
|
|
|
|
|
Package
|
|
|
|
---------
|
2014-08-18 21:35:23 +00:00
|
|
|
cpack .
|
|
|
|
dpkg -i h264_v4l2_rtspserver*.deb
|
|
|
|
|
2013-11-10 14:41:05 +00:00
|
|
|
Raspberry Pi
|
|
|
|
------------
|
2014-08-18 21:35:23 +00:00
|
|
|
This RTSP server works on Raspberry Pi using :
|
|
|
|
- the unofficial V4L2 driver for the Raspberry Pi Camera Module http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14
|
2015-01-22 21:37:35 +00:00
|
|
|
|
2015-01-22 21:30:27 +00:00
|
|
|
sudo uv4l --driver raspicam --auto-video_nr --encoding h264
|
2014-08-18 21:35:23 +00:00
|
|
|
- the official V4L2 driver bcm2835-v4l2
|
2015-01-22 21:37:35 +00:00
|
|
|
|
2015-01-22 21:30:27 +00:00
|
|
|
sudo modprobe -v bcm2835-v4l2
|
2013-11-09 23:44:03 +00:00
|
|
|
|
2013-11-09 23:45:40 +00:00
|
|
|
Usage
|
|
|
|
-----
|
2015-09-05 16:09:13 +00:00
|
|
|
./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]
|
2015-01-22 21:30:27 +00:00
|
|
|
-v : verbose
|
|
|
|
-vv : very verbose
|
2013-11-09 23:49:18 +00:00
|
|
|
-Q length: Number of frame queue (default 10)
|
2015-01-22 21:30:27 +00:00
|
|
|
-O output: Copy captured frame to a file or a V4L2 device
|
2014-08-18 21:35:23 +00:00
|
|
|
RTSP options :
|
2015-07-07 19:06:11 +00:00
|
|
|
-I addr : RTSP interface (default autodetect)
|
2013-11-09 23:49:18 +00:00
|
|
|
-P port : RTSP port (default 8554)
|
2015-08-01 16:39:46 +00:00
|
|
|
-T port : RTSP over HTTP port (default 0)
|
|
|
|
-u url : unicast url (default unicast)
|
|
|
|
-m url : multicast url (default multicast)
|
2015-09-06 18:15:19 +00:00
|
|
|
-M addr : multicast group:port (default is random_address:20000)
|
2015-08-01 16:39:46 +00:00
|
|
|
-c : don't repeat config (default repeat config before IDR frame)
|
2015-05-03 21:38:49 +00:00
|
|
|
-t secs : RTCP expiration timeout (default 65)
|
2014-08-18 21:35:23 +00:00
|
|
|
V4L2 options :
|
2015-03-14 16:37:26 +00:00
|
|
|
-r : V4L2 capture using read interface (default use memory mapped buffers)
|
|
|
|
-s : V4L2 capture using live555 mainloop (default use a separated reading thread)
|
2015-09-06 18:15:19 +00:00
|
|
|
-f : V4L2 capture using current format (-W,-H,-F are ignored)
|
2013-11-09 23:49:18 +00:00
|
|
|
-W width : V4L2 capture width (default 640)
|
|
|
|
-H height: V4L2 capture height (default 480)
|
2015-09-05 16:09:13 +00:00
|
|
|
-F fps : V4L2 capture framerate (default 25)
|
2013-11-09 23:49:18 +00:00
|
|
|
device : V4L2 capture device (default /dev/video0)
|
2015-01-25 18:31:18 +00:00
|
|
|
|