本文介紹了在使用工作流中出現的常見問題以及解決的對應方法。
如何上傳文件?
您可以通過媒體處理控制臺或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記錄即可。