首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何播放SoundCloud RTMP流?

如何播放SoundCloud RTMP流?
EN

Stack Overflow用户
提问于 2015-11-08 05:37:57
回答 2查看 804关注 0票数 0

我使用SoundCloud公共API在浏览器中通过JavaScript SDK3.0.0从SC服务器播放音频。在初始化之后,我设法用SC.Stream方法获得了一个包含特定音轨的流URL的JSON。

代码语言:javascript
运行
复制
{  
   "http_mp3_128_url":"https://cf-media.sndcdn.com/a6QC6Zg3YpKz.128.mp3...” ,
   "hls_mp3_128_url":"htt...//ec-hls-media.soundcloud.com/playlist/a6QC6Zg3YpKz.128.mp3/...” ,
   "rtmp_mp3_128_url":"rtmp://ec-rtmp-media.soundcloud.com/mp3:a6QC6Zg3YpKz.128?...",
   "preview_mp3_128_url":"htt....../ec-preview-media.sndcdn.com/preview/0/90/a6QC6Zg3YpKz.128.mp3?..."
}

其中包含HTTP、HLS和RTMP URL。我可以处理HTTP,但是我不能让RTMP工作。有人知道如何决定播放哪个流吗?我怎么才能操纵它呢?或者如何访问RTMP流?

几周前,我向WireShark确认了SoundCloud是通过RTMP发送的,但现在我似乎无法捕获任何RTMP流,也不知道如何搜索。

EN

回答 2

Stack Overflow用户

发布于 2015-11-10 05:50:04

RTMP流通常来自Flash Media Server、Wowza Media server和Red5 Server。你可以在你的网页中使用flash对象来播放这种类型的流,比如:enter link description here

或者对于应用程序-您可以使用ffplay播放,并使用ffmpeg转换为其他类型的流

票数 0
EN

Stack Overflow用户

发布于 2017-03-23 19:50:24

我一直在做同样的事情。它在Dev模式下使用HTTP协议播放,然后在正常浏览模式下尝试使用RTMP协议(至少在chrome中是这样)。下面是我是如何解决这个问题的。当你使用sc.stream请求时,它会返回要播放的对象。您可以在将此对象发送给播放器之前对其进行编辑。例如:

代码语言:javascript
运行
复制
SC.stream('/tracks/'+playr.currentTrack.id).then(function (x) {

x.options.protocols=["http"];

x.play();}

如上所述设置协议对象参数会强制它使用正确的协议,如果你首先通过控制台登录,尝试在非开发模式下播放曲目,你会看到它也包含"rtmp“协议,然后无法在chrome中播放。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33588082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档