LAL v0.36.7发布,Customize Sub,我有的都给你

这篇具有很好参考价值的文章主要介绍了LAL v0.36.7发布,Customize Sub,我有的都给你。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Go语言流媒体开源项目 LAL 今天发布了v0.36.7版本。

LAL 项目地址:https://github.com/q191201771/lal

老规矩,简单介绍一下:

▦ Customize Sub,我有的都给你

这是提供给用lalserver做二次开发的小伙伴们的一个重要的功能,业务方可以通过设置回调函数的方式获取lalserver内部的流。

获取到流有什么用呢,拿lal的衍生项目lalmax来举例,它基于lalserver的Customize Sub,为所有输入lalserver中的流扩展了srt和webrtc播放的能力。

这里也简单介绍一下lalmax,它将会是lal整体版图中的一个重要项目,它基于lalserver提供的二次开发接口,与第三方库结合,支持更多的协议、实现更丰富的功能。
相应的,lal项目会持续保持自身无第三方依赖,高性能等特点。
lalmax项目地址: https://github.com/q191201771/lalmax

如果你想更好的理解Custmize Sub,可以先看看与Customize二次开发相关的另外两篇文档:

  • 2.6 lalserver 二次开发(插件化)
  • |-- 2.6.1 二次开发-pub接入自定义流

如果你想直接看代码:

  • lal中相应的API签名: https://github.com/q191201771/lal/blob/master/pkg/logic/logic.go#L43
  • lalmax使用示例: https://github.com/q191201771/lalmax/blob/master/main.go#L39

▦ rtmp兼容性优化

  • amf编码中有两个不包含有效内容、没什么实际卵用的格式叫Undefined和Unsupported,之前lal没有解析,而现实中竟然真的有客户端会用它。
  • 兼容publish信令中没有pubType字段的情况。是的,有的客户端就是这么任性,关键用的人还不少,不兼容还不行,气不气。
  • 处理音频格式写在metadata中,而非单独seq header包的情况。
  • Rtmp2AvPacketRemuxer增加参数用于指定是否需要丢弃SEI

▦ rtsp优化

  • 支持处理时间戳翻滚的情况。也就是时间戳递增到一个非常大的数后,重新回到一个小的数继续递增。
  • package rtsp中新增加了一个配置变量BaseInSessionTimestampFilterFlag,用于决定rtsp合成的帧级别packet的时间戳是使用rtp中的时间戳,还是重置成从0开始。

▦ lalserver优化

  • 将NotifyHandler回调异步化到独立协程中。目的是方便业务方在回调中自由的调用lalserver的其他API接口
  • http api中的流信息中增加fps字段
  • 在业务方WithOnHookSession的情况下,停用auto stop relay pull功能

▦ bug修复

首先是一个比较严重的bug,会导致hls无法播放,这是在上个版本v0.35.4引入的,原因是转ts时,pmt中的avc标志笔误写错了写成aac了。。

然后是协议处理上的bug:

  • rtp: 修复解析ext扩展数据的bug
  • remux: Rtmp2AvPacketRemuxer多slice时append sps错误导致花屏
  • rtmp2mpegts: 确保pts有值
  • rtmp: 当ClientSession配置项WriteChanSize为0时,不必要开启异步发送

lalserver中释放资源的bug:

播放不存在的rtsp流,超时没有彻底释放

其他一些小bug:

使用hls中的回调对象IMuxerObserver前,先检查是否为nil

▦ 更多

还有一些修改不逐个介绍了,大致如下:

  • [chore] all shell file go to script folder
  • [chore] 所有脚本+x增加执行权限,保证CI正常运行
  • [chore] 修复macos平台readlink没有-f参数导致脚本执行失败的问题
  • [fix] webui: read null when no group
  • [fix] connection: not working set ModWriteChanSize
  • [fix] not working timout for RTMP server session
  • [test] dump rtsp test support video
  • [refactor] 整理所有跨域的代码
  • [refactor] 整理所有超时相关的代码
  • [refactor] hevc: 暴露hevc.Context中的所有字段
  • [refactor] avc: 暴露avc.Context中的Sps结构体字段

以上内容摘取自 《lal CHANGELOG版本日志》 ,你可以通过源文档获取更详细的内容。

▦ 开发者

感谢参与这个版本的开源贡献者:yoko(阿亮), ZSC714725(阿响), HustCoderHu(小虎), Jae-Sung Lee(阿韩)

▦ 进一步了解lal

  • github
  • 官方文档
  • 联系作者

微信扫码加我好友(进微信群):

本文完,祝你今天开心。

yoko, 202307文章来源地址https://www.toymoban.com/news/detail-574018.html

到了这里,关于LAL v0.36.7发布,Customize Sub,我有的都给你的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jmeter接口测试项目实战详解,零基础也能学,源码框架都给你

    目录 1.什么是jmeter? 2.jmeter能做什么? 3.jmeter环境搭建 3.1前提: 3.2jmeter下载: 3.3jmeter环境搭建: 3.3.1mac当中jmeter环境搭建: 3.4jmeter基本配置 3.4.1.切换语言  3.4.2.安装插件 4.jmeter组件 4.1测试计划 4.2线程组 4.2.1取样器错误后要执⾏的动作 4.2.2线程属性 4.3jmeter监听器 4.3.1聚合

    2024年02月08日
    浏览(42)
  • 软件测试项目去哪里找?我都给你整理好了【源码+操作视频】

    目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 ​有需要实战项目的评论区留言吧! 软件测试是使用人工或者自动的手段来运行或者测定某个软件

    2024年02月07日
    浏览(50)
  • 产品代码都给你看了,可别再说不会DDD(四):代码工程结构

    这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目—— 码如云 (https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以

    2024年02月11日
    浏览(38)
  • 产品代码都给你看了,可别再说不会DDD(一):DDD入门

    这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目—— 码如云 (https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以

    2024年02月13日
    浏览(32)
  • 大佬都是怎么画交换机拓扑图的?都给你整理好了

    老杨的网工交流群里经常会有这种现象: 一群小伙伴在问各类型拓扑图的问题,怎么设计,怎么配置,或者让群里的大佬帮忙看看,这图有没有啥问题的…… 太多了。 网络拓扑(Network Topology)是啥?你可以把他理解成是用传输媒体互连各种设备的物理布局。 为了更好的连

    2024年02月09日
    浏览(35)
  • 从地图到手机通讯到ChatGPT,你想要的免费 API 都给你整理好了

    在今天的科技世界中,API(Application Programming Interface)已经成为现代应用程序不可或缺的一部分。它们提供了许多强大的功能,让开发人员可以轻松地集成其他应用程序的功能,从而快速构建出色的应用程序。 在本文中,我们将介绍几个最受欢迎的 API,让你的应用程序更出

    2024年02月15日
    浏览(33)
  • 产品代码都给你看了,可别再说不会DDD(六):聚合根与资源库

    这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目—— 码如云 (https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以

    2024年02月08日
    浏览(56)
  • 软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

    目录 前言 一 概述 1.1目的 1.2使用范围 二 测试用例编写原则 2.1系统性 2.2连贯性 2.3全面性 三 测试用例设计方法 3.1 等价类划分法: 3.2 边界值分析法: 3.3 因果图法: 3.4功能图法 3.5错误推测法 四 测试用例编写规范 4.1测试用例命名规则 4.2测试用例编号规则 4.3测试用例文档书

    2023年04月26日
    浏览(45)
  • openAI发布v0.2.0了

    时隔20天,OpenAI从v0.0.1升级到了v0.2.0。与v0.0.1版相比,v0.2.0版主要做了以下改动: 把 cmd 目录下微信公众号的相关服务迁移到了这里 完善了 cmd 下的测试服务,针对openAI库里实现的各个接口都提供了响应的调用接口,服务运行后可以通过postman进行测试 完成了Fine-tunes和Moderat

    2024年02月03日
    浏览(46)
  • Kurator v0.3.0版本发布

    摘要: 2023年4月8日,Kurator正式发布v0.3.0版本。 本文分享自华为云社区《华为云 Kurator v0.3.0 版本发布!集群舰队助力分布式云统一管理》,作者:云容器大未来 。 2023年4月8日,Kurator正式发布v0.3.0版本。 Kurator 是华为云推出的分布式云原生开源套件,通过集成业界主流开源技

    2023年04月18日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包