viernes, 23 de septiembre de 2011

LINUX: ODML: Aspect information not (yet?) available or unspecified, not writing vprp header

Esto es más un nota mental que un post:
previamente había explicado esto como parte de otro tema, pero seguramente me hará falta un enlace más directo.
"ODML: Aspect information not (yet?) available or unspecified, not writing vprp header"
Al crear videos con MemCoder se puede generar problemas con la cabecera del video, por información incompleta. Supongo que es por el uso incompleto o incorrecto de dicho comando.
En fin, la solución se encuentra en el mismo mencoder comand, y es:


# mencoder -oac copy -ovc copy -force-avi-aspect 1.777 input-4_3.mpg -o output-16_9.mpg


Thanks to http://www.duncanelliot.com for posting about this problem!

Dios Te Bendiga!

martes, 20 de septiembre de 2011

LINUX TIP: uso de $ o # en una explicación; porque nadie lo explica!?

Para los que acostumbramos a leer informacion sobre Linux, sobre todo de batch o scripting, vemos a modo de cita o comentario un ejemplo de los comandos que se investigan.
Por ejemplo:
Comando para visualizar la conexiones a una interfaz de red (traducido: ver cuales programas están cargando o descargando de la red inalambrica):


# nethogs wlan0


Otro caso es, por ejemplo, obtener una lista en tiempo real de los procesos que estan leyendo o escribiendo los medios de almacenamiento (HDD, SSD, USB Disk, etc etc etc),y que el resultado sea acumulado y no parcial (haciendo uso de los argumentos "-oa")


$ iotop -oa

... en este punto te debes estar preguntando al igual que yo muchisimas veces: "que ZIPOTE significa # y $?"


Bueno, resulta que la arquitectura de Linux determina el uso de políticas de permisología para ejecución de cierto procesos.
En Linux hay un Superman superusuario, que tiene permisos ABSOLUTOS sobre el sistema, el man sujeto en cuestión es el famoso "root", y para ejecutar un proceso en modo root se debe loguearse como root (obvio no?).
Cuando se quiere decir que es necesario ser root para ejecutar algún programa, se debe indicar previamente el caracter #
Si por el contrario, se puede ejecutar como usuario normal, la instrucción se antecede por $


Es decir, #nethogs wlan0 indica que debe ingresar en la terminal sudo nethogs wlan0 o su nethogs wlan0 o yum nethogs wlan0 dependiendo de la distribución Linux que uses.
En caso de $, no es necesario usar "sudo" o "su" o "yum".


Ahora, ¿porqué usar # y $ para definir estos casos?, bueno, supongo que la razón es el simbolo que aparece en consola antes de ingresar un comando cuando estas logueado con usuario normal o como root respectivamente:
Modo usuario normal
Logueo a Modo "root"
Ahora nunca nos preguntaremos que carrizo significa esos simbolos.


PD: Todo ésto es una analogía, una reflexión quizá... pero realmente no tengo la certeza de lo que escribo porque nadie jamás ha escrito al respecto. no que yo sepa al menos.


Dios te bendiga!

viernes, 16 de septiembre de 2011

ANDROID & LINUX: Haciendo un TimeLapse en 3 patadas!

Hacer un Time-Lapse nunca ha sido tan fácil (si usas Linux claro).


Se llama time-lapse a una secuencia de vídeo acelerada, donde los acontecimientos suceden a una velocidad mucho más rápida de la normal (wikipedia)


Basicamente se requiere dos cosas: fotos y un video maker.
Hacer un Timpe-Lapse con una DSLR es doloroso... son cientos o miles de fotos, y el obturador de estos equipo tienen, en promedio, una vida útil de 100.000 disparos... chaca la cuenta. Lo menos doloroso es hacerlo con una cámara compacta (de bolsillo) que tenga temporizador o intervalómetro.


So... en android hay varias opciones que nos facilitan la vida con los Time-Lapse, por ejemplo yo prefiero Tina TimeLapse no te limita el tamaño de imagen y no es una aplicación "pesada".
Y en Linux solo necesitamos instalar:
# apt-get install mencoder

 Con Mencoder construiremos el vídeo cuando tengamos las fotos.


Ahora vamos con la captura de las fotos:


Con ésta app no hay complejidad: Indicas el nombre de Time-Lapse (será el nombre que tendrá la carpeta que crea la app en el equipo), el intervalo de cada foto (si vas a capturar personas es mejor que sea de 1 segundo por foto), limite de fotos, resolución de la foto (ésta será la resolución del video también), balance de blancos (si no va a existir cambio de iluminación es mejor dejarlo en automático).
Haremos tap para iniciar o finalizar la grabación, sencillísimo.
Al finalizar el proceso tendremos una serie de fotos con la cual construiremos el vídeo. Ya hicimos la parte Dificil, viene la fácil:


OPCIONAL: En mi caso particular, las fotos me salen orientadas 90 grados hacia la izquierda, no se si es un error de telefono o de la aplicación, pero eso se arregla con 2 clicks (con un nautilus script llamado rotar imagenes), así que no me afecta.

Con las fotos listas, vamos a nuestra querida terminal, y nos ubicamos en la carpeta donde está las fotos:





Para armar un video a partir de muchas fotos hay que crear un archivo plano que contenga el orden de los fotogramas, en linux es MUY facil hacer esto "ls -1", ojo, el argumento es UNO no L.


$ ls -1




Para crear el archivo plano, tan solo hay que desviar la salida con ">" e indicar el archivo:


$ ls -1 > lista.txt



Ahora solo falta crear el video con mencoder:


$ mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o 110914_oficina.avi -mf type=jpeg:fps=15 mf://@lista.txt


Con "-o 110914_oficina.avi" se indica el nombre del video
con "-mf type=jpeg:fps=15" se indican los cuadros por segundo
y con "mf://@lista.txt" se indica el archivo que contiene los fotogramas




Y listo! ahora a reproducirlo:

$ vlc 110914_oficina.avi







NOTA: Lamentablemente ningún pasante fue herido durante la creación del TimeLapse


OPCIONAL: si por casualidad requieres corregir el error "ODML: Aspect information not (yet?) available or unspecified, not writing vprp header." tan solo ejecuta lo siguiente:


$ mencoder -oac copy -ovc copy -force-avi-aspect 1.777 video_origen.avi -o video_corregido.avi

Dios te bendiga!

miércoles, 14 de septiembre de 2011

SAP: Comparacion MM y FI - Status Campo de Clases de Movimiento Vs Status Campo de Cuenta


Éste es uno de esos Tips que pueden ahorrar muchos dolores de cabeza:


La mayoria de los Módulos SAP tienen configuraciones de Status Campo, y en el caso de SAP Controlling (CO) que se involucra con prácticamente todos los módulos existentes, es complejo mantener una congruencia entre los diversos estatus campo, por ejemplo, el Centro de Beneficio debe ser un campo obligatorio para contabilizar en la cuenta Costo de Ventas, entre otros.
En fin, a partir de una clase de movimiento de Materiales y una o más cuentas contables, el programa RM07CUFA compara los ambos Módulos y compara la obligatoriedad de cada campo (Suprimido, Obligatorio, Opcional).
Usando la transaccion SA38 se puede ejecutar el programa:

RM07CUFA se puede ejecutar con la Transacción SA38


Se debe indicar la Clase de Movimiento, la Sociedad FI y las Cuentas de Mayor Involucradas

Más Claro No canta un Gallo mudo.

Dios te Bendiga!