Go语言流媒体开源项目 LAL 今天发布了v0.32.0版本。距离上个版本刚好一个月时间,LAL 依然保持着高效迭代的状态。

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

挑三个比较重要的修改简单介绍一下:

▌ 一,自动叠加静音音频

这个是为了更好的支持 纯视频流 ,解决很多播放器播放纯视频的直播流时,可能出现首帧打开时间特别慢、延迟大的问题。

详情我单独写了一篇文档: 《lalserver 自动叠加静音音频》

▌ 二,支持RTMPS,RTSPS

基于TLS/SSL对RTMP和RTSP协议进行加密,带来更高的安全性。

RTMPS和RTSPS可以通过 lalserver 的配置文件开启,比如RTMPS对应的配置:

  "rtmp": {
//. 是否开启rtmp服务的监听
// 注意,配置文件中控制各协议类型的enable开关都应该按需打开,避免造成不必要的协议转换的开销
"enable": true, //. RTMP服务监听的端口,客户端向lalserver推拉流都是这个地址//. RTMP服务监听的端口,客户端向lalserver推拉流都是这个地址
"addr": ":1935", //. 是否开启rtmps服务的监听
// 注意,rtmp和rtmps可以任意开启一个或全部打开或全部关闭
"rtmps_enable": true, //. RTMPS服务监听的端口地址
"rtmps_addr": ":4935", //. RTMPS的本地cert文件
"rtmps_cert_file": "./conf/cert.pem", //. RTMPS的本地key文件
"rtmps_key_file": "./conf/key.pem",
...
},

提示,以上内容来源 《lalserver配置文件说明》 ,打开源文档可以获得更友好的阅读格式。

▌ 三,更好的支持更多的RTSP摄像头

比如:

  • rtp协议栈支持解析header中的padding和csrc
  • 修复aac rtp type不是标准值导致无法合帧的问题。提高兼容性
  • 修复rtsp auth可能失败的bug

以上处理都是对社区真实反馈的响应。

▌ 更多修改

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

  • [feat] demo: pullhttpflv拉取http-flv时可以存储为flv文件
  • [opt] 二次开发: 当DelCustomizePubSession后,调用被删除对象的FeedAvPacket方法将返回错误
  • [opt] 二次开发: 支持直接使用json字符串作为配置内容初始化ILalServer
  • [opt] 兼容性优化。转ts时,如果调整时间戳失败则使用调整前的时间戳。
  • [opt] 兼容性优化。当rtmps和rtsps加载签名文件失败时,只打印日志而不退出lalserver
  • [fix] http-api: 修复sub http-flv remote_addr字段没有值的bug
  • [log] 打印rtsp信令。丰富多处错误日志,比如转hls异常
  • [doc] 新增文档:重要概念 https://pengrl.com/lal/#/concept

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

进一步了解lal

本文完,祝你今天开心。

yoko, 202211

LAL v0.32.0发布,更好的支持纯视频流的更多相关文章

  1. terraform v0.12.0 发布了

    v0.12.0 相比以前的有好多新的特性,包括语法,以及函数增强,昨天还在折腾的一个json解码的问题,直接使用 v0.12.0 就可以解决了,同时也包含了for 操作处理同时官方文档对于v0.12. ...

  2. CoreWCF 1.0.0 发布,微软正式支持WCF

    2022年4月28日,我们达到了一个重要的里程碑,并发布了CoreWCF的1.0.0版本.对Matt Connew (微软WCF团队成员)来说,这是5年前即 2017年1月开始的漫长旅程的结束.Mat ...

  3. Plink v0.1.0 发布——基于Flink的流处理平台

    Plink是一个基于Flink的流处理平台,旨在基于 [Apache Flink]封装构建上层平台. 提供常见的作业管理功能.如作业的创建,删除,编辑,更新,保存,启动,停止,重启,管理,多作业模板配 ...

  4. 重大更新!Druid 0.18.0 发布—Join登场,支持Java11

    Apache Druid本质就是一个分布式支持实时数据分析的数据存储系统. 能够快速的实现查询与数据分析,高可用,高扩展能力. 距离上一次更新刚过了二十多天,距离0.17版本刚过了三个多月,Druid ...

  5. Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?

    服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...

  6. [译]基于ASP.NET Core 3.0的ABP v0.21已发布

    基于ASP.NET Core 3.0的ABP v0.21已发布 在微软发布仅仅一个小时后, 基于ASP.NET Core 3.0的ABP v0.21也紧跟着发布了. v0.21没有新功能.它只是升级到 ...

  7. GraphScope v0.12.0 版本发布

    GraphScope 每月进行常规版本的迭代与发布,GraphScope v0.12.0 全新版本在四月如期而至.v0.12.0 为交互式图查询 GAIA 引入全新的 IR 层以及新增 Giraph ...

  8. SpaceVim 发布 v0.8.0

    This project exists thanks to all the people who have contributed. The last release v0.7.0 is target ...

  9. Visual Studio Code v0.9.1 发布

    微软的跨平台编辑器 Visual Studio Code v0.9.1 已经发布,官方博客上发布文章Visual Studio Code – October Update (0.9.1):http:/ ...

随机推荐

  1. ABC216H - Random Robots(容斥,状压DP)

    题面 有 K K K 个机器人初始分别位于数轴上 x 1 , x 2 , . . . , x K x_1,x_2,...,x_{K} x1​,x2​,...,xK​ 的整点位置. 接下来会经历 N N ...

  2. 大家都能看得懂的源码 - ahooks 是怎么处理 DOM 的?

    本文是深入浅出 ahooks 源码系列文章的第十三篇,该系列已整理成文档-地址.觉得还不错,给个 star 支持一下哈,Thanks. 本篇文章探讨一下 ahooks 对 DOM 类 Hooks 使用 ...

  3. 【java】学习路径20-Date、Calender日期与时间

    简单的说,Date和Calender基本上是差不多的. 在最开始的时候只有Date,没有Calender. 在jdk不断更新的时候,发现了Date有一点缺陷,于是推出了Calender. // Dat ...

  4. Java Socket底层实现浅析

    最近在学Java的socket编程,发现Java可以很简单的通过socketAPI实现网络通信,但是我一直有个疑问,Java的socket的底层是怎么实现的? 如果没记错的话Java的底层是C和C++ ...

  5. web字体浮在图像中央

    在做项目的过程中遇到了需要将图像作为背景,将字体显示在图像中央需求. 尝试了两种做法: 第一种方法为设置一个div设置属性为relative固定这个框的位置,将图片铺在div块里. 在div再设一个d ...

  6. 如何在Elasticsearch中使用pipeline API来对事件进行处理

    一个processor就像是Logstash里的一个filter pipeline是一组processor

  7. Elasticsearch Reindex性能提升10倍+实战

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484134&idx=1&sn=750249a ...

  8. centos离线安装nvm

    PS:因为项目需,客户现场不能联网需要不同的node版本来切换,里面已经内置好了node 8.11.2和12.1.0 两个版本,使用nvm可以切换 链接:https://pan.baidu.com/s ...

  9. SpringBoot课程学习(二)

    一.断言 (1).@assertTrue,@assertFalse assertTrue与assertFalse用来判断条件是否为true或false,assertTrue表示如果值为true则通过, ...

  10. SpringBoot常用场景

    SpringBoot-常见场景 1.热部署 ​ SpringBoot为我们提供了一个方便我们开发测试的工具dev-tools.使用后可以实现热部署的效果.当我们运行了程序后对程序进行了修改,程序会自动 ...