-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
WebRTC: Off-sync audio/video in DVR files #3993
Copy link
Copy link
Closed
Labels
EnglishNativeThis issue is conveyed exclusively in English.This issue is conveyed exclusively in English.WebRTCWebRTC, RTC2RTMP or RTMP2RTC.WebRTC, RTC2RTMP or RTMP2RTC.good first issueEasy to fix issues, good for newcomersEasy to fix issues, good for newcomershelp wantedExtra attention is neededExtra attention is needed
Description
Describe the bug
In SRS Stack 5, enabling DVR with any settings (including default) for the default vhost results in off-sync audio/video files when trying to record WebRTC streams. The problem is especially conspicuous for small video fragments (10 sec or less).
Version
SRS Stack 5 (latest) via Docker: ossrs/srs-stack:5
To Reproduce
Steps to reproduce the behavior:
- Use the following bare-bones server config:
server_id srs-server;
listen 1935;
max_connections 1000;
daemon on;
disable_daemon_for_docker off;
utc_time on;
ff_log_dir /data/ffmpeg_logs;
rtc_server {
enabled on;
listen 8000;
candidate $CANDIDATE;
protocol udp;
reuseport 5;
use_auto_detect_network_ip off;
api_as_candidates off;
}
vhost __defaultVhost__ {
# General settings
tcp_nodelay on;
min_latency on;
# WebRTC
rtc {
enabled on;
nack on;
twcc on;
rtmp_to_rtc off;
rtc_to_rtmp on;
}
# Digital Video Recording
dvr {
enabled on;
dvr_apply all;
dvr_plan session;
dvr_path /data/record/[app]/[stream].[timestamp].mp4; # tried also ...flv, but no effect
dvr_wait_keyframe on;
time_jitter full; # full / zero
}
}- Create a WebRTC stream by publishing to
https://MY-HOST.com/rtc/v1/whip/?app=live&stream=100&secret=SRS_PUB_SECRET - Go to your DVR path (
/data/record/live) and download the resulting video(s), e.g.100.TIMESTAMP.mp4 - Observe off-sync audio/video.
- Replace
dvr_pathin config for.....flvand do steps 2-5 above. Same issue remains.
Expected behavior
Expected fully-sync DVR files (mp4 or flv), with no data loss.
Additional context
For small videos, 10 sec or less, even video data is often lossy: the resulting DVR files get frozen or scrambled, with audio completely off-sync.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
EnglishNativeThis issue is conveyed exclusively in English.This issue is conveyed exclusively in English.WebRTCWebRTC, RTC2RTMP or RTMP2RTC.WebRTC, RTC2RTMP or RTMP2RTC.good first issueEasy to fix issues, good for newcomersEasy to fix issues, good for newcomershelp wantedExtra attention is neededExtra attention is needed