如何播放SoundCloud RTMP流
How to play SoundCloud RTMP stream?
我使用SoundCloud公共API在带有JavaScript SDK 3.0.0的SC服务器的浏览器中播放音频。初始化后,我设法用SC.stream方法获得了一个带有特定音轨的流URL的JSON。
{
"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流,我也不知道如何搜索。
通常RTMP流用于Flash Media Server、Wowza Media Server和Red5服务器。您可以使用网页中的flash对象播放这种类型的流,如下所示:在此处输入链接描述
或者对于应用程序-您可以使用ffplay播放,并使用ffmpeg
我一直在做同样的事情。它在开发模式下使用HTTP协议,然后恢复到在正常浏览模式下尝试使用RTMP协议(至少在chrome中是这样)。以下是我解决问题的方法。。当您使用sc.stream请求时,它将返回要播放的对象。您可以在将此对象发送给玩家之前对其进行编辑。例如:
SC.stream('/tracks/'+playr.currentTrack.id).then(function (x) {
x.options.protocols=["http"];
x.play();}
如上所述设置协议对象参数会强制它使用正确的协议,如果你通过尝试在非开发模式下播放曲目来首先登录控制台,你会看到它也包含["rtmp"]协议,然后无法在chrome中播放。
相关文章:
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- soundcloud是如何生成html的
- 可以't使用javascript通过soundcloud API向群组添加曲目
- Soundcloud php curl program
- SoundCloud api-v2是否被弃用
- 在SoundCloud中,使用JavaScript SDK流式传输曲目是否会增加该曲目的playback_count
- SoundCloud API-基于系统中的ID创建用户配置文件
- 使用javascript API响应内部服务器错误将曲目上传到SoundCloud
- 加载Soundcloud嵌入式播放器OnClick在FireFox中不工作
- 对Soundcloud自定义播放器播放列表的顺序进行排序
- 使用Soundcloud API中的令牌保持登录状态
- 如何在不每秒调用太多次的情况下通过Soundcloud解析api进行循环
- Soundcloud API-按特定顺序检索用户追随者
- 是否可以避免使用SoundManager2和SoundCloud JavaScript SDK将歌曲下载到所提供的位置
- purchase_url无法通过 SC.get() 获取 soundcloud 流收集
- 在nodejs中实现RTMP是可能的
- 单击时,Youtube / SoundCloud视频在新选项卡中打开
- 如何在标题SoundCloud的基础上进行曲目搜索
- 如何播放SoundCloud RTMP流