x2avi un Script para convertir videos a formato AVI

Programacion en Bash

Moderadores: frank, dxfiles

Avatar de Usuario
GhOsT14105
Mensajes: 87
Registrado: Vie, 08 Abr 2011, 11:28
Contactar:

x2avi un Script para convertir videos a formato AVI

Mensaje por GhOsT14105 » Sab, 20 Abr 2013, 15:56

Para convertir un video cualquiera a formato avi bien comprimido para ahorrar bastante espacio y a la vez poderlo ver desde un dispositivo de DVD, que en nuesto pais son muy usados, solo tenemos que tener instalado: mencoder y zenity

Luego introducimos esto como root:
sudo nano /usr/bin/x2avi ; chmod a+x /usr/bin/x2avi

Pegamos el contenido que expongo más abajo y guardamos los cambios.

Código: Seleccionar todo

#!/bin/sh

resolution="`zenity --question --text "Desea Escalar o Transformar su Video" && zenity --multiple --text "Desea Elegir una resolución de vídeo antes de continuar" --separator "" --hide-column 2 --print-column 2 --list --column "nombre de columna" --column "columna oculta" "Cambiar resolución a 700x480" " -vf scale=700:480" "Cambiar resolución a 600x480" " -vf scale=600:480" "Cambiar resolución a 480x840" " -vf scale=480:480" "Cambiar resolución a 352x240" " -vf scale=352:240"`"

case $# in
  1 )
    if [  -e "$1" ]
        then
            echo Convirtiendo el archivo $1 a formato avi.
            echo =========================================================================================================================
            mencoder $resolution -oac mp3lame -lameopts cbr=128 -ovc xvid -of avi -xvidencopts bitrate=1350 -aspect 4:3 -ofps 25 "$1" -o "$1.avi"
            echo =========================================================================================================================
            echo Cambio de formato terminado.
            echo =========================================================================================================================
        else
            echo El archivo $1 no existe.
    fi
    ;;
  2 )
    if [ -e "$1" ] && [ -e "$2" ];
        then
            echo Convirtiendo y subtitulando el archivo $1 a formato avi
            echo =========================================================================================================================
            mencoder $resolution -oac mp3lame -lameopts cbr=128 -ovc xvid -of avi -xvidencopts bitrate=1350 -aspect 4:3 -ofps 25 "$1" -sub "$2" xvidencopts pass=1 -o "$1-sub.avi" -subcp iso-8859-1 -subfont-text-scale 3.0
            echo =========================================================================================================================
            echo Cambio de formato y subtitulado terminado.
            echo =========================================================================================================================
        else
            echo Alguno de los archivos no existe !!!.
    fi
    ;;
esac
Para convertir un video a avi,bastaria con poner:

cd /home/videos/to-converter
x2avi video_a_convertir.mpg

En caso de que se desee convertir un video y agragarle su respertivo subtitulo, bastaria con:

cd /home/videos/to-converter
x2avi video_a_convertir.mpg video_a_convertir.srt

En varios casos se nos pedira que se especifique una de las resoluciones que nuestro video convertido tendra una ves convertido, si se le da cancelar, el sistema asumirá que el video de salida cojera la misma resolución que el video original. Cabe aclarar que no hay que ponerle el nombre del video de salida, ya que este lo cogeria automatico, en este caso (video_a_convertir.avi).

Cuarquier mejora que le quieran agregar seria de gran ayuda, que para eso es el foro.
Nacimos esclavos del software privativo y moriremos libres de el.

Escucha a tu disco duro y ve que tiene que decirte:
sudo cat /dev/sda | aplay -fdat

PD: Sirve para otros dispositivos, como USB, CD, etc.

Avatar de Usuario
BishopWolf
Mensajes: 145
Registrado: Vie, 14 Ene 2011, 11:49
Ubicación: /home/San José de las Lajas

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por BishopWolf » Vie, 03 May 2013, 10:55

