Puedo convertir un mp4 a un mp3 en ffmpeg, pero no estoy seguro de cómo agregaría una miniatura del video.
Actualmente tengo esto para convertir de mp4 a mp3
ffmpeg -i video.mp4 -acodec libmp3lame -metadata title=video -b:a 256 -f input.mp3
¿Tendría que ejecutar eso a través de ffmpeg nuevamente con este comando?
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
¿O hay alguna forma de usar filtros complejos para lograr esto?
Sé que esto funciona para FLV pero no parece funcionar para mp4
ffmpeg -i video.flv -i cover.jpg -map 0:a -map 1 -c:v copy -metadata title=video -b:a 256k out.mp3
Respuestas:
Mejor respuesta , con explicación, incorporando sugerencias inteligentes de slhck y Mulvya, desprovistas de parámetros no esenciales.
ffmpeg
Herramienta de manipulación de audio / video: ya seleccionada por el OP, es particularmente adecuada para este trabajo.-i video.mp4
primer archivo de entrada: un video con algo de audio que queremos extraer.-i cover.jpg
segundo archivo de entrada, una imagen que queremos mostrar cuando reproducimos el archivo de audio resultante.-acodec libmp3lame
queremos crear un archivo .mp3, usando el codificador LAME.-b:a 256k
Esto establece la velocidad de bits para la pista de audio a 256Kb / s constantes. Una opción más inteligente sería codificar con una tasa de bits variable, especificando el parámetro de calidad :-q:a 0
pide la calidad máxima, mientras que a-q:a 4
menudo representa un buen compromiso entre la calidad de audio percibida y la tasa de bits (y, por lo tanto, el tamaño del archivo).-c:v copy
esto indica que la transmisión de video (la imagen .jpg) no debe volver a codificarse, sino que debe copiarse tal como está. Esto es útil para evitar el procesamiento innecesario y la posible pérdida de calidad al volver a codificar a un formato con pérdida. En nuestro caso, sin este parámetro, la imagen se decodificaría de .jpg y se codificaría a .png, que aparentemente es el formato nativo que se elige por defecto. Esto no representaría una pérdida de calidad, ya que .png es de pérdida, pero la mayoría de las veces hará que el tamaño del archivo aumente, debido a que .jpg (con pérdida) generalmente ofrece una mejor tasa de compresión.-map 0:a:0
esto selecciona la secuencia que se utilizará desde el primer0:
archivo de entrada ( ): tiene que ser la primera secuencia de:0
audio (a
) que contiene.-map 1:v:0
esto selecciona la primera transmisión de:0
video (v
) del segundo1:
archivo de entrada ( ).output.mp3
El nombre de este parámetro se eligió astutamente para sugerir que este debe ser el nombre que se le dará al archivo de audio de salida (.mp3) con la imagen incorporada que queremos crear.Respuesta original
Esto crea un archivo de audio (.mp3) con una imagen estática al juntar un video (.mp4) y una imagen (.jpg) de mi boda:
Consulte la documentación de ffmpeg sobre la selección de flujos de entrada con
-map
, que es la opción relevante aquí.Primero ejecuté el comando simplemente
-map 0 -map 1
y obtuve esta información:Por lo tanto, sabía que quería transmisión
1
(audio aac) del archivo que tiene un número de índice0
, es decir, el archivo de video; por lo tanto, tuvo que seleccionarse explícitamente con-map 0:1 -map 1
.fuente
Stream map '0:1' matches no streams. To ignore this, add a trailing '?' to the map.
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Stream #1:0 -> #0:1 (mjpeg (native) -> png (native))
-map 0:a:0 -map 1:v:0
seleccionar las primeras transmisiones de audio y video del primer y segundo archivo, respectivamente.-c:v copy
.puedes usar vlc media player -
Paso 1: Abra el VLC y seleccione "Medios". Haga clic en convertir / guardar.
Paso 2: En la siguiente ventana que aparece, seleccione "agregar" y elija el archivo de video (MP4) para convertir.
Paso 3: A continuación, haga clic en la flecha hacia abajo en "Convertir / Guardar" y luego haga clic en "Convertir".
Paso 4: en la siguiente ventana que aparece, asegúrese de que esté seleccionado el botón "Convertir". Proceda a elegir el tipo de archivo de audio que desea crear. En nuestro caso, estamos convirtiendo su archivo MP3.
Paso 5: Elija un destino de salida, y luego presione "Inicio". El VLC comenzará la conversión.
para agregar una miniatura, puede consultar este enlace (explicado muy bien).
fuente