Vuestros scripts

Si tenéis algún script para facilitaros alguna tarea, ya sea creado por vosotros o sacado de alguna web, blog o foro, este es el sitio adecuado para compartirlo con el resto de usuarios.
Solo os pido, que (dentro de lo posible) si lo encontrasteis por la red, que mencionéis la fuente o autor.

Saludos a todos
 
Muestra la velocidad de descarga y de subida de un dispositivo de red.

# AUTOR: Luis Moreno Rodriguez

Código:
#!/bin/bash

# AUTOR: Luis Moreno Rodriguez


function netspeed () {
	if [ $# -eq 0 ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
		echo -e "Show network device speed. Usage 'netspeed device'"
		return
	fi
	if ! ifconfig $1 &>/dev/null; then
		echo -e "Error, network device $1 does not exist."
		return
	fi
	local interface=$1
	local received_bytes=""
	local transmitted_bytes=""

	get_bytes() {
		local line=$(grep $interface /proc/net/dev | cut -d ':' -f 2 | awk '{print "received_bytes="$1, "transmitted_bytes="$9}')
		eval $line
	}

	show_4monospace() {	#Siempre muestra 4 cifras
		if [ $1 -lt 10 ]; then
			echo -n "   $1"
		elif [ $1 -lt 100 ]; then
			echo -n "  $1"
		elif [ $1 -lt 1000 ]; then
			echo -n " $1"
		elif [ $1 -lt 10000 ]; then
			echo -n "$1"
		fi
	}

	get_velocity() {
		local value=$1
		local old_value=$2
		let local vel=$value-$old_value
		let local velKB=$vel/1024
		let local velMB=$vel/1048576

		if [ $velMB != 0 ]; then
			local to_show=$(show_4monospace $velMB)
			echo -n "$to_show MB/s";
		elif [ $velKB != 0 ]; then
			local to_show=$(show_4monospace $velKB)
			echo -n "$to_show KB/s";
		else
			local to_show=$(show_4monospace $vel)
	 		echo -n " $to_show B/s";
		fi
	}

	get_bytes
	local old_received_bytes=$received_bytes
	local old_transmitted_bytes=$transmitted_bytes

	while true; do
		get_bytes
		local vel_recv=$(get_velocity $received_bytes $old_received_bytes)
		local vel_trans=$(get_velocity $transmitted_bytes $old_transmitted_bytes)
		echo -en "$interface  -->  DOWN:$vel_recv\tUP:$vel_trans\r"
		old_received_bytes=$received_bytes
		old_transmitted_bytes=$transmitted_bytes
		sleep 1;
	done
}

netspeed $*
 
Código:
AVI -> VCD
Añadiendo la opción -hq usa alta calidad.
ffmpeg -i myfile.avi -target pal-vcd myfile_vcd.mpg

MPEG -> 3GP
ffmpeg -i archivo.mpeg -s qcif -r 12 -ac 1 -ar 8000 -b 30 -ab 12 salida.3gp

O también con más calidad:

ffmpeg -i archivo.mpeg -s qcif -r 15 -ac 1 -ar 8000 -b 256000 -ab 15 salida.3gp

MPEG -> XviD
ffmpeg -i pelicula.mpg -acodec mp3 -vcodec xvid -b 687 pelicula.avi

PEGAR SUBTITULOS A AVI
mencoder -ovc lavc -oac mp3lame pelicula.avi -o pelicula_con_subtitulos.avi -sub subtitulos.srt

ROTAR VIDEO
rotar 90 grados e invertir (0)
rotar 90 grados (1)
rotar 90 grados en sentido antihorario (2)
rotar 90 grados en sentido antihorario e invertir (3)
mencoder -vf rotate=1 -oac copy -ovc lavc entrada.avi -o salida.avi

RMVB -> AVI
mencoder -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=1200 video_entrada.rmvb -o video_salida.avi
 
Arriba