首页 > 其他分享 >ZLM的Ringbuffer

ZLM的Ringbuffer

时间:2024-03-06 12:13:25浏览次数:22  
标签:点播 ZLM 缓冲 读数据 storge Ringbuffer reader GOP

1 、ringbuffer缓冲结构;以每一个新的IDR帧创建一个新的list,然后存放GOP list<list<pair node>>;当有新的reader接入的时候会先去storge中读取用于秒开的GOP缓冲。如果是已经在观看的reader,ringbuffer来一帧数据就会直接送reader显示(并保存一份数据用于新reader接入的时候进行秒开)

2、一个媒体源只有一个storge,来缓冲用于秒开的GOP,但那是use_gop命令可以单独设置每一个过来拉流的reader是否刷新前向GOP;(有些场景可能并不需要秒开。避免帧数据重叠)

3、点播的时候默认是不刷GOP的,因为点播是根据客户端拉流创建MP4媒体源的,不需要再刷新下GOP;这里注意点播如果点播中有seek相关命令,可能会造成输出帧重复(逻辑原因MP4点播启动定时器读数据是单独的线程,seek 后可能会跳回文件头,或者已经被读数据线程读过的位置)

 

 

标签:点播,ZLM,缓冲,读数据,storge,Ringbuffer,reader,GOP
From: https://www.cnblogs.com/8335IT/p/18056232

相关文章

  • windows编译ZLMediaKit流媒体服务webrtc
    环境说明ZLMediaKit编译需要的软件visualstudio2022cmake3.29.0-rc2OpenSSL1.1.1w(不想踩坑的话安装这个版本)libsrtp2.6.0ZLMediaKit编译后运行需要libsrtp编译后且配置环境变量ZLMediaKit编译后文件visualstudiocmakevisualstuid......
  • ZLmediakit的TCP主动接收RTP数据
    当我们使用openRtpServer接口的时候,一般都是别人主动向port或者默认端口(默认1000)上推数据;这种属于ZLM的socket被动接收连接(TCP),ZLM的RTPserver作为服务端,监听端口,有别人过来链接之后,握手建立连接,传输数据;如果我们想主动去链接对方,告诉对方给我发数据要怎么处理呢?首先,发送数据端......
  • Java中String、StringBuffer、StringBuilder的区别以及使用场景总结
    Java中,String、StringBuffer和StringBuilder都用于处理字符串,但在功能和性能上有显著的区别。了解这些区别有助于选择最适合特定情境的类型。在选择使用String、StringBuffer或StringBuilder时,应根据字符串操作的性能需求和线程安全要求来做出决定。1、String、StringBuffer、......
  • 【JAVA基础】String、StringBuilder和StringBuffer的区别——巨详细
    先给答案String是不可变的,StringBuilder和StringBuffer是可变的。而StringBuffer是线程安全的,而StringBuilder是非线程安全的。源码先看看jdk1.8中关于String、StringBuilder和StringBuffer部分的源码,我们看某个类或者某个属性是否不可变首先要看修饰类的关键字是什么,final表示不可......
  • 使用ZLMediaKit对RTSP流转MP4进行播放
    框架地址:https://github.com/ZLMediaKit/ZLMediaKit/wiki/MediaServer%E6%94%AF%E6%8C%81%E7%9A%84HTTP-API 部署ZLMediaKit解码器https://blog.csdn.net/u011374856/article/details/124802856?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog......
  • 面试官:请聊一聊String、StringBuilder、StringBuffer三者的区别
    面试官:“小伙子,在日常的写代码过程中,使用过String,StringBuilder和StringBuffer没?”我:“用过的呀!”面试官:“那你就来聊一聊,他们之间有什么区别,不同场景下如何选择吧”我:“好嘞!”在Java的开发过程中,使用频率最高的就是String字符串,但由于在字符串存储和拼接的过程中,涉及到很多场......
  • ZLMediaKit库 编译安装
    一ZLMediaKit库简介ZLMediaKit是一个基于C++11的高性能运营级流媒体服务框架官方写的项目特点:基于C++11开发,避免使用裸指针,代码稳定可靠,性能优越。支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/Websocket-FLV/GB28181/MP4),支持协议互转。使用多路复用/多线程/异步网络IO模式开发,并发性......
  • 无涯教程-Java 正则 - Matcher StringBuffer appendTail(StringBuffer sb)函数
    java.time.Matcher.appendTail(StringBuffersb)方法实现了附加和替换操作。StringBufferappendTail-声明以下是java.time.Matcher.appendTail(StringBuffersb)方法的声明。publicMatcherappendTail(StringBuffersb)sb -目标字符串缓冲区。StringBufferappend......
  • 无涯教程-Java 正则 - Matcher appendReplacement(StringBuffer sb, String replacem
    java.time.Matcher.appendReplacement(StringBuffersb,Stringreplacement)方法实现了附加和替换操作。MatcherappendReplacement-声明publicMatcherappendReplacement(StringBuffersb,Stringreplacement)sb           - 目标字符串缓冲区......
  • WVP+ZLMediaKit实现摄像头GB28181推流播放
    一、介绍概述WVP-PRO基于GB/T28181-2016标准实现的流媒体平台,依托优秀的开源流媒体服务ZLMediaKit,提供完善丰富的功能。GB/T28181-2016中文标准名称是《公共安全视频监控联网系统信息传输、交换、控制技术要求》是监控领域的国家标准。大量应用于政府视频平台。通过28181......