Commit Graph

211 Commits

Author SHA1 Message Date
fruit Juice 1609fe67d7
Track新增update方法,支持更新宽高采样率等信息 (#2960)
当变分辨率时候,实时更新MP4封装层的参数信息,避免出现封装层与编码(SPS)层视频宽高不一样,造成解码参数错误花屏;同时也支持更新音频采样率等信息。


---------

Co-authored-by: xia-chu <771730766@qq.com>
2023-11-07 23:36:41 +08:00
xiongziliang 2206b031a9 防止析构时抛异常导致的崩溃 2023-11-04 22:24:55 +08:00
imp_rayjay eedf262059
新增支持mjpeg负载的mp4文件点播 (#2898) 2023-10-12 17:26:53 +08:00
xia-chu 39dd886ec1 优化获取播放器列表相关功能 2023-09-02 12:07:42 +08:00
xia-chu d286ac1d73 NoticeCenter支持安全类型转换,解决监听者参数类型不一致导致的bug 2023-09-02 11:22:28 +08:00
xia-chu f3f4b49332 修复设置点播速度后时间戳跳跃问题 2023-08-26 11:34:12 +08:00
xia-chu 08299b6652 mp4录制新增追踪日志 2023-08-12 15:50:09 +08:00
xia-chu 3e9a8b9d8b 优化函数命名
isCfgFrame -> isConfigFrame
getAacCfg -> getConfig
2023-07-22 19:46:26 +08:00
xiongguangjie 788915c7f7
修复mp4解复用器输出sps pps帧时设置起始头长度错误问题 (#2627)
mp4解复用器在解析mp4文件时,当获取到mp4头中sps/pps等配置帧信息时,创建相应的Frame未设置prefix size;导致后续输入H264Track分帧逻辑异常。
2023-07-06 15:47:30 +08:00
XiaoYan Lin cb0579a16d
新增支持hls-fmp4直播(#2603 #977 #1965)
同时主要优化点包括:
1、编译宏特性开关优化。
2、转协议复用器相关创建代码移动至Recorder类。
3、转协议复用器onAllTrackReady函数修改为addTrackCompleted。
4、startRecord/stopRecord/isRecording接口新增支持ts/fmp4/hls-fmp4协议。

Co-authored-by: xia-chu <771730766@qq.com>
Co-authored-by: linxiaoyan87 <linxiaoyan87@foxmail.com>
2023-07-02 12:02:33 +08:00
xiongguangjie d5bf99a27b
ts or ps muxer not support mjpeg video codec ignore it (#2593) 2023-06-28 14:56:06 +08:00
夏楚 5ca4ed53b2
防止析构函数抛异常导致崩溃问题 (#2546) 2023-06-11 22:07:15 +08:00
夏楚 d3f1c2fab1
mp4录制文件名添加索引号,防止一秒内生成多个同名文件导致覆盖 (#2542)
实测发现 如果在点播推流时 如果切片大小设置比较小 一秒钟可能产生多个mp4切片
以前切片名称粒度最小为一秒 所以会存在文件覆盖问题
2023-06-10 14:56:23 +08:00
fruit Juice 7970138966
Fix MP4Reader available speed range bug (#2516) 2023-06-01 14:29:19 +08:00
Johnny 0232caf068 add MediaTuple 2023-05-30 11:01:27 +08:00
Per-Arne Andersen 350e262433
Added support for GCC 13 (#2452)
GCC Does not explicitly include stdint. This update includes them where needed.
A very minor change that would allow GCC13 and above to compile
correctly. In newer versions, cstdint is not implicitly included, hence
it errors out during compilation for some files.
2023-05-11 09:58:48 +08:00
xia-chu ac46f5499e 修复编译错误: #2416 2023-04-28 22:44:57 +08:00
xia-chu d2349f01bd 使用static_pointer_cast优化性能 2023-04-28 22:04:38 +08:00
xiongziliang 7a95c87a29 优化代码
空构造和析构函数替换为缺省
去除多余分号
2023-04-22 21:59:26 +08:00
xiongguangjie 30182701f5 fix vlc can't play mp4 of jpeg #2388 2023-04-19 19:40:58 +08:00
ziyue 6078ca3e81 修复hls注册抛异常可能导致的bug 2023-02-02 11:21:49 +08:00
Alexandr afa6465178 Changes to MP4Muxer for CodecJPEG 2022-12-30 08:56:57 +03:00
老衲不出家 f05a9501fa
Unified code style (#2137) 2022-12-02 14:43:06 +08:00
mtdxc 754073918a
Header refactor (#2115)
* 优化MultiMediaSourceMuxer头文件包含

* 将MediaSinkDelegate和Demux移到MediaSink中

* MediaSource头文件重构, 独立出PacketCache.h
精简Frame和Track的头文件

* Rtmp头文件重构

* Rtsp头文件重构

* webrtc头文件重构

* 规范.h头文件包含,并将其移到.cpp中:
- 尽量不包含Common\config.h
- Util\File.h
- Rtsp/RtspPlayer.h
- Rtmp/RtmpPlayer.h

* 删除多余的Stamp.h和Base64包含
2022-11-29 11:07:13 +08:00
xiongziliang 9bb6a2f828 全面整理转协议相关配置文件 2022-11-12 23:56:28 +08:00
xiongziliang 946945ce7b 优化代码
整理代码
2022-11-12 22:06:09 +08:00
ziyue 2b804514e1 修复mp4点播流线程安全检查失败bug 2022-11-01 22:02:28 +08:00
ziyue ac1abb34da 新增媒体流flush机制:#1996 2022-10-16 19:54:17 +08:00
ziyue 80eef693c6 精确mp4录制时长:#1795 2022-10-16 16:44:54 +08:00
ziyue 15affeff1d 优化关闭媒体源相关逻辑: #1963 2022-09-18 20:36:47 +08:00
cqm 999e0b274e 简化代码:
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
xiongziliang 06c6654ed5 精简代码 2022-09-03 16:32:10 +08:00
xiongzilaing 679c79802f 整理媒体事件相关代码,删除无须重载时的多余代码逻辑 2022-08-28 17:25:56 +08:00
xiongziliang c2ab45f78d 完善线程安全设计 2022-08-27 10:17:06 +08:00
ziyue 35791aac89 优化代码,去除编译警告,修复拼写错误 2022-08-08 17:36:07 +08:00
ziyue 9c3b8a6a95 时间戳改为64位 2022-08-08 17:13:39 +08:00
Dw9 1c5380eead
Update MP4Recorder.cpp
fix #1679 
_muxer->openMP4 创建非法的文件夹会失败抛出异常  所以_full_path_tmp等都是空字符串
delete_file的时候 就会从此盘符的""(full_path_tmp)目录挨个删除了。 
复现建议新建个盘符...
2022-06-19 17:27:03 +08:00
xiongziliang f6b4eb418f 优化录制相关代码 2022-06-11 14:18:55 +08:00
WuPeng 5bc313bafe 增加长期保存hls切片的功能,segKeep=0为不长期保存,segKeep=1为长期保存。此功能部分等效于segNum=0的情况,不同的是这个保留不会在m3u8文件中体现。 2022-05-10 17:32:50 +08:00
alexliyu7352 efc3e78ba0
使用emplace_back优化代码 (#1542)
少了一次构造调用,为什么不用呢?
2022-04-05 19:32:02 +08:00
xiongziliang a16b6cbc59 mp4切片逻辑提高对音视频交织性差的流的兼容性能 2022-03-20 14:52:15 +08:00
xiongziliang 4dc621e1bb 转协议选项抽象为ProtocolOption对象 2022-03-12 13:24:23 +08:00
ziyue 4a7f5796ba 修复ts文件大于3GB时,获取文件大小异常的问题 2022-02-23 17:01:53 +08:00
ziyue c997d11bd1 修复mp4点播时,sps pps太长导致获取失败的问题 2022-02-17 14:31:28 +08:00
xiongziliang 83c1f29253 HLS: 解决hls断流重新生成后异常的bug 2022-02-13 21:06:32 +08:00
夏楚 e37982adee
优化hls媒体流注册与无人观看清理机制 (#1421)
* 优化hls媒体流注册与无人观看清理机制

* 优化hls cookie管理

* bug fixed
2022-02-12 16:24:55 +08:00
ziyue 49fc17d7e0 hls m3u8文件直接通过内存读写 2022-02-11 16:21:19 +08:00
夏楚 c72cf4cbcc
整理命名空间 (#1409)
* feat: remove using namespace mediakit in header files.

(cherry picked from commit d44aeb339a8a0e1f0455be82b21fe4b1b536299f)

* feat: remove using namespace mediakit in FFmpegSource.h

* feat: remove using namespace mediakit in RtpExt.h

* feat: remove using namespace mediakit in header files.

* feat: remove using namespace std in header files.

* feat: remove using namespace std in header files when zltoolkit remove std in header

* 补充命名空间

* 整理命名空间

* 整理命名空间2

* 修复macos ci

* 修复编译问题

* 修复编译问题2

* 修复编译问题3

Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
2022-02-02 20:34:50 +08:00
ziyue 100822f079 HLS: 修复时间戳回退导致不生成ts切片的bug: #1381, #1386 2022-01-21 18:00:44 +08:00
ziyue fd6e4b6342 MPEG: 优化http-ts性能: #1342 2022-01-06 15:30:09 +08:00