这就是我现在正在做的事情:
我正在发送带有teradek vidiu的直播电视 Channels ,该 Channels 通过RTMP将视频发送到带有灵活流媒体服务器的AWS EC2实例,几个月前配置了wmspanel(在试用期内) . 灵活的服务器转码rtmp并给我一个HLS(m3u8),我在网页上玩peer5(jwplayer) . 这样做的问题是,直播视频只是高清视频,低速连接的客户端无法看到视频,有时甚至是断断续续的 .
我想要的是:
我想要一个适应性流,每个人都可以连接,低速看低比特率视频,高速看高清视频 . 我知道我可以用wowza等服务器做到这一点,问题是价格,我想要一个带免费控制面板的免费服务器 . 灵活的服务器是免费的,但wmspanel不是,现在我无法改变或做任何灵活的事情,因为wmspanel的试用期结束了!
请在这件事上给予我帮助!
2 回答
您要问的所有内容都可以通过nginx,nginx-rtmp模块和ffmpeg来完成,这些都是免费软件 . 我有一个类似于你的设置(BlackMagic H264 Pro而不是Teradek,但其他方面相同)传输几个电视 Channels .
唯一的问题是你需要自己使用rtmp模块编译nginx,如果你需要某种控制面板,你必须自己编写 .
我的设置如下:
1.-连接到实时切换器的本地服务器上的BM H264 Pro使用Fedora 23将HD流发送到EC2实例 .
2.- Nginx-rtmp接受输入并调用ffmpeg创建六个不同的HLS直播流(180p,240p,360p,480p,720p,1080p),然后通过CloudFront CDN提供服务以确保速度 .
它工作得很好,我没有任何问题,CloudFront直接从EC2实例中获取流,速度惊人 . 你需要一个相当强大的实例(我使用m4.4xlarge)进行并行编码 .
使用PHP(或任何其他语言,我只是喜欢PHP),你可以有一个控制面板和其他细节 . 例如,我使用此设置跟踪所有视图,暂停,执行一些geoIP和其他指标 .
-------- 8月04日更新--------
这是我的nginx配置文件:
直播流发布到rtmp:// server:1935 / live-video / stream?token = TOK;这将ffmpeg用于实时转码为四种质量并将其发布到“流视频”应用程序 . 因此,您发布到“直播视频”,您的用户会观看“视频流” .
请注意,Nimble Streamer现在具有Transcoder附加组件来完成所描述的任务:https://wmspanel.com/transcoder