当前位置:首页 > 技术文章 > 正文内容

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

arlanguage3个月前 (01-31)技术文章25

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

一番翻箱倒柜后,蚁哥翻出了一个02年的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”查看服务是否正常启动了。

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

在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”进行播放:

进过测试图像出来了!不过延时很大,大概在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秒左右。

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

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

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1846.html

标签: nginx ffmpeg
分享给朋友:

“在Ubuntu下进行USB摄像头推流测试” 的相关文章

【Nginx进阶】Nginx安全配置

在本章中,我们将详细介绍 Nginx 的安全配置,包括 SSL/TLS 安全、访问控制、HTTP 安全头、防止 DDoS 攻击和日志审计。Nginx安全配置在现代网络环境中,保障 Web 服务器的安全性至关重要。Nginx 作为一个高性能的 Web 服务器和反向代理服务器,通过合理的安全配置,可以有...

nginx代理常用配置

1. 最简反向代理配置在http节点下,使用upstream配置服务地址,使用server的location配置代理映射。upstream my_server { server 10.0.0.2:8080; keepalive 2000;}server { listen 80; server_...

windows下的nginx安装和使用

.1 去官网下载相应的安装包:http://nginx.org/en/download.html1.2 解压后进入PowerShell(按住“shift”+“鼠标右键”)窗口,进入到nginx目录,输入start nginx.exe 进行nginx的安装安装成功后,在“任务管理器”中会显示“ngin...

如何在本地部署WEB开发(PHP)环境

目前很多网站程序是基于PHP语言,比如比较有名的开源程序WordPress、Discuz、DedeCMS...对于大多初学者来说,本地部署WEB环境(PHP/ASP+Apache/Nginx+Mysql),一个一个安装调试是一件很麻烦的事。所以这次分享一下如何在本地快速搭建WEB环境!考虑到大家大多...

到 2024 年了,全球仍有 76.4% 的网站在用「已死」的 PHP!

如今资历稍长的程序员,提到 PHP 可能都会联想到一个梗:“PHP 是最好的语言。”这个梗并非出自别处,正源自于 PHP 自己的官方文档:早在 2001 年 7 月,PHP 文档中就有一句“PHP is the best language for web programming(PHP 是世界上最好...

面试常问知识点:Nginx设置代理的一个注意点

前几天,重启了下Nginx代理服务,发现报错了,以下是本次的思考。1:先解决问题查看Nginx错误日志:40 SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handsha...