Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dvr: support h265 flv fragments. v6.0.162 v7.0.24 #4296

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

chundonglinlin
Copy link
Member

@chundonglinlin chundonglinlin commented Feb 23, 2025

  1. Issue
    When segmenting H.265 encoded FLV files using a DVR, the system does not create FLV segments at regular intervals as specified by the dvr_wait_keyframe configuration.

  2. Configure dvr.segment.conf

# the config for srs to dvr in segment mode
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/dvr
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
vhost __defaultVhost__ {
    dvr {
        enabled      on;
        dvr_path     ./objs/nginx/html/[app]/[stream].[timestamp].flv;
        dvr_plan     segment;
        dvr_duration    30;
        dvr_wait_keyframe       on;
    }
}
  1. Stream Push Testing

FFmpeg Stream Push

Domestic FFmpeg version (codecId=12)

hevc-12-ffmpeg -stream_loop -1 -re -i 264_aac.flv -c:v libx265 -preset fast -b:v 2000k -maxrate 2000k -bufsize 4000k -bf 0 -c:a aac -b:a 128k -ar 44100 -ac 2 -f flv rtmp://localhost/live/livestream

FFmpeg version 6.0 or higher (supports enhanced RTMP)

ffmpeg -stream_loop -1 -re -i 264_aac.flv -c:v libx265 -preset fast -b:v 2000k -maxrate 2000k -bufsize 4000k -bf 0 -c:a aac -b:a 128k -ar 44100 -ac 2 -f flv rtmp://localhost/live/livestream

OBS streaming (version 30.0 or above supports enhanced RTMP)
image
image

4. Playback Testing

SRS player (supports both enhanced RTMP and codec=12 FLV)

http://127.0.0.1:8080/players/srs_player.html

Domestic ffplay (supports codec=12 FLV)

hevc-12-ffplay http://127.0.0.1:8080/live/livestream.1740311867638.flv

ffplay (versions above ffmpeg 6.0 support enhanced RTMP)

ffplay http://127.0.0.1:8080/live/livestream.1740311867638.flv

image


TRANS_BY_GPT4


Co-authored-by: Haibo Chen [email protected]
Co-authored-by: john [email protected]
Co-authored-by: winlin [email protected]

@xiaozhihong xiaozhihong changed the title Dvr: support h265 flv fragments. Dvr: support h265 flv fragments. v6.0.162 v7.0.24 Mar 6, 2025
@xiaozhihong xiaozhihong added the RefinedByAI Refined by AI/GPT. label Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RefinedByAI Refined by AI/GPT. TransByAI Translated by AI/GPT.
Projects
None yet
4 participants