提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、操作步骤
    • 1.测试1
    • 2.测试2
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

环境信息:
摄像头:usb摄像头 (拼多多20多块钱,在windows上,linux上驱动有问题,显示不正常)

ffmpeg -list_devices true -f dshow -i dummy

[dshow @ 000001d2704e4940] "Wed Camera" (video) [dshow @ 000001d2704e4940] Alternative name "@device_pnp_\\?\usb#vid_32e6&pid_9221&mi_00#7&26eff30a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
windows11: ffmpeg ffmpeg version 8.0-full_build-www.gyan.dev Copyright © 2000-2025 the FFmpeg developers built with gcc 15.2.0 (Rev8, Built by MSYS2 project)
linux 虚拟机 ubuntu 22.04 : ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright © 2000-2021 the FFmpeg developers


提示:以下是本篇文章正文内容,下面案例可供参考

一、操作步骤

1.测试1

windows下使用ffmpeg推摄像头的流,到linux端显示:
摄像头在windows上 windows -> linux

video_ffmpeg.sdp

lxt@lxt-ubuntu:~/video_test$ cat video_ffmpeg.sdp 
v=0
o=- 0 0 IN IP4 127.0.0.1
s=H.264 Video Stream
c=IN IP4 192.168.3.10
t=0 0
m=video 10000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1
c=IN IP4 192.168.3.10	媒体连接地址:本机监听此 IP 的 UDP
m=video 10000 RTP/AVP 96	视频流使用端口 10000,payload type 96
a=rtpmap:96 H264/90000	payload type 96 对应 H.264 编码,时钟频率 90000 Hz
a=fmtp:96 packetization-mode=1	H.264 分包模式为 1(支持分片,适合网络传输)

播放命令:
ffplay -protocol_whitelist file,rtp,udp video_ffmpeg.sdp

windows:
列出摄像头设备
ffmpeg -list_devices true -f dshow -i dummy

开始推流:
ffmpeg -f dshow -video_size 1280x720 -framerate 30 -i video=“Wed Camera” -c:v libx264 -preset veryfast -f rtp rtp://<192.168.3.10>:10000

ffmpeg	调用 FFmpeg 主程序
-f dshow	指定输入设备格式为 DirectShow(Windows 专用,用于摄像头、麦克风等)
-video_size 1280x720	设置摄像头采集的分辨率为 1280×720
-framerate 30	设置采集的帧率为 30 fps(每秒30帧)
-i video="Wed Camera"	指定输入源为名为 "Wed Camera" 的视频设备(你的摄像头)
-c:v libx264	指定视频编码器为 libx264(即 H.264 编码)
-preset veryfast	编码速度预设:编码速度很快,压缩率适中,适合实时推流(比 ultrafast 稍慢但压缩更好)
-f rtp	指定输出格式为 RTP 协议(Real-time Transport Protocol,用于实时音视频传输)
rtp://192.168.3.10:10000	指定 RTP 流发送到 IP 为 192.168.3.10 的主机,端口为 10000

注意:
命令失败的时候可能摄像头已经出错了,可以插拔下摄像头再执行。

2.测试2

windows下使用ffmpeg推摄像头的流,到linux端,linux收到转发给另一个windows:
摄像头在windows上 windows -> linux -> windows

由测试1的命令windows推流

linux命令:
ffmpeg -protocol_whitelist file,udp,rtp -i video_ffmpeg.sdp -c:v copy -f rtp rtp://192.168.3.11:10002

windows 电脑2上 接收设置
ffplay -protocol_whitelist file,rtp,udp -i video_relay.sdp
video_ffmpeg.sdp

v=0
o=- 0 0 IN IP4 127.0.0.1
s=Relayed H.264 Stream
c=IN IP4 0.0.0.0
t=0 0
m=video 10002 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1

总结

介绍了ffmpeg再windows和linux上推流显示usb摄像头画面操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96804.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96804.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96804.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker的使用及核心命令

