2 votos

¿Cómo combinar el video de un archivo WMV más el audio de dos archivos de video MP4 en un tercer archivo MP4 y conservar el estéreo en el MP4 resultante?

Actualmente estoy usando este comando FFmpeg para crear un vídeo MP4 de vídeo WMV, a ser un componente de un mosaico de archivo de varios MP4; la duración de este vídeo es de unos 30 segundos:

ffmpeg -i TFootpFA.wmv -vf "crop=1092:788, eq=1.2:.03:gamma_g=.8:gamma_b=.7, scale=1020x706" -b:v 3M TFootpFA.mp4

Quiero ajustar tomar el audio de los otros dos archivos de vídeo (que ambos han mono o izquierda/derecha de audio estéreo), y el uso de los audio como el audio para el final MP4 archivo de la siguiente manera; llamar a estos archivos audioL.mp4 y audioR.mp4):

  • Me gustaría crear un MP4 con audio estéreo.
  • El audio de audioL.mp4 será el canal izquierdo.
  • El audio de audioR.mp4 será el canal derecho.
  • Cada canal debe tener su audio combinado/mezclada en un canal si se que el audio es estéreo.

La duración de los tres archivos es el mismo (dentro de un par de frames), pero quiero que el objetivo de la duración estrictamente de las principales archivo WMV ya estoy utilizando, TFootpFA.wmv.

¿Qué parámetros se pueden utilizar para lograr esto?


EDIT: Después de que originalmente la publicación de esta pregunta, he encontrado este otro Super Usuario pregunta que parece estar haciendo la misma cosa, y que llega a este comando "Tratando de codificar varios archivos de audio y asignarlos a los canales específicos con FFmpeg":

 ffmpeg -i video.mov -i audio1.wav -i audio2.wav -filter_complex
 "[1:a][2:a]amerge=inputs=2,pan=stereo|c0<c0+c1|c1<c2+c3,apad[aout]"
-map 0:v -map "[aout]" -shortest output.mp3

Mientras este comando tiene su salida como un archivo MP3 en lugar de un archivo de vídeo, es posible el uso de estas opciones de configuración para el comando FFmpeg ya tengo?


EDIT: por lo que vale, he descubierto que la línea de comandos me fue originalmente mediante toma de audio estéreo en la fuente de archivo WMV, y produce de audio mono en la resultante de archivo MP4. Probé varios filtros para hacer que el archivo MP4 conservar el audio estéreo de la original WMV archivo, pero nada he intentado trabajado. Cómo podría yo lograr esto?


EDIT: he probado el método de Gyan ha publicado en su respuesta:

ffmpeg -i TFootpFA.wmv -i audioL.mp4 -i audioR.mp4 -filter_complex "[0]crop=1092:788, eq=1.2:.03:gamma_g=.8:gamma_b=.7, scale=1020x706[v];[1]aformat=channel_layouts=mono[l];[2]aformat=channel_layouts=mono[r];[l][r]amerge=2,apad[a]" -map "[v]" -map "[a]" -b:v 3M -shortest TFootpFA.mp4

Por desgracia, el resultado fue FFmpeg se quedó atascado en frame=1 sin cesar, mientras que su "tiempo" ajuste acumulado por más de 3 horas en cuestión de minutos de la ejecución, hasta que finalizó. El archivo final fue de funcionar, aunque de hecho el informe de una longitud de más de 3 horas.

Como sucede, pegado en frame=1 es el mismo como lo que me pasó antes, cuando traté de usar un archivo WMV en un -filter_complex de la operación, como se describe en la pregunta que le hice hace más de un año aquí en el Video de Intercambio de la Pila.

En ese momento, me instalé en una solución donde me convierte los archivos de WMV a MP4 archivos antes de usarlos para crear un vídeo de la "mosaico" con -filter_complex. Que es, en realidad, lo que mi original de la línea de comandos para esta pregunta fue un ejemplo de.

Después de este fracaso actual con un archivo WMV, traté de Gyan del método con un archivo MP4 en su lugar.

Ahora, he mencionado aquí que todos mis archivos tienen la misma duración; clips cortos que son alrededor de 30 segundos. Gyan del comando con un archivo MP4 hizo evitar quedarse atascado en frame=1, pero después de su tiempo llegó a alrededor de 30 segundos, en lugar de terminar, se quedó atascado en frame=900 y, a continuación, rápidamente acumuló su propio tiempo prolongado valor (indicando más de una hora antes de que yo finalizado). El archivo resultante jugado durante unos 30 segundos, y luego volvió a colgar. Esto es lo más lejos que conseguí con esto.

En el ínterin, busqué por los alrededores de estrategias alternativas. Yo no encuentro nada de lo que en realidad trabajaba para mí, pero he intentado algo me concebido a partir de pistas que lo recogió en el camino.

Me caí en el más prolongado enfoque de extraer el audio de mi dos de audio de archivos de vídeo de origen (ambos de los cuales resultó ser de audio mono, me enteré) en archivos MP3 y, a continuación, la combinación de estos MP3 de los archivos de datos de audio en estéreo de un archivo MP3 con este comando:

ffmpeg -i audioL.mp3 -i audioR.mp3 -filter_complex "join=map=0.0-FL|1.0-FR" TwoSound.mp3

Funcionó bien hasta que llegó alrededor de las 21 segundos cabo de 30 segundos y, a continuación, FFmpeg se estrelló.

Sin embargo, el archivo resultante fue de al menos un funcional estéreo MP3 archivo de 21 segundos de duración de algo que funcionaba.

Entonces me decidí a volver y re-crear TFootpFA.wmv con este nuevo archivo como su pista de audio, el uso de Windows Live Movie Maker, donde yo había creado el archivo WMV en el primer lugar.

Como el sonido mismo se acaba de efectos de sonido de una forma muy generalizada de la naturaleza, he aplicado la nueva 21-segundo archivo de audio al vídeo producido, y luego agregó 9 segundos de una segunda versión del archivo de audio, para hacer los 30 segundos del video sea necesario. Esto funcionaba bien, y ahora tenía mi archivo TFootpFA.wmv ya que incorpora mi deseada de audio estéreo (o una aproximación satisfactoria de los mismos), y se fue a llevar a cabo mi original de la línea de comandos para obtener TFootpFA.mp4 con el deseado de audio estéreo.

Pero ahí es donde me golpeé la última pega: Con mi comando original, el resultado MP4 tenía el audio reducido a mono! Al parecer, mi conversión a MP4 método ha siempre tenido ese resultado; nunca me acabo de comprobar en que antes.

Así entonces fui y probado varios FFmpeg filtros para intentar asegurar que el resultado de MP4 archivo conserva el estéreo de la naturaleza de los WMV fuente, pero nada ha funcionado: el archivo MP4 siempre sale mono.

Así que termino con la pregunta:

¿Alguien sabe cómo me puede inducir a FFmpeg para tener el acabado de archivo MP4 conservar el audio estéreo de los WMV fuente?

2voto

Mulvya Puntos 156

Utilizar

ffmpeg -i TFootpFA.wmv -i audioL.mp4 -i audioR.mp4 -filter_complex "[0]crop=1092:788, eq=1.2:.03:gamma_g=.8:gamma_b=.7, scale=1020x706[v];[1]aformat=channel_layouts=mono[l];[2]aformat=channel_layouts=mono[r];[l][r]amerge=2,apad[a]" -map "[v]" -map "[a]" -b:v 3M -shortest TFootpFA.mp4

(Como sus entradas de audio pueden ser mono, la respuesta vinculada no es confiable, ya que asume entradas estéreo)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: