lunes, 22 de junio de 2009

mtvcgui 0.31

Retomé el experimento con PyQT y QTDesigner que había abandonado hace cerca de 6 meses, motivado por los mails con comentarios y sugerencias (¡y problemas!) de ¡3! personas que lo usaron. Además noté que aparece en ¡una página y un foro! :P

Corregí un par de problemas menores y le agregué la funcionalidad de ajustar brillo, contraste, matiz y saturación, y de ver esos cambios en la previsualización del canal a medida que se realizan. También, ahora se puede cambiar de canal y norma mientras se previsualiza.
Esto lo hago usando mplayer en modo esclavo (-slave). De esa manera recibe comandos desde la entrada estándar.

Por ejemplo, para seleccionar un canal, lo hago con
self.mplayer_instance.stdin.write('tv_set_channel %s\n' % str(channel))

donde mplayer_instance es un objeto creado con subprocess.Popen y el comando mplayer con sus argumentos.
En la página dice que hay que usar communicate() en lugar de stdin.write(), pero a mi no me sirvió, porque communicate se queda esperando que el proceso termine y leyendo su stdout, y no es lo que necesito hacer.
A lo mejor podría hacerlo desde un thread, pero... ¡bah!

Igual, no anda demasiado bien y no sé como solucionarlo. El video generado cada tanto se pone más lento y después se arregla solo, sin embargo no se reportan cuadros perdidos. Codifico con lavc(mpeg4) y le aplico los filtros de desentrelazado, etc, todo al vuelo. Podría ser que no da el CPU, pero no supera el 50%... Capaz que mencoder no es la mejor herramienta para capturar TV... :(
La GUI no debería consumir muchos recursos como para molestar en la codificación, salvo que esté haciendo algo muy mal (es posible). En teoría, lo único que se ejecuta mientras se captura es un timer cada 1 segundo, que hace un poll a la instancia de mencoder para ver si sigue viva.

El programa está en google code, github y kde-apps. ¿Para qué? :D

5 comentarios:

carpincho dijo...

muy bueno!
una sugerencia, podrias poner feeds?
saludos

Santiago dijo...

carpincho, ¿qué tipo de feeds decís? El blog ya tiene porque los trae blogspot.

Y para versiones nuevas del programa, se puede desde http://code.google.com/p/mtvcgui/downloads/list , hay un coso rss.

Vi que algunos blogs tienen un cosito tipo widget de quienes te están following. No se si decís eso, no me puse a ver cómo se hace.

Saludos.

Anónimo dijo...

Te felicito Santiago Bruno por tu iniciativa. Saludos desde acá nomás...

Anónimo dijo...

Hola! Te comento que estoy usando tu GUI y por ahora me va bien. La uso, obviamente, para capturar video desde una videocasetera VHS, luego al resultado lo proceso con Avidemux, y por último, lo convierto a DVD con DEVEDE. Quiero decirte que tu creación me resulta una herramienta muy útil para lo que hago. Gracias!

efecehache dijo...

No te preocupes, ya somos cuatro los que usamos tu programa! Después de romperme la cabeza tratando de grabar la tele en linux con cuanto programa se me cruzó, probé el tuyo y anduvo de una... muchas gracias!