【音视频】zlmediakit总结一

推拉流理论

  推流:将直播的内容推送至服务器的过程。

  拉流:指服务器已有直播内容,用指定地址进行拉取的过程。

  拉流,即是指服务器里面有流媒体视频文件;

    但zlmediakit里也有个广义的拉流概念如下。对于用户而言,确实是拉流的,但实现的过程,依然是通过了sip服务器进行触发设备“主动”推流,这块对用户是透明的,所以他感觉 是一个拉流过程 。因为对于摄像头而言,它没有事先存视频。 下面两个图,一个是支持被拉的,就拉流了,一个不支持的,就触发推流。

 



推拉流测试


   ffmpeg   推流使用
 ffmpeg -re -i "/opt/zlm/11.mp4" -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1/live/test2

ffmpeg -re -i "/opt/zlm/11.mp4" -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1/live/test2

 

 

服务器可以看到

2023-03-30 14:44:47.809 I MediaServer[13-event poller 23] MediaSource.cpp:461 emitEvent | 媒体注册:rtmp __defaultVhost__ live test2
2023-03-30 14:44:47.884 D MediaServer[13-event poller 23] MediaSink.cpp:136 emitAllTrackReady | all track ready use 2574ms
2023-03-30 14:44:47.884 I MediaServer[13-event poller 23] MediaSource.cpp:461 emitEvent | 媒体注册:fmp4 __defaultVhost__ live test2
2023-03-30 14:44:47.884 I MediaServer[13-event poller 23] MultiMediaSourceMuxer.cpp:329 onAllTrackReady | stream: rtmp://127.0.0.1:1935/live/test2 , codec info: mpeg4-generic[48000/1/16] H264[544/960/29] 
2023-03-30 14:44:47.884 I MediaServer[13-event poller 23] MediaSource.cpp:461 emitEvent | 媒体注册:rtsp __defaultVhost__ live test2
2023-03-30 14:44:47.885 I MediaServer[13-event poller 23] MediaSource.cpp:461 emitEvent | 媒体注册:ts __defaultVhost__ live test2
2023-03-30 14:44:56.463 I MediaServer[13-event poller 23] MediaSource.cpp:461 emitEvent | 媒体注册:hls __defaultVhost__ live test2

我们可以在JessDemo里面放这个地址(参考资料里url组成) 

ws://10.30.2.8:6080/live/test2.live.flv


 也可以使用ffplay 

D:\java\xiachu\bin>ffplay rtmp://10.30.2.8:10935/live/test2

 

按需拉流测试
ws://10.30.2.8:6080/rtp/44010200492000000002_34020000001310000002.live.flv
我们是通过wvp sip 调用摄像头拉起的,按上文方法,它这个播放器就可以拉起了rtsp等
ffplay?看是否可以直接拉流

D:\java\xiachu\bin>ffplay rtsp://10.30.2.8:10554/rtp/44010200492000000002_34020000001310000002
ffplay rtmp://10.30.2.8:10935/rtp/44010200492000000002_34020000001310000002

如图一所画,如果摄像头支持rtsp,rtmp拉流,就可以,实验说明不行;

所以我们可以通过sip 主动推起后,让这个地址,都可以播放

 

ffplay直接播放云录相,也可以,这也可以算成一种 拉流。
D:\java\xiachu\bin>ffplay http://10.30.2.8:6080/record/rtp/44010200492000000002_34020000001310000002/2023-03-30/09%3A32%3A45-09%3A32%3A54-9994.mp4
也可以播放

 

webrtc 使用
https://www.bilibili.com/video/BV1Eg411N7TJ/?vd_source=513f4714cefb8d7c46b9fdc5d529d655
android webrtc 正好可以看为什么连不上。
在线测试
https://github.com/ZLMediaKit/ZLMediaKit/wiki/%E5%9C%A8%E7%BA%BF%E6%B5%8B%E8%AF%95

对webrtc的配置(证书 ,开启)
    生成SSL自签名证书并测试 · ZLMediaKit/ZLMediaKit Wiki (github.com)
    10443->443  6080->80(不影响 )

(2)

