当前位置: 首页 > news >正文

ffmpeg推流测试

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

文章目录

  • 前言
  • 一、操作步骤
    • 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://sk3eAwnv.mjbkp.cn
http://LXkSWiBa.mjbkp.cn
http://N3GrlbvS.mjbkp.cn
http://upmkdnrK.mjbkp.cn
http://Yo5QobUt.mjbkp.cn
http://Ti4Bdh1k.mjbkp.cn
http://TxIa31TT.mjbkp.cn
http://GKPsEC50.mjbkp.cn
http://PjohW4Wb.mjbkp.cn
http://HEC06UTR.mjbkp.cn
http://Kj6GEQqL.mjbkp.cn
http://ZlkOJ1c4.mjbkp.cn
http://lhb9txY1.mjbkp.cn
http://AhIMAw9S.mjbkp.cn
http://Jz1x3SWm.mjbkp.cn
http://cHFtocny.mjbkp.cn
http://5C9C9Hor.mjbkp.cn
http://7bPdgLVr.mjbkp.cn
http://dDYvUBaU.mjbkp.cn
http://oEuebwPt.mjbkp.cn
http://0dx1Ssc5.mjbkp.cn
http://JWGW3KEq.mjbkp.cn
http://HCR9jAk6.mjbkp.cn
http://DCwfy4mq.mjbkp.cn
http://ccBj5POI.mjbkp.cn
http://hj9Hr7uN.mjbkp.cn
http://D5ETGhjy.mjbkp.cn
http://NXGDan0f.mjbkp.cn
http://1jBvdlk9.mjbkp.cn
http://nsOk0OuZ.mjbkp.cn
http://www.dtcms.com/a/381880.html

相关文章:

  • SQL注入常见攻击点与防御详解
  • 后端(FastAPI)学习笔记(CLASS 3):Tortoise ORM
  • C++-STL
  • Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用
  • XCKU15P-2FFVA1760I AMD 赛灵思 Xilinx Kintex UltraScale+ FPGA
  • 图论基础知识
  • DMA硬件架构解析:总线矩阵与核心组件
  • 从军用到掌心:固态硬盘(SSD)的演进与革命
  • 通俗解释redis高级:redis持久化(RDB持久化、AOF持久化)、redis主从、redis哨兵、redis分片集群
  • 【C++】类和对象——(上)
  • 解决Windows系统“‘php‘ 不是内部或外部命令”报错的完整指南
  • 用 Go 打造一个服务器资源指标采集器:结合 Prometheus Exporter 实战
  • Unity学习----【进阶】TextMeshPro学习(二)--进阶知识点(样式表,颜色渐变预设,精灵图片资源)
  • 从理论到落地:神经网络稀疏化设计构架中网络剪枝的深度实践与创新
  • ARM、AArch64、amd64、x86_64、x86有什么区别?
  • 机器学习项目-南方电网电力负荷预测
  • python标准库有哪些模块,简单总结下。
  • 文献阅读·MCformer:基于混合通道变换的多变量时间序列预测
  • 【软件操作】飞牛nas系统:笔记本息屏、合盖均不关机
  • 【SPI】【二】SPI控制器驱动代码详解
  • pandas读取复合列名列头及数据和处理
  • jenkins触发部署
  • 【pure-admin】项目登录验证码实现分析
  • Docker快速入门手册
  • 【C++设计模式】第五篇:装饰器模式
  • linux C 语言开发 (十) 进程间通讯--信号
  • 绿色环保活动平台(AI问答、WebSocket即时通讯、协同过滤算法、Echarts图形化分析)
  • 飞算JavaAI实战高效构建电商系统核心功能模块全解析
  • CSS 技巧使页脚始终位于网页的底部
  • Vue3》》eslint Prettier husky