Задать вопрос
impressive17
@impressive17

Как собрать .m3u8 из .mov?

Привет!
Пытаюсь наладить hls стриминг
сделал .m3u8 через ffmpeg, стриминг не работает
Проверил на онлайн проверяльщике, там тоже ошибка
Локально вижу что манифест приходит, но запросов за .ts сегментами не уходит
Подскажите пожалуста надежную команду ffmpeg для перекодирования
Возможно дело в видео?
  • Вопрос задан
  • 308 просмотров
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
ae_ph
@ae_ph
I'm a owl )
Я написал этот файл для вас.

-c:v h264 – Кодировать будем в формат MP4 кодеком h264. Кодек h264, может отображать как QuickTime, так и Media Player.
-hls_list_size – Установите максимальное количество записей в плейлисте. Если установлено значение 0, файл списка будет содержать все сегменты. Значение по умолчанию - 5.
-hls_time – Задайте длину целевого сегмента. Значение по умолчанию 2.
-start_number – Установите индекс файла, совпадающий с шаблоном файла изображения, с которого начинается чтение. Значение по умолчанию - 0.
-g – Установите размещение ключевого кадра. Размер GOP устанавливает максимальное расстояние между ключевыми кадрами; если 0, выходной поток будет только внутренним.
Минимальное расстояние игнорируется, если оно не совпадает с размером GOP, и в этом случае ключевые кадры всегда будут появляться с фиксированным интервалом.
По умолчанию не установлен параметр, поэтому без этой опции библиотека может свободно выбирать, где разместить ключевые кадры.
-crf – Установите компромисс: качество / размер, для режимов постоянного качества (без целевого битрейта) и ограниченного качества (с максимальным целевым битрейтом).
Допустимый диапазон: от 0 до 63, более высокие числа указывают на более низкое качество и меньший размер вывода.
Используется только если установлено; по умолчанию используется только целевой битрейт.
-flags +cgop – Включить закрытый GOP.
-flags -cgop – Включить открытый GOP.
-f hls – Фильтр создаёт файлы hls.
-hls_flags single_file – Если этот флаг установлен, мультиплексор сохранит все сегменты в одном файле MPEG-TS и будет использовать байтовые диапазоны в списке воспроизведения.
Плейлисты HLS, созданные таким образом, будут иметь номер версии 4.

-map 0 выбирает все потоки.
-map 0:v только видеопотоки.
-map 0:a только аудиопотоки.

Структура папок для этого bat файла.
Your folder
|
| ffmpeg.exe
| MOV – m3u8.bat
|
+---Result
|
|
\---Your_files
your_video.mov

@echo off
color a
set a="Your_files\*.mov"
set b="Result\%%~na.m3u8"
set c=ffmpeg.exe
set f=-c:v h264 -flags +cgop -g 30 -map 0 -crf 23 -start_number 0 -hls_time 1 -hls_list_size 500000 -f hls
for %%a in (%a%) do (%c% -y -i "%%a" %f% %b%)
exit


Надеюсь это именно то, что вам нужно.
Дополнительные фалы вы можете также найти в моём репозитории.
Внутри bat файлов вы находится более подробная информацию о настройках.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы