使用 cloudfront 和 s3 的 RTSP 流媒体服务
RTSP streaming service using cloudfront and s3
我想为我的亚马逊 S3 存储桶中的 mp3 文件创建一个分发网络。我设法使用 AWS Cloudfront 使用 RTMP 协议实现了它。但是由于 android 没有对 RTMP 的本地支持,我正在探索使用 RTSP protocol.Can 来实现它的想法 protocol.Can 有人帮助弄清楚如何实现它。
RTSP
是有状态的,因为它通过 RTCP
维持连接,需要多个端口,您将遇到防火墙穿越问题。另外,如果你想利用 S3,你应该使用 HTTP
流协议,除非你想通过渐进式下载直接流式传输 mp3
文件。
有两种选择:HLS
和 DASH
,其中 HLS
是目前最常用的格式。
Android 4.x+
原生支持 HLS
,它在 iOS 上开箱即用,因为它是由 Apple 制造的,在台式机上它在 Safari 上原生运行6+ 和所有其他具有 Flash 后备功能的浏览器。有许多可用的网络播放器,最值得注意的是 JWPlayer(付费)或 clappr(开源)。
Amazon Elastic Transcoder 支持 HLS
转码,您还可以使用 ffmpeg
.
等开源解决方案
我想为我的亚马逊 S3 存储桶中的 mp3 文件创建一个分发网络。我设法使用 AWS Cloudfront 使用 RTMP 协议实现了它。但是由于 android 没有对 RTMP 的本地支持,我正在探索使用 RTSP protocol.Can 来实现它的想法 protocol.Can 有人帮助弄清楚如何实现它。
RTSP
是有状态的,因为它通过 RTCP
维持连接,需要多个端口,您将遇到防火墙穿越问题。另外,如果你想利用 S3,你应该使用 HTTP
流协议,除非你想通过渐进式下载直接流式传输 mp3
文件。
有两种选择:HLS
和 DASH
,其中 HLS
是目前最常用的格式。
Android 4.x+
原生支持 HLS
,它在 iOS 上开箱即用,因为它是由 Apple 制造的,在台式机上它在 Safari 上原生运行6+ 和所有其他具有 Flash 后备功能的浏览器。有许多可用的网络播放器,最值得注意的是 JWPlayer(付费)或 clappr(开源)。
Amazon Elastic Transcoder 支持 HLS
转码,您还可以使用 ffmpeg
.