cmake专题
https://blog.csdn.net/qq_43257914/article/details/128409831
doc-new\80-部门管理\16-网管开发组\80-培训内容\c++相关
cmake_tutorial_complete.pdf

(4) 知识
各种帧的介绍
https://blog.csdn.net/qq_21438461/article/details/125576733

(5)问题
android连webrtc时出现的 
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
https://blog.csdn.net/kingyc123456789/article/details/108006601
 

参考资料

概念-

(98条消息) 【流媒体】推流与拉流简介_推流拉流什么意思_No8g攻城狮的博客-CSDN博客

ZLMediaKit实现按需拉流 · ZLMediaKit/ZLMediaKit Wiki (github.com)

使用ZLMediaKit实现按需推流 · ZLMediaKit/ZLMediaKit Wiki (github.com)

ffmpeg ffplay工具的下载相关

夏楚/FFmpeg (gitee.com)
FFmpeg实战:ffplay介绍及入门使用 (360doc.com)

Releases · BtbN/FFmpeg-Builds (github.com)
 

推流播放

ZLMediaKit推流测试 · ZLMediaKit/ZLMediaKit Wiki (github.com)

播放url规则 · ZLMediaKit/ZLMediaKit Wiki (github.com)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/4736.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试官灵魂拷问[二]:SQL 语句中 where 条件后写上 1=1 是什么意思?

面试官灵魂拷问系列又来更新啦! “SQL 语句中 where 条件后写上 11 是什么意思?” 这玩意就跟很多新语言支持尾部逗号的原理一样的。 比如 Kotlin 支持数组写成 [1, 2, 3, 4, ] ,注意4后边那个逗号,为什么呢?因为当你增加一个项…

医院LIS系统源码,云LIS系统源码,独立实验室LIS源码

实验室云LIS系统源码 LIS系统源码 LIS源码 基于B/S架构的实验室管理系统云LIS,整个系统的运行基于WEB层面,只需要在对应的工作台安装一个浏览器软件有外网即可访问。 私信了解更多源码内容! 技术架构:Asp.NET CORE 3.1 MVC SQ…

MySQL表设计思路(一对多、多对多...)

要开始单独负责需求了,捋一捋表设计的思路。 文章目录一、MySQL中的数据类型二、一对一的关系设计二、一对多的关系设计三、多对多的关系设计四、经验总结一、MySQL中的数据类型 字符串类型 varchar:即variable char ,可边长度的字符串&#…

Tomcat启动JSP项目,搞起来了

虽然有点复古,但是还是有很多小伙伴在使用的,小编来一篇保姆级教程 1、用idea打开jsp项目 2、添加tomcat配置 3、点击后会出现配置框,这里画框的地方都选上,版本选择1.8,其他的信息内容默认后,点击确认 4、点击…

FITC-PEG-Biotin,荧光素-聚乙二醇-生物素的相关检测

FITC-PEG-Biotin 荧光素聚乙二醇生物素 英文名称:Fluorescein (polyethylene glycol) Biotin 中文名称:荧光素聚乙二醇生物素 激光/发射波长:515nm~520 nm 分子量:2000、3400、5000其他分子量可制定 溶剂&#xff…

【C++】异常

文章目录C传统处理错误方式C异常概念异常使用1.异常的抛出和捕获2.异常的重新抛出异常安全异常规范自定义异常体系C标准库的异常体系异常的优缺点C传统处理错误方式 C语言传统的错误处理机制: 1. 终止程序,如assert,缺陷:用户难以…

nodejs+vue文旅门户信息网站 elementui旅游项目推荐系统 景点门票预订网站vscode

在社会快速发展的影响下,服务行业继续发展,随着旅游的人数不断增加,使哈尔滨旅游项目推荐平台的管理和运营比过去十年更加信息化,依照这一现实为基础,设计一个快捷而又方便的网上哈尔滨旅游项目推荐平台是一项十分重要…

day73【代码随想录】二刷链表

文章目录前言一、环形链表||(力扣142)二、寻找重复数(力扣287)三、缺失的第一个正数(力扣41)每日一题day73:等差子数组(力扣1630)前言 1、等差子数组 2、寻找重复数 3、…

ThreeJS-纹理(十)

