USB摄像头视频流转RTSP流

打印 上一主题 下一主题

主题 546|帖子 546|积分 1638

一、VLC查看USB摄像头视频流原理:
USB摄像头的工作原理与VLC播放其他视频文件雷同,主要区别在于视频流的来源是实时捕获的,而不是预先录制的文件。如果利用VLC将USB摄像头的视频流作为RTSP服务器广播,必要进一步配置
二、VLC查看USB摄像头视频流过程:

  • 辨认装备

    • 当USB摄像头连接到计算机时,利用系统会辨认这个新装备,并实验加载得当的驱动步伐。

  • 装备枚举

    • VLC会枚举全部可用的视频捕捉装备,这通常是通过DirectShow(Windows)、Video4Linux(Linux)、AVFoundation(macOS)等框架来完成的。
    • 用户可以在VLC中选择“媒体”(Media)菜单中的“打开捕获装备”(Open Capture Device)选项,然后在弹出的对话框中看到全部辨认到的视频捕捉装备。

  • 配置捕获参数

    • 用户可以在VLC中配置捕获参数,如视频分辨率、帧率、压缩格式等。

  • 打开装备

    • 用户选择好摄像头和配置后,VLC将实验打开这个装备。

  • 视频流捕获

    • 一旦装备被成功打开,摄像头开始捕捉视频并将其发送到计算机。

  • 解码和显示

    • VLC接收到原始的视频数据后,会利用相应的解码器(通常是H.264、MJPEG或其他格式,取决于摄像头支持的编码)对视频流进行解码,然后送显。

  • 实时播放

    • VLC会以实时方式播放视频流,这意味着它会尽大概快地处理和显示每一帧,从而利用户可以或许观看到实时的视频画面。

三、VLC查看USB摄像头视频流播放方法:
在VLC媒体播放器中,dshow://
是一个特殊的协议,用于访问DirectShow装备。DirectShow是微软提供的一套在Windows利用系统中用于处理多媒体流的框架。以下是关于 dshow://
协议的一些详细信息:


  • DirectShow

    • DirectShow是Windows平台上用于捕获和播放音频及视频的一种技能。
    • 它可以处理来自各种源的数据,包括USB摄像头、DV摄像机、电视调谐器等。

  • dshow://
    协议


    • VLC利用 dshow://
      协议来与DirectShow框架交互,从而可以或许访问连接到计算机上的DirectShow兼容装备。
    • 当在VLC中利用 dshow://
      协议时,VLC会列出全部可用的DirectShow装备,包括USB摄像头。

  • 利用方法

    • 在VLC中,你可以通过输入以下格式的URL来访问USB摄像头:

  1. dshow://
复制代码

  • **其他配置:

    • 在 dshow://
      协议后,你可以指定特定的装备名称或装备ID,以及配置参数,如分辨率、帧率等。例如:

  1. // 通过这种方式,VLC可以或许直接利用DirectShow的功能,提供实时的视频捕获和播放功能,这对于利用USB摄像头进行视频集会、监控或直播等运动非常有用。dshow://
  2. :dshow-vdev="USB Video Device" :dshow-adev="麦克风阵列 (Realtek High Definition Audio)" :dshow-size="640x480" :dshow-fps=30
复制代码
四、USB摄像头的视频流转为RTSP流: 利用VLC,或者利用FFmpeg

  • 利用VLC作为服务器进行转流(方法一)



    不要勾选激活转码

    打开一个cmd查看本机ip:利用下令 ipconfig,我这里是利用的WiFi

运行如下下令:
  1. // 不激活编码,这里的网络地址需要替换为本地机的IP地址,可以在cmd中使用ipconfig查看
  2. :sout=#rtp{sdp=rtsp://123.45.6.78:8554/test} :no-sout-all :sout-keep
复制代码
不要勾选串流全部根本流


  • 利用FFmpeg查看装备状态:(方法二)
  1. // 执行如下命令
  2. ffmpeg -list_devices true -f dshow -i dummy
复制代码


  • 利用FFmpeg作为RTSP流媒体服务器,进行转流:先打开mediamtx.exe(方法二)

  • 运行FFmpeg下令如下,选一个下令即可:(方法二)
  1. // 以下命令直接在放置ffmpeg.exe的文件夹的空白处,右键打开cmd执行。或者在文件夹头部的路径栏中输入cmd+回车,也可以唤起cmd。一句话就是cmd的路径要正确
  2. // 命令一
  3. ffmpeg -f dshow -i video="WN USB CAMERA" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test
  4. // 命令二 缓冲区溢出(实时缓冲区的大小可能不足以处理从摄像头捕获的视频流)执行本命令指定缓冲区为10MB
  5. ffmpeg -f dshow -i video="WN USB CAMERA" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtbufsize 10485760 -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test
  6. // 命令三
  7. ffmpeg -f dshow -i video="WN USB CAMERA" -vcodec libx264 -preset ultrafast -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test
复制代码

  • 然后再VLC中利用:rtsp://127.0.0.1/test 查看视频即可



其他补充:

  • 大概会出现如下情况缓冲区溢出标题:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

怀念夏天

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表