Поделиться через


Входные метаданные

Логотип Служб мультимедиа версии 3


Предупреждение

Поддержка Служб мультимедиа Azure будет прекращена 30 июня 2024 г. Дополнительные сведения см. в руководстве по прекращению поддержки AMS.

Задание кодирования связано с входным ресурсом-контейнером (или ресурсами-контейнерами), в котором нужно выполнить эти задачи. После выполнения задачи создается выходной ресурс-контейнер. Выходной ресурс может содержать видео- и аудиофайлы, эскизы, манифест и т. д.

Выходной актив также содержит файл с метаданными входного актива. Имя JSON-файла метаданных содержит случайный идентификатор, не используйте его для идентификации входного ресурса, к которому принадлежит выходной ресурс. Чтобы определить входной ресурс, к которому он принадлежит, используйте поле Uri (дополнительные сведения см. в разделе Другие дочерние элементы).

Службы мультимедиа не проверяют входные ресурсы заблаговременно для создания метаданных. Входные метаданные создаются только в качестве артефактов, когда входные ресурсы обрабатывается в задании. Поэтому этот артефакт записывается в выходной ресурс. Для создания метаданных входных и выходных ресурсов используются разные инструменты. Таким образом, схемы входных и выходных метаданных немного отличаются.

В этой статье рассматриваются элементы и типы JSON-схемы, на основе которой создаются входные метаданные (<ид_ресурса>_metadata.json). Сведения о файле, который содержит метаданные выходного ресурса, см. в статье Выходные метаданные.

В конце этой статьи вы найдете пример схемы JSON.

Примечание

Все время указывается в формате ISO-8601. Подробнее о форматировании длительности см. в разделе Время и Длительность в той же статье.

AssetFile

Содержит коллекцию элементов AssetFile для задания кодирования.

Примечание

Следующие четыре дочерних элемента должны появляться последовательно.

Имя Описание
VideoTracks Каждый физический файл ресурса может содержать ноль или более видеодорожек, чередуемых в соответствующем формате ресурса. Дополнительные сведения см. в разделе VideoTracks.
AudioTracks Каждый физический файл ресурса-контейнера может содержать ноль или более звуковых дорожек, чередуемых в соответствующем формате ресурса-контейнера. Дополнительные сведения см. в разделе AudioTracks.
Метаданные Метаданные файла ресурса-контейнера, представленные в виде строки "ключ —значение".
Например: <Metadata key="language" value="eng" />

Другие дочерние элементы

Имя Описание
имя;
Обязательно
Имя файла ресурса-контейнера.

Например, "Name": "Ignite-short.mp4".
URI
Обязательно
URL-адрес, который определяет расположение входного ресурса. Для идентификации входного ресурса, к которому принадлежит выходной ресурс, используйте поле Uri, а не идентификатор.
Размер
Обязательно
Размер файла ресурса-контейнера в байтах.

Например, "Size": 75739259.
Длительность
Обязательно
Длительность воспроизведения содержимого.

Например, "Duration": "PT1M10.304S".
NumberOfStreams
Обязательно
Количество потоков в файле ресурса-контейнера.

Например, "NumberOfStreams": 2.
FormatNames
Обязательно
Имена форматов.

Например, "FormatNames": "mov,mp4,m4a,3gp,3g2,mj2".
FormatVerboseName
Обязательно
Подробные имена форматов.

Например, "FormatVerboseName": "QuickTime / MOV".
StartTime Время начала содержимого.

Например, "StartTime": "PT0S".
OverallBitRate Средняя скорость для файла ресурса в битах в секунду.

Например, "OverallBitRate": 8618539.

VideoTracks

Имя Описание
FourCC
Обязательно
Код видеокодека FourCC, полученный от ffmpeg.

Например, "FourCC": "avc1" | "hev1" | "hvc1".
Профиль Профиль видеодорожки.

Например, "Profile": "Main".
Уровень Уровень видеодорожки.

Например, "Level": "3.2".
PixelFormat Формат пикселей видеодорожки.

Например, "PixelFormat": "yuv420p".
Width
Обязательно
Ширина закодированного видео в пикселях.

Например, "Width": "1280".
Height
Обязательно
Высота закодированного видео в пикселях.

Например, "Height": "720".
DisplayAspectRatioNumerator
Обязательно
Числитель пропорции отображения видео.

Например, "DisplayAspectRatioNumerator": 16.0.
DisplayAspectRatioDenominator
Обязательно
Знаменатель пропорции отображения видео.

Например, "DisplayAspectRatioDenominator": 9.0.
SampleAspectRatioNumerator Числитель пропорции выборки видео.

Например, "SampleAspectRatioNumerator": 1.0.
SampleAspectRatioDenominator Например, "SampleAspectRatioDenominator": 1.0.
FrameRate
Обязательно
Измеренная частота видеокадров в формате 3F.

Например, "FrameRate": 29.970.
Bitrate Средняя скорость аудиопотока в битах в секунду, вычисленная на основе файла ресурса. Подсчитываются только полезные данные элементарного потока, издержки на упаковку не включаются.

Например, "Bitrate": 8421583.
HasBFrames Количество видеодорожек с кадрами B.

Например, "HasBFrames": 2.
Метаданные Общие строки "ключ —значение", которые можно использовать для хранения различных сведений.
Полный пример приводится в конце статьи.
Id
Обязательно
Отсчитываемый от нуля индекс аудио- или видеодорожки.

Этот идентификатор не обязательно представляет собой TrackID, используемый в файле MP4.

Например, "Id": 2.
Codec Строка кодека видеодорожки.

Например, "Codec": "h264 | hev1".
CodecLongName Полное имя кодека звуковой или видеодорожки.

