搭建USB摄像头转RTSP服务器的多种方法 您所在的位置:网站首页 feed1 搭建USB摄像头转RTSP服务器的多种方法

搭建USB摄像头转RTSP服务器的多种方法

2023-04-24 07:02| 来源: 网络整理| 查看: 265

USB摄像头与网络摄像头相比,可选择范围广、种类多、成本低,但是实际使用时需要通过rtsp流来访问,起到直播的效果,因此在摄像头采集终端上构建rtsp流媒体服务器,将USB摄像头数据转化为rtsp,可以多个客户端访问。

ffserver 关键概念 ffserver,负责响应客户端的流媒体请求,把流媒体数据发送给客户端。 ffserver.conf,ffserver启动时的配置文件,在这个文件中主要是对网络协议,缓存文件feed1.ffm和要发送的流媒体文件的格式参数做具体的设定。 feed1.ffm,可以看成是一个流媒体数据的缓存文件,ffserver启动后会自动生成。ffmpeg把转码好的数据发送给ffserver,如果没有客户端连接请求,ffserver把数据缓存到该文件中。 ffmpeg,负责媒体文件的转码工作,把你服务器上的源媒体文件转换成要发送出去的流媒体文件。

大致流程为:通过ffmpeg将usb摄像头数据推送到ffserver服务器,终端设备通过rtsp地址访问,达到远程访问的效果。

安装与配置 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:每一个输入都建立一个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范围 RTSPPort 8554 #rtsp端口号 RTSPBindAddress 0.0.0.0 #rtsp IP地址 # 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 Format status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 URL http://www.ffmpeg.org/

关于ffserver.conf的具体介绍,可参考官方给的配置文件说明,如果有多个USB摄像头,参考feed1的写法,再写一个缓存文件即可。

启动服务与转发流

启动ffserver服务终端直接运行:

ffserver

转发rtsp流

ffmpeg -f v4l2 -i /dev/video1 -s 640x480 -r 24 -vcodec libx264 -an http://127.0.0.1:8090/feed1.ffm

注意:其中/dev/video1表示USB摄像头对应的名称,要根据自己的设备情况对应更改。

客户端读取

在另外一台终端设备上,如windows的电脑上,用VLC软件,打开网络串流,输入如下rtsp地址,即可打开摄像头:

rtsp://192.168.xx.xx:8554/live1.h264 vlc 安装 sudo apt-get install vlc 转流 cvlc -vvv v4l2:///dev/video1 --sout '#transcode{vcodec=h264,vb=800,acodec=mp4a}:rtp{sdp=rtsp://:8554/live.ts}' -I dummy

其中:

v4l2:// - Video4Linux is the interface to webcams on Linux /dev/video1 - device number assigned to webcam by Linux vcodec=h264 video codec vb=800 - 800 kb/s video bit rate acodec=mp4a sdp=rtsp://:8554/ - URL/port advertised by RTSP 客户端读取

同样的,可在windows电脑上的VLC软件中,输入如下rtsp地址打开摄像头,注意将IP地址改为服务器的地址

rtsp://192.168.xx.xx:8554/live.ts 作者:Young 联系:[email protected] 签名:天道酬勤 厚积薄发

---------------------------------------------------------



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有