windows&&linux环境下实现ffmpeg&&vlc rtsp本地视频、摄像头推流,VLC推拉流

一、windows环境 ffmpeg RTSP推流本地视频文件、摄像头,VLC拉流

参考博客 windows环境下,搭建RTSP视频推流服务器

1.环境安装

Windows 环境下使用 FFmpeg 推送本地视频文件、USB 摄像头为 rtsp 流,并使用 vlc 拉流播放

1.下载rtsp服务器,RTSP服务器链接传送门
在这里插入图片描述
2.下载ffmpeg,ffmpeg链接传送门

在这里插入图片描述
3.将下载的压缩包ffmpeg-master-latest-win64-gpl.ziprtsp-simple-server_v0.20.0_windows_amd64.zip解压完成。

ffmpeg-master-latest-win64-gpl目录下的bin目录下的 ffmpeg.exeffplay.exeffprobe.exe执行文件和

rtsp-simple-server_v0.20.0_windows_amd64目录下的rtsp-simple-server.exertsp-simple-server.yml 文件

放在同一个文件夹下。
在这里插入图片描述

2.ffmpeg 推流RTSP本地文件

1.打开RTSP服务器
打开cmd终端,切换到上文所述的文件夹路径下,执行

rtsp-simple-server.exe

在这里插入图片描述
2.使用ffmpeg进行推流本地文件
将要进行推流的本地视频文件放在上文所述的文件夹路径下,打开一个新的cmd终端,切换到上文所述的同样的路径下,输入命令

ffmpeg -re -stream_loop -1 -i a.mp4 -c copy -f rtsp rtsp://192.168.1.123:8554/video

注:a.mp4 为我自己的视频文件名称,根据自己的更改;192.168.1.123 为我自己的ip,根据自己的更改
在这里插入图片描述
3.VLC拉流
打开VLC,操作步骤如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ffmpeg推流,VLC拉流本地视频完成

3.ffmpeg推流RTSP USB摄像头

1.按上文所述述先打开RTSP服务器

rtsp-simple-server.exe

2…新建cmd终端,切换到上文说的文件夹路径下,执行命令,查看自己摄像头驱动名称

ffmpeg -list_devices true -f dshow -i dummy

在这里插入图片描述
这里我的摄像头名称为: “HD Pro Webcam C920”

3.使用ffmpeg进行推流摄像头
输入命令

ffmpeg -f dshow -i video="HD Pro Webcam C920" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://192.168.1.123/video

注:“HD Pro Webcam C920” 为我自己摄像头名称,根据自己的设备更改;192.168.1.123 为我自己的ip,根据自己的更改

4.VLC拉流
打开VLC,操作步骤按照上述执行即可

在这里插入图片描述
ffmpeg推流,VLC拉流摄像头视频完成

二、linux环境VLC RTSP推流摄像头、本地视频文件,VLC拉流

1.VLC RTSP推流摄像头

1.安装VLC,打开终端,输入命令

sudo apt-get install vlc

2.查看摄像头设备,输入命令

lsusb
ls /dev/video0

在这里插入图片描述
在这里插入图片描述
确认USB摄像头驱动在线

3.VLC进行推流本地摄像头,输入命令

查看linux系统的ip地址

ifconfig -a

推流

sudo cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=h264,vb=800,acodec=mp4a}:rtp{sdp=rtsp://:8554/video}' -I dummy

在这里插入图片描述
4.windows VLC进行拉流

打开VLC,按照上述操作即可 注:输入自己linux系统的ip地址
在这里插入图片描述
linux环境VLC RTSP推流摄像头,VLC拉流完成

2.VLC RTSP推流本地视频

1.VLC推流,输入命令

 cvlc -vvv --extraintf=logger /home/nvidia/sample_720p.mp4 --sout '#transcode{vb=800,acodec=mp4a}:rtp{sdp=rtsp://:8554/video}' -I dummy

注:其中 /home/nvidia/sample_720p.mp4 为本地视频文件路径

2.打开windows VLC进行拉流

按照上述步骤操作即可
在这里插入图片描述
linux环境VLC RTSP推流本地文件,VLC拉流完成

<think>好的,我现在需要帮助用户在Linux开发板上连接和配置罗技C920摄像头。首先,用户提到了参考的引用内容,里面有关于c920摄像头驱动和4G模块驱动的信息,以及运行C++ Demo程序的步骤。我需要整合这些信息,给出具体的步骤。 首先,我应该考虑Linux摄像头驱动的一般情况。罗技C920通常使用UVC驱动,而大多数Linux内核已经包含了UVC驱动模块。所以第一步应该是检查内核是否支持,并加载相应的模块。用户可能需要使用lsusb命令来确认设备是否被识别。根据引用[1],Bus 002 Device 001显示了Linux Foundation的根集线器,但用户需要找到C920的ID。这时候应该指导用户连接摄像头后运行lsusb,找到对应的厂商ID和产品ID,确认设备是否存在。 接下来是安装必要的工具,比如v4l-utils,这样用户可以用v4l2-ctl来调整摄像头设置。然后测试摄像头是否正常工作,可以用cheese或ffmpeg来捕捉视频。如果出现权限问题,可能需要将用户加入video组,或者调整udev规则,这部分需要具体说明。 然后,用户可能需要配置应用程序使用摄像头。根据引用[2]中的Demo程序路径,用户需要进入/opt/edgeai-gst-apps/apps_cpp目录,执行命令时可能需要指定摄像头的设备节点,比如/dev/video0。这里需要提醒用户确认设备节点是否正确,有时可能会有多个video设备。 如果遇到驱动问题,比如UVC驱动未加载,需要指导用户modprobe uvcvideo,并检查dmesg的输出是否有错误。对于高级配置,比如调整分辨率或帧率,v4l2-ctl的命令示例会有帮助。最后,相关问题的生成需要围绕常见的问题和扩展应用展开,比如OpenCV集成或多摄像头配置。 总结步骤应该是:检查设备识别、安装工具、测试、配置应用、处理常见问题。需要确保每一步都清晰,并引用提供的参考内容中的路径和命令示例。同时,注意使用正确的LaTeX格式,但在这个问题中可能数学公式较少,主要需要正确使用代码块和引用标记。</think>### 在Linux开发板上连接和配置罗技C920摄像头的步骤 #### 1. **检查设备识别与驱动加载** - **连接摄像头**:将C920插入开发板的USB接口,执行以下命令确认设备是否被识别: ```bash lsusb ``` 输出中应包含类似`ID 046d:082d Logitech, Inc. HD Pro Webcam C920`的信息,表明摄像头已被系统识别[^1]。 - **加载UVC驱动**:大多数Linux内核已内置UVC驱动,手动加载命令: ```bash sudo modprobe uvcvideo ``` 检查驱动加载状态: ```bash dmesg | grep uvcvideo ``` #### 2. **安装视频工具集** - 安装`v4l-utils`以配置和测试摄像头: ```bash sudo apt-get install v4l-utils ``` #### 3. **验证摄像头功能** - **查看设备信息**: ```bash v4l2-ctl --device=/dev/video0 --info ``` - **测试视频**: - 使用`ffmpeg`捕捉视频: ```bash ffmpeg -f v4l2 -i /dev/video0 -t 10 output.mp4 ``` - 或用图形化工具`cheese`(需GUI支持): ```bash sudo apt-get install cheese cheese ``` #### 4. **配置应用程序使用摄像头** - **基于GStreamer的示例**(如引用[2]中的Demo程序): ```bash # 进入Demo程序目录 cd /opt/edgeai-gst-apps/apps_cpp # 修改配置文件object_detection.yaml,指定视频源为C920 vim ../configs/object_detection.yaml ``` 在配置文件中设置视频源为`v4l2src device=/dev/video0`。 - **运行程序**: ```bash ./bin/Release/app_edgeai ../configs/object_detection.yaml ``` #### 5. **权限问题处理** - 将用户加入`video`组以避免`sudo`: ```bash sudo usermod -aG video $USER ``` 重启后生效。 #### 6. **高级配置(可选)** - **调整分辨率与帧率**: ```bash v4l2-ctl --device=/dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=YUYV ``` - **手动设置曝光/对焦**(需C920支持): ```bash v4l2-ctl -c exposure_auto=1 ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值