问题描述

在Azure门户上创建Transform Encoding时候,只能选择 Built-in Preset 编码方式(如:H265ContentAwareEncoding)

在创建编码任务时,除了在门户上可选的几种内置的编码格式外,还可以通过自定义的编码预设文件(Preset.json)对视频文件进行编码。如 az ams transform 命令:

# Create a transform with a custom Standard Encoder preset from a JSON file and Low relative priority.
az ams transform create -a myAmsAccount -n transformName -g myResourceGroup --preset "C:\MyPresets\CustomPreset.json" --relative-priority Low

那么,如何来定义创建视频缩略图的预设编码文件呢?

问题解答

准备 preset.json 文件

查阅 az ams transform 命令的参数 --preset 的所介绍的一句话 “ In addition to the allowed values, you can also pass a path to a custom Standard Encoder preset JSON file. See https://docs.microsoft.com/rest/api/media/transforms/createorupdate#standardencoderpreset for further details on the settings to use to build a custom preset.”

查看 standard encoder preset 的介绍中包含 @odata.type,codecs,formats 等内容。

如:

{
"@odata.type": "#Microsoft.Media.StandardEncoderPreset",
"codecs": [
{
"@odata.type": "#Microsoft.Media.CopyVideo"
},
{
"@odata.type": "#Microsoft.Media.CopyAudio"
}
],
"formats": [
{
"@odata.type": "#Microsoft.Media.Mp4Format",
"filenamePattern": "{Basename}_{Bitrate}{Extension}"
}
]
}
  • @odata.type  的值为固定值 #Microsoft.Media.StandardEncoderPreset,表示标准编码预设文件
  • codecs为一个数组,表示对输入视频进行编码时要使用的编解码器列表。其中的两个 CopyVideo 和 CopyAudio 都是编码标记,告知编码器复复制输入视频比特流 和 制输入音频比特流。
  • formats 表示编码要生成输出的文件,这里表示输出一个MP4文件。

当需要创建一个缩略图的编码文件时候,可以使用codecs 中的 JpgImage 或者 PngImage ,输出的 formats 则使用对应的 JpgFormat 和 PngFormat 。本例中使用JpgImage作为参考:

{
"@odata.type": "#Microsoft.Media.StandardEncoderPreset",
"codecs": [
{
"@odata.type": "#Microsoft.Media.CopyVideo"
},
{
"@odata.type": "#Microsoft.Media.CopyAudio"
},
{
"@odata.type": "#Microsoft.Media.JpgImage",
"start": "PT05S",
"step": "PT05S",
"range": 1,
"spriteColumn":10,
"layers": [
{
"width": "1024",
"height": "768",
"quality": 90
}
]
}
],
"formats": [
{
"@odata.type": "#Microsoft.Media.Mp4Format",
"filenamePattern": "{Basename}_{Bitrate}{Extension}"
},
{
"@odata.type": "#Microsoft.Media.JpgFormat",
"filenamePattern": "{Basename}_{Index}{Extension}"
}
]
}

以上内容会对输入视频的第5秒生成1张缩略图(range为1),宽1024px,高768px,质量为90. 输入的文件名格式为{Basename}_{Index}{Extension}。关于它们的详细说明,参照官网说明:

JpgImage :https://learn.microsoft.com/en-us/rest/api/media/transforms/create-or-update?tabs=HTTP#jpgimage

JpgFormat :https://learn.microsoft.com/en-us/rest/api/media/transforms/create-or-update?tabs=HTTP#jpgformat

执行 transform create 指令

az ams transform create --account-name yourmediaservicename --resource-group yourresourcegroup --name generate-thumbnail --preset custom-preset.json 

如果在执行中遇见错误,可以使用 --debug 参数来查看调试详细的错误。

当执行成功后,会输出如下内容:

检验自定义编码文件的输出成果:

参考资料

JpgImage :https://learn.microsoft.com/en-us/rest/api/media/transforms/create-or-update?tabs=HTTP#jpgimage

JpgFormat :https://learn.microsoft.com/en-us/rest/api/media/transforms/create-or-update?tabs=HTTP#jpgformat

az ams transform createhttps://learn.microsoft.com/en-us/cli/azure/ams/transform?view=azure-cli-latest#az-ams-transform-create-examples

