Commit Graph

42 Commits (90cb1e023b029e274e5b39fb9dcdbb0ba01238f0)

Author SHA1 Message Date
q191201771 eb7bb115d8 [feat] lalserver支持集成自定义协议的输入流 3 years ago
q191201771 c2fa468162 [feat] avc: 新增Annexb2Avcc函数 3 years ago
q191201771 0f0584adcf [fix] avc: 增强兼容性,处理单个seq header中存在多个sps的情况 #135 3 years ago
q191201771 3f177e6b68 [feat] avc: new func Avcc2Annexb 3 years ago
q191201771 0f21334964 [opt] 支持pkg层面控制日志 #62 3 years ago
q191201771 57ad766d34 [feat] 新增simple auth鉴权功能,rtmp,httpflv支持md5鉴权 3 years ago
q191201771 c81a840e4a [opt] avc: 增强兼容性,分隔avcc格式的nal时,如果存在长度为0的nal则忽略 3 years ago
q191201771 83aa44eebe [refactor] error信息更友好 3 years ago
q191201771 5abe86b687 [refactor] package avc: 重新实现sps的解析 4 years ago
q191201771 6d2bf2556d [feat] 优化和统一所有client类型session的使用方式:session由于内部或对端原因导致关闭,外部不再需要显式调用Dispose函数释放资源 4 years ago
q191201771 b11db88259 [refactor] avc.ParseSpsPpsFromSeqHeader, avc.ParseSpsPpsFromSeqHeaderWithoutMalloc, hevc.ParseVpsSpsPpsFromSeqHeader, hevc.ParseVpsSpsPpsFromSeqHeaderWithoutMalloc 4 years ago
q191201771 731bed099a (#87) [refactor] 重构lal整个项目的命名规则 4 years ago
q191201771 48a8d8da7b #79 [refactor] package avc: func SplitNALU***, IterateNALU*** 4 years ago
q191201771 5333a97b32 [refactor] package avc: add func IterateNALUStartCode, IterateNALUAnnexB, IterateNALUAVCC #79 4 years ago
q191201771 8bf0331b24 messages:
- [feat] h265新增支持: hls拉流,hls录制;http-ts拉流,mpegts录制。h265支持列表见: https://pengrl.com/lal/#/LALServer (#65)
4 years ago
q191201771 1224afe201 messages:
- [fix] rtsp,client session的所有信令都处理401 auth
- [fix] rtsp,in session使用rtp over tcp时,收到sr回复rr
- [fix] avc,整体解析sps数据失败时,只解析最基础部分
- [feat] windows平台下,执行程序缺少运行参数时,等待用户键入回车再退出程序,避免用户双击打开程序时程序闪退,看不到提示信息
- [chore] Go最低版本要求从1.9上升到1.13
4 years ago
q191201771 942b5da52d messages:
- [feat] rtsp,pull支持interleaved(over tcp)模式。demo/pullrtsp2pushrtmp和demo/pullrtsp可通过运行参数选择是否使用over tcp模式
- [feat] rtsp,pull支持auth digest验证
- [feat] rtsp,pull支持定时发送GET_PARAMETER rtsp message进行保活(对端支持的情况下)
- [fix] rtsp,输入流音频不是AAC格式时,保证视频流可正常remux成其他封装协议
- [fix] rtsp,pull开始时发送dummy rtp/rtcp数据,保证对端能成功发送数据至本地
- [fix] rtsp,将以下包返回给上层:rtsp pub h265, single rtp packet, VPS, SPS, PPS, SEI
- [fix] rtsp,修改rtsp.AVPacketQueue的行为:当音频或者视频数量队列满了后,直接出队而不是丢弃
- [fix] sdp,修复解析及使用sdp错误的一些case
- [refactor] rtmp/httpflv/rtsp,统一所有PullSession:超时形式;Pull和Wait函数
- [fix] avc,尝试解析scaling matrix
4 years ago
q191201771 5df6f4b94e commit messages:
- [feat] 新增rtsp pull拉流客户端,`/app/demo/pullrtsp`
- [feat] 实现rtsp pull session
- [feat] rtsp sub支持interleaved模式
- [feat] 新增package remux
- [refactor] 整体重构package rtsp
- [fix] 正确处理大于2字节的AudioSpecificConfig
4 years ago
q191201771 f2fc9a741a 增加HTTP API接口,获取服务信息 4 years ago
q191201771 993cc13a44 messages:
- [feat] HTTP-FLV支持HTTPS播放
- [feat] demo pullrtmp2hls: 新增demo,从远端服务器拉取rtmp流,存储为本地hls文件
- [feat] package stun: 完成基础的server功能
- [feat] package hevc: 增加函数,从HVCC SeqHeader解析出VPS,SPS,PPS
- [feat] package hevc: 增加函数,将HVCC SeqHeader转换为AnnexB格式
- [fix] package hls: 修复record m3u8文件无法更新的问题
4 years ago
q191201771 2b67df6d12 messages:
- [refactor] 新增package mpegts,将部分package hls中代码抽离出来
- [feat] 在各协议的标准字段中写入lal版本信息
- [log] 整理所有session的日志
5 years ago
q191201771 ee8de29f7e messages:
- [feat] package rtsp: 支持rtp h264 STAP-A格式
- [fix] package avc: 修复解析sps中PicOrderCntType为2无法解析的bug
- [fix] package sdp: 修复解析sdp fmtp中aac config长度大于4无法解析的bug
- [refactor] package logic: 重构Group,将不同类型的输入流、输出流进行抽象,逻辑统一
- [refactor] package rtprtcp: 将RTPComposer重命名为RTPUnpacker
- [test] 使用wontcry30s.flv作为单元测试用的音视频文件
- [chore] 使用Makefile管理build, test
- [chore] CI跑1.9和master两个Go版本,跑linux、macos、windows三个平台,跑build和test两个脚本
- [doc] 增加文档: https://pengrl.com/p/20080/
5 years ago
q191201771 0509ec5fdd messages:
- [fix] rtsp: rtp和rtcp使用两个连续的端口
- [feat] 增加rtsp.AVPacketQueue,用于处理时间戳问题
- [feat] 处理发送者报告SR,并生成接收者报告RR回复
- [refactor] 整理rtsp.Server代码
- [refactor] 使用nazanet.AvailUDPConnPool和nazanet.UDPConnection
- [feat] rtsp.PubSession资源释放
5 years ago
q191201771 afb7850b87 messages:
- [feat] lalserver集成rtsp pub功能。支持接收rtsp(rtp/rtcp)推流,转换为rtmp,httpflv,hls格式供拉流使用
- [refactor] 新增package sdp,rtprtcp,将package rtsp中对应的内容独立出来
- [refactor] 新增package base,整理lal项目中各package的依赖关系。该工作还在进行中
- [feat] package rtmp: 增加BuildMetadata函数
5 years ago
q191201771 7e4e3816ac messages:
- [feat] package avc: 提供一些AVCC转AnnexB相关的代码。学习解析SPS、PPS内部的字段
- [refactor] package hls: 使用package avc
- [feat] package rtsp: 部分解析SDP的代码。从SDP中解析sps,pps
- [feat] package rtsp: 将AVC类型的RTP包合成帧数据。未完成
5 years ago
q191201771 a11723bde7 1. [feat] package rtsp: 开始处理收到的rtp数据 2. [style] Nalu更改为NALU 5 years ago
q191201771 9af3b44753 Changes:
- [refactor] app/lals重命名为app/lalserver,避免描述时容易和lal造成混淆
 - [refactor] 将app/lalserver的大部分逻辑代码移入pkg/logic中
 - [test] 将所有package的Server、Session等内容的实例测试收缩至package innertest中,多个package都可以共用它做单元测试
 - [refactor] lalserver配置中增加显式enable字段,用于开启关闭特定协议
 - [refactor] 各package的Server对象增加独立的Listen函数,使得绑定监听端口失败时上层可以第一时间感知
 - [feat] demo/analyseflv,增加I帧间隔检查,增加metadata分析
 - [fix] package avc: 修复函数CalcSliceType解析I、P、B帧类型的bug
 - [refactor] package aac: 函数ADTS::PutAACSequenceHeader检查输入切片长度
 - [reafactor] package aac: 删除函数CaptureAAC
 - [feat] 增加demo/learnrtsp,pkg/rtsp,开始学习rtsp
5 years ago
q191201771 41cdddbe2f 1. [feat] 完成package hls的基础功能,并做了小范围重构 2. [feat] lals服务接入hls功能 3. [refactor] 将app目录下除lals的其他应用移入demo目录下 4. [feat] 新增两个demo:analyseflv和analysehls,分别用于拉取HTTP-FLV和HLS的流,并进行分析v0.12.3 -> CHANGELOG.md 5 years ago
q191201771 a6d68e8ca0 [feat] 部分rtmp video message转成mpegts的代码,还没有完成 5 years ago
q191201771 bde11a9524 [refactor] use nazabits 5 years ago
q191201771 4336627955 [feat] 新package hevc [doc] package aac增加一些注释 [fix] windows平台缺少USER1信号 [fix] gop缓存时,不以I帧开始的流会崩溃 [chore] 提供各平台二进制可执行文件的压缩包 [refactor] 使用naza 0.10.0[refactor] naza 0.10.0 5 years ago
q191201771 e1f6ebdc14 1. [feat] RTMP和HTTP-FLV支持H265 2. [feat] logic支持GOP缓存 5 years ago
q191201771 24f56530e9 - package logic: 将 rtmp pub session 的音视频转发给httpflv sub session
- package httpflv: ServerSubSession 使用 naza connection
- package logic: 增加 `example_test`,加载flv文件后使用rtmp推流至服务器,然后分别使用rtmp和httpflv将流拉取下来,存成文件,判断和输入文件是否相等
5 years ago
q191201771 17a053c3c2 - [代码] 默认的rtmp地址
- [代码] naza 更新为 0.4.3
- [架构调整] lal 中的服务器更名为 lals
- [其他] 从远端下载 flv 测试文件,跑单元测试
- [其他] 所有源码文件添加 MIT 许可证
- [其他] test.sh 中加入更多 go tool
5 years ago
q191201771 083d05a771 1. 从远端下载flv文件做单元测试 2. 添加微信图片 3. 所有源码文件头部添加MIT许可证 5 years ago
q191201771 747a529124 修改内容:
- 适配 naza,读取配置文件时,部分未配置的字段设置初始值
- build.sh 中 git信息单引号替换成双引号
- test.sh 中 加入 gofmt 检查
5 years ago
q191201771 696b090fbf 1). CaptureAVC 添加错误返回值 2). 新增 pkg/avc/avc_test.go 5 years ago
q191201771 2de67da06a 1). errors.PanicIfErrorOccur -> log.FatalIfErrorNotNil 2). 新增 pkg/aac/aac_test.go 5 years ago
q191201771 e14a18e4a3 删除 /pkg/util ,这部分内容移入至另一个仓库 github.com/q191201771/nezha 6 years ago
q191201771 1be33f77f5 修改内容如下:
- 去除对第三方日志库seelog的依赖,自己实现了一个简单的日志模块 /pkg/util/log
- 去除对 github.com/pkg/errors 的依赖,至此,lal不依赖任何第三方库
- 从flv文件中抽取aac数据写成aac es流格式文件
- 增加 app/rtmppull,一个rtmp拉流客户端
6 years ago
q191201771 03208d5a55 添加 app/flvfile2es 用于从flv文件中抽取h264 es流并写入文件 6 years ago
q191201771 79ebdbe8c8 commit messages:
* rtmp.ServerSession 使用channel发送数据,增加Dispose方法
* rtmp.Group 缓存avc header,aac header
6 years ago