使用CloudFront向JWPlayer进行流媒体传输

4
我按照以下教程进行了操作:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/TutorialStreamingJWPlayer.html 我将我的HTML代码放在本地主机中,现在打开播放器但是视频没有播放。它一直旋转(表示仍在加载),但是没有缓冲或其他任何情况发生。
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="jwplayer.js"></script>
</head>
<body>
<div id='mediaplayer'>This text will be replaced</div>
<script type="text/javascript">
   jwplayer('mediaplayer').setup({
      flashplayer : 'jwplayer.flash.swf',
      width: '720',
      height: '480',
      file: 'rtmp://sxxxxxx.cloudfront.net/cfx/st/a.mp4'
   });
</script>
</body> 

a.mp4文件已在S3存储桶中公开标记。我还为CloudFront创建了另一个HTTP下载,如果我只输入以下URL,文件就会被下载。

http://dxxxxxx.cloudfront.net/a.mp4
1个回答

6
你使用的是哪个版本的JWPlayer?我不确定这是否是问题,但我必须在我的URL的文件名部分前面加上mp4:,就像这样:
'rtmp://sxxxxxx.cloudfront.net/cfx/st/mp4:a.mp4'

如果这不起作用,你可以把代码放到公共网址上,这样我们可以帮助你诊断问题?
更新于3月1日:
我查看了您的JWplayer设置,看起来很好。
我有一个本地的JWPlayer页面,我用它进行测试——它与我从Amazon CloudFront获得的RTMP流正常工作,但是只要切换到您的RTMP文件,我就会遇到与您相同的错误。
因此,我认为问题可能与您的Amazon设置有关。可能值得再次检查文件权限,或尝试添加一些其他文件进行测试(我可以看到您已经将其设置为公共,但也可能需要设置一些文件级别的权限)。

1
在JW6中,RTMP的实现方式如下 - http://www.longtailvideo.com/support/jw-player/28854/using-rtmp-streaming,但如果您使用的是JW5,则应该按照以下方式进行 - http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12535/video-delivery-rtmp-streaming。 - emaxsaun
谢谢。问题出在文件上。由于文件上传和设置内容类型时出现了问题,文件似乎已经损坏。JWplayer的编码两种方式都可以正常工作(正如您建议的和我代码中所展示的)。感谢您的时间。 - dinesh707

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接