Windows usa ffmpeg para convertir MP4 a m3u8 usando parámetros detallados, agregando marca de agua y compresión al video

Tabla de contenido

fondo:

1. ¿Qué es m3u8:

2. Por qué usar m3u8:

3. Instale ffmpeg:

1. Descomprima directamente después de la descarga:

2. Configure las variables de entorno:

4. Comience a convertir m3u8:

5. Agregue marca de agua y compresión al video:

1. Agregue una imagen de marca de agua al video

2. El tamaño del video de salida.

3. El archivo inicial del archivo de salida.

4. El tamaño mínimo y máximo del archivo de salida (afectará la calidad del video)


fondo:

        Recientemente, la empresa compró cursos en el extranjero para promocionar a colegios y universidades; por lo tanto, es necesario desarrollar una plataforma bajo demanda, pero frente a grupos de clientes complejos, es necesario resolver los problemas de examen físico del usuario y anti- leeching; por lo tanto, elegimos m3u8.

1. ¿Qué es m3u8:

        El formato de video M3U8 también es un tipo de M3U, pero su formato de codificación es el formato UTF-8. M3U está codificado con el conjunto de caracteres Latin-1. El formato M3U8 se caracteriza por una información de directorio o archivo.

2. Por qué usar m3u8:

        Con la demanda cada vez más fuerte de los clientes para jugar en el terminal móvil, nuestro software de transcodificación comenzó a generar archivos en formato mp4. Después de las pruebas, descubrimos que la tasa de compresión del excelente software comprimido mp4 y flv es casi la misma, por lo que unificamos la salida. formato como mp4 Los archivos mp4 procesados ​​por nuestro software pueden realizar la reproducción de arrastrar y soltar sin almacenamiento en búfer (reproducción de avance rápido), y también resuelven el problema de algunos archivos de video con sonido pero sin imagen, lo que ha ganado elogios de los clientes.

        Con el aumento de clientes, las desventajas de la reproducción de archivos mp4 son cada vez más prominentes, principalmente en dos aspectos: primero, cuando la duración del video es relativamente larga, los elementos de fotogramas clave de mp4 suelen ser muy grandes y lleva mucho tiempo. tiempo para cargar para comenzar a jugar.Si la velocidad de la red no es buena, tomará más de 20 segundos para cargar y cargar, y el cliente ya está impaciente. En segundo lugar, cuando el usuario abre un video para reproducirlo, el navegador continuará solicitando la descarga del archivo mp4 hasta que se complete la descarga. Incluso si el usuario detiene la reproducción del video, el navegador continuará con la descarga. Si el archivo de video tiene 500M , solicitará al servidor que descargue un archivo de 500M, si es 1G, descargará 1G continuamente, lo que provocará una gran cantidad de desperdicio y presión en el disco duro y la banda ancha del servidor.

        Entonces, nos referimos a los archivos de reproducción de sistemas de sitios web de videos grandes como Youku Tudou, y encontramos que sus archivos de video se reproducen en segmentos, es decir, un archivo de video grande se divide en N segmentos de acuerdo con un cierto tamaño o duración. Ventaja La velocidad de carga para abrir el video es rápida y se puede reproducir en segundos. Otra ventaja es que cuando el video reproduce el segmento N, el navegador descargará el segmento N + 1 y el segmento N + 2 no se descargará. descargado, lo que alivia en gran medida la presión sobre el disco duro del servidor y la banda ancha, pero sepa que el alto costo de la banda ancha es la mayor presión sobre los sitios de video. Este método de procesamiento de archivos de video ha sido bien recibido por una gran cantidad de clientes.

        Pero pronto descubrimos un problema muy serio. El video de la lista de segmentos xml también es indefenso en IOS. Para reproducir el video en el dispositivo IOS, el archivo mp4 debe reservarse para que el dispositivo IOS lo reproduzca. Así que la lista de reproducción m3u8 entró en escena.

        m3u8 es un nuevo formato de reproducción desarrollado por Apple. Este formato de reproducción es compatible con los principales navegadores de Windows, Android y dispositivos ios actualmente en el mercado. El mismo archivo de video se puede reproducir en el entorno flash y también se puede reproducir en html5 entorno sin flash Play, sus ventajas no se limitan a esto, puede realizar el cambio automático de varias velocidades de bits bajo diferentes velocidades de red, cambiar automáticamente videos de alta definición cuando la velocidad de la red es buena y reproducir automáticamente archivos de baja definición cuando la velocidad de la red es lenta y también puede realizar el cifrado de transmisión (el archivo de video en sí está encriptado), la descarga y reproducción segmentada, la reproducción de arrastrar y soltar en cualquier momento, la inserción aleatoria de anuncios de archivos de video, etc., por lo que la última versión de el sistema de video de transcodificación en la nube solo usa m3u8 como el único formato de reproducción y renuncia a otra salida de formato.

