Analise arquivos de vídeo e áudio com os Serviços de Mídia do Azure
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 descrevem os Padrões de IA Responsáveis da Microsoft, 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 do Azure estão desativando a predefinição do Analisador de Vídeo em 14 de setembro de 2023. Atualmente, essa predefinição permite extrair vários insights de vídeo e áudio de um arquivo de vídeo. Os clientes podem substituir os fluxos de trabalho atuais usando o conjunto de recursos mais avançado oferecido pelo Azure Video Indexer.
Os Serviços de Mídia permitem que você extraia 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 insights mais detalhados de seus vídeos, use o serviço Azure Video Indexer. Para entender quando usar as predefinições do Video Indexer vs. do analisados dos Serviços de Mídia, confira o documento de comparação.
Há dois modos de predefinição, básico e padrão do analisador de áudio. Consulte a descrição das diferenças na tabela a seguir.
Para analisar seu conteúdo usando predefinições dos Serviços de Mídia v3, crie uma Transformação e envie um Trabalho que use uma destas predefinições: VideoAnalyzerPreset ou AudioAnalyzerPreset.
Observação
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 qualquer vídeo, incluindo dados biométricos, no serviço do Video Indexer para processamento e armazenamento, você precisará ter todos os direitos apropriados, incluindo todos os consentimentos apropriados, dos indivíduos mostrados no vídeo. Para saber mais sobre a conformidade, a privacidade e a segurança no Video Indexer, leia os Termos dos Serviços Cognitivos do Azure. Para saber mais sobre as obrigações de privacidade e o tratamento de seus dados pela Microsoft, confira a Política de Privacidade, os OST (Termos dos Serviços Online) e o DPA (Adendo de Processamento de Dados) da Microsoft. Mais informações de privacidade, incluindo sobre retenção de dados, exclusão/destruição, estão disponíveis no OST. Ao usar o Video Indexer, você concorda em vincular-se aos Termos dos Serviços Cognitivos, o OST, o DPA e à Política de Privacidade.
Predefinições internas
O Serviços de Mídia do Microsoft Azure atualmente suporta as seguintes predefinições do analisador interno:
Nome da predefinição | Cenário/modo | Detalhes |
---|---|---|
AudioAnalyzerPreset | Analisando o modo padrão de áudio | A predefinição aplica um conjunto predefinido de operações de análise baseadas em IA, incluindo transcrição de fala. Atualmente, a predefinição dá suporta ao processamento de conteúdo com uma única faixa do áudio que contenha fala em um único idioma. Especifique o idioma o conteúdo de áudio na entrada usando o formato BCP-47 de "marca de idioma-região". Veja a lista de idiomas com suporte abaixo para ver os códigos de idioma disponíveis. A detecção automática de idioma escolhe o primeiro idioma detectado e continua com o idioma selecionado para todo o arquivo se o idioma não estiver definido ou estiver definido como nulo. O recurso de detecção automática de idioma atualmente é compatível com inglês, chinês, francês, alemão, italiano, japonês, espanhol, russo e português do Brasil. Ele não suporta alternar dinamicamente entre os idiomas depois que o primeiro idioma for detectado. O recurso de detecção automática de idioma funciona melhor com gravações de áudio com fala claramente discernível. Se a detecção automática de idioma não conseguir encontrar o idioma, a transcrição será revertida para inglês. |
AudioAnalyzerPreset | Analisando o modo de áudio básico | Esse modo predefinido executa a transcrição de fala em texto e a geração de um arquivo de subtítulo/legenda do VTT. A saída desse modo inclui um arquivo JSON de Insights, incluindo apenas palavras-chave, transcrição e informações de tempo. A detecção automática de idioma e a diarização de alto-falante não estão incluídos nesse modo. A lista de idiomas com suporte é idêntica ao modo padrão acima. |
VideoAnalyzerPreset | Analisar áudio e vídeo | Extraia insights (metadados avançados) de áudio e vídeo e gere um arquivo no formato JSON. É possível especificar se deseja extrair apenas insights de áudio ao processar um arquivo de vídeo. |
FaceDetectorPreset | Detectando rostos presentes em vídeo | Descreve as configurações a serem usadas ao analisar um vídeo para detectar todos os rostos presentes. |
Observação
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 do Brasil ("pt-BR")
- Chinês ("zh-CN")
- Dinamarquês ("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)
- Híndi ("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")
Observação
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 todas as informações) e um arquivo VTT para a transcrição do áudio. Essa predefinição aceita uma propriedade que especifica o idioma do arquivo de entrada na forma de uma cadeia de caracteres BCP47. As informações de áudio incluem:
- Transcrição de áudio: uma transcrição das palavras faladas com carimbos de 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 uma cadeia de caracteres BCP47. A saída inclui:
- Transcrição de áudio: uma transcrição das palavras faladas com carimbos de hora. Há suporte para vários idiomas, mas a detecção automática de idioma e a diarização do alto-falante 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 todas as informações) e um arquivo VTT para a transcrição do 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 propriedade. Os insights de vídeos incluem todas os insights de áudio mencionados acima, e os seguintes itens adicionais:
- Controle de Detecção Facial: o tempo durante o qual há faces presentes no vídeo. Cada face tem uma ID de face e um conjunto correspondente de miniaturas.
- Texto visual: o texto detectado por meio de reconhecimento óptico de caracteres. O texto recebe um carimbo de data/hora e também é usado para extrair as palavras-chave (além da transcrição de áudio).
- Quadros-chave: um conjunto de quadros-chave que são extraídos do vídeo.
- Moderação de conteúdo visual: a parte dos vídeos que foi sinalizada como de natureza adulta.
- 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.jsem) com todas as informações encontradas no vídeo ou áudio. O JSON pode conter os seguintes elementos:
transcript
Nome | Descrição |
---|---|
id | A ID da linha. |
text | A própria transcrição. |
Linguagem | O idioma da transcrição. Tem o objetivo dar suporte à transcrição na qual cada linha pode ter um idioma diferente. |
instances | Uma lista com os intervalos de tempo nos quais essa linha apareceu. Se a instância for transcrita, 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 de OCR. |
text | O texto de OCR. |
confidence | A confiança do reconhecimento. |
Linguagem | O idioma do OCR. |
instances | Uma lista de intervalos de tempo nos quais essa 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"
}
]
}
],
faces
Nome | Descrição |
---|---|
id | A ID da face. |
name | O nome da face. Pode ser “Desconhecido #0”, uma celebridade identificada ou uma pessoa treinada pelo cliente. |
confidence | A confiança de identificação da face. |
descrição | Uma descrição da celebridade. |
thumbnailId | O ID da miniatura dessa face. |
knownPersonId | A ID interna (se for uma pessoa conhecida). |
referenceId | A ID do Bing (se for um celebridade do Bing). |
referenceType | No momento, apenas Bing. |
título | O título (se for um celebridade — por exemplo, "CEO da Microsoft"). |
imageUrl | A URL da imagem, se for um celebridade. |
instances | Ocorrências do aparecimento do rosto no intervalo de tempo determinado. Cada ocorrê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"
}]
}]
shots
Nome | Descrição |
---|---|
id | A ID da captura. |
keyFrames | Uma lista com os quadros-chave dentro da captura (cada um tem uma ID e uma lista de intervalos de tempo de instâncias). As instâncias de frames principais têm um campo thumbnailId com o ID de miniatura da keyFrame. |
instances | Uma lista com os intervalos de tempo desta 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ísticas
Nome | Descrição |
---|---|
CorrespondenceCount | Número de correspondências no vídeo. |
WordCount | O número de palavras por alto-falante. |
SpeakerNumberOfFragments | A quantidade de fragmentos que o orador tem em um vídeo. |
SpeakerLongestMonolog | O mais longo monólogo do orador. Se o palestrante tiver silêncios dentro do monólogo, ele será incluído. O silêncio no início e no final do monólogo é removido. |
SpeakerTalkToListenRatio | O cálculo é baseado no tempo gasto no monólogo do locutor (sem o silêncio intermediário) 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. |
name | O nome do rótulo (por exemplo, "Computador", "TV"). |
Linguagem | O idioma do nome do rótulo (quando traduzido). BCP-47 |
instances | Uma lista de intervalos de tempo nos quais 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"
}
]
}
]
palavras-chave
Nome | Descrição |
---|---|
id | A ID da palavra-chave. |
text | O texto da palavra-chave. |
confidence | A confiança do reconhecimento da palavra-chave. |
Linguagem | O idioma da palavra-chave (quando traduzida). |
instances | Uma lista de intervalos de tempo nos quais 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 encontrou para potencialmente ter conteúdo adulto. Se visualContentModeration estiver vazio, não haverá nenhum conteúdo adulto identificado.
Os vídeos que contêm conteúdo adulto ou atraente podem estar disponíveis apenas para visualização privada. Os usuários podem enviar uma solicitação para uma revisão humana do conteúdo. Nesse caso, 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 de conteúdo adulta (do moderador de conteúdo). |
racyScore | A pontuação racista (de moderação de conteúdo). |
instances | Uma lista de intervalos de tempo em que apareceu esse visual moderação de conteúdo. |
"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 dúvidas ou seguir nossas atualizações por um dos seguintes métodos:
- P & R
- Stack Overflow. Marque perguntas com
azure-media-services
. - @MSFTAzureMedia ou use @AzureSupport para solicitar suporte.
- Abra um tíquete de suporte por meio do portal do Azure.