Я использую ffmpeg для преобразования потока MPEG-TS в MPEG-DASH.
Mpeg-ts - это h264 и aac_latm.
Поэтому мне не нужно перекодировать видео.
Команда, которую я использую:
ffmpeg -i http://10.0.0.211:55555/Ch%2011%20Kan -strict -2 -c:v copy -window_size 10 -extra_window_size 10 -use_template 1 -use_timeline 1 -f dash kan.mpd
Я копирую видеокодек с помощью -c: v copy, а аудиокодек по умолчанию имеет значение aac.
Таким образом я получаю поток DASH, НО аудио / видео не синхронизировано!
Как я могу это исправить?
Примечания:
Если я перекодирую аудио и видео, например:
ffmpeg -i http://10.0.0.211:55555/Ch%2011%20Kan -strict -2 -window_size 10 -extra_window_size 10 -use_template 1 -use_timeline 1 -f тире kan.mpd
Тогда аудио / видео синхронизируются идеально.
Но я не хочу перекодировать видео даром, поскольку я упомянул видео уже h264. (напрямую влияет на производительность)
Если я преобразую поток MPEG-TS в файл mp4, например:
ffmpeg -i http://10.0.0.211:55555/Ch%2011%20Kan -строчный -2 -c: v копия kan.mp4
Тогда аудио / видео синхронизируются идеально.