Archive for the 'linux' Category

Jun 01 2013

How to download all files of certain type from a web page in Linux

Published by under Internet,linux,Programación

I’ve been trying to download all the mp3 files of a page (only one url, not the entire website) with wget but I’ve not achieved it because the mp3 files are in different domain than the main url so I’ve made a little script to download all of them in one command.

I’ve used lynx to extract all the links of the page and xargs to create a thread pool to have 4 simoultaneous downloads at the same time. The command is the following:


lynx -dump -listonly -nonumbers http://www.example.com/index.html | grep "\.mp3" | xargs -P 4 -I URL wget URL

2 responses so far

Oct 18 2012

Video format problems loading Big Data University lessons on Samsung TV

Published by under linux

I’ve found some problems watching the videos of the course “Hadoop Fundamentals I” of the Big Data University on my Samsung TV. The videos of several lessons can’t be loaded showing the message “unsopported format“.

I’ve been testing and the encoding is the same so it seems that the problem is due to an unsopported resolution.
The videos of the Lesson 1 have 1024×852 and the other ones 1280×1108.
The problem can be easily solved changing the resolution to 1280×1024. We are changing a little the aspect ratio but it doesn’t matter so much, most of the images are slides and the conversion is almost negligible.

Those are the commands I’ve executed in Linux to solve it.

To show the current resolution of a video:

ffmpeg -i 02_hadooparchitecturepart1.mp4
> ...
> Stream #0.0(eng): Video: h264 (High), yuv420p, 1280x1108 [PAR 1:1 DAR 320:277], 180 kb/s, 15 fps, 15 tbr, 15k tbn, 30 tbc
> ...

And to fix it if needed:

ffmpeg -i 02_hadooparchitecturepart1.mp4 -s 1280x1024 -aspect 4:3 02_hadooparchitecturepart1_fixed.mp4

This is the complete script I’ve used to fix all the videos of the course:

cd Lesson\ 2\ -\ Hadoop\ architecture/
ffmpeg -i 02_hadooparchitecturepart1.mp4 -s 1280x1024 -aspect 4:3 02_hadooparchitecturepart1_fixed.mp4
ffmpeg -i 03_hadooparchitecturepart2.mp4 -s 1280x1024 -aspect 4:3 03_hadooparchitecturepart2_fixed.mp4
cd ..
cd Lesson\ 3\ -\ MapReduce/
ffmpeg -i 05_mapreducepart1.mp4 -s 1280x1024 -aspect 4:3 05_mapreducepart1_fixed.mp4
ffmpeg -i 06_mapreducepart2.mp4 -s 1280x1024 -aspect 4:3 06_mapreducepart2_fixed.mp4
ffmpeg -i 07_mapreducepart3.mp4 -s 1280x1024 -aspect 4:3 07_mapreducepart3_fixed.mp4
ffmpeg -i 08_mapreducepart4.mp4 -s 1280x1024 -aspect 4:3 08_mapreducepart4_fixed.mp4
ffmpeg -i 09_mapreducepart5.mp4 -s 1280x1024 -aspect 4:3 09_mapreducepart5_fixed.mp4
ffmpeg -i 10_mapreducepart6.mp4 -s 1280x1024 -aspect 4:3 10_mapreducepart6_fixed.mp4
cd ..
cd Lesson\ 4\ -\ Querying\ data/
ffmpeg -i 13_pighivejaqlpart1.mp4 -s 1280x1024 -aspect 4:3 13_pighivejaqlpart1_fixed.mp4
ffmpeg -i 14_pighivejaqlpart2.mp4 -s 1280x1024 -aspect 4:3 14_pighivejaqlpart2_fixed.mp4
ffmpeg -i 15_pighivejaqlpart3.mp4 -s 1280x1024 -aspect 4:3 15_pighivejaqlpart3_fixed.mp4
ffmpeg -i 16_pighivejaqlpart4.mp4 -s 1280x1024 -aspect 4:3 16_pighivejaqlpart4_fixed.mp4
cd ..
cd Lesson\ 5\ -\ Moving\ data/
ffmpeg -i 11_flumepart1.mp4 -s 1280x1024 -aspect 4:3 11_flumepart1_fixed.mp4
ffmpeg -i 12_flumepart2.mp4 -s 1280x1024 -aspect 4:3 12_flumepart2_fixed.mp4

No responses yet

Dic 20 2010

Generación de videos Time-Lapse en HDR desde Linux

Published by under Fotografia,linux

He realizado un script que automatiza la generación de videos HDR desde Linux a partir de una serie de fotografías en formato RAW.
El script está preparado para recortar las imágenes y aplicar el efecto HDR mantiuk a acada una de ellas.

La última versión se puede descargar aquí: HDR Time-Lapse Generation Script


