firstTSOneGOP修改为fastRegister

This commit is contained in:
zjx94 2023-11-30 15:43:56 +08:00
parent 7ba5da44f4
commit e893e7d2fd
4 changed files with 8 additions and 15 deletions

View File

@ -141,7 +141,7 @@ deleteDelaySec=10
#1为保留则不删除hls文件如果开启此功能注意磁盘大小或者定期手动清理hls文件 #1为保留则不删除hls文件如果开启此功能注意磁盘大小或者定期手动清理hls文件
segKeep=0 segKeep=0
#如果设置为1则第一个切片长度强制设置为1个GOP。当GOP小于segDur可以提高首屏速度 #如果设置为1则第一个切片长度强制设置为1个GOP。当GOP小于segDur可以提高首屏速度
firstTSOneGOP=0 fastRegister=0
[hook] [hook]
#是否启用hook事件启用后推拉流都将进行鉴权 #是否启用hook事件启用后推拉流都将进行鉴权

View File

@ -305,7 +305,7 @@ const string kSegmentRetain = HLS_FIELD "segRetain";
const string kFileBufSize = HLS_FIELD "fileBufSize"; const string kFileBufSize = HLS_FIELD "fileBufSize";
const string kBroadcastRecordTs = HLS_FIELD "broadcastRecordTs"; const string kBroadcastRecordTs = HLS_FIELD "broadcastRecordTs";
const string kDeleteDelaySec = HLS_FIELD "deleteDelaySec"; const string kDeleteDelaySec = HLS_FIELD "deleteDelaySec";
const string kFirstTSOneGOP = HLS_FIELD "firstTSOneGOP"; const string kFastRegister = HLS_FIELD "fastRegister";
static onceToken token([]() { static onceToken token([]() {
mINI::Instance()[kSegmentDuration] = 2; mINI::Instance()[kSegmentDuration] = 2;
@ -315,7 +315,7 @@ static onceToken token([]() {
mINI::Instance()[kFileBufSize] = 64 * 1024; mINI::Instance()[kFileBufSize] = 64 * 1024;
mINI::Instance()[kBroadcastRecordTs] = false; mINI::Instance()[kBroadcastRecordTs] = false;
mINI::Instance()[kDeleteDelaySec] = 10; mINI::Instance()[kDeleteDelaySec] = 10;
mINI::Instance()[kFirstTSOneGOP] = false; mINI::Instance()[kFastRegister] = false;
}); });
} // namespace Hls } // namespace Hls

View File

@ -351,7 +351,7 @@ extern const std::string kBroadcastRecordTs;
// hls直播文件删除延时单位秒 // hls直播文件删除延时单位秒
extern const std::string kDeleteDelaySec; extern const std::string kDeleteDelaySec;
// 如果设置为1则第一个切片长度强制设置为1个GOP // 如果设置为1则第一个切片长度强制设置为1个GOP
extern const std::string kFirstTSOneGOP; extern const std::string kFastRegister;
} // namespace Hls } // namespace Hls
////////////Rtp代理相关配置/////////// ////////////Rtp代理相关配置///////////

View File

@ -111,17 +111,10 @@ void HlsMaker::delOldSegment() {
} }
void HlsMaker::addNewSegment(uint64_t stamp) { void HlsMaker::addNewSegment(uint64_t stamp) {
GET_CONFIG(bool, firstTSOneGOP, Hls::kFirstTSOneGOP); GET_CONFIG(bool, fastRegister, Hls::kFastRegister);
if (!firstTSOneGOP) { if (_file_index > fastRegister && stamp - _last_seg_timestamp < _seg_duration * 1000) {
if (!_last_file_name.empty() && stamp - _last_seg_timestamp < _seg_duration * 1000) { //确保序号为0的切片立即open如果开启快速注册功能序号为1的切片也应该遇到关键帧立即生成否则需要等切片时长够长
//存在上个切片,并且未到分片时间 return;
return;
}
}
else {
if (!_last_file_name.empty() && _file_index>1 && stamp - _last_seg_timestamp < _seg_duration * 1000) {
return;
}
} }
//关闭并保存上一个切片如果_seg_number==0,那么是点播。 //关闭并保存上一个切片如果_seg_number==0,那么是点播。
flushLastSegment(false); flushLastSegment(false);