【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图的更多相关文章

  1. 通过 Azure 媒体服务进行高速编码

    Milan Gada Azure 媒体服务首席项目经理  关于 Azure 媒体服务,客户问的最多的一个问题是能否进行高速编码.这个问题现在已经有了肯定的答案,目前有三种不同类型的 Encodin ...

  2. Azure 媒体服务的 RTMP 支持和实时编码器

    Cenk Dingiloglu Azure 媒体服务高级项目经理 直播流媒体目前已在公共预览版中提供,其中一项受支持的输入协议便是 RTMP.RTMP 是用于输入和分发包括直播流媒体在内的丰富媒体的一 ...

  3. 通过新的 Azure 媒体服务资源管理器工具管理媒体工作流

    Xavier Pouyat    Azure 媒体服务高级项目经理 几个月前,一家广播公司找到了我,希望我向他们提供一种图形界面工具,好让他们使用 Azure媒体服务来上传.管理资产并对资产进行编 ...

  4. Azure媒体服务的Apple FairPlay流功能正式上线

    在此我们高兴地宣布,Azure FairPlay Streaming服务已正式商用. FairPlay允许用户轻松构建解决方案,并可扩展到最新版本的Apple TV.Azure媒体服务可以结合现有的P ...

  5. Azure 媒体服务发布可靠的视频直播平台

    Sudheer Sirivara Azure 媒体服务总监 两个月前,Azure 媒体服务发布了视频直播和内容保护产品的公共预览版.这一 Internet规模的直播解决方案已被十余家业界领先的国际广播 ...

  6. Azure 媒体服务支持 DASH 实时传送流

    Kilroy Hughes Azure媒体服务数字媒体架构师 本文重点介绍 Azure 媒体服务支持的 DASH 实时传送流功能,同时阐述如何利用这些功能将实时和点播自适应流传送至 Web 浏览器 ...

  7. 【Azure媒体服务 Azure Media Service】Azure Media Service中Stream Endpoint 说明 (流式处理终结点)

    Azure 媒体服务是一个基于云的媒体工作流平台,用于生成需要编码.打包.内容保护和直播活动广播的解决方案. 在视频的直播,点播方案中,媒体服务的架构主要由三部分构成: 推流端,把本地视频或直播内容推 ...

  8. Azure 媒体服务换新锁,更安全更方便,新钥匙请收好!

    不知道有多少人已经把家里的门锁换成了数字化的指纹锁?沿用了几百上千年的传统门锁,在技术的帮助下无疑变得更方便,不用带钥匙,还能远程控制和操作,最重要的是,终于不用担心「衣果(luǒ)着」出门扔垃圾,风 ...

  9. Azure 媒体服务可将优质内容传输至 Apple TV

    作为内容提供商,如果想要将优质内容传输到Apple TV,需要使用Apple FairPlay Streaming (FPS)技术. 但是这个技术的构建比较繁琐,基于此,Azure提供了FairPla ...

  10. 中国Azure媒体服务RESTAPI的Endpoint

    Amber Zhao  Thu, Feb 26 2015 4:09 AM 由于海外Azure和中国Azure有不同的domain,很多用户在使用媒体服务RESTAPI时,需要指定中国Azure媒体服务 ...

随机推荐

  1. Linux挂载新磁盘到根目录

    1.添加磁盘到需要挂载的机器上2.lsblk查看硬盘挂载情况,sdb,sdc为我新挂载的磁盘 3.fdisk -l查看挂载之前的分区情况, 4.为新硬盘创建分区 fdisk /dev/sdb,终端会提 ...

  2. kettle系统列文章02---如何建立一个转换

    1.连接mysql 主对象树---->DB连接---->新建 2.连接sqlserver 主对象树--->DB连接----->新建 3.设置数据库为共享:在db上右键---&g ...

  3. 从零开始配置vim(30)——DAP的其他配置

    很抱歉这么久才来更新这一系列,主要是来新公司还在试用期,我希望在试用期干出点事来,所以摸鱼的时间就少了.加上前面自己阳了休息了一段时间.在想起来更新就过去一个多月了.废话不多说了,让我们开始进入正题. ...

  4. TienChin 活动管理-活动状态完善

    修改字典 修改活动状态字典,将之前的数据键值为 0 的数据标签内容改为 过期: 更改下数据库的描述,禁用改为过期: ALTER TABLE `tienchin_activity` MODIFY COL ...

  5. 2.基于Label studio的训练数据标注指南:(智能文档)文档抽取任务、PDF、表格、图片抽取标注等

    文档抽取任务Label Studio使用指南 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取).文本分类等 2.基于Label studio的训练数据标注指南:(智能文档) ...

  6. vi / vim编辑器的使用 [补档-2023-07-01]

    vi/vim编辑器 ​ vi/vim编辑器是linux中的文本编辑器,其中vim比vi的功能更加强大,可以编辑shell程序,推荐使用vim,下面也将介绍vim如何使用. 2-1 vi/vim的三种工 ...

  7. 手撕Udp套接字|实现群聊通信|实现Windows & Linux通信交互

    ​ 专栏和Git地址 操作系统https://blog.csdn.net/yu_cblog/category_12165502.html?spm=1001.2014.3001.5482UdpSocke ...

  8. 小型命令解析器|minShell|多进程|重定向|进程控制【超详细的代码注释和解释】

    前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014. ...

  9. Delphi 异常处理 详解

    [1] Exception类的定义在SysUtils单元中. [2] Delphi也支持不从Exception继承的异常类,但是我觉得这么做并不十分的明智. 一.异常的源 在Delphi的应用程序中, ...

  10. .NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(下)

    18 | 日志框架:聊聊记日志的最佳姿势 除了使用 CreateLogger 指定 logger 的名称,实际上还可以借助容器来构造 logger,通常情况下我们会定义自己的类 namespace L ...