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

ZLMediaKit 各种推拉流

1 用ffmpeg 推音视频流

./ffmpeg -f dshow -i video="HP Wide Vision HD Camera" -f dshow -i audio="麦克风阵列 (Realtek High Definition Audio)" -rtbufsize 100M -max_delay 100 -pix_fmt yuv420p -tune zerolatency -c:v libx264 -crf 18 -s 1280x720 -preset ultrafast -r 30 -g 30  -profile:v baseline -level 3.0 -acodec aac -f flv rtmp://172.16.0.28:1935/live/test命令中各个参数的含义解释:- `-f dshow`: 指定音视频输入设备为DirectShow。
- `-i video="HP Wide Vision HD Camera"`: 指定视频输入设备为名为"HP Wide Vision HD Camera"的摄像头。
- `-f dshow`: 指定音频输入设备为DirectShow。
- `-i audio="麦克风阵列 (Realtek High Definition Audio)"`: 指定音频输入设备为名为"麦克风阵列 (Realtek High Definition Audio)"的麦克风。
- `-rtbufsize 100M`: 设置实时缓冲大小为100MB。
- `-max_delay 100`: 设置最大延迟为100毫秒。
- `-pix_fmt yuv420p`: 设置输出像素格式为yuv420p。
- `-tune zerolatency`: 优化编码设置以实现低延迟。
- `-c:v libx264`: 指定视频编码器为libx264。
- `-crf 18`: 设置视频质量,值越小质量越高。
- `-s 1280x720`: 设置输出视频分辨率为1280x720。
- `-preset ultrafast`: 设置编码速度为ultrafast,牺牲压缩效率以提高编码速度。
- `-r 30`: 设置输出视频的帧率为30帧/秒。
- `-g 30`: 设置关键帧间隔为30帧。
- `-profile:v baseline`: 设置视频编码器的profile为baseline。
- `-level 3.0`: 设置视频编码器的level为3.0。
- `-acodec aac`: 指定音频编码器为AAC。
- `-f flv`: 指定输出格式为FLV。
- `rtmp://172.16.0.28:1935/live/test`: 指定输出目标为RTMP服务器上的地址"rtmp://172.16.0.28:1935/live/test"。

2 用ffmpeg 推桌面流

 ./ffmpeg -f gdigrab -thread_queue_size 1024 -rtbufsize 10M  -framerate 30 -offset_x 0 -offset_y 0 -draw_mouse 1 -i desktop -rtbufsize 100M  -max_delay 100 -pix_fmt yuv420p -tune zerolatency -c:v libx264 -crf 18 -preset ultrafast -r 30 -g 30 -s 1280x720  -profile:v baseline -level 3.0   -acodec aac -f flv rtmp://172.16.0.28:1935/live/test2各个参数的含义解释:- `-f gdigrab`: 指定视频输入设备为GDI屏幕抓取。
- `-thread_queue_size 1024`: 设置线程队列的最大大小为1024。
- `-rtbufsize 10M`: 设置实时缓冲大小为10MB。
- `-framerate 30`: 设置输入帧率为30帧/秒。
- `-offset_x 0`: 设置屏幕捕捉的水平偏移量为0。
- `-offset_y 0`: 设置屏幕捕捉的垂直偏移量为0。
- `-draw_mouse 1`: 允许绘制鼠标光标。
- `-i desktop`: 指定屏幕捕捉作为输入。
- `-rtbufsize 100M`: 设置实时缓冲大小为100MB。
- `-max_delay 100`: 设置最大延迟为100毫秒。
- `-pix_fmt yuv420p`: 设置输出像素格式为yuv420p。
- `-tune zerolatency`: 优化编码设置以实现低延迟。
- `-c:v libx264`: 指定视频编码器为libx264。
- `-crf 18`: 设置视频质量,值越小质量越高。
- `-preset ultrafast`: 设置编码速度为ultrafast,牺牲压缩效率以提高编码速度。
- `-r 30`: 设置输出视频的帧率为30帧/秒。
- `-g 30`: 设置关键帧间隔为30帧。
- `-s 1280x720`: 设置输出视频分辨率为1280x720。
- `-profile:v baseline`: 设置视频编码器的profile为baseline。
- `-level 3.0`: 设置视频编码器的level为3.0。
- `-acodec aac`: 指定音频编码器为AAC。
- `-f flv`: 指定输出格式为FLV。
- `rtmp://172.16.0.28:1935/live/test2`: 指定输出目标为RTMP服务器上的地址"rtmp://172.16.0.28:1935/live/test2"。

3 用ffplay拉RTMP流

 .\ffplay.exe -fflags nobuffer rtmp://172.16.0.28:1935/live/test参数的含义解释:- `.\ffplay.exe`: 启动FFplay播放器。
- `-fflags nobuffer`: 禁用缓冲模式,即实时播放模式,播放器立即显示接收到的画面,而不是等待缓冲大量数据再播放。
- `rtmp://172.16.0.28:1935/live/test`: 指定RTMP服务器上的流地址为"rtmp://172.16.0.28:1935/live/test",即要播放的视频流的地址。

4 用ffplay拉RTSP 流

.\ffplay.exe -rtsp_transport tcp rtsp://172.16.0.28:8554/live/test
.\ffplay.exe -fflags nobuffer -rtsp_transport tcp rtsp://172.16.0.28:8554/live/test各个参数的含义解释:- `.\ffplay.exe`: 启动FFplay播放器。
- `-fflags nobuffer`: 禁用缓冲模式,即实时播放模式,播放器立即显示接收到的画面,而不是等待缓冲大量数据再播放。
- `-rtsp_transport tcp`: 指定RTSP传输协议为TCP。RTSP是一种用于流媒体传输的协议,通常使用UDP或TCP进行传输,此处通过TCP传输。
- `rtsp://172.16.0.28:8554/live/test`: 指定RTSP地址为"rtsp://172.16.0.28:8554/live/test",即要播放的RTSP流的地址。

5 用WebRTC播放视频流,延迟小

在浏览器上访问:

https://172.16.0.28:8443/webrtc/

用push表示推流,推流成功后,其他人可以用WebRTC播放,或者用vlc、ffplay播放

http://www.lryc.cn/news/149855.html

相关文章:

  • 行业追踪,2023-08-29
  • 【简单】228. 汇总区间
  • Mysql高级语句
  • Python中 re.compile 函数的使用
  • 【分布式搜索引擎es】
  • 单片机的ADC
  • 如何把pdf文件合并?分享最新pdf合并方法
  • 笙默考试管理系统-MyExamTest----codemirror(11)
  • Spring MVC 五 - Spring MVC的配置和DispatcherServlet初始化过程
  • Ramp 有点意思的题目
  • 算法通关村14关 | 堆在数组中找第k大的元素应用
  • Unity 顶点vertices,uv,与图片贴图,与mesh
  • Shell编程之函数
  • 10.物联网LWIP之TCP状态转变
  • Img标签的src地址自动拼接本地域名(localhost:8080)导致图片不显示问题
  • 数据结构入门 — 栈
  • Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录
  • 内嵌功能强大、低功耗STM32WB55CEU7、STM32WB55CGU7 射频微控制器 - MCU, 48-UFQFN
  • 【测试】笔试03
  • JavaScript的while和for循环
  • mqtt安卓客户端
  • pdf怎么删除其中一页?
  • 10.Redis 渐进式遍历
  • 字符函数和字符串函数(2)
  • 目录扫描+JS文件中提取URL和子域+403状态绕过+指纹识别(dirsearch_bypass403)
  • 【UE 材质】常用向量运算节点——点积、叉积、归一化
  • 音视频 ffmpeg命令提取PCM数据
  • 【MySQL】实现可扩展性:构建高性能的系统
  • 网站用户体验之深度感悟
  • 目标检测YOLO实战应用案例100讲-道路场景下目标检测与分割模型的压缩研究与实现