вопрос в том как плейлист потом будете руками составлять на основе чанков
Можно реализовать watcher, который создает и обновляет HLS-плейлист, подставляя в него URL сегментов из облачного хранилища.
Примерная логика: 0) создаем пустой плейлист (до начала конвертации)
1) ffmpeg создает сегмент
2) загружаем его в хранилище (получаем URL)
3) добавляем URL сегмента в плейлист согласно номеру
4) удаляем локальный сегмент
Еще можно попробовать, чтобы ffmpeg сам создавал локальный плейлист и в этом плейлисте в пункте 3 watcher заменяет локальные ссылки на URL из хранилища. Вроде ffmpeg обновляет плейлист по мере готовности сегментов.
Знаю, но, я считаю, что тут другой кейс, конвертация видео на бэкенде в фоне, а не real-time медиа-pipeline.
Статья отчасти про "Запуск FFmpeg из Питона", но, все же, python тут просто orchestration слой, а основая идея статьи в конвертации чанками без временных файлов.
Можно реализовать watcher, который создает и обновляет HLS-плейлист, подставляя в него URL сегментов из облачного хранилища.
Примерная логика:
0) создаем пустой плейлист (до начала конвертации)
1) ffmpeg создает сегмент
2) загружаем его в хранилище (получаем URL)
3) добавляем URL сегмента в плейлист согласно номеру
4) удаляем локальный сегмент
Еще можно попробовать, чтобы ffmpeg сам создавал локальный плейлист и в этом плейлисте в пункте 3 watcher заменяет локальные ссылки на URL из хранилища. Вроде ffmpeg обновляет плейлист по мере готовности сегментов.
Задач по HLS и DASH у нас не было, поэтому этот вопрос не исследовал. Решение из статьи тут точно не подойдет.
Так проще и надо было сделать). Нужно было горизонтально масштабируемое cloud native решение.
Создавать и обслуживать runtime media graph в облаке для задачи фоновой конвертации кмк тумач.
Знаю, но, я считаю, что тут другой кейс, конвертация видео на бэкенде в фоне, а не real-time медиа-pipeline.
Статья отчасти про "Запуск FFmpeg из Питона", но, все же, python тут просто orchestration слой, а основая идея статьи в конвертации чанками без временных файлов.