Например, "CodecLongName": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10".
Codec Строка кодека видеодорожки.

Например, "Codec": "h264 | hev1".
TimeBase
Обязательно
Базовый счетчик времени.

Например, "TimeBase": "1/30000".
NumberOfFrames Количество кадров (для видеодорожек).

Например, "NumberOfFrames": 2107.
StartTime Время начала дорожки.

Например, "StartTime": "PT0.033S".
Длительность Продолжительность дорожки.

Например, "Duration": "PT1M10.304S".

AudioTracks

Имя Описание
SampleFormat Формат выборки.

Например, "SampleFormat": "fltp".
ChannelLayout Структура канала.

Например, "ChannelLayout": "stereo".
Каналы
Обязательно
Количество (0 или более) аудиоканалов.

Например, "Channels": 2.
SamplingRate
Обязательно
Частота аудиовыборки: выборок/с или Гц.

Например, "SamplingRate": 48000.
Bitrate Средняя скорость аудиопотока в битах в секунду, вычисленная на основе файла ресурса-контейнера. Подсчитываются только полезные данные элементарного потока, издержки на упаковку не включаются.

Например, "Bitrate": 192080.
Метаданные Общие строки "ключ —значение", которые можно использовать для хранения различных сведений.
Полный пример приводится в конце статьи.
Id
Обязательно
Отсчитываемый от нуля индекс аудио- или видеодорожки.

MP4-файл не обязательно должен содержать идентификатор дорожки.

Например, "Id": 1.
Codec Строка кодека видеодорожки.

Например, "Codec": "aac".
CodecLongName Полное имя кодека звуковой или видеодорожки.

Например, "CodecLongName": "AAC (Advanced Audio Coding)".
TimeBase
Обязательно
Базовый счетчик времени.

Например, "TimeBase": "1/48000".
NumberOfFrames Количество кадров (для видеодорожек).

Например, "NumberOfFrames": 3294.
StartTime Время начала дорожки.

Например, "StartTime": "PT0S".
Длительность Продолжительность дорожки.

Например, "Duration": "PT1M10.272S".

Метаданные

Имя Описание
key
Обязательно
Ключ из пары ключ/значение.
value
Обязательно
Значение из пары ключ/значение.

Пример схемы

{
  "AssetFile": [
    {
      "VideoTracks": [
        {
          "FourCC": "avc1",
          "Profile": "Main",
          "Level": "3.2",
          "PixelFormat": "yuv420p",
          "Width": "1280",
          "Height": "720",
          "DisplayAspectRatioNumerator": 16.0,
          "DisplayAspectRatioDenominator": 9.0,
          "SampleAspectRatioNumerator": 1.0,
          "SampleAspectRatioNumeratorSpecified": true,
          "SampleAspectRatioDenominator": 1.0,
          "SampleAspectRatioDenominatorSpecified": true,
          "FrameRate": 29.970,
          "Bitrate": 8421583,
          "BitrateSpecified": true,
          "HasBFrames": 2,
          "HasBFramesSpecified": true,
          "Disposition": {
            "Default": 1
          },
          "Metadata": [
            {
              "key": "creation_time",
              "value": "2018-02-21T21:42:08.000000Z"
            },
            {
              "key": "language",
              "value": "eng"
            },
            {
              "key": "handler_name",
              "value": "Video Media Handler"
            },
            {
              "key": "encoder",
              "value": "AVC Coding"
            }
          ],
          "Id": 2,
          "Codec": "h264",
          "CodecLongName": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
          "TimeBase": "1/30000",
          "NumberOfFrames": 2107,
          "NumberOfFramesSpecified": true,
          "StartTime": "PT0.033S",
          "Duration": "PT1M10.304S"
        }
      ],
      "AudioTracks": [
        {
          "SampleFormat": "fltp",
          "ChannelLayout": "stereo",
          "Channels": 2,
          "SamplingRate": 48000,
          "Bitrate": 192080,
          "BitrateSpecified": true,
          "BitsPerSampleSpecified": true,
          "Disposition": {
            "Default": 1
          },
          "Metadata": [
            {
              "key": "creation_time",
              "value": "2018-02-21T21:42:08.000000Z"
            },
            {
              "key": "language",
              "value": "eng"
            },
            {
              "key": "handler_name",
              "value": "Sound Media Handler"
            }
          ],
          "Id": 1,
          "Codec": "aac",
          "CodecLongName": "AAC (Advanced Audio Coding)",
          "TimeBase": "1/48000",
          "NumberOfFrames": 3294,
          "NumberOfFramesSpecified": true,
          "StartTime": "PT0S",
          "Duration": "PT1M10.272S"
        }
      ],
      "Metadata": [
        {
          "key": "major_brand",
          "value": "mp42"
        },
        {
          "key": "minor_version",
          "value": "19529854"
        },
        {
          "key": "compatible_brands",
          "value": "mp42isom"
        },
        {
          "key": "creation_time",
          "value": "2018-02-21T21:42:08.000000Z"
        }
      ],
      "Name": "Ignite-short.mp4",
      "Uri": "https://amsstorageacct.blob.core.windows.net/asset-00000000-0000-0000-000000000000/ignite.mp4",
      "Size": 75739259,
      "Duration": "PT1M10.304S",
      "NumberOfStreams": 2,
      "FormatNames": "mov,mp4,m4a,3gp,3g2,mj2",
      "FormatVerboseName": "QuickTime / MOV",
      "StartTime": "PT0S",
      "OverallBitRate": 8618539,
      "OverallBitRateSpecified": true
    }
  ]
}

Справка и поддержка

Вы можете обратиться к Службам мультимедиа с вопросами или следить за нашими обновлениями одним из следующих способов: