使用 Azure 媒体服务分析视频和音频文件
警告
Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南。
重要
正如Microsoft 负责任的 AI 标准 概述的那样,Microsoft致力于在 AI 系统中实现公平、隐私、安全和透明度。 为了符合这些标准,Azure 媒体服务将于 2023 年 9 月 14 日停用 视频分析器预设。 此预设目前允许从视频文件中提取多个视频和音频见解。 客户可以使用 Azure 视频索引器提供的更高级功能集替换其当前工作流。
媒体服务允许你使用音频和视频分析器预设从视频和音频文件中提取见解。 本文介绍用于提取见解的分析器预设。 如果需要从视频中获取更详细的见解,请使用 Azure 视频索引器服务。 若要了解何时使用视频索引器与媒体服务分析器预设,请查看 比较文档。
音频分析器预设有两种模式,基本模式和标准模式。 请参阅下表中差异的说明。
若要使用媒体服务 v3 预设分析内容,请创建 转换 并提交使用以下预设之一的 作业:VideoAnalyzerPreset 或 AudioAnalyzerPreset。
注意
如果存储帐户没有公共网络访问权限,则不支持 AudioAnalyzerPreset。
合规性、隐私和安全性
必须使用视频索引器时遵守所有适用法律,不得以违反他人权利或对他人有害的方式使用视频索引器或任何其他 Azure 服务。 在将任何视频(包括任何生物识别数据)上传到视频索引器服务进行处理和存储之前,必须拥有视频中个人的所有适当许可(包括所有适当的同意)。 若要了解视频索引器中的合规性、隐私和安全性,Azure 认知服务条款。 有关Microsoft隐私义务和处理数据,请查看Microsoft 隐私声明、在线服务条款(“OST”)和 数据处理附录(“DPA”)。 OST 中提供了更多隐私信息,包括有关数据保留、删除/销毁的信息。 通过使用视频索引器,你同意受认知服务条款、OST、DPA 和隐私声明的约束。
内置预设
媒体服务目前支持以下内置分析器预设:
预设名称 | 方案/模式 | 详细信息 |
---|---|---|
AudioAnalyzerPreset | 分析音频标准模式 | 预设应用一组基于 AI 的预定义分析操作,包括语音听录。 目前,预设支持使用包含单个语言语音的单个音轨处理内容。 使用 BCP-47 格式的“语言标记区域”在输入中指定音频有效负载的语言。 有关可用语言代码,请参阅下面的支持的语言列表。 自动语言检测选择检测到的第一种语言,如果未设置或设置为 null,则继续使用整个文件的所选语言。 自动语言检测功能目前支持:英语、中文、法语、德语、意大利语、日语、西班牙语、俄语和巴西葡萄牙语。 它不支持在检测到第一种语言后动态切换语言。 自动语言检测功能最适用于具有清晰辨别语音的录音。 如果自动语言检测找不到语言,则听录会回退到英语。 |
AudioAnalyzerPreset | 分析音频基本模式 | 此预设模式执行语音转文本听录和生成 VTT 字幕/字幕文件。 此模式的输出包括一个 Insights JSON 文件,其中包含关键字、听录和计时信息。 此模式中不包括自动语言检测和说话人分割。 支持的语言列表与上述标准模式相同。 |
VideoAnalyzerPreset | 分析音频和视频 | 从音频和视频中提取见解(丰富元数据),并输出 JSON 格式化文件。 可以指定是否只想在处理视频文件时提取音频见解。 |
FaceDetectorPreset | 检测视频中存在的人脸 | 描述分析视频以检测所有人脸时要使用的设置。 |
注意
如果存储帐户没有公共网络访问权限,则不支持 AudioAnalyzerPreset。
支持的语言
- 阿拉伯语(“ar-BH”、“ar-EG”、“ar-IQ”、“ar-JO”、“ar-KW”、“ar-LB”、“ar-OM”、“ar-QA”、“ar-SA”和“ar-SY”)
- 巴西葡萄牙语 ('pt-BR')
- 中文 ('zh-CN')
- 丹麦语('da-DK')
- 英语(“en-US”、“en-GB”和“en-AU”)
- 芬兰语 ('fi-FI')
- 法语(“fr-FR”和“fr-CA”)
- 德语 ('de-DE')
- 希伯来语(he-IL)
- 印地语 ('hi-IN'), 朝鲜语 ('ko-KR')
- 意大利语 ('it-IT')
- 日语 ('ja-JP')
- 挪威语 ('nb-NO')
- 波斯语 ('fa-IR')
- 葡萄牙葡萄牙语 ('pt-PT')
- 俄语 ('ru-RU')
- 西班牙语(“es-ES”和“es-MX”)
- 瑞典语 ('sv-SE')
- 泰国语 ('th-TH')
- 土耳其 ('tr-TR')
注意
如果存储帐户没有公共网络访问权限,则不支持 AudioAnalyzerPreset。
AudioAnalyzerPreset 标准模式
通过预设,可以从音频或视频文件中提取多个音频见解。
输出包括 JSON 文件(包含所有见解)和音频脚本的 VTT 文件。 此预设接受一个属性,该属性以 BCP47 字符串的形式指定输入文件的语言。 音频见解包括:
- 音频听录:带有时间戳的口语脚本。 支持多种语言。
- 关键字:从音频听录中提取的关键字。
AudioAnalyzerPreset 基本模式
通过预设,可以从音频或视频文件中提取多个音频见解。
输出包括音频脚本的 JSON 文件和 VTT 文件。 此预设接受一个属性,该属性以 BCP47 字符串的形式指定输入文件的语言。 输出包括:
- 音频听录:带有时间戳的口语脚本。 支持多种语言,但不包括自动语言检测和说话人分割。
- 关键字:从音频听录中提取的关键字。
VideoAnalyzerPreset
通过预设,可以从视频文件中提取多个音频和视频见解。 输出包括 JSON 文件(包含所有见解)、视频脚本的 VTT 文件以及缩略图集合。 此预设还接受 BCP47 字符串(表示视频的语言)作为属性。 视频见解包括上述所有音频见解和以下额外项:
- 人脸跟踪:视频中存在人脸的时间。 每个人脸都有一个人脸 ID 和相应的缩略图集合。
- 视觉文本:通过光学字符识别检测到的文本。 文本是时间戳的,还用于提取关键字(除了音频脚本)。
- 关键帧:从视频中提取的关键帧的集合。
- 视觉内容审查:标记为成人或猥亵的视频部分。
- 批注:基于预定义对象模型批注视频的结果
insights.json 元素
输出包括一个 JSON 文件(insights.json),其中包含在视频或音频中找到的所有见解。 JSON 可能包含以下元素:
抄本
名字 | 描述 |
---|---|
id | 行 ID。 |
发短信 | 脚本本身。 |
语言 | 脚本语言。 旨在支持每行可以具有不同语言的脚本。 |
实例 | 显示此行的时间范围列表。 如果实例是脚本,则只有一个实例。 |
例:
"transcript": [
{
"id": 0,
"text": "Hi I'm Doug from office.",
"language": "en-US",
"instances": [
{
"start": "00:00:00.5100000",
"end": "00:00:02.7200000"
}
]
},
{
"id": 1,
"text": "I have a guest. It's Michelle.",
"language": "en-US",
"instances": [
{
"start": "00:00:02.7200000",
"end": "00:00:03.9600000"
}
]
}
]
光学字符识别
名字 | 描述 |
---|---|
id | OCR 行 ID。 |
发短信 | OCR 文本。 |
信心 | 识别置信度。 |
语言 | OCR 语言。 |
实例 | 此 OCR 出现的时间范围列表(同一个 OCR 可以多次出现)。 |
"ocr": [
{
"id": 0,
"text": "LIVE FROM NEW YORK",
"confidence": 0.91,
"language": "en-US",
"instances": [
{
"start": "00:00:26",
"end": "00:00:52"
}
]
},
{
"id": 1,
"text": "NOTICIAS EN VIVO",
"confidence": 0.9,
"language": "es-ES",
"instances": [
{
"start": "00:00:26",
"end": "00:00:28"
},
{
"start": "00:00:32",
"end": "00:00:38"
}
]
}
],
面临
名字 | 描述 |
---|---|
id | 人脸 ID。 |
名字 | 人脸名称。 它可以是“未知 #0”、已识别的名人或客户培训的人员。 |
信心 | 人脸识别置信度。 |
描述 | 名人的说明。 |
thumbnailId | 该人脸缩略图的 ID。 |
knownPersonId | 内部 ID(如果是已知人员)。 |
referenceId | 必应 ID (如果是必应名人)。 |
referenceType | 目前只是必应。 |
标题 | 标题(如果是名人,例如“Microsoft的首席执行官”)。 |
imageUrl | 图像 URL(如果是名人)。 |
实例 | 出现在给定时间范围内的人脸的实例。 每个实例还有一个 thumbnailsId。 |
"faces": [{
"id": 2002,
"name": "Xam 007",
"confidence": 0.93844,
"description": null,
"thumbnailId": "00000000-aee4-4be2-a4d5-d01817c07955",
"knownPersonId": "8340004b-5cf5-4611-9cc4-3b13cca10634",
"referenceId": null,
"title": null,
"imageUrl": null,
"instances": [{
"thumbnailsIds": ["00000000-9f68-4bb2-ab27-3b4d9f2d998e",
"cef03f24-b0c7-4145-94d4-a84f81bb588c"],
"adjustedStart": "00:00:07.2400000",
"adjustedEnd": "00:00:45.6780000",
"start": "00:00:07.2400000",
"end": "00:00:45.6780000"
},
{
"thumbnailsIds": ["00000000-51e5-4260-91a5-890fa05c68b0"],
"adjustedStart": "00:10:23.9570000",
"adjustedEnd": "00:10:39.2390000",
"start": "00:10:23.9570000",
"end": "00:10:39.2390000"
}]
}]
镜头
名字 | 描述 |
---|---|
id | 镜头 ID。 |
keyFrames | 镜头中关键帧的列表(每个帧都有 ID 和实例时间范围列表)。 关键帧实例具有具有关键帧缩略图 ID 的 thumbnailId 字段。 |
实例 | 此镜头的时间范围列表(镜头只有一个实例)。 |
"Shots": [
{
"id": 0,
"keyFrames": [
{
"id": 0,
"instances": [
{
"thumbnailId": "00000000-0000-0000-0000-000000000000",
"start": "00: 00: 00.1670000",
"end": "00: 00: 00.2000000"
}
]
}
],
"instances": [
{
"thumbnailId": "00000000-0000-0000-0000-000000000000",
"start": "00: 00: 00.2000000",
"end": "00: 00: 05.0330000"
}
]
},
{
"id": 1,
"keyFrames": [
{
"id": 1,
"instances": [
{
"thumbnailId": "00000000-0000-0000-0000-000000000000",
"start": "00: 00: 05.2670000",
"end": "00: 00: 05.3000000"
}
]
}
],
"instances": [
{
"thumbnailId": "00000000-0000-0000-0000-000000000000",
"start": "00: 00: 05.2670000",
"end": "00: 00: 10.3000000"
}
]
}
]
统计学
名字 | 描述 |
---|---|
CorrespondenceCount | 视频中的信件数。 |
WordCount | 每个说话人的字数。 |
SpeakerNumberOfFragments | 扬声器在视频中具有的片段量。 |
SpeakerLongestMonolog | 说话人最长的单曲。 如果扬声器在单曲中具有静音,则包含它。 删除单曲开头和结尾处的静音。 |
SpeakerTalkToListenRatio | 计算基于演讲者单曲(无静音之间)花费的时间除以视频的总时间。 时间舍入到第三个小数点。 |
标签
名字 | 描述 |
---|---|
id | 标签 ID。 |
名字 | 标签名称(例如“Computer”、“TV”)。 |
语言 | 标签名称语言(翻译时)。 BCP-47 |
实例 | 显示此标签的时间范围列表(标签可以多次出现)。 每个实例都有置信度字段。 |
"labels": [
{
"id": 0,
"name": "person",
"language": "en-US",
"instances": [
{
"confidence": 1.0,
"start": "00: 00: 00.0000000",
"end": "00: 00: 25.6000000"
},
{
"confidence": 1.0,
"start": "00: 01: 33.8670000",
"end": "00: 01: 39.2000000"
}
]
},
{
"name": "indoor",
"language": "en-US",
"id": 1,
"instances": [
{
"confidence": 1.0,
"start": "00: 00: 06.4000000",
"end": "00: 00: 07.4670000"
},
{
"confidence": 1.0,
"start": "00: 00: 09.6000000",
"end": "00: 00: 10.6670000"
},
{
"confidence": 1.0,
"start": "00: 00: 11.7330000",
"end": "00: 00: 20.2670000"
},
{
"confidence": 1.0,
"start": "00: 00: 21.3330000",
"end": "00: 00: 25.6000000"
}
]
}
]
关键字
名字 | 描述 |
---|---|
id | 关键字 ID。 |
发短信 | 关键字文本。 |
信心 | 关键字的识别置信度。 |
语言 | 关键字语言(翻译时)。 |
实例 | 显示此关键字的时间范围列表(关键字可以多次出现)。 |
"keywords": [
{
"id": 0,
"text": "office",
"confidence": 1.6666666666666667,
"language": "en-US",
"instances": [
{
"start": "00:00:00.5100000",
"end": "00:00:02.7200000"
},
{
"start": "00:00:03.9600000",
"end": "00:00:12.2700000"
}
]
},
{
"id": 1,
"text": "icons",
"confidence": 1.4,
"language": "en-US",
"instances": [
{
"start": "00:00:03.9600000",
"end": "00:00:12.2700000"
},
{
"start": "00:00:13.9900000",
"end": "00:00:15.6100000"
}
]
}
]
visualContentModeration
visualContentModeration 块包含视频索引器发现可能具有成人内容的时间范围。 如果 visualContentModeration 为空,则没有标识的成人内容。
找到包含成人或不雅内容的视频可能仅适用于私人视图。 用户可以提交对内容进行人工评审的请求,在这种情况下,IsAdult
属性将包含人工评审的结果。
名字 | 描述 |
---|---|
id | 视觉内容审查 ID。 |
adultScore | 成人分数(来自内容审查器)。 |
racyScore | 不雅分数(来自内容审查)。 |
实例 | 显示此视觉内容审查的时间范围列表。 |
"VisualContentModeration": [
{
"id": 0,
"adultScore": 0.00069,
"racyScore": 0.91129,
"instances": [
{
"start": "00:00:25.4840000",
"end": "00:00:25.5260000"
}
]
},
{
"id": 1,
"adultScore": 0.99231,
"racyScore": 0.99912,
"instances": [
{
"start": "00:00:35.5360000",
"end": "00:00:35.5780000"
}
]
}
]
获取帮助和支持
可以通过以下方法之一联系媒体服务,并关注我们的更新:
- Q & A
-
Stack Overflow。 用
azure-media-services
标记问题。 - @MSFTAzureMedia 或使用 @AzureSupport 请求支持。
- 通过 Azure 门户开具支持票证。