关键代码: const textureLoader new THREE.TextureLoader(); //纹理加载器加载图片 const docColorLoader textureLoader.load(static/1.webp) // let color new THREE.Color(Math.random(), Math.random(), Math.random()); const cubeMaterial new THREE.Mesh…

法规标准-GB/T 39901标准解读(2021版)

GB/T 39901是做什么的? GB/T 39901全名为乘用车自动紧急制动系统(AEBS)性能要求及试验方法,其中主要对AEBS的功能要求、性能要求及测试要求进行介绍 一般要求 1.安装有自动紧急制动系统的车辆应安装符合GB 21670-2008要求的防抱制动系统 2.AEBS的电磁…

近世代数 笔记和题型连载 第七章(阿贝尔群和循环群)

文章目录基础概念1.阿贝尔群2.循环群3.有限循环群4.元素的阶5.无限循环群相关题型1.判断一个代数系统的代数结构2.判定一个群是否是循环群3.判定一个群是否是循环群4.循环群的生成元有关问题5.判定元素的阶6.判定元素的阶7.判定元素的阶8.求给定循环群的所有子群9.求给定循环群…

七. MySQL 其它优化相关

目录一. 数据库问题排查流程二. 表连接驱动表与被驱动表Nested Loop Join 与小表驱动大表JoinBuffer 连接缓冲区Index Nested-Loop Join 索引嵌套循环连接Batched Key Access join 批量的key访问连接Block Nested-Loop Join 缓存块嵌套循环连接三. 半连接in 与 existssemi-join…

Vue 04 - Vue模板语法

目录 介绍 Mustache 插值语法 Attribute指令语法 代码演示 运行效果 介绍 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML,所以能被遵循规范的浏览器和 HTML 解析器解…

PCB模块化设计10——PCI-E高速PCB布局布线设计规范

目录PCB模块化设计10——PCI-E高速PCB布局布线设计规范1、PCI-E管脚定义2、PCI-E叠层和参考平面3、 PCB设计指南1、阻抗要求2、线宽线距3、长度匹配4、走线弯曲角度5、测试点、过孔、焊盘6、AC去耦电容放置方法7、金手指和连接器的注意事项8、其他的注意事项PCB模块化设计10——…

STM32学习笔记(一)基础知识

文章目录一、什么是单片机?二、STM系列单片机命名规则三、STM32F103C8T6单片机简介四、标准库与HAL库区别五、通用输入输出端口GPIO六、复位和时钟控制(RCC)七、时钟八、中断和事件九、定时器一、什么是单片机? 单片机和PC电脑相比…

SpringBoot的多环境配置详解(上)——文件配置项版

SpringBoot不同环境加载不同配置文件 - resource & profile 文章目录SpringBoot不同环境加载不同配置文件 - resource & profile1、 profile多配置文件2、 profile单配置文件3、maven的profiles策略4、spring.profiles.activeprofiles.active用法1、 profile多配置文件…

健身房训练计划—背部

杠铃屈腿硬拉(臀,大腿) 动作要领: 1,站距和肩等宽,脚尖微微外八,拉的时候把杆贴近小腿,身体成45度(头背腰成45度)。 2,发力的时候腿用力向上蹬&am…

IOC 相关内容

IOC 相关内容4,IOC相关内容4.1 bean基础配置4.1.1 bean基础配置(id与class)4.1.2 bean的name属性步骤1:配置别名步骤2:根据名称容器中获取bean对象步骤3:运行程序4.1.3 bean作用范围scope配置4.1.3.1 验证IOC容器中对象是否为单例验证思路具体实现4.1.3.…

三个月从功能测试进阶到自动化测试,涨薪5k?你在想啥呢?

一、自动化测试要学多久能学会? 兄弟,老实说如果你现在上班,之前主要在做功能测试,或者编程基础比较弱的话,三个月够呛。 如果你是脱产学习,每天能保持6~8小时学习时间的话,可以。…

【综】A review of bicycle-sharing service planning problems

A review of bicycle-sharing service planning problems 共享单车服务规划问题综述 article{ZHOU2022608, title {Review of bike-sharing system studies using bibliometrics method}, journal {Journal of Traffic and Transportation Engineering (English Edition)}, v…