文章目录Docker基础概念镜像管理命令镜像查看和搜索镜像下载和删除镜像构建容器生命周期管理创建和启动容器容器控制命令容器清理容器交互和调试进入容器文件操作日志和监控数据管理数据卷&#xff08;Volume&#xff09;绑定挂载网络管理网络基础操作端口映射Dockerfile和Dock…

考研408计算机网络第36题真题解析(2021-2023)

&#xff08;2023.36&#xff09;在使用 CSMA/CD 协议的环境中&#xff0c;使用截断二进制指数退避算法&#xff0c;来选择重传时机&#xff0c;算法 有如下规定&#xff1a; &#xff08;1&#xff09;基本的退避时间为争用期 2τ&#xff0c;假设某网络具体的争用期为 51.2us…

Asio C++ Library是用来做什么的

hriskohlhoff/asio 是由 Chris Kohlhoff 主导维护的开源 C 库&#xff0c;专注于提供高效、跨平台的异步 I/O 支持&#xff0c;广泛应用于网络编程、并发控制和高性能系统开发。 &#x1f4d8; 项目概述 项目名称&#xff1a;Asio C Library 下载地址&#xff1a;https://down…

ac791的按键ad_channel

每次ad_channel这个参数都要给我一定的迷惑性&#xff0c;让我以为这是通道的数量

机器人巡检与巡逻的区别进行详细讲解和对比

机器人巡检与巡逻的区别进行详细讲解和对比 尽管这两个词经常被混用&#xff0c;但在技术和应用层面上&#xff0c;它们有着本质的区别。核心区别在于&#xff1a;巡检是“深度体检”&#xff0c;而巡逻是“治安巡查”。 以下将从多个维度进行详细讲解和对比。 一、核心概念与目…

先进电机拓扑及控制算法介绍(3)——以“数据”驱动电机实现真正的无模型

1. 背景介绍 之前已经介绍过“无模型预测控制&#xff08;Model-Free Predictive Control/MFPC&#xff09;”中的“无模型预测电流控制&#xff08;Model-Free Predictive Current Control/MFPCC&#xff09;”&#xff0c;可参考下面知乎。 https://zhuanlan.zhihu.com/p/6…

C primer plus (第六版)第十一章 编程练习第5,6题

题目&#xff1a;5&#xff0e;设计并测试⼀个函数&#xff0c;搜索第1个函数形参指定的字符串&#xff0c;在其中查找第2个函数形参指定的字符⾸次出现的位置。如果成功&#xff0c;该函数返指向该字符的指针&#xff0c;如果在字符串中未找到指定字符&#xff0c;则返回空指针…

Altium Designer(AD)PCB丝印批量修改

目录 1 Altium Designer(AD)PCB丝印的字体批量修改 1.1选中所有丝印 1.1.1选中一个丝印:鼠标左键点击 1.1.2查找相似对象:鼠标右键或快捷键N 1.1.3如下图所示丝印被全部选中 1.2丝印字体信息修改 1.2.1打开属性面板——>位置/属性/字体修改 1.2.2丝印字体修改 1.2.…

AI+华为HarmonyOS开发工具DevEco Studio详细安装指南

作者&#xff1a;长江支流 日期&#xff1a;2025-09-13 第一部分&#xff1a;AI工具使用 一、如何使用DeepSeek帮助自己的工作&#xff1f; &#xff08;一&#xff09;提示词 为了与时俱进&#xff0c;充分利用最新技术、提高效率&#xff0c;采用AI生成部分材料&#xf…

【Ambari监控】— API请求逻辑梳理

附录&#xff1a;完整内容和源代码下载请参照 https://doc.janettr.com/ 一、前序章节回忆 我们在前面章节拆解了 Collector 的启动过程&#xff0c;并定位了控制器 TimelineWebServices。 本节聚焦 Collector 对外暴露的 REST 服务&#xff0c;搭建「接口全景图」。 二、接口…

