从音频和视频中提取信息
注释
有关更多详细信息,请参阅 “文本和图像 ”选项卡!
业务信息越来越多地以多媒体格式(如音频和视频文件)找到。 例如,企业通常会记录呼叫,以便稍后对其进行分析。 视频会议的增长意味着在录制的会议中经常捕获有用的信息。 Azure 内容理解支持音频和视频数据提取和分析。
从音频中提取结构化数据
可以使用 Azure 内容理解提供音频文件中的听录、摘要和其他关键见解。
假设你想要让 AI 汇总语音邮件。 可以定义一个从每次通话录音中提取关键见解的架构,如下所示:
- 呼叫者
- 消息摘要
- 请求的操作
- 回拨号码
- 备用联系方式
现在,假设呼叫者会留下以下语音消息:
Hi, this is Ava from Contoso.
Just calling to follow up on our meeting last week.
I wanted to let you know that I've run the numbers and I think we can meet your price expectations.
Please call me back on 555-12345 or send me an e-mail at Ava@contoso.com and we'll discuss next steps.
Thanks, bye!
使用 Azure 内容理解分析音频录制并应用架构将产生以下结果:
- 调用方:来自 Contoso 的 Ava
- 消息摘要:Contoso 的 Ava 打来电话跟进会议,并提到他们可以满足价格预期。 他们请求通过回电或电子邮件来讨论后续步骤。
- 请求的操作:回电或发送电子邮件来讨论后续步骤。
- 回调号码:555-12345
- 备用联系人详细信息: Ava@contoso.com
在 Foundry 平台中分析音频内容
与文档分析类似,在 新 Foundry 门户中使用内容理解,是在代码中将工作流自动化之前快速验证分析器是否返回预期字段的一种方法。
在门户中,可以:
- 选择音频或视频分析器,并在媒体文件上运行它。
- 查看输出,如记录(用于音频),并根据架构提取见解。
- 查看返回的 JSON 结果 ,以便在下游系统中进一步处理。
让我们看看如何使用内容理解来分析通话记录。 可以运行预生成的音频分析器,从音频中提取信息,而不是收听整个呼叫。 分析完成后,可以看到通话的书面脚本。
在返回的结果中,可以看到来自调用的特定信息。 与其他内容理解分析器一样,结果采用 JSON 格式进行进一步处理。
从视频中提取结构化数据
Azure 内容理解还支持视频分析。 例如,可以分析录制的视频会议,以提取出席情况、位置和其他信息的详细信息。
让我们首先看看会议室摄像头中的一张图像。 假设你定义了以下架构:
- 位置
- 现场与会者
- 远程与会者
- 与会者总数
可以使用 Azure 内容理解从会议室摄像头分析图像:
将架构应用到映像后,Azure 内容理解返回结构化数据:
- 位置:会议室
- 现场与会者:1
- 远程与会者:3
- 与会者总数:4
考虑可以添加到会议视频录制的架构中的内容。 你可以包括在不同时间间隔的出席人数、通话期间发言者的详细信息及其发言内容、讨论的摘要,以及会议上分配的行动事项列表。
使用音频或视频分析器生成客户端应用程序
若要以编程方式分析音频或视频,可以使用 内容理解 API 生成轻型客户端应用程序。
让我们看看使用 Python SDK 的示例。 运行以下代码时,它会使用预生成的分析器分析音频文件。 预生成的分析器标识为 prebuilt-audioSearch。
import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential
# Endpoint and key for your Foundry resource
endpoint = os.environ["FOUNDRY_ENDPOINT"] # e.g., "https://<resource>.services.ai.azure.com/"
key = os.environ["FOUNDRY_KEY"]
client = ContentUnderstandingClient(
endpoint=endpoint,
credential=AzureKeyCredential(key)
)
# Choose a prebuilt analyzer for audio
# (The documents module lists examples like prebuilt-audioSearch / prebuilt-videoSearch.)
analyzer_id = "prebuilt-audioSearch"
# Provide an input audio file (URL shown here; you can swap in your own accessible media URL)
inputs = [
{"url": "https://<your-host>/samples/voicemail.wav"}
]
# Start analysis (asynchronous long-running operation)
poller = client.begin_analyze(analyzer_id=analyzer_id, inputs=inputs)
# Wait for completion (SDK polls under the hood)
result = poller.result()
# Inspect the structured output (JSON-like objects)
for content in result.contents:
# Some analyzers may return a transcript and/or extracted fields depending on the analyzer and schema
print("=== MARKDOWN / TRANSCRIPT (if provided) ===")
print(getattr(content, "markdown", None))
print("\n=== EXTRACTED FIELDS ===")
print(getattr(content, "fields", None))
Microsoft Foundry 中通过内容理解进行音频和视频分析,为解锁任何格式的业务数据的潜力开辟了一系列机会。 接下来,亲自尝试一下内容理解功能。