流式传输音频文件,无需延迟,无需下载:Jwplayer和AWS S3

时间:2015-09-28 08:29:49

标签: html5 amazon-s3 jwplayer audio-streaming jwplayer7

如何使用jwplayer将音频文件从S3存储桶流式传输到网络/移动设备,而无需将其作为

 jwplayer('mediaplayer').setup({
            'id': 'playerID',
            'width': '480',
            'height': '50',
            'file': baseURL + obj[i].FileName, 
            'provider': 'rtmp',
            'streamer': 'rmtp address',
            autostart: true,
            rtmp: {
                bufferlength: 10
            }
        }).onTime(function(){
            var totalDuration  = jwplayer('mediaplayer').getDuration();
            var currentPosition = jwplayer('mediaplayer').getPosition();
            if(parseInt(currentPosition/totalDuration) > .99 && buffernext!=true){
                buffernext = true;
                i = i +1;
                //Ready the next song to stream
            }
        });

如何完成以下任务。

  1. 来自AWS S3存储桶的缓冲区/流媒体歌曲,无需更改“打开/下载”的文件权限,因为人们从存储桶中下载内容。
  2. 以某种定义的速度播放歌曲。
  3. 开始缓冲下一首歌曲,以避免两个文件之间出现延迟。

1 个答案:

答案 0 :(得分:0)

无法对流的每个部分实时使用签名URL。

因此,您将需要使用“签名Cookie”,然后要确保Cookie被同一域设置和读取,您必须为您的域/子域创建DNS记录并将其指向您的CloudFront发行版。

或者您可以将流文件保持打开状态,通过MediaConvert对其进行加密,然后确保解密文件仅在您的网站上,并且只有播放器才能实时解密流并播放它们。

那样,即使有人下载了打开的段,他们也不会播放它,因为它们已加密,并且解密文件仅存储(并在您的网站上工作)。

这就是我为插件完成的过程。查看以下演示:

Streaming audio player

Streaming video player