FFMPEG: Crear un video en un 2x3

Publicado en 'Aplicaciones' por AiApaec, 2 May 2018.





  1. AiApaec

    AiApaec Miembro frecuente

    Registro:
    1 May 2014
    Mensajes:
    92
    Likes:
    28
    Temas:
    6




    Hoy tuve la necesidad de crear un video muy simple, con una imagen de fondo y con audion (una canción). En realidad lo más importante para mi era que mi video aceptara como entrada un archivo FLAC y mantuviera la calidad de audio durante la codificación del video.
    Instalé Movie Maker pero solo aceptaba formatos con pérdida como MP3, etc. En fin, así que opté por hacerlo como en GNU/Linux, por comando y con FFMPEG.
    FFMPEG es un software con una vasta cantidad de librerías para trabajar con video y audio. Lo primero que hay que hacer es descargar el Build:
    Descargar para Windows

    Descomprimirlo en algun lado, entrar a la subcarpeta bin, que es donde se encuentra el ejecutable ffmpeg.exe.
    Por comodidad (para no tener que estar escribiendo rutas de archivos muy largas) copiamos nuestros archivos para el video junto al ejecutable. Dichos archivos serían la imagen y el audio:
    1- Imagen.jpg (redimensionado a 1080x720 pixeles, esto es importante)
    2- audio.flac (archivo de audio en formato FLAC, aunque puede ser otro formato también)

    Entrar a donde se encuentran los archivos con el ejecutable mediante la ventana de comandos (es fácil, solo escriban cmd en la barra de direccion, donde sale la ruta, y Enter).
    [​IMG]

    Luego escriben o copian y pegan el siguiente comando:
    Código:
    ffmpeg -loop 1 -i Imagen.jpg -i audio.flac -c:v libx264 -crf 0 -tune stillimage -c:a aac -pix_fmt yuv420p -shortest video.mp4
    [​IMG]
    Donde:
    Imagen.jpg es la imagen que quedará de fondo
    audio.flac es el audio que quedará como audio del video
    video.mp4 es el video resultante
    -crf 0 es el parametro que indica la calidad del audio, 0 es la mejor calidad, 23 calidad media y 53 lo peor.

    Esperan a que termine de codificar el video.
    [​IMG]
    Cuando haya terminado devolverá el prompt:
    [​IMG]


    o los otros videos del mismo canal.

    El post da la impresión de que hay que hacer muchas cosas pero en un minuto se hace esto o quizás menos. Solo hay que copiar y pegar. Luego también se puede usar un script para hacer un monton de videos mientras uno hace otra cosa.
     
    Última edición: 3 May 2018
    A franja1980, Muleiro y vanBasten les gustó este mensaje.


  2. Muleiro

    Muleiro Miembro de plata

    Registro:
    3 Jul 2012
    Mensajes:
    3,141
    Likes:
    827
    Temas:
    119
    ¿por que no usaste una gui, pesa mucho, come muchos recursos?
     
  3. AiApaec

    AiApaec Miembro frecuente

    Registro:
    1 May 2014
    Mensajes:
    92
    Likes:
    28
    Temas:
    6
    Particularmente me resultó más práctico que una app con gui:
    Pesa poquísimo el .zip, no necesita instalación, no tengo que saber manejar el gui, me despreocupo por el tipo de archivo de audio que soporta o no soporta el programa...como mencioné intenté con un gui pero se me complicó.
     
    A Marlop le gustó este mensaje.
  4. daricardo

    daricardo Miembro de plata

    Registro:
    17 Set 2011
    Mensajes:
    3,923
    Likes:
    1,095
    Temas:
    82
    a ver :cafe:
     
  5. AiApaec

    AiApaec Miembro frecuente

    Registro:
    1 May 2014
    Mensajes:
    92
    Likes:
    28
    Temas:
    6
    dale, nos avisas cómo te fue :yeah:
     
  6. franja1980

    franja1980 Miembro de bronce

    Registro:
    13 Ene 2010
    Mensajes:
    1,008
    Likes:
    310
    Temas:
    4
    Si mantienes presionado la tecla SHIFT [ ] mientras haces clic derecho sobre el vídeo en cualquier carpeta, hallaras la opción "copiar como ruta".
    [​IMG]
     
    A AiApaec le gustó este mensaje.
  7. AiApaec

    AiApaec Miembro frecuente

    Registro:
    1 May 2014
    Mensajes:
    92
    Likes:
    28
    Temas:
    6
    Me falto especificar el bit rate del audio, en el comando anterior se usa el por defecto, el cual para el caso del encoder usado es 128k, pero se puede subir o bajar, el parámetro es:
    -b:a XX
    Donde XX puede ser 128k, 192k, 384k, etc. Por ejemplo:

    Código:
    ffmpeg -loop 1 -i Imagen.jpg -i audio.flac -c:v libx264 -crf 0 -tune stillimage -c:a aac -b:a 512k -pix_fmt yuv420p -shortest video.mp4
    
    En este caso estoy usando 512k porque el archivo de audio tiene un bitrate mayor, si fuera menor, por ejemplo en el caso de un .mp3, no tendría caso aumentar el bitrate.

    Otra forma de hacer un video a partir de una imagen (jpg, gif, etc) es copiando el audio, sin recodificarlo como en el caso anterior, de esta forma el audio mantiene su calidad, sin embargo, dependiendo del formato del audio y del video contenedor, es posible que youtube no pueda procesarlo.
    Esta forma es más sencilla:
    Código:
    ffmpeg -i Imagen.jpg -i audio.m4a -c:v copy -c:a copy video.mp4
    
     
  8. chillinfart

    chillinfart Miembro de oro

    Registro:
    23 Ene 2011
    Mensajes:
    7,590
    Likes:
    2,840
    Temas:
    434
    Hay un front end para FFmpeg en Windows llamado Avanti. Está algo desfasado, pero puede ahorrar parte del tiempo usando los comandos.

    http://www.avanti.arrozcru.org

    También había uno llamado SUPER, pero se volvió de pago. A cambio tiene muchos, muchos controles.
     
  9. Marlop

    Marlop Miembro de plata

    Registro:
    23 Jul 2007
    Mensajes:
    2,802
    Likes:
    386
    Temas:
    241
    los comandos son mas sencillo y directo pienso yo que en una gui