Describe the bug
Enable DVR recording configuration to record in segments based on duration. When streaming with HEVC, segmentation does not occur, and a .tmp file is continuously generated, whereas streaming with H.264 functions normally.
Version
v6.0-d3
To Reproduce
Compile the software using the command: ./configure --h265.
Execute the program with the command: ./objs/srs -c conf/dvr.segment.conf.
Configure the streaming software, such as OBS, to use HEVC video encoding and stream to the SRS server via RTMP.
In the DVR directory of the SRS server, a .flv.tmp file is continuously being created instead of generating complete .flv files according to the specified duration.
Expected behavior
Stream using HEVC encoding and record the stream into segmented files based on the dvr_duration setting.
Additional context
In the update_duration function within the srs_app_dvr.cpp file, when it is determined that the duration has been reached, the file will be segmented at the next keyframe. However, this seems to only account for H264 keyframes and may have overlooked the consideration for H265 keyframes.
Describe the bug Enable DVR recording configuration to record in segments based on duration. When streaming with HEVC, segmentation does not occur, and a .tmp file is continuously generated, whereas streaming with H.264 functions normally.
Version v6.0-d3
To Reproduce
./configure --h265
../objs/srs -c conf/dvr.segment.conf
..flv.tmp
file is continuously being created instead of generating complete.flv
files according to the specified duration.Expected behavior Stream using HEVC encoding and record the stream into segmented files based on the
dvr_duration
setting.Additional context In the
update_duration
function within thesrs_app_dvr.cpp
file, when it is determined that the duration has been reached, the file will be segmented at the next keyframe. However, this seems to only account for H264 keyframes and may have overlooked the consideration for H265 keyframes.TRANS_BY_GPT4