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.mzph.cn/news/58857.shtml

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

相关文章

解决centos离线安装cmake找不到OpenSSL问题

安装方法:见另外一篇文章 https://blog.csdn.net/zhongxj183/article/details/118488629 按照文章下载了离线gcc 和OpenSSL,以及在cmake官网下载了最新版 cmake-3.27.4.tar.gz 顺利安装gcc 和OpenSSL 但执行编译cmake时,报错找不到OpenSSL…

11. 盛最多水的容器(c++题解)

11. 盛最多水的容器(c题解) 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大…

leetcode刷题(字符串相加、包含每个查询的最小区间、模拟行走机器人、环形子数组的最大和、满足不等式的最大值、四数之和、树中距离之和)

目录 1、字符串相加 2、包含每个查询的最小区间 3、模拟行走机器人 4、环形子数组的最大和 5、满足不等式的最大值 6、四数之和 7、 树中距离之和 1、字符串相加 class Solution:def addStrings(self, num1: str, num2: str) -> str:i len(num1) - 1 # num1的末…

APP UI自动化测试思路总结

首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去。接下来,一…

VBA技术资料MF48:VBA_在Excel中将列号与字母转换

【分享成果,随喜正能量】除非自己的认知获得了改变和刷新,否则,人们常说的“顺应自己的内心”,顺的不过是一颗旧心,一颗惯性的,充满了各种习性的套路之心。与“顺应自己的内心”恰恰相反,人要用…

vue2 支持图片放大

添加 :preview-src-list属性 <el-imagev-for"item in specialData.urls":src"item":key"item.index":preview-src-list[item]class"pictrue"/>

AMEYA360:兆易创新获得ISO 26262 ASIL D流程认证, 汽车功能安全管理体系再上新台阶

中国北京(2023年8月29日) —— 业界半导体器件供应商兆易创新GigaDevice(股票代码 603986)今日宣布&#xff0c;获得由国际公认的测试、检验和认证机构通标标准技术服务有限公司(以下简称SGS)授予的ISO 26262:2018汽车功能安全最高等级ASIL D流程认证证书&#xff0c;这标志着兆…

python matlab 画柱状图

函数&#xff1a; bar(x, height, width0.8, bottomNone, *, aligncenter,dataNone, **kwargs) 设置坐标的刻度(ticks)&#xff0c;轴的标签和标题 在数据分析的很多时候&#xff0c;我们各个柱下面通常不是x刻度值&#xff0c;而是有实际意义的字符串&#xff0c;那么这个时…

yolov8使用C++推理的流程及注意事项

1.下载yolov8项目源码GitHub - ultralytics/ultralytics: NEW - YOLOv8 &#x1f680; in PyTorch > ONNX > OpenVINO > CoreML > TFLite 2.下载opencvReleases - OpenCV,建议版本>4.7.0,选择下载源码&#xff0c; windows版本由于使用的编译器与我们所使用的m…

Nginx到底是什么,他能干什么?

Ngnix是什么&#xff0c;它是用来做什么的呢&#xff1f; 一。Nginx简介 Nginx是enginex的简写&#xff0c;是一款很优秀的开源的高性能HTTP和反向代理服务器,由于它是用C语言写的&#xff0c;所以速度非常快&#xff0c;性能非常优秀&#xff0c;它主要功能就是反向代理&…

SpringBoot Mybatis 多数据源 MySQL+Oracle+Redis

一、背景 在SpringBoot Mybatis 项目中&#xff0c;需要连接 多个数据源&#xff0c;连接多个数据库&#xff0c;需要连接一个MySQL数据库和一个Oracle数据库和一个Redis 二、依赖 pom.xml <dependencies><dependency><groupId>org.springframework.boot&l…

DOCKER 部署 webman项目

# 设置基础镜像 FROM php:8.2-fpm# 安装必要的软件包和依赖项 RUN apt-get update && apt-get install -y \nginx \libzip-dev \libpng-dev \libjpeg-dev \libfreetype6-dev \&& rm -rf /var/lib/apt/lists/*# 安装 PHP 扩展 RUN docker-php-ext-configure gd …

ssh访问远程宿主机的VMWare中NAT模式下的虚拟机

ssh访问远程宿主机的VMWare中NAT模式下的虚拟机 1.虚拟机端配置 1.1设置虚拟机的网络为NAT模式 1.2设置虚拟网络端口映射(NAT) 点击主菜单的编辑-虚拟网络编辑器&#xff1a; 启动如下对话框&#xff0c;选中NAT模式的菜单项&#xff0c;并点击NAT设置&#xff1a; 点击添…

计算机毕设 基于深度学习的植物识别算法 - cnn opencv python

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 MobileNetV2网络4 损失函数softmax 交叉熵4.1 softmax函数4.2 交叉熵损失函数 5 优化器SGD6 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&a…

WSL Opencv with_ffmpeg conan1.60.0

我是ubuntu18. self.options[“opencv”].with_ffmpeg True 关键是gcc版本需要conan支持&#xff0c;比如我的是&#xff1a; compilergcc compiler.version7.5 此外还需要安装系统所需库&#xff1a; https://qq742971636.blog.csdn.net/article/details/132559789 甚至来…

宏基官网下载的驱动怎么安装(宏基笔记本如何安装系统)

本文为大家介绍宏基官网下载的驱动怎么安装宏基笔记本驱动(宏基笔记本如何安装系统)&#xff0c;下面和小编一起看看详细内容吧。 宏碁笔记本怎么一键更新驱动 1. 单击“开始”&#xff0c;然后选择“所有程序”。 2. 单击Acer&#xff0c;然后单击Acer eRecovery Management。…

ChatGPT 制作可视化柱形图突出显示第1名与最后1名

对比分析柱形图的用法。在图表中显示最大值与最小值。 像这样的动态图表的展示只需要给ChatGPT,AIGC,OpenAI 发送一个指令就可以了, 人工智能会快速的写出HTML与JS代码来实现。 请使用HTML,JS,Echarts完成一个对比分析柱形图,在图表中突出显示第1名和最后1名用单独一种不…

Vue 项目性能优化 — 实践指南

前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术&#xff0c;帮我们处理了前端开发中最脏最累的 DOM 操作部分&#xff0c; 我们不再需要去考虑如何操作 DOM 以及如何最高效地操作 DOM&#xff1b;但 Vue 项目中仍然存在项目首屏优化、Webpack 编译配置优化等问题&#xff0c;所…

idea查找maven所有依赖

文章目录 idea自带的依赖结构图idea安装maven helper插件 idea自带的依赖结构图 缺点是只有依赖&#xff0c;没有版本 idea安装maven helper插件 settings–>plugins–>搜索maven helper并安装 安装后打开pom.xml文件会有依赖解析 勾选conflict就是有冲突的依赖选中…

(笔记三)opencv图像基础操作

强调&#xff1a;本文只为学习记录做笔记 详细可参考opencv官网 &#xff1a;https://docs.opencv.org/4.1.1/d0/d86/tutorial_py_image_arithmetics.html &#xff08;1&#xff09;将cv2的BGR模式改为RGB模式 #!/usr/bin/env python # -*- coding:utf-8 -*- ""&q…