Archivo de la etiqueta: pygtk

Tivion en Windows, adelanto de progresos

tivion-windows

Programar para Windows no es mi gran afición, como pueden adivinar muchos de los que me leen y conocen, pero si es cierto que hay bastante cuota de mercado en dicho SO y puede llegar a ser interesante consquistar a los usuarios de windows si ofreces tus aplicaciones nativas de Ubuntu en Windows, como hacen otros proyectos como Gimp o Geany.

Los principales problemas que te encuentras es que poca gente desarrolla o porta el código a windows, luego hay poca documentación y pocos ejemplos en internet. Además la comunidad no suele volcarse mucho a liberar las últimas API y compilarlas para Windows.

Realizando unas pocas pruebas e investigación, he conseguido ejecutar Tivion en Windows, con bastantes bugs y errores, pero semi-funcional.

El primer objetivo ha sido instalar Python. No ha habido problema, puesto que probando con Python 2.6.5 existian ejecutables para instalarlo desde la web oficial.

El problema ha venido después, cuando he querido instalar PyGTK. Para ello he necesitado PyCairo y PyObject, pero las ultimas builds no eran recientes ¡Incluso de varios meses! ¿como vamos a ganar cuota de mercado en GNU/Linux si no ofrecemos las ultimas compilaciones de software en otras plataformas? Aqui quizás exista un punto debil por parte de la fundación GNOME.

La última build es la pygtk-2.12.1-3 y  como ya saben los usuarios de Tivion, se necesita PyGTK 2.16 al menos. Luego he tenido que capar bastante código para que la interfaz y algunas funciones se ejecutaran. Pasado esto, habia que adaptar las rutas de ficheros y pelearse un poco con la ¿inexistencia? de las tuberías en windows (quizá exista alguna forma de tenerlas, pero no al menos con os.mkfifo() de python).

Así que, el resultado ha sido una interfaz bastante aproximada, pero con algunos fallos como carga de iconos y al no poder utilizar tuberías, la salida de mplayer en el mismo terminal y no en un fichero de tubería.

Por otro lado, existe un problema para poner la ventana de Mplayer en modo esclavo, ya que se necesita un XID (Xorg ID iirc, un ID de ventana para que lo reciba el wigdet donde se coloca el reproductor de mplayer) ya que parece ser que windows.xid no funciona en Windows  XP.

Buscando en Google, he encontrado que un desarrollador afín al proyecto Pitivi utiliza el windows.handle en su lugar, pero no he conseguido mediante este atributo que se integre la ventana esclava de mplayer.

Asi que de momento, se lanza una ventana con la interfaz de Tivion 0.0.2 y otra ventana con Mplayer (horrible!). Además la gracia es que en Windows si haces una captura de pantalla, parece ser que no es capaz de capturar el video por alguna razón y sale todo en verde, como apreciareis en la siguiente captura, aunque doy fe de que ahí se cargo un streaming de video con imagén ;)

El resultado (click para ampliar):

Ejecución de tivion-0.0.2 en Windows XP
Ejecución de tivion-0.0.2 en Windows XP

Espero seguir investigando algo más y poder ofrecer una versión presentable de Tivion para Windows (al menos Windows XP), porque de momento no considero que sea apta para una release.

Tivion 0.0.2: ahora con 48 canales más, más del doble!

Pantallazo-Tivion 0.0.2
Tivion 0.0.2

Tivion 0.0.1 tenía un listado de 30 canales (sólo españoles), pero en esta nueva versión, se incorporan otros 48 canales nuevos, es decir, un total de 78 canales en Tivion 0.0.2.

Los canales son de varios países, en concreto 36 canales británicos (contando los canales LoSp = Low Speed), 4 canales argentinos, 1 canal ruso, 2 canales españoles y 5 radios españolas.

El listado completo de los añadidos:

España:

La 1 – TVE + LoSp

Radios (R de Radio):

R – Cadena SER Motril
R – RNE Radio 1
R – COPE
R – OndaCero Madrid
R – Punto Radio

Reino Unido:

BBC 1 + LoSp
BBC 2 + LoSp
ITV 1 + LoSp
Channel 4 + LoSp
Channel 5 + LoSp
ITV 4
Film 4 + LoSp
Zone Horror + LoSp
BBC XTRAS + LoSp
Eurosport 2 + LoSp
Eurosport News
Scuzz + LoSp
Flaunt + LoSp
Fashion TV + LoSp
BBC Click
BBC Daily Politics
BBC Panorama
BBC Question Time
BBC News 24H
BBC Newsnight
Invincible
MTA 3 Al Arabiyah
MTA Muslim TV
QVC
Sky News

Argentina:

Arco Iris TV’,
Canal 11 – Paraná
Canal 13 – Buenos Aires
Canal Luz Satelite

Rusia:

РБК tv

Muchos de los nuevos canales están en formato TS, es decir, “video Transport Stream file”, que es un formato de vídeo que es usado para almacenar vídeo en un DVD, utilizando la compresión de vídeo del estándar MPEG.

