Analisar arquivos de áudio e vídeo com os Serviços de Mídia do Azure
logotipo dos Serviços de Mídia
Aviso
Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o guia de desativação do AMS.
Importante
Como os padrões de IA responsável da Microsoft estruturas de tópicos, a Microsoft está comprometida com a imparcialidade, privacidade, segurança e transparência em relação aos sistemas de IA. Para se alinhar a esses padrões,
Os Serviços de Mídia permitem extrair insights de seus arquivos de vídeo e áudio usando as predefinições do analisador de áudio e vídeo. Este artigo descreve as predefinições do analisador usadas para extrair insights. Se você quiser obter informações mais detalhadas de seus vídeos, use o serviço Azure Video Indexer. Para entender quando usar predefinições do Analisador de Serviços de Mídia versus Video Indexer, confira o documento de comparação .
Há dois modos para a predefinição do Analisador de Áudio, básico e padrão. Veja a descrição das diferenças na tabela abaixo.
Para analisar seu conteúdo usando predefinições dos Serviços de Mídia v3, crie um
Nota
Não há suporte para AudioAnalyzerPreset se a conta de armazenamento não tiver acesso à rede pública.
Conformidade, privacidade e segurança
Você deve cumprir todas as leis aplicáveis no uso do Video Indexer e não pode usar o Video Indexer ou qualquer outro serviço do Azure de maneira que viole os direitos de outras pessoas ou possa ser prejudicial a outras pessoas. Antes de carregar todos os vídeos, incluindo quaisquer dados biométricos, no serviço Video Indexer para processamento e armazenamento, você deve ter todos os direitos adequados, incluindo todos os consentimentos apropriados, dos indivíduos no vídeo. Para saber mais sobre conformidade, privacidade e segurança no Video Indexer, os Termos dos Serviços Cognitivos do Azure. Para as obrigações de privacidade da Microsoft e o tratamento de seus dados, examine a Política de Privacidade
Predefinições internas
Atualmente, os Serviços de Mídia dão suporte às seguintes predefinições internas do analisador:
Nota
Não há suporte para AudioAnalyzerPreset se a conta de armazenamento não tiver acesso à rede pública.
Idiomas com suporte
- Árabe ('ar-BH', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB', 'ar-OM', 'ar-QA', 'ar-SA' e 'ar-SY')
- Português brasileiro ('pt-BR')
- Chinês ('zh-CN')
- Danish('da-DK')
- Inglês ('en-US', 'en-GB' e 'en-AU')
- Finlandês ('fi-FI')
- Francês ('fr-FR' e 'fr-CA')
- Alemão ('de-DE')
- Hebraico (he-IL)
- Hindi ('hi-IN'), coreano ('ko-KR')
- Italiano ('it-IT')
- Japonês ('ja-JP')
- Norueguês ('nb-NO')
- Persa ('fa-IR')
- Português de Portugal ('pt-PT')
- Russo ('ru-RU')
- Espanhol ('es-ES' e 'es-MX')
- Sueco ('sv-SE')
- Tailandês ('th-TH')
- Turco ('tr-TR')
Nota
Não há suporte para AudioAnalyzerPreset se a conta de armazenamento não tiver acesso à rede pública.
Modo padrão AudioAnalyzerPreset
A predefinição permite extrair vários insights de áudio de um arquivo de áudio ou vídeo.
A saída inclui um arquivo JSON (com todos os insights) e um arquivo VTT para a transcrição de áudio. Essa predefinição aceita uma propriedade que especifica o idioma do arquivo de entrada na forma de um BCP47 cadeia de caracteres. Os insights de áudio incluem:
- Transcrição de áudio: uma transcrição das palavras faladas com carimbos de data/hora. Há suporte para vários idiomas.
- palavras-chave: palavras-chave extraídas da transcrição de áudio.
Modo básico AudioAnalyzerPreset
A predefinição permite extrair vários insights de áudio de um arquivo de áudio ou vídeo.
A saída inclui um arquivo JSON e um arquivo VTT para a transcrição de áudio. Essa predefinição aceita uma propriedade que especifica o idioma do arquivo de entrada na forma de um BCP47 cadeia de caracteres. A saída inclui:
- Transcrição de áudio: uma transcrição das palavras faladas com carimbos de data/hora. Há suporte para vários idiomas, mas a detecção automática de idiomas e a diarização do locutor não estão incluídas.
- palavras-chave: palavras-chave extraídas da transcrição de áudio.
VideoAnalyzerPreset
A predefinição permite extrair vários insights de áudio e vídeo de um arquivo de vídeo. A saída inclui um arquivo JSON (com todos os insights), um arquivo VTT para a transcrição de vídeo e uma coleção de miniaturas. Essa predefinição também aceita uma cadeia de caracteres BCP47 (que representa o idioma do vídeo) como uma propriedade. Os insights de vídeo incluem todos os insights de áudio mencionados acima e os seguintes itens extras:
- acompanhamento facial: o tempo durante o qual os rostos estão presentes no vídeo. Cada rosto tem uma ID de rosto e uma coleção correspondente de miniaturas.
- texto visual: o texto detectado por meio do reconhecimento óptico de caracteres. O texto é carimbado e também usado para extrair palavras-chave (além da transcrição de áudio).
- Keyframes: uma coleção de quadros-chave extraídos do vídeo.
- moderação de conteúdo visual: a parte dos vídeos sinalizados como adultos ou de natureza picante.
- Anotação: resultado da anotação dos vídeos com base em um modelo de objeto predefinido
elementos insights.json
A saída inclui um arquivo JSON (insights.json) com todos os insights encontrados no vídeo ou áudio. O JSON pode conter os seguintes elementos:
transcrição
Nome | Descrição |
---|---|
id | A ID da linha. |
Texto | A transcrição em si. |
Idioma | A linguagem de transcrição. Destinado a dar suporte à transcrição em que cada linha pode ter um idioma diferente. |
Instâncias | Uma lista de intervalos de tempo em que essa linha apareceu. Se a instância for transcrição, ela terá apenas uma instância. |
Exemplo:
"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"
}
]
}
]
Ocr
Nome | Descrição |
---|---|
id | A ID da linha OCR. |
Texto | O texto do OCR. |
confiança | A confiança do reconhecimento. |
Idioma | A linguagem OCR. |
Instâncias | Uma lista de intervalos de tempo em que esse OCR apareceu (o mesmo OCR pode aparecer várias vezes). |
"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"
}
]
}
],
Rostos
Nome | Descrição |
---|---|
id | A ID do rosto. |
nome | O nome da face. Pode ser 'Desconhecido nº 0', uma celebridade identificada ou uma pessoa treinada pelo cliente. |
confiança | A confiança de identificação facial. |
descrição | Uma descrição da celebridade. |
thumbnailId | A ID da miniatura desse rosto. |
knownPersonId | A ID interna (se for uma pessoa conhecida). |
referenceId | A ID do Bing (se for uma celebridade do Bing). |
referenceType | Atualmente, apenas Bing. |
título | O título (se for uma celebridade, por exemplo, "CEO da Microsoft"). |
imageUrl | A URL da imagem, se for uma celebridade. |
Instâncias | Instâncias em que o rosto apareceu no intervalo de tempo especificado. Cada instância também tem uma 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"
}]
}]
Tiros
Nome | Descrição |
---|---|
id | A ID do tiro. |
keyFrames | Uma lista de quadros-chave dentro da captura (cada um tem uma ID e uma lista de intervalos de tempo de instâncias). As instâncias de quadros-chave têm um campo thumbnailId com a ID de miniatura do keyFrame. |
Instâncias | Uma lista de intervalos de tempo dessa captura (as capturas têm apenas uma instância). |
"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"
}
]
}
]
estatística
Nome | Descrição |
---|---|
CorrespondenceCount | Número de correspondências no vídeo. |
WordCount | O número de palavras por orador. |
SpeakerNumberOfFragments | A quantidade de fragmentos que o alto-falante tem em um vídeo. |
SpeakerLongestMonolog | O monolog mais longo do alto-falante. Se o alto-falante tiver silêncios dentro do monolog, ele será incluído. O silêncio no início e no final do monolog é removido. |
SpeakerTalkToListenRatio | O cálculo baseia-se no tempo gasto no monolog do orador (sem o silêncio no meio) dividido pelo tempo total do vídeo. A hora é arredondada para o terceiro ponto decimal. |
Rótulos
Nome | Descrição |
---|---|
id | A ID do rótulo. |
nome | O nome do rótulo (por exemplo, 'Computador', 'TV'). |
Idioma | O idioma do nome do rótulo (quando traduzido). BCP-47 |
Instâncias | Uma lista de intervalos de tempo em que esse rótulo apareceu (um rótulo pode aparecer várias vezes). Cada instância tem um campo de confiança. |
"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"
}
]
}
]
Keywords
Nome | Descrição |
---|---|
id | A ID da palavra-chave. |
Texto | O texto da palavra-chave. |
confiança | A confiança de reconhecimento da palavra-chave. |
Idioma | A linguagem de palavra-chave (quando traduzida). |
Instâncias | Uma lista de intervalos de tempo em que essa palavra-chave apareceu (uma palavra-chave pode aparecer várias vezes). |
"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
O bloco visualContentModeration contém intervalos de tempo que o Video Indexer descobriu potencialmente ter conteúdo adulto. Se visualContentModeration estiver vazio, não haverá nenhum conteúdo adulto identificado.
Vídeos que contêm conteúdo adulto ou picante podem estar disponíveis apenas para exibição privada. Os usuários podem enviar uma solicitação para uma revisão humana do conteúdo, caso em que o atributo IsAdult
conterá o resultado da revisão humana.
Nome | Descrição |
---|---|
id | A ID de moderação de conteúdo visual. |
adultScore | A pontuação do adulto (do moderador de conteúdo). |
racyScore | A pontuação picante (da moderação de conteúdo). |
Instâncias | Uma lista de intervalos de tempo em que essa moderação de conteúdo visual apareceu. |
"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"
}
]
}
]
Obter ajuda e suporte
Você pode entrar em contato com os Serviços de Mídia com perguntas ou seguir nossas atualizações por um dos seguintes métodos:
- Q & A
-
stack overflow. Marcar perguntas com
azure-media-services
. - @MSFTAzureMedia ou use @AzureSupport para solicitar suporte.
- Abra um tíquete de suporte por meio do portal do Azure.