3. Instale ffmpeg:

Primero descargue el archivo ffmpeg disponible para windows (hablaré de otros capítulos en el entorno Linux)

La URL es: https://github.com/BtbN/FFmpeg-Builds/releases

1. Descomprima directamente después de la descarga:

Una vez completada la descarga, descomprima el paquete comprimido.Después de la finalización, el archivo ffmpeg.exe en el directorio bin se usará cuando el programa se inicie más tarde.

2. Configure las variables de entorno:

Agregue la ruta de bin en la carpeta ffmpeg a la ruta de la variable del sistema de Windows

Una vez completada la configuración, verifique si la configuración es exitosa

Ingrese ffmpeg -version en CMD, si aparece la siguiente información, la configuración es exitosa

4. Comience a convertir m3u8:

Preparar archivo Mp4

abrir cmd

Ejecute el siguiente comando en CMD según la ubicación del archivo

ffmpeg -i E:\demo\demo.MP4 -perfil:v línea base -nivel 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls E:\demo\demo.m3u8

Si aparece el siguiente mensaje, la conversión se realizó correctamente

Echemos un vistazo a la conversión de archivos en la carpeta m3u8

El archivo incluye un archivo m3u8 y varios archivos ts

Abrimos el archivo m3u8

Se encuentra que la ruta de otros archivos de video en realidad se especifica en el archivo

Cuando necesitamos acceder al video actual, solo necesitamos apuntar la dirección directamente a la dirección del archivo m3u8 actual


5. Agregue marca de agua y compresión al video:

ffmpeg -i E:\videos\video.mp4 -i E:\videos\logo.png -filter_complex superposición -perfil:v línea base -nivel 3.0 -s 1024x1080 -start_number 0 -hls_time 0.5 -b:v 125k -bufsize 150k - hls_list_size 0 -f hls E:\videos\video\video.m3u8

1. Agregue una imagen de marca de agua al video

-i E:\videos\logo.png Agregar una imagen de marca de agua al video -la posición de superposición filter_complex se encuentra en la esquina superior izquierda del video

Arriba a la izquierda: -filter_complex overlay
Abajo a la izquierda: -filter_complex overlay=0:Hh

Esquina superior derecha: -filter_complex overlay=Ww

Abajo a la derecha: -filter_complex overlay=Ww:Hh

2. El tamaño del video de salida.

-s 1024x1080

3. El archivo inicial del archivo de salida.

-start_number 0

4. El tamaño mínimo y máximo del archivo de salida (afectará la calidad del video)

-b:v 125k -tamaño buf 150k

Enlace de referencia: Resumen de los comandos comunes de FFmpeg_ffmpeg -i input.ts

Enlace de referencia: https://www.jianshu.com/p/e3f6c3705033
Enlace de referencia: https://www.jianshu.com/p/36475d6f4558
 


Si este artículo es útil para usted, estoy muy feliz de poder ayudarle.

Por supuesto, si sientes que hay algo en el artículo que te hace sentir irrazonable, o hay una forma más fácil de implementarlo, o hay algo que no puedes entender, espero que puedas señalarlo en los comentarios. después de leerlo, y lo leeré lo antes posible, le responderé.

Supongo que te gusta

Origin blog.csdn.net/chenthe1/article/details/131008271
Recomendado
Clasificación