【昇腾】【玩转Atals200DK系列】如何产生RTSP流在案例中使用(三)-----------------使用USB摄像头

举报
五讲四美好少年_fych 发表于 2020/03/31 14:54:59 2020/03/31
【摘要】 案例中需要的rtsp流使用usb摄像头

当前我们的官方社区样例中有很多是可以解析RTSP流的。针对部分想要验证或者使用这个功能但是不知道如何获取RTSP流的朋友,本篇博客将会介绍如何使用USB摄像头制作本地RTSP视频流。


  1. 插入USB摄像头,并连接至虚拟机(摄像头需要选择免驱动版本的)

    image.png

    插入成功后,会在/dev下生成video0设备

    image.png

  2. 执行以下指令安装ffmpeg和x264

    sudo apt install ffmpeg libx264-dev

  3. 修改配置文件

    在终端打开配置文件

    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的写法,再写一个缓存文件即可

  4. 启动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参数,减少延时,实测增加此参数后延时大约两秒

  5. 验证流

    虚拟机中下载万能播放器测试rtsp流是否可以正常播放,下载方式如下:

    https://www.cnblogs.com/booturbo/p/10274758.html

    按照上一篇文档的方式运行即可。URL为rtsp://192.168.xx.xx:8554/live1.h264,其中,要将IP地址改为服务器的地址。image.png

原文:https://www.cnblogs.com/enumx/p/12345036.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。