Входные метаданные
Предупреждение
Поддержка Служб мультимедиа 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
}
]
}
Справка и поддержка
Вы можете обратиться к Службам мультимедиа с вопросами или следить за нашими обновлениями одним из следующих способов:
- ВОПРОСЫ И ОТВЕТЫ
-
Stack Overflow. Пометьте вопросы с помощью
azure-media-services
. - @MSFTAzureMedia или используйте @AzureSupport для запроса на поддержку.
- Отправьте запрос в службу поддержки через портал Azure.