Esto debería estar en la wiki, no aquí. Trata de contactar con un admin para que lo suban a la wiki.
--------------------------------------------------------
Ubuntu_14.04_Trusty_Tahr
Linux_3.13_amd64
KDE_4.13

Avatar de Usuario
GhOsT14105
Mensajes: 87
Registrado: Vie, 08 Abr 2011, 11:28
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por GhOsT14105 » Dom, 12 May 2013, 08:16

Como lo he dicho más de una vez, yo mismo autorizo a cualquiera de los admin's a subir a la wiki lo que deseen que este posteado por mi aquí en el foro o en los comentarios de la web, si no lo he hecho yo es por que no me es posible registrarme en el la wiki...

Aquí os dejo otro script más que podria mejorarse por algunos de ustedes, nada vendria siendo como una versión más del anteriol (cuenta con una interfas grafica). Me gustaria si alguien saber como hacer que este una ves terminado de convertir me avise mediante las notificaciones del sistema en la barra de tareas o en una burbuja de texto.

Código: Seleccionar todo

#!/bin/sh
#######################################################################################################
# AUTHOR:	(c) Yasiel Ordońez Abreu. <inf1003@ucf.edu.cu>
# WRITTEN BY:	May 09,2013
# VERSION:	1.0
# LICENSE:	GPL (http://www.gnu.org/licenses/gpl.html)
# NAME:		xvidConverter
# INSTALLATION: Copy to the "~/.gnome2/nautilus-scripts/Multimedia/Converter" directory
# DESCRIPTION:	Convert Movie's and Add subtitle to avi file, for DVD reproductor
#######################################################################################################
# Requirements: zenity (For interface), ffmpeg & mencoder (To Convert Movie's)
# To make sure all this is installed do this at a terminal...
# (Universe Repositories should be enabled first -https://wiki.ubuntu.com/AddingRepositoriesHowto)
# sudo apt-get install zenity ffmpeg mencoder
#######################################################################################################

# Comprobando el software necesario, para correr esta aplicación.
mencoder_bin=`which mencoder | grep -c "mencoder"`

# Chequeando mencoder
if [ $mencoder_bin -eq "0" ]; then
zenity --error --title="Error - Falta Software" \
 --text="Usted no tiene el paquete mencoder instalado.
Por favor, instalarlo para poder utilizar este script. 
Asegúrese de que los repositorios Universe están habilitados y
a continuación, escriba: 'sudo apt-get install mencoder' en un terminal."
exit
fi

# Seleccionando el formato a que deseamos convertir.
title="Seleccione a que formato de video desea convertir $video_in_type"
video_out_type=`zenity  --width="550" --height="250" --title="$title" --list --radiolist --column="" \
	--column="Tipo de Video" --column="Descripción" \
	TRUE "XVID" "Crear un AVI (XVID MPEG-4) para reproductores DVD-Video"\
	$xvid_select \
	$ipod_select \
	$psp_select \
	| sed 's/ max//g' `

# Chequendo si se ha cancelado, la ventana de seleción de lo que se va a convertir.
if [ ! "$video_out_type" ]; then
	zenity zenity --error --title="Error" --text="Ha cancelado la aplicación, por lo que será cerrada	:("
	exit
fi



# XVID Options
if [ "$video_out_type" = "XVID" ]; then
	
resolution="`zenity --width="280" --height="260" --text "Escoja una resolución de vídeo antes de continuar
 en caso de que usted decida no escojer ninguna
  presione el boton CANCELAR y el video de salida
  tendrá la misma resolución que el video original." --separator "" --hide-column 2 --print-column 2 --list --column "Resoluciones" --column "columna oculta" "Cambiar resolución a 720x576" " -vf scale=720:576" "Cambiar resolución a 700x480" " -vf scale=700:480" "Cambiar resolución a 600x480" " -vf scale=600:480" "Cambiar resolución a 480x840" " -vf scale=480:480" "Cambiar resolución a 352x240" " -vf scale=352:240"`"

case $# in
  1 )
    if [  -e "$1" ]
        then
            # Convirtiendo el archivo $1 a formato avi.
            mencoder $resolution -oac mp3lame -lameopts cbr=128 -ovc xvid -of avi -xvidencopts bitrate=1350 -aspect 4:3 -ofps 25 "$1" -o "$1.avi" 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Posición :\\t"$1"\\nCuadros :\\t"$2"\\nPorcentaje :\\t"$3"%\\nRadio de cuadros :\\t"$4"\\nTiempo restante :\\t"$6; fflush();}' | zenity --progress --auto-kill --auto-close --title="Progreso"
            # Cambio de formato terminado.
            zenity --info --text="El vídeo ya se convirtió a avi!	:)"
        else
            # En caso de error
            zenity --info --text="El vídeo $1 no existe en el sistema!	:("
    fi
    ;;
  2 )
    if [ -e "$1" ] && [ -e "$2" ];
        then
            # Convirtiendo y subtitulando el archivo $1 a formato avi
            mencoder $resolution -oac mp3lame -lameopts cbr=128 -ovc xvid -of avi -xvidencopts bitrate=1350 -aspect 4:3 -ofps 25 "$1" -sub "$2" xvidencopts pass=1 -o "$1-sub.avi" -subcp ISO-8859-15 -sub-bg-alpha 255 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Posición :\\t"$1"\\nCuadros :\\t"$2"\\nPorcentaje :\\t"$3"%\\nRadio de cuadros :\\t"$4"\\nTiempo restante :\\t"$6; fflush();}' | zenity --progress --auto-kill --auto-close --title="Progreso"
            # Cambio de formato y subtitulado terminado.
            zenity --info --text="El vídeo ya se convirtió a avi!	:)"
        else
            # En caso de error
            zenity --info --text="Alguno de los archivos especificados no existe en el sistema!	:("
    fi
    ;;
esac

fi
Salu2s
Nacimos esclavos del software privativo y moriremos libres de el.

Escucha a tu disco duro y ve que tiene que decirte:
sudo cat /dev/sda | aplay -fdat

PD: Sirve para otros dispositivos, como USB, CD, etc.

Avatar de Usuario
llamaret
Mensajes: 828
Registrado: Vie, 17 Dic 2010, 14:00
Ubicación: 127.0.0.1
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por llamaret » Dom, 12 May 2013, 11:12

Socio, el detalle es que tratamos de que en cada uno de nuestros servicios esten las cosas que deben estar, el Foro es algo así como YO pregunto porque tengo dudas y n Personas responden a mi inquietud y de paso se socializa el conocimiento.
Si tengo el conocimiento de algo general que tal vez quiera compartir, por ejemplo la metodología de hacer x tarea, pues eso lo llevo a la wiki. Imagínate si llega el momento en que los usuarios no sepan si buscar en el Foro, en el Portal o en la Wiki. Tratamos de organizar nuestros servicios. En otras ocasiones nos has dicho que no tienes correo y por eso no te creas una cuenta en la Wiki, tal vez Hugo te pueda ayudar en eso (no con el correo, sino en crearte una cuenta con permisos de edicion en la Wiki)... Saludos....
if (la_mayoria_de_las_ranas_tienen_pelo == true)
{
msg (”Windows es bueno”)
}

Avatar de Usuario
GhOsT14105
Mensajes: 87
Registrado: Vie, 08 Abr 2011, 11:28
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por GhOsT14105 » Lun, 13 May 2013, 11:00

Exactamente eso es lo que necesito, si alguno de ustedes puede hacerle llegar a Hugo mi problema antes que yo, se los agradeceria, en caso de esto ser posible, mi nombre de usuario deberia de ser este: gHoSt14105

El password me haria llegar el o ustedes despues para yo cambiarlo.
Nacimos esclavos del software privativo y moriremos libres de el.

Escucha a tu disco duro y ve que tiene que decirte:
sudo cat /dev/sda | aplay -fdat

PD: Sirve para otros dispositivos, como USB, CD, etc.

Avatar de Usuario
GhOsT14105
Mensajes: 87
Registrado: Vie, 08 Abr 2011, 11:28
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por GhOsT14105 » Vie, 24 May 2013, 18:02

Bueno amigos, como este es uno de los scripts en los que más me he centrado aquí les va una versión mucho mejor que las anteriores. En esta se ha:

Mejorado el apartado de selección de tamaño del vídeo a convertir (Resolución de Vídeo).
Agregadas las opciones gráficas para seleccionar la Calidad del Vídeo.
Agregadas las opciones gráficas para seleccionar el Bitrate de Audio de nuestros Vídeos.
Agregadas las opciones gráficas para seleccionar el Aspecto del Vídeo.
Organizado parte del código original de la aplicación y borrado partes innecesarias.
El nombre de la aplicación a pasado a llamarse xvidConverter

Código: Seleccionar todo

#!/bin/sh
#######################################################################################################
# AUTOR:		(c) Yasiel Ordońez Abreu. <inf1003@ucf.edu.cu>
# WRITTEN BY:	May 09,2013
# VERSIÓN:		1.1
# LICENCIA:		GPL (http://www.gnu.org/licenses/gpl.html)
# NOMBRE:		xvidConverter
# INSTALACIÓN:	Copiar en el directorio: "~/.gnome2/nautilus-scripts/Multimedia/Converter"
# DESCRIPCIÓN:	Convierte vídeos y añade subtítulos al vídeo avi, para DVD reproductor
#######################################################################################################
# Requisitos: zenity (para la interface gráfica), ffmpeg & mencoder (para convertir los vídeos)
# Para asegurarse de que todo esto se ha instalado, hacer esto en un terminal...
# sudo apt-get install zenity ffmpeg mencoder
# Repositorios Universe deben estar habilitadas primero. https://wiki.ubuntu.com/AddingRepositoriesHowto
#######################################################################################################
# Change log...
# 16/May/2013
# - Mejorado el apartado de selección de tamaño del vídeo a convertir (Resolución de Vídeo).
# - Agregadas las opciones gráficas para seleccionar la Calidad del Vídeo.
# - Agregadas las opciones gráficas para seleccionar el Bitrate de Audio de nuestros Vídeos.
# - Agregadas las opciones gráficas para seleccionar el Aspecto del Vídeo.
# - Organizado parte del código original de la aplicación y borrado partes innecesarias.
# - Corregido ortográfico.
#######################################################################################################

# Comprobando el software necesario, para correr esta aplicación.
mencoder_bin=`which mencoder | grep -c "mencoder"`

# Chequeando mencoder
if [ $mencoder_bin -eq "0" ]; then
zenity --error --title="Error - Falta Software" \
 --text="Usted no tiene el paquete mencoder instalado.
Por favor, instalarlo para poder utilizar este script. 
Asegúrese de que los repositorios Universe están habilitados y
a continuación, escriba: 'sudo apt-get install mencoder' en un terminal."
exit
fi

# Seleccionando el formato a que deseamos convertir.
title="Seleccione a que formato de Vídeo desea convertir $video_in_type"
video_out_type=`zenity  --width="550" --height="150" --title="$title" --list --radiolist --column="" \
	--column="Tipo de Vídeo" --column="Descripción" \
	TRUE "XVID" "Crear un AVI (XVID MPEG-4) para reproductores DVD-Vídeo"\
	| sed 's/ max//g' `
if [ ! "$video_out_type" ]; then # Chequeando si se ha cancelado, la ventana de selección de lo que se va a convertir.
	zenity zenity --error --title="Error" --text="Ha cancelado la aplicación, por lo que será cerrada	:("
	exit
fi

# XVID Options
if [ "$video_out_type" = "XVID" ]; then

# Escogiendo una resolución de Vídeo
xvid_resolution="`zenity --width="280" --height="260" --text "Seleccione una resolución de vídeo
 antes de continuar." --separator "" --hide-column 2 --print-column 2 --list --column "Resoluciones" --column "columna oculta" "PAL  DVD size, 720x576" " -vf scale=720:576" "NTSC DVD size, 720x480" " -vf scale=700:480" "Standard TV size, 640x480" " -vf scale=600:480" "PAL VCD size,352x288" " -vf scale=352:288" "NTSC VCD size, 352x240" " -vf scale=352:240" "NTSC VCD size, 320x240" " -vf scale=320:240"`"
if [ ! "$xvid_resolution" ]; then # Chequeando si se ha cancelado, la ventana de selección de lo que se va a convertir.
	zenity zenity --error --width="450" --title="Error" --text="Ha cancelado la aplicación o no ha especificado una de la resoluciones a escoger, por lo que será cerrada dicha aplicación	, por favor inténtelo nuevamente :("
	exit
fi

title="Seleccione la calidad de su vídeo" # Escogiendo la calidad de nuestro Vídeo
xvid_vid_qu=`zenity  --width="380" --height="250" --title="$title" --list --radiolist --column="" \
--column="Calidad de video" --column="Descripción" \
	TRUE "6" "Insane High Quality"\
	FALSE "5" "Ultra High Quality"\
	FALSE "4" "Extreme High Quality"\
	FALSE "3" "Very High Quality"\
	FALSE "2" "High Quality"\
	FALSE "1" "Normal Quality"\
	| sed 's/ max//g' `
if [ ! "$xvid_vid_qu" ]; then # Chequeando si se ha cancelado, la ventana de selección de lo que se va a convertir.
	zenity zenity --error --title="Error" --text="Ha cancelado la aplicación, por lo que será cerrada	:("
	exit
fi

title="Seleccione la velocidad de bits de vídeo" # Escogiendo el bitrate de audio de nuestro Vídeo
xvid_vid_br=`zenity  --width="380" --height="220" --title="$title" --list --radiolist --column="" \
--column="Bitrate Audio" \
	TRUE "1500" \
	FALSE "1300" \
	FALSE "1200" \
	FALSE "900" \
	| sed 's/ max//g' `
if [ ! "$xvid_vid_br" ]; then # Chequeando si se ha cancelado, la ventana de selección de lo que se va a convertir.
	zenity zenity --error --title="Error" --text="Ha cancelado la aplicación, por lo que será cerrada	:("
	exit
fi

title="Seleccione el aspecto del Vídeo" # Escogiendo el aspecto del Vídeo
xvid_aspect=`zenity  --width="380" --height="170" --title="$title" --list --radiolist --column="" \
--column="Aspectos" --column="Descripción" \
	FALSE "4:3" "TV Normal"\
	TRUE "16:9" "Panorámico"\
	| sed 's/ max//g' `
if [ ! "$xvid_aspect" ]; then # Chequeando si se ha cancelado, la ventana de selección de lo que se va a convertir.
	zenity zenity --error --title="Error" --text="Ha cancelado la aplicación, por lo que será cerrada	:("
	exit
fi

