Este tema describe cómo transcodificar videos mediante la operación de API de transcodificación de medios en Intelligent Media Management (IMM).
Descripción de la función
La transcodificación de video convierte un flujo de video comprimido y codificado en otro flujo de video. Este proceso modifica parámetros como el formato de video, el formato del contenedor, la resolución, la velocidad de fotogramas y la tasa de bits para adaptar la reproducción a distintos dispositivos y plataformas. También reduce el tamaño del archivo para optimizar la eficiencia de transmisión.

Casos de uso
Compatibilidad con múltiples dispositivos: Para garantizar una reproducción fluida en diferentes dispositivos, como celulares, tabletas, computadoras y televisores inteligentes, utilice la transcodificación de video para convertir los archivos a formatos específicos de cada dispositivo.
Reproducción de medios en streaming: Los servicios de medios en streaming necesitan transcodificar los videos a varios formatos y tasas de bits. Esto permite realizar ajustes dinámicos según las condiciones de red del usuario y mejorar la experiencia de visualización.
Compresión de video: Transcodifique un video para reducir su tamaño sin afectar significativamente la calidad. Esta práctica facilita un almacenamiento y una transmisión eficientes, sobre todo cuando el ancho de banda de la red es limitado.
Formatos de audio y video compatibles
|
Categoría |
Formato |
|
Audio |
Todos los formatos principales, como AAC, MP3, WAV, FLAC, WMA, AC3 y OPUS. |
|
Video |
Todos los formatos principales, como MP4, MPEG-TS, MKV, MOV, AVI, FLV, M3U8, WebM, WMV, RM y VOB. |
Modo de uso
Requisitos previos
Cree un AccessKey. Para obtener más información, consulte Create an AccessKey.
Active Object Storage Service (OSS) y cree un bucket. Para obtener más información, consulte Create a bucket.
Active Intelligent Media Management (IMM). Para obtener más información, consulte Activate IMM.
-
Cree un proyecto en la consola de IMM. Para obtener más información, consulte Create a project.
NotaTambién puede llamar a una operación de API para crear un proyecto. Para obtener más información, consulte Create a project.
Llame a la operación ListProjects para listar todos los proyectos creados en una región específica.
Paso 1: Cargar un archivo
Utilice la consola de OSS para cargar un archivo multimedia en un bucket que se encuentre en la misma región que su proyecto de IMM.

Paso 2: Usar IMM para transcodificar un video
Llame a la operación CreateMediaConvertTask para crear una tarea de transcodificación de medios.
Descripción de parámetros
A continuación se presentan ejemplos que utilizan el proyecto de IMM test-project para transcodificar el archivo de video oss://test-bucket/video-demo/Shushan Commercial Building.mov.
Para obtener más información sobre las funciones y el uso de ApsaraVideo Media Processing, consulte Media transcoding.
Procese el archivo de video llamando a la operación de API de transcodificación de medios en el OpenAPI Portal y consultando el código de ejemplo del kit de desarrollo de software (SDK).
Para lograr la mejor compatibilidad de reproducción, transcodifique el video a MP4 o HTTP Live Streaming (HLS). Establezca el Codec de video en h264, PixelFormat en yuv420p, el Codec de audio en aac y Channel en 2.
El proceso de transcodificación degrada inevitablemente la calidad del video. Ajuste la calidad del video transcodificado mediante los parámetros Bitrate y CRF. Por lo general, una mayor calidad genera un archivo de mayor tamaño.
H.265 ofrece una eficiencia de compresión superior a H.264. Con la misma calidad de video, H.265 suele reducir el espacio de almacenamiento y los costos de ancho de banda en más de un 30%. Sin embargo, H.265 requiere un reproductor compatible.
Si no configura el parámetro Codec, el valor predeterminado es copy. Este valor indica que el flujo de video se copia directamente al archivo de salida, por lo que los demás parámetros dentro de TranscodeVideo dejan de ser válidos. El valor copy no se utiliza para transcodificar video; está diseñado principalmente para la conversión de formatos de contenedor.
Utilice variables para establecer la ruta del archivo de salida en el URI de Targets. Para obtener más información, consulte TargetURI template.
Transcodificar a MP4
Convierta un video al formato MP4 sin modificar parámetros como la resolución ni la velocidad de fotogramas.

Información de transcodificación
Formato de video: de MOV a MP4.
Configuración de video: establezca CRF en 24. Conserve la resolución original, la velocidad de fotogramas y los demás parámetros de video.
Configuración de audio: formato AAC, tasa de bits de 96 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Ruta del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building.mp4Notificación de finalización de transcodificación: envíe un mensaje de MNS al tema de MNS "test-mns-topic".
Para consultar un SDK de ejemplo, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 96000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "mp4",
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mp4",
"Video": {
"TranscodeVideo": {
"CRF": 24,
"Codec": "h264",
"PixelFormat": "yuv420p"
}
}
}
]
}
Transcodificar a un video HLS con resolución de 1920x1080 a 30 fps
Transcodifique un video a H.265 con una resolución de 1920x1080 a 30 fotogramas por segundo (fps). Utilice el formato HLS para segmentar el video. Si el video de origen tiene una resolución o velocidad de fotogramas menor, se conservarán los parámetros originales.

Información de transcodificación
Formato de video: de MOV a M3U8.
Segmentación: formato HLS, duración de segmento de 10 s.
Configuración de video: formato de codificación H.265, CRF establecido en 24, resolución de 1920x1080 y velocidad de 30 fotogramas.
Configuración de audio: formato AAC, tasa de bits de 128 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Rutas del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building.m3u8,oss://test-bucket/video-demo/Shushan Commercial Building-%d.tsNotificación de finalización de transcodificación: envíe un mensaje de MNS al tema de MNS "test-mns-topic".
Para consultar un SDK de ejemplo, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 128000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "ts",
"Segment": {
"Duration": 10,
"Format": "hls"
},
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}",
"Video": {
"TranscodeVideo": {
"AdaptiveResolutionDirection": true,
"CRF": 24,
"Codec": "h265",
"FrameRate": 30,
"FrameRateOption": "adaptive",
"PixelFormat": "yuv420p",
"Resolution": "1920x1080",
"ResolutionOption": "adaptive",
"ScaleType": "fit"
}
}
}
]
}
Transcodificar a videos HLS con resoluciones de 1080p, 720p y 480p
Transcodifique un video en tres archivos independientes con resoluciones de 1080p, 720p y 480p. La segmentación se realiza mediante el formato HLS.

Información de transcodificación
Antes de la transcodificación
Formato de video: MOV.
Formato de codificación de video: H.264.
Resolución: 3840x2160.
Velocidad de fotogramas: 30.
Después de la transcodificación
Notificación de finalización de transcodificación: envíe un mensaje de MNS al tema de MNS "test-mns-topic".
Video 1
Formato de video: M3U8.
Segmentación: formato HLS, duración de segmento de 10 s.
Configuración de video: formato de codificación H.264, CRF establecido en 25, resolución de 1920x1080 y velocidad de 30 fotogramas.
Configuración de audio: formato AAC, tasa de bits de 256 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Rutas del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building-x1080.m3u8,oss://test-bucket/video-demo/Shushan Commercial Building-x1080-%d.ts
Video 2
Formato de video: M3U8.
Segmentación: formato HLS, duración de segmento de 10 s.
Configuración de video: formato de codificación H.264, CRF establecido en 26, resolución de 1280x720 y velocidad de 30 fotogramas.
Configuración de audio: formato AAC, tasa de bits de 128 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Rutas del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building-x720.m3u8,oss://test-bucket/video-demo/Shushan Commercial Building-x720-%d.ts
Video 3
Formato de video: M3U8.
Segmentación: formato HLS, duración de segmento de 10 s.
Configuración de video: formato de codificación H.264, CRF establecido en 28, resolución de 854x480 y velocidad de 25 fotogramas.
Configuración de audio: formato AAC, tasa de bits de 96 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Rutas del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building-x480.m3u8,oss://test-bucket/video-demo/Shushan Commercial Building-x480-%d.ts
Para consultar un SDK de ejemplo, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 256000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "ts",
"Segment": {
"Duration": 10,
"Format": "hls"
},
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building-{resolution}.{autoext}",
"Video": {
"TranscodeVideo": {
"AdaptiveResolutionDirection": true,
"CRF": 25,
"Codec": "h264",
"FrameRate": 30,
"FrameRateOption": "adaptive",
"PixelFormat": "yuv420p",
"Resolution": "x1080",
"ResolutionOption": "adaptive",
"ScaleType": "fit"
}
}
},
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 128000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "ts",
"Segment": {
"Duration": 10,
"Format": "hls"
},
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building-{resolution}.{autoext}",
"Video": {
"TranscodeVideo": {
"AdaptiveResolutionDirection": true,
"CRF": 26,
"Codec": "h264",
"FrameRate": 30,
"FrameRateOption": "adaptive",
"PixelFormat": "yuv420p",
"Resolution": "x720",
"ResolutionOption": "adaptive",
"ScaleType": "fit"
}
}
},
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 96000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "ts",
"Segment": {
"Duration": 10,
"Format": "hls"
},
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building-{resolution}.{autoext}",
"Video": {
"TranscodeVideo": {
"AdaptiveResolutionDirection": true,
"CRF": 28,
"Codec": "h264",
"FrameRate": 25,
"FrameRateOption": "adaptive",
"PixelFormat": "yuv420p",
"Resolution": "x480",
"ResolutionOption": "adaptive",
"ScaleType": "fit"
}
}
}
]
}
Transcodificar a MP4 y agregar marcas de agua
Transcodifique un video al formato MP4. Agregue una marca de agua con logotipo en la esquina superior izquierda y otra de texto en la esquina inferior derecha.