# Raw files to process
RAW_FILES=input_test/*.CR2

# Output directory
OUT=./output

# Position and size of the rectangle to cut in the original photographs
# The proportion should be fit with the VIDEO_WIDTH and VIDEO_HEIGHT parameters
LEFT=838
TOP=1374
WIDTH=2255
HEIGHT=1259

# Size of the output video. Recommended format for youtube HD 1290x720
VIDEO_WIDTH=1290
VIDEO_HEIGHT=720

# Frames per second
VIDEO_FPS=16


rm -Rf $OUT
mkdir $OUT $OUT/img

files=`ls $RAW_FILES -1`
totalFiles=`ls $RAW_FILES -1 | wc -l`
counter=0
for fRaw in $files ; do
	echo "Processing image... ${counter}/${totalFiles}"
	
	strCounter=`printf %04d $counter`
	fMantiuk=${OUT}/img/mantiuk_${strCounter}.tiff
	fOrig=${OUT}/img/orig_${strCounter}.tiff
	fFinal=${OUT}/img/final_${strCounter}.tiff
	
	# HDR Mantiuk generation
	dcraw2hdrgen $fRaw > hdrgen.txt
	pfsinhdrgen hdrgen.txt | pfsout pfs.hdr
	pfsin pfs.hdr \
		| pfscut --left ${LEFT} --top ${TOP} --width ${WIDTH} --height ${HEIGHT} \
		| pfssize -x ${VIDEO_WIDTH} -y ${VIDEO_HEIGHT} \
		| pfstmo_mantiuk06 -e 1 -s 1 \
		| pfsgamma --gamma 1.8 \
		| pfsoutimgmagick ${fMantiuk} 2>/dev/null

	# Original image generation without effects
	ufraw-batch $fRaw \
		--wb=camera \
		--crop-left=${LEFT} \
		--crop-right=$((LEFT+WIDTH)) \
		--crop-top=${TOP} \
		--crop-bottom=$((TOP+HEIGHT)) \
		--overwrite \
		--size=${VIDEO_WIDTH} \
		--output=${fOrig} \
		--out-type=tiff \
		--exposure=0 2>/dev/null
	
	# Final image generation
	composite -dissolve 80% ${fMantiuk} ${fOrig} ${fFinal} 2>/dev/null
	
	# Optimization (increase of color saturation)
	convert -modulate 100,110,100 ${fFinal} ${fFinal}

	counter=$(( $counter + 1 ))  
done

# Video encoding
mencoder -nosound -ovc x264 -x264encopts pass=1:bitrate=3000 -o ${OUT}/output.avi -mf type=tif:fps=${VIDEO_FPS} "mf://${OUT}/img/final_*.tiff"

Para configurar los parámetros de recorte se puede utilizar por ejemplo el programa Gimp. Para ello, abrimos una de las imágenes RAW originales(necesitaremos instalar el plugin ufraw para esto). Seleccionamos la herramienta de selección de rectángulos y configuramos el tamaño del rectángulo. En este caso, para subir videos a youtube en alta definición pondríamos 1290×70. Una vez tenemos el rectángulo lo ampliamos o reducimos al tamaño que queramos manteniendo siempre la proporción y nos apuntamos la posición y tamaño del recuadro final para configurar el script.



Para ejecutar el script es necesario tener instalados los programas pfstools, pfsmo, pfscalibration, imagemagick y mencoder. Si utilizamos ubuntu, los podemos instalar todos mediante el gestor de paquetes excepto el pfscalibration que hay que compilarlo.

Y el resultado final. Está realizado a partir de 88 fotografias tomadas cada 10 segundos. Alrededor de 15 minutos de tiempo reducidos a 5 segundos de video.



No responses yet

Dic 13 2010

Problema con Wireless al instalar Ubuntu en Sony Vaio VPC-EB2S1E

Published by under linux

He estado instalando ubuntu 10.10(64bits) en el portatil y me ha dado un problema bastante extraño. Con la instalación por defecto el wireless no funciona, o mejor dicho, funciona pero de forma extremadamente lenta, tanto, que se hace imposible cargar cualquier página de internet.

Parece que no es un problema de hardware ya que el wireless funciona correctamente en Windows 7 y lo más extraño es que también funciona en Ubuntu cuando el portatil está usando la batería pero no cuando está conectado a la corriente eléctrica.

La tarjeta wireless que lleva es una Atheros AR9285. He estado comprobando las diferencias en la configuración que realiza Ubuntu al levantar el wireless con y sin batería y el problema parece estar relacionado con el parámetro “Power Management” que está a “off” al utilizar la corriente eléctrica. No he mirado mucho más.

Para solucionar el problema hay que forzar que el parámetro esté siempre a “on” mediante el comando :
iwconfig wlan0 power on

El script de arranque en el que podemos añadir el comando es este: /etc/network/if-up.d/upstart

No responses yet