论文阅读 2025-9-13 论文阅读随心记

随便记录一下最近阅读的几篇论文 1. Does DINOv3 Set a New Medical Vision Standard? 第一章 动机 (Motivation) 自然图像领域的成功范式&#xff1a;大型语言模型&#xff08;LLMs&#xff09;和视觉基础模型&#xff08;如 DINO 系列&#xff09;证明&#xff0c;通过自监督…

Avalonia 基础导航实现:从页面切换到响应式交互全指南

在 Avalonia 开发中&#xff0c;导航功能是构建多页面应用的核心需求。Avalonia 无需依赖第三方库&#xff0c;仅通过内置控件与 MVVM 模式即可实现灵活的页面切换。本文将以 “基础导航” 为核心&#xff0c;从 ViewModel 与 View 设计、导航逻辑实现&#xff0c;到样式美化与…

UniApp 分包异步化配置及组件引用解决方案

具体参考微信小程序文档基础能力 / 分包加载 / 分包异步化 一、分包页面组件配置 在 UniApp 的pages.json中&#xff0c;为分包页面&#xff08;或主包如 tabbar 页面&#xff09;配置异步组件时&#xff0c;需同时设置usingComponents和componentPlaceholder&#xff1a; {&…

系统核心解析:深入操作系统内部机制——进程管理与控制指南(一)【进程/PCB】

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…

微论-神经网络特征空间的动态聚集,对抗灾难性遗忘的新范式

这是一个非常有趣且富有想象力的理论构想。受陀螺仪启发&#xff0c;我将陀螺仪的“定轴性”与“进动性”原理引入神经网络的特征空间&#xff0c;探讨一种对抗灾难性遗忘的新范式。---### **基于陀螺仪原理的神经网络记忆巩固理论探讨**#### **引言&#xff1a;记忆的流失与稳…

鸿蒙审核问题——折叠屏展开态切换时,输入框内容丢失

文章目录背景解决历程1、无意中发现了眉目2、确定问题原因3、解决办法4、官方文档5、总结背景 奇葩的事情年年有啊&#xff0c;今年特别多。这不今天又遇到了一个奇葩的问题。鸿蒙NextAPP上架AppGallery市场&#xff0c;审核拒了&#xff0c;说是折叠屏手机展开态切换时&#…

前后端分离架构中,Node.js的底层实现原理与线程池饥饿问题解析

在VueJava/.NET的前后端分离架构中&#xff0c;Node.js的底层实现原理与线程池饥饿问题解析 一、架构概述&#xff1a;Node.js的定位与角色 在现代Web开发中&#xff0c;Vue.js作为前端框架与Java/.NET后端结合的架构非常流行。在这种架构中&#xff0c;Node.js通常扮演着两个关…

Django ModelForm:快速构建数据库表单

Django 中的 forms.ModelForm —— 它是 Django 表单系统和 ORM 的一个“桥梁”&#xff0c;能帮助你快速基于 数据库模型&#xff08;Model&#xff09; 自动生成表单&#xff0c;极大减少重复代码。1. 什么是 ModelForm 普通 Form (forms.Form)&#xff1a;完全手写字段&…

补 json的作用

&#xff1a;“我开车直接拧钥匙就能走&#xff0c;为什么还要看仪表盘和用中控台&#xff1f;”直接点击“运行”&#xff0c;就像是汽车的自动驾驶模式。它能帮你开起来&#xff0c;但你不知道它走的是哪条路&#xff0c;油门踩多深。使用 launch.json 配置&#xff0c;就像是…

apache详细讲解(apache介绍+apache配置实验+apache实现https网站)

1.apache HTTP server介绍httpd项目地址:https://httpd.apache.org/ 在Apache2中有三种工作模式&#xff0c;使用者可以根据不同的业务场景来进行选择(1)prefork模式prefork模式是一种老而稳的模式:一个主进程管理者多个子进程&#xff0c;每个子进程单独处理用户请求&#xf…