Información de transcodificación
Formato de video: de MOV a MP4.
Configuración de video: el video se codifica en formato H.264 con el CRF establecido en 25. Se conservan la resolución y la velocidad de fotogramas originales. Se agrega una marca de agua de imagen con el logotipo de Alibaba Cloud en la esquina superior izquierda y una marca de agua de texto "Intelligent Media Management" en la esquina inferior derecha.
Configuración de audio: el audio se codifica en formato AAC con una tasa de bits de 256 kbit/s, dos canales de sonido y una frecuencia de muestreo de 44.1 kHz.
Ruta del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building.mp4Notificación de finalización de transcodificación: se envía un mensaje de MNS al tema de MNS "test-mns-topic".
Para consultar un ejemplo de código, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 256000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "mp4",
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}",
"Video": {
"FilterVideo": {
"Delogos": [],
"Watermarks": [
{
"Dx": 0.05,
"Dy": 0.1,
"ReferPos": "topleft",
"Type": "file",
"URI": "oss://test-bucket/video-demo/aliyun.png",
"Width": 0.1
},
{
"Content": "Intelligent Media Management",
"Dx": 0.05,
"Dy": 0.1,
"FontColor": "#FFFFFF",
"FontSize": 100,
"ReferPos": "bottomright",
"Type": "text"
}
]
},
"TranscodeVideo": {
"CRF": 25,
"Codec": "h264",
"PixelFormat": "yuv420p"
}
}
}
]
}
Recortar un segmento de video y transcodificarlo a formato FLV
Recorte un segmento del video de origen, transcodifíquelo al formato FLV y ajuste la tasa de bits a 1 Mbps.

Información de transcodificación
Formato de video: de MOV a FLV.
Tiempo de inicio del recorte: 5 s.
Duración del recorte: 10 s.
Configuración de video: tasa de bits de 1 Mbps. Se conservan la resolución original, la velocidad de fotogramas y los demás parámetros de video.
Configuración de audio: formato AAC, tasa de bits de 96 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Ruta del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building.flvNotificación de finalización de transcodificación: se envía un mensaje de MNS al tema de MNS "test-mns-topic".
Para consultar un ejemplo de llamada, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"Duration": 10,
"StartTime": 5,
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 96000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "flv",
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}",
"Video": {
"TranscodeVideo": {
"Bitrate": 1000000,
"Codec": "h264",
"PixelFormat": "yuv420p"
}
}
}
]
}
Convertir el formato de contenedor de un video a MP4
Convierta el formato de contenedor de un video a MP4. La conversión de formato de contenedor no vuelve a codificar los datos de audio ni de video, pero podría generar problemas de compatibilidad durante la reproducción.
Información de transcodificación
Formato de video: de MOV a MP4.
Ruta del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building.mp4Notificación de finalización de transcodificación: envía un mensaje de MNS al tema de MNS "test-mns-topic".
Para consultar un ejemplo de llamada a la API, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
}
],
"Targets": [
{
"Container": "mp4",
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}"
}
]
}
Aplicar mosaico a las áreas de marcas de agua en un video
Aplique un efecto de mosaico sobre el área de la marca de agua con logotipo en la esquina superior izquierda y sobre el área de la marca de agua de texto en la esquina inferior derecha de un video.

Información de transcodificación
Ruta del video de entrada:
oss://test-bucket/video-demo/Shushan Commercial Building.mp4Configuración de video: formato de codificación H.264 con el CRF establecido en 24. Se conservan la resolución y la velocidad de fotogramas originales. Se aplica un mosaico al área del logotipo en la esquina superior izquierda y al área de la marca de agua de texto en la esquina inferior derecha.
Configuración de audio: formato AAC, tasa de bits de 96 kbit/s, dos canales de sonido y frecuencia de muestreo de 44.1 kHz.
Ruta del video de salida:
oss://test-bucket/video-demo/Shushan Commercial Building-mosaic.mp4Notificación de finalización de transcodificación: se envía un mensaje de MNS al tema de MNS "test-mns-topic".
Para consultar un ejemplo de código, visite el OpenAPI Portal. Los parámetros del ejemplo se completan automáticamente. Modifíquelos según sus necesidades antes de probar el código.
Parámetros de solicitud
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mp4"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 96000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "mp4",
"URI": "oss://test-bucket/video-demo/Shushan Commercial Building-mosaic.{autoext}",
"Video": {
"FilterVideo": {
"Delogos": [
{
"Dx": 0.05,
"Dy": 0.1,
"Height": 0.1,
"ReferPos": "topleft",
"Width": 0.1
},
{
"Dx": 0.05,
"Dy": 0.1,
"Height": 100,
"ReferPos": "bottomright",
"Width": 600
}
]
},
"TranscodeVideo": {
"CRF": 24,
"Codec": "h264",
"PixelFormat": "yuv420p"
}
}
}
]
}