Обновить
4
Максим Верлинский@sypermax

Software Engineer

Отправить сообщение

я сильно про bbb не шарю, вроде по умолчанию записи хранятся там не в одном видео файле, но можно настроить чтобы хранилось в одном mp4 (или сделать bbb-record --rebuild <recordId> имеющихся), и тогда, если там стоит nginx (поддерживает http range), то можно скачивать файл чанками и конвертировать "на лету"

вопрос в том как плейлист потом будете руками составлять на основе чанков

Можно реализовать 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 слой, а основая идея статьи в конвертации чанками без временных файлов.

Информация

В рейтинге
Не участвует
Откуда
Томск, Томская обл., Россия
Работает в
Зарегистрирован
Активность