Quiero fusionar un archivo de audio (formato .wav o .au) con un archivo de video (formato .mp4).
Por favor, sugiérame cómo lograr esto. Quiero fusionar estos archivos con el nuevo archivo de video .mp4. Un comando ffmpeg sería muy bienvenido.
Quiero fusionar un archivo de audio (formato .wav o .au) con un archivo de video (formato .mp4).
Por favor, sugiérame cómo lograr esto. Quiero fusionar estos archivos con el nuevo archivo de video .mp4. Un comando ffmpeg sería muy bienvenido.
Respuestas:
Vea este ejemplo, tomado de esta entrada de blog pero actualizado para una sintaxis más nueva. Debería ser algo para el efecto de:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4
Aquí, suponemos que el archivo de video todavía no contiene ninguna transmisión de audio y que desea tener el mismo formato de salida (aquí, MP4) que el formato de entrada.
El comando anterior transcodifica el audio, ya que los MP4 no pueden transportar transmisiones de audio PCM. Puede usar cualquier otro códec de audio deseado si lo desea. Consulte la Guía de codificación AAC para obtener más información.
Si su transmisión de audio o video es más larga, puede agregar la -shortest
opción para que ffmpeg deje de codificar una vez que finalice un archivo.
Si su contenedor de salida puede manejar (casi) cualquier códec, como MKV, simplemente puede copiar las transmisiones de audio y video:
ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv
Si su video de entrada ya contiene audio y desea reemplazarlo, debe decirle a ffmpeg qué secuencia de audio tomar:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental \
-map 0:v:0 -map 1:a:0 output.mp4
La map
opción hace que ffmpeg solo use la primera transmisión de video desde la primera entrada y la primera transmisión de audio desde la segunda entrada para el archivo de salida.
ffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
Como no tengo permiso para escribir comentarios a la primera respuesta con mi reputación, un apéndice aquí, porque tuve este problema al codificar webms.
Si su transmisión de audio es, por ejemplo, más larga que la transmisión de video , debe cortarla o, de lo contrario, tendrá el último fotograma de video como imagen fija y audio en ejecución.
Para cortar cualquiera de las secuencias, puede usar -ss [hh: mm: ss] -t [ss] antes de cada uno de los -i "file.ext".
-ss [...] definirá el punto de partida para cortar
-t [...] definirá la longitud del segmento en segundos
Ejemplo:
ffmpeg.exe -ss 00:00:10 -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4
-shortest
para cortar el final.
-Abra el símbolo del sistema (windows + r -> cmd-> enter)
-entonces vaya al interior de la carpeta donde tiene el archivo de audio y video
aplica este cmd
ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4
Ingrese .... obtendrá un nuevo archivo llamado outPutFime.mp4 (un archivo combinado de audio y video)
-shortest
etiqueta es muy ingeniosa. Mucho más simple que en la respuesta de @ user136036.
Esto funcionó para mí:
ffmpeg.exe -i AudioT.m4a -i VideoT.mp4 -acodec copy -vcodec copy muxed.mp4
Intente usar mencoder (Sí, está basado en ffmpeg, pero nunca se sabe). Yo uso el -audiofile
argumento. Sin embargo, generalmente uso ffmpeg, así que toma este consejo con una pizca de sal.
Y, si usa Windows, Mediacoder (lamentablemente ya no es de código abierto) funciona ... es básicamente una interfaz para muchos codificadores GNU y algunos no libres.