# XVID Encode
case $# in
  1 )
    if [  -e "$1" ]
        then
            # Convirtiendo el archivo $1 a formato avi.
            mencoder $xvid_resolution -oac mp3lame -lameopts cbr=128 -ovc xvid -of avi -xvidencopts bitrate=$xvid_vid_br:me_quality=$xvid_vid_qu -aspect $xvid_aspect -ofps 25 "$1" -o "$1.avi" 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Posición :\\t"$1"\\nCuadros :\\t"$2"\\nPorcentaje :\\t"$3"%\\nRadio de cuadros :\\t"$4"\\nTiempo restante :\\t"$6; fflush();}' | zenity --progress --auto-kill --auto-close --title="Progreso"
            # Cambio de formato terminado.
            zenity --info --text="El vídeo ya se convirtió a avi!   :)"
        else
            # En caso de error
            zenity --info --text="El vídeo $1 no existe en el sistema!   :("
    fi
    ;;
  2 )
    if [ -e "$1" ] && [ -e "$2" ];
        then
            # Convirtiendo y subtitulando el archivo $1 a formato avi
            mencoder $xvid_resolution -oac mp3lame -lameopts cbr=128 -ovc xvid -of avi -xvidencopts bitrate=$xvid_vid_br:me_quality=$xvid_vid_qu -aspect $xvid_aspect -ofps 25 "$1" -sub "$2" -o "$1-sub.avi" -subcp ISO-8859-15 -sub-bg-alpha 255 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Posición :\\t"$1"\\nCuadros :\\t"$2"\\nPorcentaje :\\t"$3"%\\nRadio de cuadros :\\t"$4"\\nTiempo restante :\\t"$6; fflush();}' | zenity --progress --auto-kill --auto-close --title="Progreso"
            # Cambio de formato y subtitulado terminado.
            zenity --info --text="El vídeo ya se convirtió a avi!   :)"
        else
            # En caso de error
            zenity --info --text="Alguno de los archivos especificados no existe en el sistema!   :("
    fi
    ;;
esac

fi
PD: Alguien que me pueda decir como construir un binario a partir de dicho script, para luego empaquetarlo a .deb
Nacimos esclavos del software privativo y moriremos libres de el.

Escucha a tu disco duro y ve que tiene que decirte:
sudo cat /dev/sda | aplay -fdat

PD: Sirve para otros dispositivos, como USB, CD, etc.

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por hugo » Dom, 26 May 2013, 12:17

No creo que zenity y bash puedan compilarse a un ejecutable, pero igual puedes hacer el paquete con el script y declarar las dependencias.
O también podrías usar PyZenity y así tu script podría ser multiplataforma.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Avatar de Usuario
GhOsT14105
Mensajes: 87
Registrado: Vie, 08 Abr 2011, 11:28
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por GhOsT14105 » Lun, 27 May 2013, 12:14

Tienes a mano documentación al respecto, incluyendo la aplicación PyZenity de la que hablas, de veras que me interesa, busque en San Google, pero como es de imaginar no tengo acceso a Internet, para descargar nada.

off topic: Ya logre acceder a la Wiki, por mi usuario.
Nacimos esclavos del software privativo y moriremos libres de el.

Escucha a tu disco duro y ve que tiene que decirte:
sudo cat /dev/sda | aplay -fdat

PD: Sirve para otros dispositivos, como USB, CD, etc.

Avatar de Usuario
BishopWolf
Mensajes: 145
Registrado: Vie, 14 Ene 2011, 11:49
Ubicación: /home/San José de las Lajas

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por BishopWolf » Mié, 12 Jun 2013, 11:34

deja el vinculo a la wiki aquí para referencia
--------------------------------------------------------
Ubuntu_14.04_Trusty_Tahr
Linux_3.13_amd64
KDE_4.13

Avatar de Usuario
GhOsT14105
Mensajes: 87
Registrado: Vie, 08 Abr 2011, 11:28
Contactar:

Re: x2avi un Script para convertir videos a formato AVI

Mensaje por GhOsT14105 » Jue, 13 Jun 2013, 11:21

Si de lo que hablas es del vinculo subido a la wiki pues aquí te va:

http://gutl.jovenclub.cu/wiki/tutoriales/xvidconverter
Nacimos esclavos del software privativo y moriremos libres de el.

Escucha a tu disco duro y ve que tiene que decirte:
sudo cat /dev/sda | aplay -fdat

PD: Sirve para otros dispositivos, como USB, CD, etc.

Responder