www.rdiaz.es

Página personal y blog de Roberto Díaz Ortega
RSS icon Email icon Home icon
  • Edición de video desde script (II)

    Posted on 7 August 2009

    Después de la última entrada sobre Avisynth he tenido que hace de nuevo la instalación y puesta en marcha del sistema desde cero en Ubuntu en el portatil :D . La verdad me cambié desde opensuse más que nada porque era hora de renovarse un poco (después de dos años sin problemas :D ). Aprovechando que tuve que instalar todo desde cero aproveché para documentar el proceso y de ahí salió esta pequeña guía de instalación de avisynth en Ubuntu a través de Wine.

    1) Instalación de wine: Debido a que avisynth funciona bajo windows es necesaria la instalación de wine en ubuntu de cara a disponer de soporte windows bajo linux. Para instalar wine ejecutar en la consola el siguiente comando:

    sudo apt-get install wine

    2) Instalación de Avisynth: una vez instalado wine se puede proceder a instalar avisynth, para ello ejecutar:

    wine ./Avisynth_258.exe


    3) Instalación del plugin de NICAUDIO en avisynth:
    Para ello copiar el fichero NicAudio.dll a la carpeta de instalación de avisynth. La ruta de la carpeta de instalación de avisynth se encuentra dentro de:

    /home/nombre_usuario/.wine/drive_c/Archivos de programa/AviSynth 2.5/plugins

    4) Instalación de los codec DirectShow: Para proceder a la instalación de los codec DirectShow en el sistema windows emulado, escribir en la consola:

    wine ./ffdshow-20051103.exe
    wine ./MatroskaSplitter.exe

    5) Configuración de los codecs DirectShow: para ello ejecutar en la consola el siguiente comando

    wine “C:\windows\system32\rundll32.exe” ff_vfw.dll,configureVFW

    En la ventana de configuración del driver en la pestaña decoder y dentro de la opción codecs habilitar todos los codec que aparecen deshabilitados.

    6) instalación de ffmpeg: Copiar el contenido de la carpeta ffmpeg al siguiente directorio (creando la carpeta en el directorio de destino):

    /home/nombre_usuario/.wine/drive_c/ffmpeg/

    Realmente ffmpeg no es necesario instalarlo, pero en mi caso simplifica el proceso de creación de videos, ya que la versión windows de ffmpeg proporciona soporte para avisynth y en consecuencia directamente se puede introducir un fichero avs de avisynth a ffmpeg y obtener un video avi a su salida.

    Un tema importante a la hora de trabajar con este sistema es el hecho de tener que jugar simultaneamente con rutas a ficheros tipo linux y tipo windows a la vez, aquí pongo un ejemplo de esto último. En este caso por medio del wine ejecuto ffmpeg.exe que se encuentra dentro de la carpeta del wine (hasta aquí direccionado linux) pero una vez se ejecuta ffmpeg.exe éste reconoce direcciones windows, por lo que la ruta de los ficheros de video de entrada y salida están en formato windows.

    /home/nombre_usuario/.win/drive_c/ffmpeg/ffmpeg.exe -i z:\\opt\\lampp\htdocs\\avisynth\\video.avs -vcodec mpeg2video -b 174286000 -bt 8000000 -y z:\\opt\\lampp\htdocs\\avisynth\\video.avi

  • Edición de video desde Script :P

    Posted on 28 July 2009

    Hace ya aproximadamente un més que empecé a utilizar Avisynth para una aplicación que tenía que hacer. Para los que no lo conozcan, Avisynth es un FrameWork para edición de video no lineal basado en scripts. La idea es generar un script que implementa la edición del video y luego pasar ese script a reproductores de video como por ejemplo VirtualDub.

    Aunque suena algo raro, sinceramente es muy fácil hacer la edición del video, por ejemplo realizar la mezcla de dos videos con efecto de disolución es tan sencillo como:

    video_union=Dissolve(video1,video2,12)

    En mi caso, la aplicación que tuve que realizar tenía que ver con la creación automática de gran cantidad de vídeos a partir de un contenido bien definido. Inicialmente comencé a desarrollar la aplicación en windows y conseguí llevar a cabo la creación del video sin ningún tipo de problema. El problema apareció a la hora de poner en producción el sistema (Avisynth corre bajo Windows y a pesar de existir una primera versión para Linux no es estable del todo y su instalación es una pesadilla).

    Después de darle vueltas encontré la solución al problema. Por medio de Wine instalé Avisynth en Ubuntu aunque no conseguí tener soporte para DirectShow (Lo que me permitía cargar archivos Mp4 y Mp3). Para solucionar este último problema  por medio de ffmpeg antes de ejecutar el script principal convierto el archivo mp4 a avi (Evitando usar así DirectShow) y para el archivo mp3 en vez de utilizar el DirectShowSource he empleado un plugin de avisynth que permite la carga directa de ficheros mp3 (NicAudio.dll).

    Como ejemplo aquí dejo un video de lo que se puede hacer con avisynth

    YouTube Preview Image