本文介绍了在使用工作流中出现的常见问题以及解决的对应方法。
如何上传文件?
您可以通过媒体处理控制台或OSS官方提供的图形化管理工具进行文件上传工作,支持分片上传、断点续传、批量上传。详细信息参见控制台上传、快速使用ossbrowser。
音视频文件上传后转码操作是自动执行的么?
文件后缀名在指定范围内的文件上传后是自动触发工作流执行的。
创建媒体工作流时需要指定该工作流的输入文件路径,当该路径下有下列后缀名的音视频文件上传完成时,服务将自动触发该媒体工作流,对此输入文件执行媒体工作流中设定的各项操作。
文件后缀名为在以下范围内的文件支持自动触发工作流执行:
视频:
3gp、asf、avi、dat、dv、flv、f4v、gif、m2t、m3u8、m4v、mj2、mjpeg、mkv、mov、mp4、mpe、mpg、mpeg、mts、ogg、qt、rm、rmvb、swf、vob、wmv、webm
音频
aac、ac3、acm、amr、ape、caf、flac、m4a、mp3、ra、wav、wma、aiff
工作流触发执行的匹配规则:
上传文件的路径包含该工作流设置的输入路径,则该工作流会被触发,例如:
工作流A的输入路径为BucketA下的AA/BB目录,则上传至BucketA下的AA/BB/a.mp4 和上传至BucketA下的AA/BB/CC/b.flv 都会触发工作流A。当工作流被停用时,不会自动触发执行。
视频可以通过OSS工具上传到媒体工作流输入路径下面之后激活转码吗?
可以。服务是根据文件上传完成到指定工作流的OSS输入位置自动触发的,上传的方式没有限制,使用控制台、API、OSS客户端工具都是可以的,但当工作流是停用状态时,不会自动触发执行。
视频上传后,媒体库中找不到对应的视频?
只有通过工作流触发转码的视频,才会显示在媒体库中,API触发的不显示。
请确认视频上传是否成功,若OSS文件转码管理中没有找到对应的转码任务ID,请确认视频是否成功上传到工作流配置的OSS输入路径。
请确认是否上传过同名视频,上传同名视频时,不会生成新媒体,请在媒体库中按视频名称搜索媒体。
媒体工作流支持哪些操作?
媒体工作流目前支持截图、转码、模板分析、发布管理等操作。
媒体工作流中转码节点的输出文件该如何命名?
由于媒体工作流为批量文件的处理提供了便捷,同时也带来了输出文件名的命名问题。为了便于您使用,系统提供了如下变量供您选择:
{RunId}:媒体工作流执行ID。
{ObjectPrefix}:不含Bucket信息的原文件路径。
{FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。
{ExtName}:原文件扩展名。
例如:当输入文件为http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/news/video/foooo****.mp4
时,三个与原文件相关的变量值为:
{ObjectPrefix}:news/video/
{FileName}:foooo
{ExtName}:.mp4
您可以设置输出Object为:vod/{ObjectPrefix}{FileName}_HD.flv
则该输入文件转码后的输出Object为: vod/news/video/foooo_HD.flv
另外截图节点增加一个特有变量:
{SnapshotTime}:截图时间,单位:毫秒
媒体工作流支持哪些消息模式?
媒体工作流支持轻量消息队列(原 MNS)的队列和通知,您可以在输入节点上配置,媒体工作流执行时会在其触发执行、执行结束时按设定的队列或通知主题发送消息。
视频转码完成后如何获取播放地址的URL?
您可以在控制台-媒体库页面管理视频,通过每个视频的管理链接进入视频详情页面,你可以看到每个输出的OSS地址及CDN加速地址(该OSS Bucket有配置CDN的情况下),另外,您还可以通过SDK,以编程方式获取。更多信息请参见媒体详细信息。
媒体工作流执行时,转码管道上绑定的队列或通知机制是否同时生效?
目前媒体工作流触发执行的作业,忽略转码管道上绑定的消息机制。
为什么转码输出文件的CDN地址在控制台上无法播放预览?
这种情况一般为您的CDN域名没有做解析到相应CNAME的操作所导致。可通过以下命令查询您域名的CNAME配置:
nslookup -type=cname [您的域名]
CNAME设置, 详情参见域名管理。
为什么转码输出的M3U8文件在控制台上无法播放预览?
首先,输出媒体Bucket
的读写权限需要设置为公共读。
其次,因为控制台使用的是阿里云的Flash播放器,需要在M3U8文件所在Bucket根目录下放置 crossdomain.xml文件,文件中包含播放器所在域名,否则无法播放。
为了控制台能正常预览播放您的M3U8文件,请在该M3U8文件所在Bucket根目录下放置如下内容的 crossdomain.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
<allow-access-from domain="*.example.com"/>
</cross-domain-policy>
其中 *.example.com
是控制台播放器所在的域名,如您使用其他的Flash播放器,将播放器所在的域名添加一条新的allow-access-from domain记录即可。