Я хочу транслировать живое видео из созданного мной списка воспроизведения, но фактические видеофайлы (.flv) хранятся на каком-то внешнем файловом хостинге, который я не могу администрировать, но в настоящее время он позволяет использовать флеш-плееры для воспроизведения его содержимого ( постепенно).
Какое для этого лучшее решение? Могу ли я использовать свой текущий веб-сервер (Debian с Apache) или мне следует использовать какое-то определенное серверное программное обеспечение? Я читал некоторые имена, такие как Red5 и Wowza, но я не могу сказать, являются ли они решениями моей реальной проблемы или как мне их использовать. Кроме того, затраты на этот проект должны быть как можно ниже.
Вы можете использовать CDN с RTMP и RTMPT Flash Streaming, например Amazon CloudFront, SimpleCDN, и т.д.
Используйте flvstreamer и ffserver.
flvstreamer делает то, на что похоже, а ffserver поставляется с ffmpeg и позволяет передавать потоковое видео из всего, что вы можете передать в ffmpeg, например:
flvstreamer url | ffmpeg -i - http://127.0.0.1:8090/feed1.ffm
ffserver может "выводить" флэш-поток - URL-адрес, который вы хотели бы посетить http: //site/video.swf или вы можете предложить другие форматы (например, asf или mpg), и ffmpeg может его перекодировать - если ваш компьютер достаточно быстрый - в реальном времени.
Тогда ваш "плейлист" по сути представляет собой список flvserver|ffmpeg...
команды, и очень легко добавить или добавить больше потоков.
Ниже приведен файл конфигурации, который я использую. Некоторые моменты, на которые следует обратить внимание: feed1.ffm - это «буфер», а «максимальный размер» - это, по сути, размер лага. Удаление FileMaxSize
записывает все, что позволяет вам сдвигать видео во времени.
Port 8090
BindAddress 0.0.0.0
MaxClients 200
MaxBandwidth 4000000
<Feed feed1.ffm>
File tmp/feed1.ffm
FileMaxSize 10M
ACL allow 127.0.0.1
</Feed>
<Stream video.swf>
Feed feed1.ffm
VideoBitRate 500
VideoBufferSize 40
VideoGopSize 10
Format swf
VideoSize 640x480
VideoFrameRate 10
VideoQMin 1
VideoQMax 4
VideoHighQuality
NoAudio
PreRoll 0
StartSendOnKey
</Stream>