龙空技术网

在Ubuntu下进行USB摄像头推流测试

大刚爱读书 216

前言:

眼前咱们对“ubuntuvideodevh”大概比较看重,同学们都想要分析一些“ubuntuvideodevh”的相关文章。那么小编同时在网络上搜集了一些有关“ubuntuvideodevh””的相关知识,希望同学们能喜欢,看官们快快来了解一下吧!

前面在Ubuntu下测试了FFMpeg推流到windows,近期有个需求是把摄像头的视频流实时推送到服务器;

摄像头

一番翻箱倒柜后,蚁哥翻出了一个02年的USB摄像头,试试能不能先把它的视频流推送出来。

usb摄像头

摄像头是免驱的,接到Ubuntu的主机上后,先看看摄像头有没有被系统发现,输入“ls /dev/video*”:

查看设备

发现有两个视频设备,然后需要一个工具来验证一下是否能打开摄像头,这次蚁哥选了一个工具叫做“camorama”,使用下面的命令“sudo apt-get install camorama”进行安装,安装完成后,用下面的命令启动摄像头“camorama -d /dev/video0”:

打开摄像头

OK,摄像头打开了,接下来,在windows上进入nginx-1.7.11.3-Gryphon目录,在窗口输入“cmd”调出命令窗口,敲入“start nginx”,运行nginx服务,然后输入“nginx.exe -t”查看服务是否正常启动了。

启动Nginx服务

然后就是对摄像头的视频进行推流:

在Ubuntu敲入下面指令“ffmpeg -i /dev/video1 -f flv rtmp://192.168.1.105:1935/live/stream0”开始推流(记得把IP地址换成您自己的服务器地址),windows中VLC播放器中,串流地址用“rtmp://127.0.0.1/live/stream0”进行播放:

推流视频1

进过测试图像出来了!不过延时很大,大概在10s左右,让蚁哥想起来当年拨号上网下载图片的感觉。

查了下资料,把命令换成下面这句“ffmpeg -f video4linux2 -r 30 -s 640*480 -i /dev/video0 -vcodec h264 -f flv rtmp://192.168.1.105:1935/live/stream0”,几个参数含义如下:

-f:输出格式;

-r:帧速率;

-s:画面宽*高;

-i:输入流;

-vcodec: 设定视频编解码器

再次测试,延时小了一些,大概5秒左右。

推流视频2

这次测试实现了对USB摄像头的推流,但是延时还是偏大,未能达到需求,需要继续优化。

希望有过类似经验的小伙伴们也在评论区给蚁哥提供一些思路和方案,多谢!

标签: #ubuntuvideodevh