Я регулярно отслеживаю прямые трансляции на сайте picarto.tv. Веб-сайт использует RTMP для потоковой передачи, поэтому для отображения источника видео требуется флэш-память. Многие (мобильные / встроенные) устройства не имеют флеш-памяти, поэтому я хочу, чтобы видео было в формате, подобном MP4.
У меня есть двухъядерный VPS под управлением Ubuntu 14.04 с 2 ГБ ОЗУ, который я хочу использовать для перекодирования видео в реальном времени. VPS имеет сетевой канал 1 Гбит / с, поэтому пропускная способность не является реальной проблемой, хотя она ограничена 500 ГБ в месяц.
То, что я хочу, это уметь:
- Смотрите трансляцию на моем телефоне / планшете / умном телевизоре / не флэш-устройстве
- Разрешить одновременный просмотр видео как минимум на 10-15 устройствах
- Поэтому я хочу предотвратить создание потока транскодирования для каждого клиентского устройства.
- Использование потокового вывода MP4 кажется лучшей идеей, потому что большинство устройств поддерживают его
Я попытался ffmpeg
конвертировать RTMP в MP4, но это позволяет только для одного клиента. Все команды cvlc
я обнаружил, либо слишком интенсивны для моего сервера, либо вообще не выводят видео.
ffserver
вроде работал, но он был слишком нестабильным и больше не поддерживается. Это дало мне расплывчатые ошибки, которые нельзя было отследить ни по какой реальной причине, а иногда и вообще ничего не выводило без чего-либо в журналах.
Есть ли какой-либо инструмент (например, ffserver
но поддерживается) или какой-то другой способ для меня, чтобы предоставить MP4-версию RTMP-потока, в виде однократного декодирования, для потока ко многим?