sábado, 22 de junio de 2013

LP Encoder - Prueba de Concepto

Hace tiempo he tenido la práctica de generar scripts que automaticen mi trabajo, mis primeros Let's Play se beneficiaban por esto, era capaz de generar vídeos a una velocidad sorprendente, tanto que lograba colgar consistentemente dos vídeos al día todos los días, obviamente los vídeos que subía no tenían mucha calidad puesto que usaba una compresión muy fuerte para lidiar con el internet miserable que tenia en esa época, colgar 50mb era una espera eterna, con el paso del tiempo, evolución de la tecnología y un mejor servicio de internet abandoné la práctica de la automatización y empecé a editar los vídeos personalmente, hasta la fecha aún me doy asco por hacer semejante cosa y perder mi tiempo cuando puedo usar ¡SCIENCE!

Una fiel representación mía de aquellas ocasiones en las que esperaba que mi internet cargara el vídeo.
Con el paso del tiempo mis vídeos han subido de cálida visual y auditiva considerablemente pero mi tiempo ha ido disminuyendo con cada año que pasa, simplemente ya no puedo mantener el mismo ritmo, extraño realmente aquellas épocas en las cuales grabar era lo más tardado, ejecutaba un script y en unas horas todo estaba listo para subirse a internet. Por las razones anteriores desarrollé este software cuyo trabajo es automatizar la edición estándar que se tiene que hacer, de manera breve el proceso de este software es:
  1. Conseguir el audio del juego.
  2. ajustar la ganancia de volumen (en porcentaje) del juego.
  3. ajustar la ganancia de volumen (en porcentaje) de los comentarios.
  4. mezclar el audio.
  5. remplazar el audio del vídeo con el audio mezclado.
  6. recortar el vídeo para quitar las barras negras (opcional).
  7. aplicar filtros y transformar a full HD (opcional).
El software acepta aquellos formatos que ffmpeg y mencoder sean capaces de procesar, normalmente si pueden reproducirlos pueden procesarlos con esto. COMO ADVERTENCIAS PRELIMINARES: el archivo de los comentarios debe tener formato WAV, el postfijo "-commentary" en el nombre y la tasa de muestreo del audio de los comentarios (Hz) debe ser la misma que el audio del vídeo con el gameplay. Si la taza de muestro del vídeo de gameplay es 48000Hz el de los comentarios debe ser el mismo (¿Cómo se hace? Google es su amigo).

Para ejecutar este script es necesario por lo menos Python 2.5, para esta prueba se usó Python 2.7.3 y estas son las características del equipo en el se realizó la prueba:

Procesador:          AMD Athlon XP 2000+ 1.66GHz Cache 64 + 64 + 256
Memoria:              256 MB DDR-SDRAM 166.4MHz Un Canal
Tarjeta Madre:      SiS 741-964
Tarjeta de Vídeo:   Nvidia GeForce4 MX 4000 (NV18) AGP 8x 128MB DDR-SDRAM 64-bit
Disco Duro:           IDE ATA-133 Maxtor 6Y120L0 122 GB, 2MB
Sistema Operativo: Windows XP Profesional Service Pack 2 Build 2600

Esto fue planeado como una prueba de estrés para el software ademas de que mis computadoras son bastante sencillas, esta en particular tiene casi 9 años de servicio, no sean duros con ella, hace lo que puede con lo que tiene. Les dejo por fin unas capturas de la prueba para que vean como se usa este software, más explicaciones después:

Se pueden apreciar los archivos y el comando usado para procesar el vídeo.
Este es el comando que se usó: LPencoder.py Starfox-POC.mpeg -75 100 675:449:22:13 std para los que no entendieron como se usaron los argumentos esta es una breve explicación:

  • El primer argumento es el vídeo a procesar.
  • el segundo argumento es la ganancia del volumen del audio del juego (en porcentaje valores negativos indican un decremento de volumen).
  • el tercer argumento es la ganancia del volumen del audio de los comentarios (en porcentaje).
  • el cuarto argumento es el retraso que debe tener el audio de los comentarios y es medido en segundos.
  • el quinto argumento es el recorte para eliminar las barras negras con medidas Ancho:Alto:X:Y o "no" para no realizar el recorte del vídeo.
  • el sexto argumento es la transformación a HD con las opciones std (Calidad estándar, procesamiento rápido para equipos no muy potentes), Lossles (Máxima calidad, procesamiento tardado para equipos robusto) y no (No transforma el vídeo en HD).
