本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍在OSS控制台或者使用SDK、RTMP推流上传等方式上传到阿里云OSS的视频,如何实现视频在线播放。
实现方式
在OSS控制台或者使用SDK上传的视频如何播放
OSS通过公共接口对外提供接口服务,上传成功后,可以通过生成URL的方法生成访问地址。更多信息,请参见使用文件URL分享文件。
RTMP推流上传到OSS的视频如何播放
RTMP推流上传到OSS的音视频数据如何获取播放地址,请参见以下场景:
直播场景
在推流的过程中,可以通过HLS协议播放正在推送的内容。各个平台的播放方法如下:
在Android、iOS等移动平台,直接在浏览器输入LiveChannel对应的播放地址即可。关于如何获取对应的推流地址,请参见ListLiveChannel。
Mac OS可以使用Safari浏览器进行播放。
PC端可以安装VLC播放器进行播放。
点播场景
推流的过程中,OSS总是以直播流的方式推送或更新M3U8文件。所以对于点播的场景,需要在推流结束后,调用PostVodPlaylist接口来组装一个点播用的M3U8文件,然后使用该文件地址来播放。PostVodPlaylist接口的使用方法,请参见PostVodPlaylist。
对于点播的场景,可以设置较大的GOP来减少TS文件数,降低码率。
常见问题
链接只能下载不能直接预览?
出于数据传输安全考虑,在2022/10/09 00:00之后新开通OSS的用户,使用OSS默认域名访问任意文件,以及在2020/11/17 11:07之后开通传输加速的Bucket,使用OSS传输加速域名访问任意文件,OSS会在返回头中增加两个Header:
x-oss-force-download:true
Content-Disposition: attachment
标准浏览器检测到Content-Disposition: attachment
,会弹出下载而不是预览。如需实现预览,您可以为OSS绑定自定义域名。使用自定义域名访问文件,不会增加以上Header。具体操作,请参见绑定自定义域名。
为什么有的浏览器无法播放?
导致浏览器无法播放视频的可能原因如下:
浏览器不兼容视频格式:浏览器不支持播放某些格式的视频。例如Safari浏览器支持M3U8格式,但是其他的浏览器不支持。如果浏览器不兼容视频格式,您可以使用媒体处理进行转码,将视频改为正常播放的格式。具体操作,请参见创建转码任务。
浏览器无法正确识别视频的文件类型:OSS默认根据文件的后缀名来设置MIME。如果视频文件没有后缀名,您需要自行更改。关于OSS如何设置MIME,请参见Content-Type(MIME)。
能不能获取一个预览链接,一个下载链接?
获取一个预览链接和一个下载链接的步骤如下:
绑定自定义域名。具体操作,请参见绑定自定义域名。
使用自定义域名生成签名URL时,通过设置文件的
Content-Dispostion
为attachment
和inline
来分别生成一个下载链接、一个预览链接。具体操作,请参见sign(生成签名URL)。
怎么能让链接永久生效?
如果您需要让文件的链接永久生效,您可以设置文件的访问权限为公共读。具体操作,请参见Object ACL。
互联网上任何用户都可以对该Object进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。
域名需要自己购买?
如果您要为存储空间绑定自定义域名,您需要注册一个域名并将其解析到OSS。您可以通过阿里云域名服务申请注册。具体操作,请参见如何注册阿里云域名。
域名用不用备案?
如果存储空间在中国内地,您需要备案域名。您可以通过阿里云ICP代备案管理系统申请备案。具体操作,请参见ICP备案流程概述。
为什么绑定了域名还是无法访问?
域名的CNAME解析需要一定的时间才能生效,具体的时间取决于TTL设置、DNS缓存和DNS传播。通常情况下,CNAME解析的生效时间在几分钟到几小时之间。如果您在绑定域名后无法访问,请耐心等待一段时间,确保解析设置正确,并且所有的DNS服务器都已经接收到更新的解析结果。
防盗链怎么设置?
为避免您的视频被其他人盗用,您可以通过设置Referer列表以及是否允许空Referer的方式,限制视频的访问来源。具体操作,请参见防盗链。
怎么通过HTTPS的方式访问?
如果您需要通过HTTPS的方式访问自定义域名,您可以购买相应的数字证书并进行证书托管。更多信息,请参见证书托管。
如何对上传的视频进行处理?
如果您需要对视频进行剪辑、水印、转码等操作,您可以使用媒体处理。详情请参见媒体处理。