Tengo 1 imagen (jpg) y 1 archivo de audio (MP3) y me gustaría publicar esto como un archivo de video (por ejemplo, AVI).
¿Alguien sabe cómo usar FFMPEG para unir los dos? Me gustaría mostrar la imagen mientras dura el audio.
¿Alguna idea de alguien?
video
audio
ffmpeg
concatenation
usuario41559
fuente
fuente
Respuestas:
Si está en Windows, también puede hacerlo en Windows Movie Maker ... si necesita instrucciones, deje un comentario
Para FFmpeg use esto
vframes 14490 es el número de fotogramas que se deben colocar en bucle para tener una imagen continua para todo el archivo audio.mp3
Ej: durante 8 minutos y 3 segundos ((8m x 60s + 3s) x 30fps = 14490 vf)
Recurso desde aquí
fuente
Hay una manera mucho más simple que las sugeridas aquí, que no requiere calcular la cantidad de fotogramas o ingresar la longitud de los archivos individuales (especialmente mejor para el procesamiento por lotes). Con una versión reciente de ffmpeg, puede usar la
-shortest
opción, que detiene la codificación cuando finaliza la secuencia más corta, en este caso, input.mp3 (dado que la imagen se repetirá para siempre, tiene una longitud infinita):Esto usa 2 cuadros por segundo para la imagen / video, lo cual debería estar bien, pero puede configurarlo en un 25 más estándar si lo desea.
fuente
Subanki casi lo hizo bien. La línea de comando de trabajo es la siguiente;
sobrescribir archivos de salida sin preguntar
La opción '-loop_input' está en desuso uso -loop 1. Consulte la documentación de ffmpeg .
archivo (s) de entrada
Los cuadros por segundo
también se pueden expresar como: -r 30000/1001 dando un fps de 29.97nnn
bitrate de vídeo; cuanto mayor sea el número, mejor será la calidad y mayor será el tamaño del archivo.
Como se explicó anteriormente; tome el tiempo total de su archivo de audio en segundos (por ejemplo, 00:02:41 (2 minutos 41 segundos) es igual a 161 segundos totales (2 x 60) + 41). Luego, multiplique el total de segundos por los cuadros por segundo que especificó con -r (por ejemplo, 161 x 30 = 4830).
-vframes se pueden reemplazar con -t 161 (-t registro de duración o transcodificar "duración" segundos de audio / video)
Use el códec de audio correcto para el tipo de archivo que está creando. Para .mp4 debería ser un formato AAC. El códec libvo_aacenc fue el códec de codificación correcto para mi sistema Windows 7.
velocidad de bits de audio
Este es el nombre del archivo de salida. Puede ser cualquier nombre de archivo legal para su sistema. La extensión ayudará a ffmpeg a determinar el códec de video adecuado si no especifica uno usando -vcodec.
fuente
Ese simple script bash / cygwin que codificará AUTOMÁGICAMENTE todos los archivos de la extensión $ AUDIO en el directorio al archivo de video mp4 10FPS en el directorio con la imagen de la carpeta.jpg incrustada,
útil para cargas de youtube;)
fuente
Descarga VirtualDub , luego haz esto:
Abra la imagen como si abriera un archivo de video normal.
Calcule la duración del audio en segundos y redondee al segundo entero más cercano (por ejemplo, 78.34 segundos se convierten en 79 segundos). Este valor se llama x de ahora en adelante.
Vaya a "video> velocidad de cuadros", seleccione "cambiar a velocidad de cuadros (fps)" e ingrese "1 / x" como valor. Además, si desea tener una velocidad de fotogramas normal en el archivo resultante como 25 fps, seleccione "Convertir a fps" e ingrese la velocidad de fotogramas deseada allí.
Seleccione "video> compresión" y elija su sabor favorito. Puede ser que necesite ajustar el tamaño de la imagen con el filtro de cambio de tamaño.
Vaya a "audio> audio de otro archivo" y seleccione su audio allí. Si es necesario, seleccione una compresión para el audio.
Guarda el archivo.
Fuente: stephanV
fuente