Para obtener el recorte del vídeo se puede usar el comando: ffmpeg -i video_de_entrada -ss HH:MM:SS -r 1 -t 1 imagen-%d.png y abrir la imagen resultante en un editor de imagenes el cual proporcionara las medidas adecuadas de recorte (esto es responsabilidad del usuario, sorry).

Especificare el software y hardware que se usó para grabar, las características del vídeo de entrada y el de salida.

Hardware de grabación: Capturadora Steren COM-445
Software de grabación:  GrabBee 1.0.7.6 y Audacity 2.0.3
Perfil GrabBee:              DVD-NTSC 

Vídeo de entrada
Duración:            00:16:52
Peso:                  661 MB
Códec:               MPEG-1/2 (mpgv)
Resolución:         720x480
FPS:                   59.940059
Códec de audio:     MPEG Audio Layer 1/2/3
Canales:                 Estereo
Taza de Muestreo: 48000 Hz
Bits por muestra:    384 kb/s

Audio de los comentarios
Duración:               00:16:50
Peso:                     92.5 MB
Códec:                  PCMS16LE (araw)
Taza de Muestreo: 48000 Hz
 Bits por muestra:  16

Vídeo de salida
Duración: 00:16:52 (Si el audio de los comentarios no se recortó puede aumentar la duración)
Peso:                            924 MB
Resolución                    1920x1080
FPS:                             29.970029
Formato decodificador: Planar 4:2:0 YUV
Códec de audio:           MPEG AAC Audio (mp4a)
Taza de Muestreo:        48000Hz

La prueba finalizó en 1 hora con  28 minutos, 41 segundos y 266  milésimas.

Yo estaba dormido cuando terminó pero el software indica cuanto tarda.
Al finalizar quedan tres archivos nuevos, un log, Starfox-POC-new.mpeg el cual es el vídeo con recorte (disminuye la resolución y el códec puede variar según la entrada si se hace el recorte, de otra manera el códec y resolución quedan iguales pero el audio formato de audio puede diferir) y Starfox-POC-HD.mp4 que es el archivo final que estábamos buscando.
Aquí se ilustra el resultado de una cruzada por el bien de la humanidad.
A continuación dejaré el vídeo de prueba de concepto que se generó con este software:

Antes de dejar el enlace de descarga para que lo prueben y se vuelvan locos debo de dar unas últimas advertencias: este software NO hace pre-edición de audio, si el comentario o el vídeo del juego tiene ruido, si el vídeo o audio debe ser cortado o mejorado con otros filtros debe hacerse de manera manual.
Sobre todo y más importante va esta advertencia, espero la lean con cuidado y a conciencia:

ESTE SOFTWARE SE ENTREGA COMO ESTA Y SIN MÁS INSTRUCCIONES, CUALQUIER COSA QUE PUEDA PASAR ES RESPONSABILIDAD DEL USUARIO, EL AUTOR SE DESLIGA DE CUALQUIER RESPONSABILIDAD POR INCIDENTES QUE ESTE SOFTWARE PUEDA OCASIONAR. EL AUTOR DE ESTE SOFTWARE NO PROPORCIONARÁ SOPORTE TÉCNICO NI RESPONDERÁ PREGUNTAS SOBRE SU USO, EL AUTOR NO REALIZARÁ ACTUALIZACIONES A ESTE SOFTWARE, ÚSELO BAJO SU PROPIO RIESGO.

En este punto supongo que los que no sean retrasados mentales entienden las advertencias, así que aquí les dejo el enlace para descargarlo.

Descargar

Espero que esto sea de utilidad y diviértanse si lo pueden usar ;)

jueves, 20 de junio de 2013

Mi Nintendo 64 es como ¡Munra el inmortal!

En dos ocasiones mi 64 ha muerto y ha vuelto de la tumba con mi persistencia y necedad de no comprar uno de segunda mano que remplace al original, simplemente no me puedo deshacer de todos esos buenos recuerdos de infancia, remplazar este aparato sería una falta de respeto.

Hace dos meses empecé a dar por perdido mi 64 y buscar ofertas en ebay, desde aquel día en el que salía con la chica Rupelstinski y ella solía ir a mi casa a jugar The Legend of Zelda Ocarina of Time mi vieja consola de videojuegos  presentó los síntomas de la edad reseteandose cada 3 minutos, al principio pensé que era por un mal contacto que provocaba un corto y reiniciaba el aparato en cuestión como la ocasión pasada. Efectivamente un corto circuito era el problema por lo que procedí a remover la pieza en cuestión, esta reparación solo permitió que mi ex-ex terminara Dodongo's Cavern y volvió a fallar como la última vez, en esta ocasión me rendí de inmediato y dí por muerta mi consola, en realidad nunca me dí a la tarea de probar toda la placa con un voltimetro para encontrar al culpable de semejante fechoría, sobra decir que al final termine pasando una partida hasta ese punto para que la chica Rupelstinski continuara jugando, terminó Lord Jabu-Jabu y después la corté por Filthy Casual.

Mi cara cuando me lloró para regresar.
Así pasó un tiempo, en mi cabeza dar retiro a ese aparato que tanta diversión me dio era lo correcto pero era frustrante pensar que ya no iba a poder jugar mis juegos en la consola original y me tenía que conformar con emuladores que no podían manejar adecuadamente los gráficos del juego, no soportaba el encontrar un glich, inmediatamente se me quitaban las ganas de jugar y cerraba el programa.

Unos meses después me dio la comezón de jugar Command and Conquer 64 pero el emulador nuevamente estropeaba mi diversión, en mi desesperación tomé el voltimetro y empecé a buscar por un culpable, su cabeza iba a rodar ese día.
Cuando sucede algo extraño con un aparato ¿A quién van a llamar?
Al final descubrí que el culpable era el regulador de energía, el cable tenía un mal contacto, la consola funcionó durante 2 felices horas de Mario 64 sin ningún problema después de arreglar el desperfecto, mi única queja durante el tiempo siguiente era  el control, los sticks de mis controles pasaron por Mario Party en su tiempo y ya no son lo que eran, mi ambición no terminó ahí, tiempo después me metí a ebay y compre un remplazo de estos con el dinero que sobró de la compra de la capturadora HD, planeaba comprar un remplazo que no se arruinara tan fácil como los originales así que me decidí por Sticks de GameCube para 64, debo decir que fué una compra impulsiva, al revisar los reviews todo mundo decía que ese tipo de remplazo era una mierda y no era tan sensible como los originales, era demasiado tarde, la compra estaba hecha.

Unas 3 semanas después escuche el timbre de la puerta en repetidas ocasiones, suficientes para levantarme, realmente no sé si la calle convierte a las personas en maniáticas pero normalmente tocan el timbre como si lo fueran. Llegó el paquete y con él, el hype train había empezado a ponerse en movimiento, al abrirlo me dí cuenta que no era un Stick de Cubo sino un remplazo normal, al parecer dios me quiere lo suficiente, mi única preocupación fué conseguir grasa para evitar que se madreara con el tiempo, al abrirlo me lleve la sorpresa de que venía engrasado de fábrica, simplemente procedí a remplazar la pieza como se puede apreciar en esta fina galería de imágenes que representan la anatomía del cuerpo desnudo de un control de 64.

DAT ASS!

¡Listo! hora de patear culos con el 64.

