带有 SoundManager2 的 Amazon Cloudfront RTMP 字符串
Posted
技术标签:
【中文标题】带有 SoundManager2 的 Amazon Cloudfront RTMP 字符串【英文标题】:Amazon Cloudfront RTMP Strings with SoundManager2 【发布时间】:2012-05-31 12:14:03 【问题描述】:我正在开发一个使用 SoundManager2 的 Web 应用程序。在把我的头撞到墙上并且没有让我的音乐流式传输之后,我终于在创建新的 SoundManager 声音时切换了我的一些 URL。
这是我以前使用的,虽然它可以连接,但流永远不会播放。
soundManager.createSound(
id: 'songId_1',
serverURL: 'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st',
url: 'hihi.m4a',
onconnect: function(connected)
alert(connected);
);
然而,一旦我把它改成这个,它突然就可以流式传输了。
soundManager.createSound(
id:'test3',
serverURL:'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st',
url:'mp4:hihi.m4a'
);
我不明白为什么第一个不起作用而第二个起作用。我对 serverURL 进行硬编码没有问题,但 url 是动态的并且可以是任意数量的音频格式,因此必须将其转换为将流式传输的有效值对我来说没有意义,除非有 API这样做(我在 Cloudfront 中没有看到)。有没有办法转换
song location/song name.ext
输入正确的流媒体网址还是我需要使用其他播放器?
【问题讨论】:
我发现this diagnostics site 在调试我的 CloudFront -> Soundmanager 设置时非常有用。 【参考方案1】:我们前段时间遇到过这个问题,最终为每种格式提供了硬编码的 url。我们正在使用 Flowplayer 另一个 flash 播放器,并与 CloudFront 和 EdgeCast 两个流媒体提供商打交道,您会发现即使它们支持的某些视频类型的格式之间存在细微差别。
你可以参考我之前问过的问题Why RTMP streaming protocal's url path different from each other?。
我还没有找到任何转换它的工具,因为这相当依赖于流媒体提供商,而且现阶段没有标准。
当我们处理mp4、flv、mp3时,构造的url是:(注意前缀和扩展名)
mp4:test.mp4
flv:test
mp3:test
【讨论】:
哇,这真是令人沮丧。确实应该有某种标准化。我真的很感激这个答案。我切换到 jwplayer,同时解决了这个问题。 另外,重要提示:要流式传输 RTMP,您需要在 SoundManager2 中启用 Flash 9(在设置时传递 flashVersion:9),它不适用于默认的 Flash 8。以上是关于带有 SoundManager2 的 Amazon Cloudfront RTMP 字符串的主要内容,如果未能解决你的问题,请参考以下文章
SoundManager2 - 使用 RTMP 不显示持续时间
带SoundManager2的简单JavaScript音频播放器
自动播放音频播放列表 SoundManager2 bar-ui