LAL v0.34.3发布,G711音频来了,Web UI也来了

q191201771 · · 1706 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Go语言流媒体开源项目 [LAL](https://github.com/q191201771/lal) 今天发布了v0.34.3版本。 > LAL 项目地址:https://github.com/q191201771/lal 老规矩,简单介绍一下: #### ▦ 一. 音频G711 新增了对音频G711A/G711U(也被称为PCMA/PCMU)的支持。主要表现在: ✒ 1) rtmp G711作为输入 1.1) 首先是rtmp进,rtmp出 测试方法如下: ``` # 推流命令: ffmpeg -re -i testdata/test.flv -vcodec copy -acodec pcm_mulaw -ac 1 -ar 8000 -f flv "rtmp://127.0.0.1/live/test110" # 播放命令: ffplay rtmp://127.0.0.1/live/test110 ``` 提示,`-acodec pcm_mulaw`是G711U,如果想使用G711A,则修改为`-acodec pcm_alaw` 1.2) 然后是新增了rtmp转rtsp的支持 ``` # 推流命令: ffmpeg -re -i testdata/test.flv -vcodec copy -acodec pcm_mulaw -ac 1 -ar 8000 -f flv "rtmp://127.0.0.1/live/test110" # 播放命令: ffplay rtsp://127.0.0.1:5544/live/test110 ``` ✒ 2) rtsp G711作为输入 加强了对rtsp转发rtsp的支持。 对于rtsp进rtsp出的场景,lalserver只需要对rtp数据做转发即可,理论上是支持所有编码格式的。 但实际上由于对SDP格式的兼容性不够好,导致对于rtsp2rtsp G711的支持不够好,新版本做了加强。 ``` # 推流命令: ffmpeg -re -stream_loop -1 -i testdata//test.flv -acodec pcm_mulaw -ac 1 -ar 8000 -vcodec copy -f rtsp rtsp://localhost:5544/live/test110 # 播放命令: ffplay rtsp://127.0.0.1:5544/live/test110 ``` ✒ 3) 后续 3.1) 当前版本G711 rtsp转rtmp,只有视频没有声音,我们会尽快支持,这个工作已经在进行中了。 3.2) 加强G711在各采样率下的表现。 3.3) 增加ts等容器协议对G711的支持。 #### ▦ 二. Web UI 在lalserver进程内部增加了一个简单的Web页面,启动lalserver后,在浏览器中输入 http://127.0.0.1:8083/lal.html 进行访问。 [想看截图的点我](https://pengrl.com/lal/#/http_web_ui), 基本分为三大部分: 1. 服务的基础信息 - 比如版本、启动时间等 2. group列表信息 - 比如总共有多少输入流 - 比如每条流的名称,启动时间,远端地址,视频编码格式、宽高,当前码率等 3. 特定group信息 - 操作方式:点击group列表中的流 - 比如有多少路拉流,拉流的信息等 页面支持定时刷新,把Auto勾选上即可。 页面是通过lalserver内部的http server渲染的,页面调用lalserver HTTP-API接口动态的获取信息。 只使用原生的前端技术,没有引入第三方的js/css库。 我们把lal的Go版本最小依赖从1.14升级到1.16,从而使用embed功能将html页面内嵌到了lalserver可执行程序里。 这意味着,你在部署lalserver时不需要部署html静态文件,只需要部署lalserver可执行程序加配置文件即可。 后续,我们会在这个页面上增加所有基于HTTP-API接口的功能,比如发送命令从远端拉取rtsp流等。 #### ▦ 三. 小程序卡顿 微信小程序用rtmp推流时,支持一个模式(mode)叫RTC(实时通话),用这个模式推流给lalserver后再从lalserver拉流播放会非常卡。 这个版本修复了这个bug。 #### ▦ 更多 还有一些修改不逐个介绍了,大致如下: > - [feat] rtmp: server session支持发送ack > - [opt] rtmp: client session 只使用PeerWinAckSize的值作为是否发送ack的触发条件 > - [refactor] remove deprecated io/ioutil packages > - [opt] rtmp: ClientSession支持定制化tls.Config > - [fix] 修复解析配置文件中sub_session_hash_key字段写错的bug > - [log] add log when not caching frame by SingleGopMaxFrameNum > - [chore] 增加检查版本的脚本check_versions.sh > > 以上内容摘取自 [《lal CHANGELOG版本日志》](https://pengrl.com/lal/#/CHANGELOG) ,你可以通过源文档获取更详细的内容。 #### ▦ 开发者 感谢参与这个版本的开源贡献者: yoko(阿亮), ZSC714725(阿响), jaesung9507(阿韩), liquanqing(阿空), joestarzxh(阿海) #### ▦ 进一步了解lal - [github](https://github.com/q191201771/lal) - [官方文档](https://pengrl.com/lal) - [联系作者](https://pengrl.com/lal/#/Author) 微信扫码加我好友(进微信群): ![wechat](https://pengrl.com/images/yoko_vx.jpeg?date=2303) 本文完,祝你今天开心。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1706 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传