Я пытаюсь немного научиться потоковой передаче видео и транскодированию, параллельно занимаясь разработкой приложений Roku. У меня есть несколько видеофайлов (в основном в формате FLV (H.264/AAC)), которые я хотел бы передать клиенту, которым в данном случае является Roku box (который принимает MP4 (H.264/AAC) и Прямая трансляция HTTP (HLS)). Мне интересно, возможно ли перекодировать/ремультиплексировать файлы FLV и передавать их клиенту на лету, возможно, через HLS?
Я пытался использовать ffmpeg для повторного мультиплексирования файлов и немедленного их обслуживания во время процесса перекодирования, но они не воспроизводятся до завершения процесса записи. Я могу заставить Roku нормально воспроизводить мои готовые файлы MP4 через Apache/Rails.
Но мне интересно ... можно ли настроить сервер для перекодирования / повторного мультиплексирования файла и немедленной передачи выходного файла (из ffmpeg / любого другого инструмента, который я использую) клиенту? Если да, то какие инструменты необходимы для этого? Можно ли использовать сегментатор медиафайлов, чтобы нарезать файл во время его перекодирования или повторного мультиплексирования?
Я прекрасно понимаю, что процесс транскодирования сильно загружает ЦП, но меня не слишком беспокоит практичность транскодирования и потоковой передачи «на лету», поскольку это просто личный образовательный проект (и у меня есть незадействованная система, способная, если справиться с этим).
Извиняюсь, если я здесь не так, просто пытаюсь взломать этот путь.
Спасибо!