工作流常见问题

本文介绍了在使用工作流中出现的常见问题以及解决的对应方法。

如何上传文件?

您可以通过媒体处理控制台或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记录即可。