Lenguajes preferidos: PHP, MySQL, Perl, AJAX, JavaScript, HTML, XML, Android, Java, RADIUS, HTML5, CSS3, Node.JS
viernes, 23 de abril de 2010
50 estilos css para tabs
Link: 50 Css styles
Cacoo - Creacion de diagramas online
Link: http://cacoo.com/
Comandos útiles de FFMPEG
ffmpeg-i video.aviGire X imágenes a una secuencia de vídeo
ffmpeg-f image2-i imagen% d.jpg video.mpgEste comando va a transformar todas las imágenes del directorio actual (llamado image1.jpg, imagen2.jpg, etc ...) a un archivo de video llamado video.mpg
Girar un vídeo a las imágenes de X
ffmpeg-i imagen% video.mpg d.jpgEste comando generará los archivos con el nombre image1.jpg, imagen2.jpg, ...
Los siguientes formatos de imagen también están disponibles: PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.
Codificar una secuencia de vídeo para el iPpod / iPhone
ffmpeg-i source_video.avi acodec de entrada-AAC-ab-128kb vcodec mpeg4-b-1200kb mbd 2-4 banderas mv + trell aic-2-2-cmp subcmp 2-s 320x180-título X final_video.mp4Donde:
Fuente: source_video.avi
Codec de audio: AAC
Audio bitrate: 128kb / s
Códec de vídeo: MPEG4
Video bitrate: 1200kb / s
Tamaño de vídeo: 180px 320px par
de creación de vídeo: final_video.mp4
Codificación de vídeo para la PSP
ffmpeg-i source_video.avi-b 300-s 320x240-vcodec 32-ar 24000-acodec aac final_video.mp4 xvid-abDonde:
Fuente: source_video.avi
Codec de audio: AAC
Audio bitrate: 32kb / s
Video Codec: xvid
Video bitrate: 1200kb / s
Tamaño de vídeo: 180px 320px par
de creación de vídeo: final_video.mp4
Extraer el sonido de un vídeo, y guardarlo como MP3
ffmpeg-i source_video.avi-vn-ar 44100-ac 2-ab 192-f mp3 sound.mp3Donde:
video Fuente: source_video.avi
Audio bitrate: 192kb / s
formato de salida: mp3
de creación de sonido: sound.mp3
Convertir un archivo WAV a MP3
ffmpeg-i son_origine.avi-vn-ar 44100-ac 2-ab 192-f mp3 son_final.mp3Convertir. Avi video a. Mpg
ffmpeg-i video_origine.avi video_finale.mpgConvertir. Mpg a. Avi
ffmpeg-i video_finale.avi video_origine.mpgConvertir. Avi a gif animado (sin comprimir)
ffmpeg-i video_origine.avi gif_anime.gifMezclar un video con un archivo de sonido
ffmpeg-i-i son.wav video_origine.avi video_finale.mpgConvertir. Avi a. Flv
ffmpeg-i video_origine.avi-ab 56-ar 44100-b 200-r 15-s 320x240-f flv video_finale.flvConvertir. Avi a dv
ffmpeg-i video_origine.avi-s pal-r pal-aspect 4:3-ar 48000-ac 2 video_finale.dvO bien:
ffmpeg-i video_origine.avi objetivo pal-dv video_finale.dvConvertir. Avi a mpeg para reproductores de DVD
ffmpeg-i source_video.avi objetivo 2000000000-de aspecto de 16:9 pal-dvd-ps finale_video.mpegDonde:
destino de salida pal-dvd: Formato
ps 2000000000 tamaño máximo del archivo de salida, en bits (en este caso, 2 Gb)
Aspecto 16:9: Widescreen
Comprimir. Avi a divx
ffmpeg-i-s video_origine.avi 320x240-vcodec msmpeg4v2 video_finale.aviComprimir Ogg Theora a MPEG DVD
ffmpeg-i-s film_sortie_cinelerra.ogm 720x576-vcodec acodec mpeg2video-mp3 film_termina © e.mpgComprimir. Avi a mpeg2 SVCD
NTSC:
ffmpeg-i video_origine.avi objetivo ntsc-svcd video_finale.mpgPAL formato:
ffmpeg-i video_origine.avi objetivo pal-svcd video_finale.mpgComprimir. Avi a VCD mpeg2
NTSC:
ffmpeg-i video_origine.avi objetivo ntsc-vcd video_finale.mpgPAL formato:
ffmpeg-i video_origine.avi objetivo pal-vcd video_finale.mpgMulti-pass encoding con ffmpeg
ffmpeg-i-pass fichierentree 2-passlogfile ffmpeg2pass fichiersortie-2
Convertir videos con FFMPEG
He tenido la necesidad de convertir algunos videos avi a flv para su visualización el la web, se que existen varios programas en windows y linux para realizar esa sencilla tarea, pero lo interesante del asunto es que yo recibo diariamente viarios videos grabados por mi cámara IP y la tarea se vuelve tediosa cuando por la noche tengo que convertir esos videos, asi que la forma mas a adecuada de realizar esa tarea es mediante un script corriendo bajo un cron.
Así que en este post explicare la forma de realizar el script.
Primero que nada debemos saber en donde estan alojados nuestros videos y que estructura tienen las carpetas que los contienen, la estructura de mis carpetas es sencilla:
-Dia
-Hora
-Video1.avi
-Video2.avi
-Video3.avi
-....avi
únicamente tengo carpetas por día, que a su vez contienen carpetas por hora y dentro de esas están los videos, así que lo que el script tiene que hacer es entrar a la carpeta del día actual, entrar en cada una de las carpetas por hora y convertir los videos contenidos en ellas.
Los videos los guardara en una carpeta llamada flvs que se encuentra en el mismo nivel que las carpetas por dia, y dentro de esta seguira la misma estructura original Dia:Hora:Videos.
Hasta aqui la logica bien no?, ahora vamos a lo interesante, necesitamos saber que instruccion es la que me va a sacar el avi en flv, para eso utilizaremos FFMPEG y algunos parametros de conversion, la instruccion es:
ffmpeg -i video1.avi -ar 22050 -ab 32k -r 25 -s 640x480 -vcodec flv video1.flvdonde:
-i Archivo origen
-ar Frecuencia de audio (Hz)
-ab Audio bit-rate
-r Video frame-rate
-s Resolution de salida
-vcodec Codec de salida
Adicionalmente como voy a mostrarlo en la web el link que quiero para representar cada dia va a ser una imagen, asi que necesito sacar una imagen de cualquier video, para ello utilizo nuevamente ffmpeg con parametros diferentes:
ffmpeg -i video1.flv -r 1 -t 1 -s qvga imagen1.jpgdonde:
-i Archivo origen
-r Video frame-rate
-t Tiempo
-s Resolucion
Esta instruccion me va a sacar una imagen del video video1.flv forzandolo a que sea de 1 frame y del segundo 1 del video.
Porteriormente se unen las tres partes: navegacion entre carpetas, convercion de video y obtencion de imagen, en un solo script getVideos.sh:
#!/bin/bash DIRECTORIO=$1 echo "Entrando en $DIRECTORIO" echo "Creando flvs/$DIRECTORIO" mkdir "flvs/$DIRECTORIO" VAR=0 DIR="flvs/$DIRECTORIO" for Dia in $(ls $1) do echo "Entrando en $DIRECTORIO/$Dia" for Hora in $(ls "$DIRECTORIO/$Dia") do for f in $(ls "$DIRECTORIO/$Dia/$Hora") do if [ ${f#*.} == 'avi' ] then TEMPFILE=$(basename $f) FILE=${TEMPFILE%.*} echo "Convirtiendo: $f y almacenando en $DIR/$FILE.flv" ffmpeg -i $f -ar 22050 -ab 32k -r 25 -s 640x480 -vcodec flv -qscale 9.5 $DIR/$FILE.flv fi if [ $VAR -eq 0 ] then echo "Sacando imagen : $DIR.flv y almacenando en $DIR.jpg" ffmpeg -i $DIR/$FILE.flv -r 1 -t 1 -s qvga $DIR/1.jpg fi VAR=1 done done doneEste script recibe como unico argumento el nombre de la carpeta por dia, navega por la carpeta del dia y recorre las carpetas de horas,crea la carpeta flvs/Dia/Hora si no existe, convierte el video a flv y lo guarda en dicha carpeta, obtiene la imagen del primer video solamente y la guarda en la misma carpeta, asi recursivamente hasta terminar con todos los videos almacenados en el dia.
Ahora solo tenemos que ejecutarlo asi:
$./getVideos.sh Lunes
Suscribirse a:
Entradas (Atom)