Este asunto tiene sus ventajas y desventajas. La ventaja es que recibirás una calidad de señal en HD (High Definition) pero el backend de Mplayer necesita un par de segundos adicionales para convertir a MPEG y hacer una buena caché.

Por lo tanto, es normal que necesitéis de 5 a 15 segundos para canales que no son LoSp, e incluso para los LoSp que aunque es menor ancho de banda, siguen siendo TS, necesitaras unos segundos para descomprimir el vídeo inicial. No penséis que esta roto o no carga, sólo necesita unos segundos más (en próximas versiones daré más información de la reproducción del vídeo).

Por otro lado, he empezado ha hacer el boceto de archivo de configuración en Archivo > Configuración (de momento solo muestra tu “locale” del sistema y no el de la aplicación).

También ha sido corregido el bug LP#422875 en Launchpad (como algún usuario avezado comentó), por lo que es necesario para ejecutar el programa PyGTK 2.16. En Karmic viene ya esta versión, pero si deseas ejecutarlo en Jaunty o posteriores, necesitas descargar los paquetes de Karmic o bien compilar los fuentes de PyGTK, de lo contrario el .deb no te dejará instalarlo.

Sín más dilación, los enlaces de descarga (añadido .deb para amd64, como algún usuario solicitó):

Paquete deb

i386: [download id="1"]
i386.changes: [download id="2"]

AMD64: [download id="3"]
amd64.changes: [download id="4"]

Source: [download id="5"]

DSC: [download id="6"]

También se pueden descargar desde mi PPA personal para Tivion (también las próximas actualizaciones y por si me reventais el ancho de banda del servidor…pillines):

https://launchpad.net/~shakaran/+archive/ppa

Gracias a:

jjgomera: por la facilitación de muchos canales británicos y radios españolas y la idea del parser XML.

#pyar y #python-es: por contestarme las dudas pythonicas con mucha paciencia.

Lista ubuntu-ar: por inspirarme en incorporar nuevos canales Argentinos.

PD: Tengo pensada hacer una galería de capturas y me gustaría hacerla con la ayuda de mis usuarios. Así que si te gusta el programa, haz una captura de él mientras lo usas (viendo cualquier canal disponible) y postéala en este mismo post (con un enlace a la imagen) con tu nombre y url de blog/web (si tienes) y expondré las mejores imágenes que impacten o resulten anecdóticas.

Tivion: un reproductor streaming para TV online en Ubuntu

Tivion: un reproductor streaming para TV online en Ubuntu
Tivion: un reproductor streaming para TV online en Ubuntu

Tivion es un simple reproductor de canales streaming de TV online. Es un programa que he desarrollado en Python, utilizando las bibliotecas GTK, PyGTK y el backend del reproductor MPlayer.

Interfaz Tivion 0.0.1
Interfaz Tivion 0.0.1

Dispone de una interfaz en inglés y en español (a falta de nuevas traducciones) y es capaz de reproducir los siguiente 30 canales españoles por el momento:

1 – 24 horas
2 – Nova
3 – Intereconomía
4 – Canal Sur
5 – Extremadura
6 – A3 Noticias 24h
7 – Neox
8 – Canal Parlamento
9 – A3 Internacional
10 – CNN+
11 – ATEI
12 – Almansa TV
13 – Aragon TV
14 – Ojos Solidarios TV
15 – Duson TV
16 – ETB Sat
17 – Fuego TV
18 – IB3 TV
19 – Localia-Huesca
20 – Madrid (DGT)
21 – RTV Insular
22 – Teleasturias
23 – Telebahia
24 – TV Ferrol
25 – Teletaxi
26 – TV Canaria
27 – TV Martí
28 – TV Segovia
29 – Velevisa
30 – Videncia TV

Entre otras características, soporta:

- Pantalla completa (F9)

- Pausado (Ctrl + Espacio)

- Reanudación (Ctrl + Espacio)

- Parada

- Subida/bajada de volumen

- Captura de pantalla (Ctrl + S)

- Ventana encima

Puedes encontrar el icono de acceso directo en Aplicaciones > Internet > Tivion o bien ejecutar el binario escribiendo en el terminal tivion

Un pequeño video de Youtube mostrando la interfaz de la aplicación:

[youtube]http://www.youtube.com/watch?v=k5HSUkSD3yo[/youtube]

La primera versión liberada es la tivion 0.0.1 esta bajo licencia GPLv3 que a continuación puedes descargar como .deb y código fuente.

Paquete deb
tivion_0.0.1-0ubuntu1_i386.deb

Código fuente: [download id="26"]

DSC: tivion_0.0.1-0ubuntu1.dsc

Changes: tivion_0.0.1-0ubuntu1_i386.changes

Se agradecería a la gente interesada en incorporar nuevos canales (de España u otros países), reportar bugs, mejoras, sugerencias, etc que me escriban un correo o bien dejen aquí un comentario con la url del la web/canal de streaming/bug/mejora/sugerencia.

Actualizacion:

Como algunos usuarios me han sugerido (gracias #pyar) estoy en pleno proceso de activar el proyecto en Launchpad:

https://launchpad.net/tivion

De momento estoy investigando e informándome, pero es posible que podáis reportar fallos, sugerencias y demás allí.