用户可以使用RTMP协议将音视频数据上传到OSS,转储为指定格式的音视频文件。上传前,用户首先需要创建一个LiveChannel,以获取对应的推流地址,更详细的信息请参考对应的API。
通过RTMP协议上传音视频数据目前有以下限制:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
用户可通过RTMP(Real-Time Messaging Protocol)协议将实时音视频数据推流至阿里云对象存储服务(OSS),实现音视频内容的在线存储与分发。上传的音视频数据会被自动转储为HLS格式,便于后续的点播或直播应用场景。
准备工作
创建LiveChannel
调用PutLiveChannel接口:使用SDK执行此操作,需提供Bucket名称、LiveChannel名称及地域信息。示例代码如下:
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
String bucketName = "yourBucketName";
String liveChannelName = "yourLiveChannelName";
String region = "cn-hangzhou";
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider.getCredentials());
CreateLiveChannelRequest request = new CreateLiveChannelRequest(bucketName, liveChannelName);
// 设置其他参数,如StorageClass、PlayList等
// ...
CreateLiveChannelResult result = ossClient.createLiveChannel(request);
String publishUrl = result.getPublishUrl(); // 推流地址
String playUrl = result.getPlayUrl(); // 播放地址
推流音视频数据
publishUrl
,通过RTMP客户端软件或自建推流系统推送H264编码的视频流和AAC编码的音频流。配置与限制
播放音视频数据
playUrl
,用户可以直接在支持HLS协议的设备或浏览器中播放音视频内容。参考资料角标已在上述回答中以Markdown格式标注。