У меня есть видео h264, и в настоящее время мы используем инструменты потокового видео HTTP Apple и mediafilesegmenter для сегментирования этих файлов. Что мне нужно сделать, так это переключиться на альтернативный сегментатор, основанный на этом очень популярном сегментаторе с открытым исходным кодом.
Проблема в том, что этот сегментатор не просто снимает видео, а только видео MPEG-TS. Поэтому я должен сначала конвертировать мои видео h264 в TS.
Я могу сделать это с помощью ffmpeg. Я использую это:
ffmpeg -i encoded.mp4 -vcodec h264 -i encoded.mp4 -sameq -acodec aac -strict experimental -f mpegts output.ts
Но это создает довольно большой выход. И причина в том, что сегментатор Apple сохраняет тот же кодек - AVC и тот же аудиокодек - AAC, тогда как ffmpeg меняет формат видео на MPEG Video.
Вопрос в том, могу ли я как-то сохранить тот же видеокодек AVC и все же конвертировать видео в транспортный поток?
Поэтому моя цель состоит в том, чтобы сохранить то же качество видео и те же видеокодеки, что и в medifilesegmenter от Apple.
UPD: ладно ... похоже, что ffmpeg МОЖЕТ разделить видео на сегменты:
ffmpeg -i encoded.mp4 -c copy -map 0 -vbsf h264_mp4toannexb -f segment -segment_time 10 -segment_list test.m3u8 -segment_format mpegts segment%d.ts
Это все еще имеет одну проблему: он не создает http индексный файл потоковой передачи. (-segment_list создает файл со списком сегментов, но он не похож на индекс HLS). Итак, вам все еще нужно создать индексный файл