TK1搭建live555

来源:互联网 发布:淘宝vivo智能手机 编辑:程序博客网 时间:2024/05/17 03:19

wget  http://www.live555.com/liveMedia/public/live555-latest.tar.gztar xzf live555-latest.tar.gzcd live

打开live/testProgs/testOnDemandRTSPServer.cpp,找到“ // A H.264 video elementary stream:”

    char const* streamName = "liv0";
    char const* inputFileName = "~/test.264";

修改reuseFirstSource的值为True

./genMakefiles linux #注意后面这个参数是根据当前文件夹下config.<后缀>获取得到的make

.安装Yasm:x264需要使用yasm来针对CPU架构进行优化,提高性能。

code:

cd
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make

(aptitude checkinstall第一次选n第二次选y)
sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no --deldoc=yes --default

3.安装x264:下载源代码、编译、安装

code:

cd
git clone git://git.videolan.org/x264
cd x264

sudo ./configure --enable-shared
make
make install
编译zlib
$wget http://www.zlib.net/zlib-1.2.8.tar.gz
$tar -xvzf zlib-1.2.8.tar.gz
$cd zlib-1.2.3.tar.gz
$./configure
$make
$sudo make install
编译ffmpeg

sudo wget http://ffmpeg.org/releases/ffmpeg-2.8.1.tar.bz2

sudo tar xvjf ffmpeg-2.8.1.tar.bz2

./configure --enable-gpl --enable-libx264 --enable-shared --prefix=/usr/local

make

make install

ffmpeg正常安装后执行ffmpeg时出现如下错误:

ffmpeg: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory

解决办法:

vi /etc/ld.so.conf

加入:/usr/local/lib

执行ldconfig

v4l2-ctl

这是一个纯命令行的工具,因此适用性很强,可以被脚本甚至程序调用对摄像头进行参数的配置。 使用apt-get安装此命令: 

sudo apt-get install v4l-utils 

该命令的完整使用大家可以自行查阅文档。这里例举常用的命令 查看目前所有v4l设备: 

v4l2-ctl --list-devices

将得到类似如下的输出: 

linaro@linaro-alip:~$ v4l2-ctl --list-devices Altair USB2.0 Camera (usb-sw-ehci-1.1):         /dev/video0

列出摄像头的属性: 

v4l2-ctl –a –d /dev/video0

(如果摄像头不是/dev/video0这个设备,请更改上述命令) 将得到指定摄像头的各类信息,如下列输出: 

linaro@linaro-alip:/usr/lib/vino$ v4l2-ctl --all -d /dev/video0Driver Info (not using libv4l2):         Driver name   : uvcvideo         Card type     : Altair USB2.0 Camera         Bus info      : usb-sw-ehci-1.1         Driver version: 1.1.0         Capabilities  : 0x04000001                 Video Capture                 Streaming Format Video Capture:         Width/Height  : 640/480         Pixel Format  : 'YUYV'         Field         : None         Bytes per Line: 1280         Size Image    : 614400         Colorspace    : SRGB Crop Capability Video Capture:         Bounds      : Left 0, Top 0, Width 640, Height 480         Default     : Left 0, Top 0, Width 640, Height 480         Pixel Aspect: 1/1 Video input : 0 (Camera 1: ok) Streaming Parameters Video Capture:         Capabilities     : timeperframe         Frames per second: 30.000 (30/1)         Read buffers     : 0

可以看到目前我使用的摄像头支持30fps,640x480 YUV2的输出格式。

列出对当前摄像头有效的配置选项: 

v4l2-ctl –l -d /dev/video0

(如果摄像头不是/dev/video0这个设备,请更改上述命令) 将得到类似如下的输出: 

 

图:所有被当前摄像头所支持的配置选项

这个列表中的出现的项目都是可以设置的,比如上图所示,我目前的摄像头可以进行曝光率(exposure_absolute项目)的调节,在视觉处理里面,曝光率调节会比较多用。因为摄像头默认的自动曝光很多时候会干扰算法运行。

设置某一项摄像头参数 可以对上面提到的配置选项进行设置,这里以设置固定曝光值为-10为例: 

v4l2-ctl -c exposure_auto=1 #关闭自动曝光 v4l2-ctl -c exposure_absolute=-10 #设置固定曝光为-10

对于其他方面的设置,大家可以按照自身摄像头的情况进行尝试。

0 0
原创粉丝点击