【昇腾】【玩转Atals200DK系列】如何产生RTSP流在案例中使用(三)-----------------使用USB摄像头
【摘要】 案例中需要的rtsp流使用usb摄像头
当前我们的官方社区样例中有很多是可以解析RTSP流的。针对部分想要验证或者使用这个功能但是不知道如何获取RTSP流的朋友,本篇博客将会介绍如何使用USB摄像头制作本地RTSP视频流。
插入USB摄像头,并连接至虚拟机(摄像头需要选择免驱动版本的)
插入成功后,会在/dev下生成video0设备
执行以下指令安装ffmpeg和x264
sudo apt install ffmpeg libx264-dev
修改配置文件
在终端打开配置文件
sudo gedit /etc/ffserver.conf
然后修改为以下内容
HTTPPort 8090 #绑定端口号 HTTPBindAddress 0.0.0.0 #绑定IP MaxHTTPConnections 2000 #最大HTTP连接数 MaxClients 1000 #最大客户端连接数 MaxBandwidth 1000 #最大带宽 CustomLog - #日志文件,- 为直接打印 <Feed feed1.ffm> #feed:每一个输入都建立一个feed File /tmp/feed1.ffm #feed缓存文件位置和名称 FileMaxSize 10M #缓存文件最大值 ACL allow 127.0.0.1 #允许写入feed的IP ACL allow 192.168.0.0 192.168.255.255 #允许写入feed的IP范围 </Feed> RTSPPort 8554 #rtsp端口号 RTSPBindAddress 0.0.0.0 #rtsp IP地址 <Stream live1.h264> # Format rtp #视频流的格式 Feed feed1.ffm #视频流的种子来源 VideoCodec libx264 # VideoFrameRate 24 #视频帧率 VideoBitRate 128 #视频比特率 VideoBufferSize 100 #视频缓冲区大小 VideoSize 640x480 #视频帧大小 VideoQMin 1 # VideoQMax 31 # NoAudio #无音频 AVPresetVideo default AVPresetVideo baseline AVOptionVideo flags +global_header ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 </Stream> <Stream stat.html> Format status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 </Stream> <Redirect index.html> URL http://www.ffmpeg.org/ </Redirect
class="brush:bash;toolbar:false">对于ffserver.conf的具体介绍,可参考官方给的配置文件说明,如果有多个USB摄像头,参考feed1的写法,再写一个缓存文件即可
启动ffserver服务
直接在终端运行以下命令
ffserver
转发rtsp流
ffmpeg -f v4l2 -i /dev/video0 -s 640x480 -r 24 -vcodec libx264 -an http://127.0.0.1:8090/feed1.ffm
注意:其中/dev/video0表示USB摄像头对应的名称,要根据自己的设备情况对应更改
可以增加-preset fast参数,减少延时,实测增加此参数后延时大约两秒
验证流
虚拟机中下载万能播放器测试rtsp流是否可以正常播放,下载方式如下:
https://www.cnblogs.com/booturbo/p/10274758.html
按照上一篇文档的方式运行即可。URL为rtsp://192.168.xx.xx:8554/live1.h264,其中,要将IP地址改为服务器的地址。
原文:https://www.cnblogs.com/enumx/p/12345036.html
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)