2516

Ubuntu系统下源码安装MJPG-Streamer及使用

乐果   发表于   2017 年 10 月 27 日 标签:uvclinuxubuntu

一、获取源码及编译

$sudo apt-get install libjpeg-dev subversion imagemagick  
$ svn checkout svn://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code  
$ cd mjpg-streamer/mjpg-streamer  
$ make clean all  

二、运行

$ export LD_LIBRARY_PATH=.
$ ./mjpg_streamer -i "input_uvc.so -y -d /dev/video0" -o "output_http.so -w ./www"

想要查看视频,请在web页面中输入地址:http://127.0.0.1:8080

三、安装

如果需要安装该应用,执行以下指令:

sudo make DESTDIR=/usr install

四、可使用的分辨率

YUV2
1600×1200 5 fps
960×720 10 fps
800×600 25 fps
640×480 30 fps
352×288 30 fps
320×240 30 fps
176×144 30 fps
160×120 30 fps
MJPG
960×720 15 fps
800×600 30 fps
640×480 30 fps
352×288 30 fps
320×240 30 fps
176×144 30 fps
160×120 30 fps

示例一:

$ ./mjpg_streamer -i "input_uvc.so -d /dev/video0 -y -r 1600x1200" -o "output_http.so -w ./www"

示例二:

$ ./mjpg_streamer -i "input_uvc.so -d /dev/video0 -f 15 -r 960x720" -o "output_http.so -w ./www"

五、创建启动的脚本

#!/bin/bash
RESOLUTION="960x720"
FRAMERATE="15"
MJPG_WEB_ROOT="/home/philipp/Downloads/mjpg-streamer/mjpg-streamer/www"
PORT="8081"

mjpg_streamer -i "input_uvc.so -d /dev/video0 -f $FRAME_RATE -r $RESOLUTION" -o "output_http.so -w $MJPG_WEB_ROOT -p $PORT"

六、其它

1.http认证

$ ./mjpg_streamer -i "input_uvc.so -d /dev/video1 -f 15 -r 800x600" -o "output_http.so -w ./www -c uSeRnAmE:s3cure-pAssw0rd"

2.mplayer播放

$ mplayer -fps 30 -demuxer lavf "http://127.0.0.1:8080/?action=stream&ignored.mjpg"

七、录制

写一个shell脚步:

#!/bin/sh
flvpath="/home/xiao/document/jiankong"
nowdate=`date --date='0 days ago' "+%Y%m%d"`
lztime="00:30:00"
#echo $flvpath
while ((true))
do
        hours=`date --date='0 days ago' "+%H"`
        echo $hours

        if [ $hours -eq 0 ] ; then
                echo "sleeping 10"
                sleep 10
                continue
        fi
        if [ $hours -gt 0 ] && [ $hours -lt 7 ] ; then
                echo "sleeping 10 s"
                sleep 10
                continue
        fi

        rmdate=`date --date='7 days ago' "+%Y%m%d"`
        nowdate=`date --date='0 days ago' "+%Y%m%d"`
        flvpathdate="$flvpath/$nowdate"
        rmpathdate="$flvpath/$rmdate"
        #echo $rmpathdate
        rm -rf $rmpathdate
        mkdir -p  $flvpathdate
        #echo $flvpathdate

        nowdatefmt=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
        nowtime=`date +%s -d "$nowdatefmt"`000000
        vname=`date --date='0 days ago' "+%Y%m%d%H%M%S"`.flv

        if ffmpeg -i http://127.0.0.1:8088/?action=stream \
        -r 30 \
        -t $lztime \
        -vf drawtext="expansion=strftime:basetime='$nowtime':text='%Y - %m - %d  %H \\: %M \\: %S':fontsize=18:fontcolor=red:box=1:x=20:y=20:boxcol
or=black@0.5:" \
        $flvpathdate/$vname \
        -y ; then
                #-strict -2 
                echo "$flvpathdate/$vname"
        else
                rm $flvpathdate/$vname
                #exit 1
                sleep 10 
        fi

done

乐果   发表于   2017 年 10 月 27 日 标签:uvclinuxubuntu

0

文章评论