2

У меня есть видео 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). Итак, вам все еще нужно создать индексный файл

3 ответа3

5

Пытаться:

ffmpeg -i in.mp4 -acodec copy -vcodec copy out.ts

У Ffmpeg также есть сегментатор. См. Http://ffmpeg.org/ffmpeg.html#segment_002c-stream_005fsegment_002c-ssegment

2

Попробуйте установить -segment_list_type в m3u8 На первый взгляд, этот список подходит для статического преобразования файлов, но не для потоков в реальном времени, поскольку длительность сегмента не добавляется в список до close_list .

Тип списка должен быть установлен из расширения имени файла списка в текущих выпусках, но это не так.

2

Попробуйте установить -segment_list_flags live

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .