Metadatos de salida
Advertencia
Azure Media Services se retirará el 30 de junio de 2024. Para obtener más información, consulte la Guía de retirada de AMS.
Un trabajo de codificación está asociado a un recurso (o recursos) de entrada donde desea realizar algunas tareas de codificación. Por ejemplo, codificar un archivo MP4 en conjuntos MP4 de velocidad de bits adaptable H.264; crear una miniatura; crear superposiciones. Tras la finalización de una tarea, se produce un recurso de salida. El recurso de salida contiene vídeo, audio, miniaturas y otros archivos. El recurso de salida también contiene un archivo con metadatos sobre el recurso de salida. El nombre del archivo JSON de metadatos tiene el siguiente formato: <source_file_name>_manifest.json
(por ejemplo, BigBuckBunny_manifest.json
). Deberá buscar cualquier archivo *_metadata.json y consultar la cadena de ruta de acceso que contiene para encontrar el nombre de archivo de origen (sin truncamiento).
Media Services no realiza un examen preventivo de los recursos de entrada para generar metadatos. Los metadatos de entrada se generan únicamente como artefactos cuando un recurso de entrada se procesa en un trabajo. Por tanto, estos artefactos se escriben en el recurso de salida. Para generar metadatos de los recursos de entrada y salida, se utilizan diferentes herramientas. Por tanto, los metadatos de entrada tienen un esquema ligeramente diferente al de los metadatos de salida.
En este artículo se describen los elementos y los tipos del esquema JSON en los que se basan los metadatos de salida (<nombre_de_archivo_de_origen>_manifest.json).
Longitud de caracteres BaseName al usar los valores preestablecidos copyVideo o CopyAudio
La macro de nomenclatura de archivos {baseName} usada en la nomenclatura del archivo de metadatos de salida se reduce a 32 caracteres cuando se usa cualquier valor preestablecido de codificación estándar o preestablecido personalizado. Sin embargo, para evitar un conflicto de nomenclatura cuando se usa una de las operaciones copyCodec (CopyAudio o CopyVideo) en un valor preestablecido personalizado, {Basename} se limita a 64 caracteres. Esto es para admitir escenarios en los que los clientes desean archivar todos los archivos de salida en su recurso. Si el nombre de archivo es muy largo, los primeros 32 caracteres podrían ser los mismos en varios archivos de salida. En este caso, los primeros 32 caracteres generarían archivos de salida duplicados al usar CopyVideo o CopyAudio. Como resultado, el comportamiento de {Basename} es conservar 64 caracteres si se usa CopyCodec en el valor preestablecido.
Puede encontrar el código del esquema completo y un ejemplo de JSON al final de este artículo.
AssetFile
Colección de entradas AssetFile para el trabajo de codificación.
Nombre | Descripción |
---|---|
Sources | Colección de archivos multimedia de entrada/origen, que se procesa para producir este AssetFile. Ejemplo: "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}] |
VideoTracks | Cada AssetFile físico puede contener cero o más pistas de vídeo intercaladas en un formato de contenedor adecuado. Consulte VideoTracks. |
AudioTracks | Cada AssetFile físico puede contener cero o más pistas de audio intercaladas en un formato de contenedor adecuado. Se trata de la colección de todas esas pistas de audio. Para más información, consulte AudioTracks. |
Nombre Obligatorio |
Nombre del archivo de recursos multimedia. Ejemplo: "Name": "Ignite-short_1280x720_AACAudio_3551.mp4" |
Tamaño Obligatorio |
Tamaño del archivo de recursos en bytes. Ejemplo: "Size": 32414631 |
Duration Obligatorio |
Duración de la reproducción del contenido. Para obtener más información, vea el formato ISO8601. Ejemplo: "Duration": "PT1M10.315S" |
VideoTracks
Cada AssetFile físico puede contener cero o más pistas de vídeo intercaladas en un formato de contenedor adecuado. El elemento VideoTracks representa una colección de todas las pistas de vídeo.
Nombre | Descripción |
---|---|
Id Obligatorio |
Índice de base cero de esta pista de vídeo. Nota: este identificador no es necesariamente el objeto TrackID que se usa en un archivo MP4. Ejemplo: "Id": 1 |
FourCC Obligatorio |
Código FourCC del códec de vídeo que ffmpeg notifica. Ejemplo: "FourCC": "avc1" | "hev1" | "hvc1" |
Perfil | Perfil H264 (solo aplicable al códec H264) Ejemplo: "Profile": "High" |
Level | Nivel de H264 (solo es aplicable al códec H264). Ejemplo: "Level": "3.2" |
Width Obligatorio |
Ancho del vídeo codificado en píxeles. Ejemplo: "Width": "1280" |
Height Obligatorio |
Alto del vídeo codificado en píxeles. Ejemplo: "Height": "720" |
DisplayAspectRatioNumerator Obligatorio |
Numerador de la relación de aspecto de pantalla de vídeo. Ejemplo: "DisplayAspectRatioNumerator": 16.0 |
DisplayAspectRatioDenominator Obligatorio |
Denominador de la relación de aspecto de pantalla de vídeo. Ejemplo: "DisplayAspectRatioDenominator": 9.0 |
Framerate Obligatorio |
Velocidad de fotogramas de vídeo medida en formato .3f. Ejemplo: "Framerate": 29.970 |
Bitrate Obligatorio |
Velocidad de bits de vídeo media en bits por segundo, según los cálculos de AssetFile. Solo cuenta la carga de transmisión básica y no incluye la sobrecarga de empaquetado. Ejemplo: "Bitrate": 3551567 |
TargetBitrate Obligatorio |
Velocidad de bits media de destino para esta pista de vídeo, tal como se ha solicitado mediante la codificación preestablecida, en bits por segundo. Ejemplo: "TargetBitrate": 3520000 |
AudioTracks
Cada AssetFile físico puede contener cero o más pistas de audio intercaladas en un formato de contenedor adecuado. El elemento AudioTracks representa una colección de todas las pistas de audio.
Nombre | Descripción |
---|---|
Id Obligatorio |
Índice de base cero de esta pista de audio. Nota: este no es necesariamente el objeto TrackID que se usa en un archivo MP4. Ejemplo: "Id": 2 |
Codec | Cadena de códec de pista de audio. Ejemplo: "Codec": "aac" |
Lenguaje | Ejemplo: "Language": "eng" |
Channels Obligatorio |
Número de canales de audio. Ejemplo: "Channels": 2 |
SamplingRate Obligatorio |
Velocidad de muestreo de audio en muestras/s o Hz. Ejemplo: "SamplingRate": 48000 |
Bitrate Obligatorio |
Velocidad de bits de audio media en bits por segundo, según los cálculos de AssetFile. Solo cuenta la carga de transmisión básica y no incluye la sobrecarga de empaquetado. Ejemplo: "Bitrate": 128041 |
Ejemplo de esquema JSON
{
"AssetFile": [
{
"Sources": [
{
"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "3.2",
"Width": "1280",
"Height": "720",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 3551567,
"TargetBitrate": 3520000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_1280x720_AACAudio_3551.mp4",
"Size": 32414631,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_960x540_AACAudio_2216.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "3.1",
"Width": "960",
"Height": "540",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 2216326,
"TargetBitrate": 2210000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_960x540_AACAudio_2216.mp4",
"Size": 20680897,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_640x360_AACAudio_1150.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "3.0",
"Width": "640",
"Height": "360",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 1150440,
"TargetBitrate": 1150000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_640x360_AACAudio_1150.mp4",
"Size": 11313920,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_480x270_AACAudio_722.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "2.1",
"Width": "480",
"Height": "270",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 722682,
"TargetBitrate": 720000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_480x270_AACAudio_722.mp4",
"Size": 7554708,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_320x180_AACAudio_380.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "1.3",
"Width": "320",
"Height": "180",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 380655,
"TargetBitrate": 380000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}`
],
"Name": "Ignite-short_320x180_AACAudio_380.mp4",
"Size": 4548932,
"Duration": "PT1M10.315S"
}
]
}
Obtener ayuda y soporte técnico
Puede ponerse en contacto con Media Services con preguntas o seguir nuestras actualizaciones mediante uno de los métodos siguientes:
- PREGUNTAS Y RESPUESTAS
-
Stack Overflow. Etiquete preguntas con
azure-media-services
. - @MSFTAzureMedia o use @AzureSupport para solicitar soporte técnico.
- Abra una incidencia de soporte técnico a través del Azure Portal.