ffmpeg 命令 监控屏幕,摄像头 udp推流 收流 。 包括低延迟处理

在 ffmpeg中bin目录下直接运行cmd如下图

在这里插入图片描述
会弹出cmd命令框
接着在运行cmd中执行
ffmpeg -r 30 -f dshow -i video=“screen-capture-recorder” -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f h264 -max_delay 1 -g 5 -b 7000000 udp://233.233.233.223:6666

意思是以30帧 速度截屏并编码为X264格式 发送至udp

-r 发送帧数
-preset:v ultrafast和-tune:v zerolatency 为了提高x264编码速度
-g设置gop大小 实现首屏秒开,-b降低网络负载提高流畅度 牺牲像素
-max_delay 降低延时

在首次运行时 会失败 会报错没有 screen-capture-recorder
这是我们就需要安装screen-capture-recorder了 , 而screen-capture-recorder运行又需要java环境所以又要安装jre
安装包如下图 链接 链接:https://pan.baidu.com/s/1EA3lTaLHVNRjOTuvKM3A-Q
提取码:7198
在这里插入图片描述
安装过后 再次运行就成功了 如下图
在这里插入图片描述
推流端我们就成功了,接下来是收流端

同样在ffmpeg bin文件中运行cmd

ffplay.exe -i udp://233.233.233.223:6666 -fflags nobuffer -analyzeduration 1000000
-fflags nobuffer 减少缓冲
-analyzeduration 1000000 码流分析时间设置,单位为微秒
意思是使用 ffplay 播放来自udp的流

运行成功后 流稳定后就会弹出 一个视频框播放 推流端屏幕。

如果 需要监控摄像头 我们就需要 在cmd中输入
ffmpeg -list_devices true -f dshow -i dummy 查看摄像头名称
如下图就是我们摄像头名称

在这里插入图片描述
我们把这个名字 替换到推流端

ffmpeg -r 30 -f dshow -i video=“Lenovo EasyCamera” -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f h264 -max_delay 1 -g 5 -b 7000000 udp://233.233.233.223:6666

或者
ffmpeg -re -f dshow -i video=“Lenovo EasyCamera” -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f h264 -max_delay 1 -g 5 -b 7000000 udp://233.233.233.223:6666
-re为一帧一帧发
收流端同上可成功监控摄像头

雷神 https://blog.csdn.net/leixiaohua1020/article/details/38284961

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值