Valió la pena usar el dinero del Partnership para reparar este control que ya estaba retirado desde hace algunos años, funciona como nuevo, como deuda de esta acción he programado un LP de 64 para Septiembre y otro antes de que termine el año.

miércoles, 19 de junio de 2013

PayPal patrocinador de lo Retro

Hace unos dos meses recibí un cupón de paypal con $15 dolares para gastar en lo que se me hinchara en pelotas en ebay, lo primero que pensé fue en comprar un nuevo control para hacer vídeos y tirar la hueva a gusto, de esta manera le compre un control de SNES (Super Nintendo) USB a unos chinos por que lo enviaban gratis, todo con tal de poder jugar con todo el feeling Secret of Mana.

El maldito control tardó un mes en llegar sin numero de rastreo, a veces me preguntaba si unos asiáticos estarían riendo de mi al otro lado del mundo, por suerte en el día que menos lo esperaba mi hermano tocó por la mañana la puerta de mi cuarto como un maniático para que despertara y cuando le abrí la puerta simplemente me dio el paquete.

Cuando recibí el control ya había salido de vacaciones y lo podía disfrutar sin reservas, puedo decir que no se siente como el control de verdad pero es MUY similar, los botones de la cruz direccional estaban un poquito duros (se aflojaron con el tiempo y ahora se sienten igual),  los botones L y R se sienten más sólidos, los botones Start y Select están hechos del mismo material  y los botones A,B,X y Y están iguales, muchos prefieren otras marcas pero dudo que se sientan tan bien como éste control, incluso he escuchado que hacen los botones de materiales distintos y no se siente para nada como el original. Al terminar de analizar mi compra era hora de prender la computadora y aventurarse en los años 90's una vez más en compañía de esta preciosidad de control retro.

Tomándole una foto como a una de mis chicas francesas.

La Crónica del Aguacate

Siempre me ha parecido que la escuela es muy sencilla y el trabajo (siempre y cuando te guste lo que haces) es aun más fácil sin embargo existen ocasiones en las cuales simplemente las cosas se dificultan en estos dos ámbitos y en la escuela cuando se trata de Matemáticas que no son discretas siempre me agarran como al Tigre de Santa Julia, pero nada que un poco de práctica no pueda solucionar.

Durante este final de semestre estudie como negro todos los días para la asignatura de Matemáticas Avanzadas para Ingeniería esperando que el profesor no me sodomizara con un examen ridículamente difícil como los suele hacer, razón por la cual tiene fama en la escuela de ser el filtro de Ingeniería aparte de su famosa frase: "No te preocupes chavo para ti hay una carrera llamada Licenciatura en Administración de Empresas"

Más de una vez temí por mi vida y más importante aun mi beca la cual no es suficiente pero me ayuda a seguir estudiando incluso ese temor me llevo a cortar brutalmente con mi ex para tener mas tiempo disponible (que a final de cuentas ella era bastante mediocre y planeaba mandarla a Chiuahua a un baile, los problemas y molestias que me traía no valían la pena),  veía como mis amigos caían parcial tras parcial, no es necesario decir que todos los días practicaba, todos los días hasta que llegara el día del juicio final.

En más de una ocasión uno se pregunta a mitad de la noche si esta listo o si lo que estudio vendrá en el examen, odio ese sentimiento, cuando se trata de ciencia de la computación y matemáticas abstractas no es necesario tanto esfuerzo y sé que las cosas están bien, pero hay una frase que me ha acompañado en estas situaciones y me dijo mi hermano cuando era niño: "Sabes que estas listo para un examen de Matemáticas cuando al salir de tu cuarto intentas integrar lo primero que ves" justamente ese fue el caso, al salir del estudio a las 12:00am después de una jornada de 5 horas corté un aguacate para hacer unas quesadillas, como resultado intente modelar un Aguacate Matemáticamente con Integrales, no se si este bien pero cuando lo termine me fui a dormir con una sonrisa y pase el examen final al día siguiente.

He aquí la leyenda del Aguacate Mágico que fue mal hecho en una noche de desvelo y desesperación por un lunático.