Я использую 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 dash kan.mpd
Тогда аудио / видео синхронизируется идеально. Но я не хочу перекодировать видео даром, поскольку я упомянул видео уже h264. (напрямую влияет на производительность)
Если я преобразую поток MPEG-TS в файл mp4, например:
ffmpeg -i http://10.0.0.211:55555/Ch%2011%20Kan -strict -2 -c:v copy kan.mp4
Тогда аудио / видео синхронизируется идеально.