[FFmpeg-user] MPEG-DASH / HLS Audio Video Sync
Carl Eugen Hoyos
ceffmpeg at gmail.com
Fri Apr 12 21:48:42 EEST 2019
2019-04-12 20:36 GMT+02:00, Bryn Larsen <bryn.larsen at live.com>:
> Hi,
>
> I’m trying to take an incoming rtmp stream (via nginx-rtmp) and transmux /
> transcode it into an mpeg-dash / hls stream. I’m having trouble keeping the
> audio and video in sync. If I re-encode the audio instead of copying it, the
> trancoded bitrate stays in sync but the transmuxed video still drifts out of
> sync. Here is the command I am running:
>
> ffmpeg \
> -hide_banner \
Please remove hide_banner an provide the command
line you tested together with the complete, uncut console
output if you need help here.
> -f live_flv \
You should normally not force the input format.
> -i "rtmp://localhost/myapp/test01" \
> -map 0:v -c:v:0 libx264 -bf 0 -refs 3 -preset veryfast -tune zerolatency
> -sc_threshold 0 -g 120 -b:v:0 1600k -s 640x360 \
> -map 0:v -c:v:1 copy \
> -map 0:a -c:a:0 copy \
> -f dash \
> -streaming 1 \
> -seg_duration 2 \
> -use_timeline 0 \
> -use_template 1 \
> -window_size 5 \
> -extra_window_size 10 \
> -index_correction 1 \
> -remove_at_exit 1 \
> -media_seg_name 'chunk-stream-$RepresentationID$-$Number%05d$.m4s' \
> -init_seg_name 'init-stream1-$RepresentationID$.m4s' \
> -adaptation_sets "id=0,streams=v id=1,streams=a" \
> -method PUT \
> -strict experimental \
> -lhls 1 \
> -http_persistent 1 \
> -hls_playlist 1 \
> -ignore_io_errors 1 \
> http://127.0.0.1/video/manifest.mpd
Do I understand correctly that you only have problems with
the copied video stream? It is most likely not cfr.
The issue would be easier to test if you dump the input
stream and use file input instead of network input.
Carl Eugen
More information about the ffmpeg-user
mailing list