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.
v4l2rtspserver/README.md

96 lines
3.4 KiB
Markdown

10 years ago
[![Build status](https://travis-ci.org/mpromonet/h264_v4l2_rtspserver.png)](https://travis-ci.org/mpromonet/h264_v4l2_rtspserver)
[![Coverity Scan Build Status](https://scan.coverity.com/projects/4644/badge.svg)](https://scan.coverity.com/projects/4644)
[![Coverage Status](https://coveralls.io/repos/github/mpromonet/h264_v4l2_rtspserver/badge.svg?branch=master)](https://coveralls.io/github/mpromonet/h264_v4l2_rtspserver?branch=master)
10 years ago
11 years ago
h264_v4l2_rtspserver
====================
10 years ago
It is an RTSP server feed from an Video4Linux device that support H264 format.
10 years ago
It is based on :
11 years ago
- libv4l-dev to capture video frames
- liblivemedia-dev (http://www.live555.com) to implement RTSP server
The RTSP server support :
- RTP/UDP unicast
- RTP/UDP multicast
- RTP/TCP
- RTP/RTSP/HTTP
11 years ago
License
10 years ago
------------
11 years ago
Domain public
10 years ago
Dependencies
10 years ago
------------
- liblivemedia-dev > live.2012.01.07 (need StreamReplicator)
- libv4l-dev
10 years ago
- liblog4cpp5-dev
10 years ago
11 years ago
Build
10 years ago
-------
cmake . && make
10 years ago
10 years ago
If it fails you will need to install libv4l-dev liblivemedia-dev liblog4cpp5-dev.
10 years ago
If it still not work you will need to read Makefile.
11 years ago
10 years ago
Install
---------
9 years ago
make install
Build Package
-------------
10 years ago
cpack .
dpkg -i h264_v4l2_rtspserver*.deb
Using Raspberry Pi Camera
-------------------------
This RTSP server works using Raspberry Pi camera with :
10 years ago
- the unofficial V4L2 driver for the Raspberry Pi Camera Module http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14
9 years ago
sudo uv4l --driver raspicam --auto-video_nr --encoding h264
10 years ago
- the official V4L2 driver bcm2835-v4l2
9 years ago
sudo modprobe -v bcm2835-v4l2
11 years ago
Using with v4l2loopback
-----------------------
For camera providing uncompress format [v4l2tools](https://github.com/mpromonet/v4l2tools) can compress the video to an intermediate virtual V4L2 device [v4l2loopback](https://github.com/umlaeute/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 &
11 years ago
Usage
-----
9 years ago
./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
11 years ago
-Q length: Number of frame queue (default 10)
-O output: Copy captured frame to a file or a V4L2 device
10 years ago
RTSP options :
-I addr : RTSP interface (default autodetect)
11 years ago
-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)
9 years ago
-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)
10 years ago
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)
9 years ago
-f : V4L2 capture using current format (-W,-H,-F are ignored)
11 years ago
-W width : V4L2 capture width (default 640)
-H height: V4L2 capture height (default 480)
9 years ago
-F fps : V4L2 capture framerate (default 25)
11 years ago
device : V4L2 capture device (default /dev/video0)