В настоящее время мы работаем над приложением для видеоконференций в чате + (совместное использование файлов +) с использованием веб-сокетов HTML5 .Чтобы сделать наше приложение более доступным, мы хотим реализовать Adaptive Streaming, используя следующую последовательность:
- Необработанный клиент аудио / видео данных отправляется на сервер
- Поток разбивается на 1-секундные куски
- Кодирование потока в различные полосы пропускания
- Клиент получает файл манифеста с описанием доступных сегментов
- Загружает один сегмент, используя обычный HTTP
- Пропускная способность следующего сегмента, выбранного по производительности предыдущего
- Клиент может выбирать из ряда альтернативных потоков с различными скоростями передачи данных
Итак. Как мы разделяем наши аудио / видео данные на куски с помощью Python?
Мы знаем, что Microsoft уже создала Expression Encoder 2 , который включает адаптивную потоковую передачу, но поддерживает только Silverlight, а это не то, что нам нужно.
Редактировать:
Также естьРешение называется FFmpeg (а для Python - оболочка PyFFmpeg), но поддерживает только адаптивную потоковую передачу Apple.