Azure Media Services로 비디오 및 오디오 파일 분석

Media Services 로고 v3


경고

Azure Media Services는 2024년 6월 30일에 사용 중지됩니다. 자세한 내용은 AMS 사용 중지 가이드를 참조하세요.

중요

Microsoft의 책임 있는 AI 표준 개요에 따르면 Microsoft는 AI 시스템과 관련하여 공정성, 프라이버시, 보안 및 투명성을 위해 최선을 다하고 있습니다. 이러한 표준에 맞게 Azure Media Services는 2023년 9월 14일에 Video Analyzer 사전 설정을 사용 중지합니다. 이 사전 설정을 사용하면 현재 비디오 파일에서 여러 비디오 및 오디오 인사이트를 추출할 수 있습니다. 고객은 Azure Video Indexer에서 제공하는 고급 기능 집합을 사용하여 현재 워크플로를 교체할 수 있습니다.

Media Services를 사용하면 오디오 및 비디오 분석기 사전 설정을 사용하여 비디오 및 오디오 파일에서 인사이트를 추출할 수 있습니다. 이 문서에서는 인사이트를 추출하는 데 사용되는 분석기 사전 설정을 설명합니다. 비디오에서 더 자세한 인사이트를 원하는 경우 Azure Video Indexer 서비스를 사용합니다. Video Indexer 사전 설정을 사용하는 경우와 Media Services 분석기 사전 설정을 사용하는 경우를 비교 해석해 보려면 비교 문서를 확인하세요.

Audio Analyzer 사전 설정에는 기본 및 표준의 두 가지 모드가 있습니다. 아래 표에서 두 모드의 차이에 대한 설명을 참조하세요.

Media Services v3 사전 설정을 사용하여 콘텐츠를 분석하려면 변환을 만들고 VideoAnalyzerPreset 또는 AudioAnalyzerPreset 사전 설정 중 하나를 사용하는 작업을 제출합니다.

참고

스토리지 계정에 공용 네트워크 액세스 권한이 없는 경우 AudioAnalyzerPreset이 지원되지 않습니다.

규정 준수, 개인 정보 보호 및 보안

Video Indexer를 사용하는 모든 관련 법률을 준수해야 하며, 다른 사람의 권리를 침해하거나 다른 사람에게 해로울 수 있는 방식으로 Video Indexer 또는 기타 Azure 서비스를 사용할 수 없습니다. 처리 및 저장을 위해 Video Indexer 서비스에 모든 생체 인식 데이터를 비롯한 비디오를 업로드하려면, 비디오에 나온 모든 사람들의 적절한 동의를 비롯한 적절한 권한이 모두 있어야 합니다. Video Indexer의 규정 준수, 개인 정보 보호 및 보안에 대해 알아보려면 Azure Cognitive Services 사용 약관을 참조하세요. Microsoft의 개인 정보 보호 의무 및 데이터 처리에 대한 내용은 Microsoft의 개인정보처리방침, “OST”(온라인 서비스 사용 약관)“DPA”(데이터 처리 추록)를 검토하세요. 데이터 보존, 삭제/삭제를 비롯한 추가 개인 정보 정보는 OST에서 확인할 수 있습니다. Video Indexer를 사용하는 것은 Cognitive Services 사용 약관, OST, DPA 및 개인정보처리방침을 따르는 것에 동의하는 것입니다.

기본 제공 미리 설정

Media Services에서 현재 지원하는 기본 제공 분석기 미리 설정은 다음과 같습니다.

미리 설정 이름 시나리오/모드 세부 정보
AudioAnalyzerPreset 오디오 표준 모드 분석 사전 설정은 음성 기록을 포함하여 미리 정의된 AI 기반 분석 작업 세트를 적용합니다. 현재 사전 설정은 단일 언어 음성을 포함하는 단일 오디오 트랙을 사용하여 콘텐츠를 처리하도록 지원합니다. BCP-47 형식의 ‘language tag-region’을 사용하여 입력에서 오디오 페이로드의 언어를 지정합니다. 사용 가능한 언어 코드는 아래 지원되는 언어 목록을 참조하세요. 자동 언어 감지는 검색된 첫 번째 언어를 선택하고 설정되지 않았거나 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 표준 모드

미리 설정을 사용하면 오디오 또는 비디오 파일에서 여러 오디오 인사이트를 추출할 수 있습니다.

출력에는 오디오 대본의 VTT 파일과 JSON 파일(모든 인사이트 포함)이 포함됩니다. 이 사전 설정은 입력 파일의 언어를 BCP47 문자열의 형태로 지정하는 속성을 허용합니다. 오디오 인사이트는 다음 정보를 포함합니다.

  • 오디오 대화 내용 기록: 타임스탬프가 있는 음성의 대본입니다. 여러 언어가 지원됩니다.
  • 키워드: 오디오 기록에서 추출한 키워드입니다.

AudioAnalyzerPreset 기본 모드

미리 설정을 사용하면 오디오 또는 비디오 파일에서 여러 오디오 인사이트를 추출할 수 있습니다.

출력에는 오디오 대본의 VTT 파일과 JSON 파일이 포함됩니다. 이 사전 설정은 입력 파일의 언어를 BCP47 문자열의 형태로 지정하는 속성을 허용합니다. 출력에는 다음이 포함됩니다.

  • 오디오 대화 내용 기록: 타임스탬프가 있는 음성의 대본입니다. 여러 언어가 지원되지만 자동 언어 감지 기능과 화자 분할 기능은 포함되어 있지 않습니다.
  • 키워드: 오디오 기록에서 추출한 키워드입니다.

VideoAnalyzerPreset

미리 설정을 사용하면 비디오 파일에서 여러 오디오 및 비디오 인사이트를 추출할 수 있습니다. 출력에는 JSON 파일(모든 인사이트 포함), 비디오 대본의 VTT 파일 및 썸네일 컬렉션이 포함됩니다. 이 사전 설정은 BCP47 문자열(비디오의 언어를 나타냄)을 속성으로 수락합니다. 비디오 인사이트에는 앞서 언급한 모든 오디오 인사이트와 다음과 같은 추가 항목이 포함됩니다.

  • 얼굴 추적: 비디오에 얼굴이 나타나는 시간입니다. 얼굴마다 Face ID와 해당 썸네일 컬렉션이 있습니다.
  • 시각적 텍스트: 광학 인식을 통해 감지된 텍스트입니다. 텍스트에는 타임스탬프가 표시되며 오디오 대본 외에 키워드를 추출하는 데 사용되기도 합니다.
  • 키 프레임: 비디오에서 추출한 키 프레임 컬렉션입니다.
  • 시각적 콘텐츠 조정: 본질적으로 성인용 또는 선정적이라는 플래그가 지정된 비디오의 일부입니다.
  • 주석: 미리 정의된 개체 모델을 기반으로 비디오에 주석을 추가한 결과입니다.

insights.json 요소

출력에는 비디오 또는 오디오에서 찾은 모든 인사이트가 포함된 JSON 파일(insights.json)이 포함됩니다. JSON에는 다음 요소가 포함될 수 있습니다.

대본

Name Description
id 줄 ID입니다.
text 자체 대본입니다.
언어 대본 언어입니다. 각 줄마다 다른 언어가 사용될 수 있는 대본을 지원하기 위한 요소입니다.
인스턴스 이 줄이 나타나는 시간 범위 목록입니다. 인스턴스가 대본인 경우 인스턴스는 하나만 있습니다.

예제:

"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

Name Description
id OCR 줄 ID입니다.
text 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"
        }
      ]
    }
  ],

얼굴

이름 Description
id 얼굴 ID입니다.
name 얼굴 이름입니다. 'Unknown #0', 식별된 유명인 또는 고객 교육을 받은 사용자일 수 있습니다.
신뢰도 얼굴 인식 신뢰도입니다.
description 유명인에 대한 설명입니다.
thumbnailId 얼굴 썸네일의 ID입니다.
knownPersonId 내부 ID입니다(알려진 사용자인 경우).
referenceId Bing ID입니다(Bing 유명인인 경우).
referenceType 현재는 그냥 Bing입니다.
title 직함입니다(유명인인 경우)(예: "Microsoft CEO").
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"
	}]
}]

Name Description
id 샷 ID입니다.
keyFrames 샷 내의 키 프레임 목록(각각 ID와 인스턴스 시간 범위 목록이 있음)입니다. 키 프레임 인스턴스에는 keyFrame의 썸네일 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"
        }
      ]
    }
  ]

통계

Name Description
CorrespondenceCount 동영상의 해당 항목 수입니다.
WordCount 화자별 단어 수입니다.
SpeakerNumberOfFragments 비디오에서 화자가 있는 조각의 양입니다.
SpeakerLongestMonolog 화자의 가장 긴 단독 발언입니다. 단독 발언 내에 화자의 침묵이 있으면 포함됩니다. 단독 발언의 시작과 끝 부분에 있는 침묵은 제거됩니다.
SpeakerTalkToListenRatio 화자의 단독 발언에 소요된 시간(그 사이 침묵 제외)을 비디오의 총 시간으로 나눈 값을 기반으로 계산됩니다. 시간은 소수점 이하 세 자리에서 반올림됩니다.

레이블

Name Description
id 레이블 ID입니다.
name 레이블 이름(예: '컴퓨터', '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"
        }
      ]
    }
  ]

키워드

Name Description
id 키워드 ID입니다.
text 키워드 텍스트입니다.
신뢰도 키워드의 인식 신뢰도입니다.
언어 키워드 언어(번역된 경우)입니다.
인스턴스 키워드가 표시되는 시간 범위 목록(키워드가 여러 번 나타날 수 있음)입니다.
"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 블록에는 Video Indexer에서 잠재적 성인 콘텐츠가 있는 것으로 확인된 시간 범위가 포함됩니다. visualContentModeration이 비어 있는 경우에는 식별된 성인 콘텐츠가 없는 것입니다.

성인 또는 외설 콘텐츠가 포함된 것으로 확인된 비디오는 프라이빗 보기만 가능합니다. 사용자는 콘텐츠를 사람이 검토하도록 요청을 제출할 수 있으며 이 경우 IsAdult 특성에 사람이 검토한 결과가 포함됩니다.

이름 Description
id 시각 콘텐츠 조정 ID입니다.
adultScore 성인 점수(Content Moderator 기반)입니다.
racyScore 외설 점수(Content Moderator 기반)입니다.
인스턴스 이 시각 콘텐츠 조정이 나타난 시간 범위 목록입니다.
"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"
    }
    ]
}
]

도움말 및 지원 보기

다음 방법 중 하나로 Media Services에 질문하거나 업데이트를 따를 수 있습니다.