开发者社区> 问答> 正文

媒体转码输出文件产生了哪些问题?

原视频上传,触发工作流的转码任务,如何获取对应转码后资源的URL链接?

展开
收起
保持可爱mmm 2020-03-30 11:50:31 680 0
1 条回答
写回答
取消 提交回答
  • 解决 根据命名规则获取文件名/URL 登录 媒体处理控制台 > 媒体管理 > 媒体库设置 > 工作流,选择所需的工作流,并单击右侧的 查看。移动鼠标到转码/截图等模块,可以看到对应的输出bucket截输出路径,对应的输出文件名就是输出路径,其中自定义变量替换为具体的值即可。对应的URL为:Bucketname.Endpoint/输出路径.后缀。

    2

    注意:

    输出Object中可以设置静态常量和变量,其中静态常量即直接编写,而动态变量需要通过大括号({})引用使用。输出 Object 中可选如下变量:

    {RunId}: 媒体工作流执行ID;

    {ObjectPrefix}: 不含Bucket信息的原文件路径;

    {FileName}: 不含扩展名的原文件名;

    {ExtName}: 原文件扩展名;

    Endpoint的意义,参见 Endpoint设置。

    控制台获取文件名/URL 登录 媒体处理控制台 > 媒体库,选择所需的视频,并单击 管理 > 媒体地址获取 > TRANSCODE > 复制,即可获取。

    2

    程序获取文件名/URL 在工作流中配置消息服务的队列或者通知(参见获取工作流通知消息实例。)> 业务端消费对应的消息 > 当收到相应工作流实例“Report”消息,代表转码结束 > 根据输入Object的URL或者媒体ID(MediaId),调用媒体转码API接口。接口参见 查询媒体-使用OSS文件地址 和 查询媒体-使用媒体ID。

    根据输入ObjectURL查询转码结果,Java代码示例:

    static QueryMediaListByURLResponse queryMediaListByURL(DefaultAcsClient client) { QueryMediaListByURLRequest request = new QueryMediaListByURLRequest(); request.setFileURLs(objecturl); request.setIncludePlayList(true); QueryMediaListByURLResponse response = null; try { response = client.getAcsResponse(request); } catch (ServerException e) { throw new RuntimeException("QueryMediaListByURLRequest Server failed"); } catch (ClientException e) { throw new RuntimeException("QueryMediaListByURLRequest Client failed"); } return response; } 根据输入媒体ID查询转码结果,Java代码示例:

    static QueryMediaListResponse QueryMediaList(DefaultAcsClient client) { QueryMediaListRequest request = new QueryMediaListRequest(); request.setMediaIds("媒体ID"); request.setIncludePlayList(true); QueryMediaListResponse response = null; try { response = client.getAcsResponse(request); } catch (ServerException e) { throw new RuntimeException("QueryMediaListRequest Server failed"); } catch (ClientException e) { throw new RuntimeException("QueryMediaListRequest Client failed"); } return response; } 执行工作流输出文件怎么没有提供CDN地址 场景 视频上传,工作流转码任务触发后,在 媒体处理控制台 > 媒体库 > 管理 > 媒体地址获取 > 媒体地址 不显示媒资文件对应的CDN地址。

    3

    解决 编辑或者删除对应的工作流,重新配置工作流,在 配置工作流 > 配置内容分发网络(CDN) 中添加CDN加速域名。之后该工作流新创建的转码任务中,新增的CDN域名就会显示在输出文件的URL地址中。

    2

    原因 只有在新建工作流配置中有CDN域名,对应转码输出后的资源才会带CDN域名地址的链接,如果当时创建工作流不存在CDN域名,之后在bucket中绑定域名并进行加速,这样的域名是不会在输出媒体地址中显示的。

    注意事项 媒体地址获取中,原文件地址获取是不能获取到CDN地址的,用户需自己绑定或者代码实现将bucket域名替换为对应的CDN域名。

    2

    输出文件支持如下变量设置 输出 Object 中可选如下变量:

    {RunId}:媒体工作流执行ID

    {ObjectPrefix}:不含Bucket信息的原文件(输入文件)路径

    {FileName}:不含扩展名的原文件(输入文件)名

    {ExtName}:原文件(输入文件)扩展名

    如何触发工作流的执行 当工作流的配置的输入Bucket路径中存在文件的增量输入,对应的工作流就会被触发,进行相关的转码截图任务等。

    6

    关于如何上传文件到工作流的输入Bucket路径中,参见上传视频文件的方法。

    2020-03-30 11:55:21
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载