WiiTube. MPlayer v0.05 parcheado para YouTube

Hola,

He modificado a partir de los fuentes de r0n el MPlayer v0.05 para que soporte enlaces a YouTube.

La idea es que ahora se puede añadir al mplayerwii.conf cosas como:

# WiiTube - videos embedded in a youtube link
youtube_cache = 1 # Will download the flv to SD
stream = http://www.youtube.com/watch?v=Si_2Kupo13c
stream = http://www.youtube.com/view_play_list?p ... 07C1AE3241
stream = http://www.youtube.com/results?search_q ... &partner=1

El primer enlace la pagina de un video, el segundo es una lista de videos y el tercero es un ejemplo con el resultado de una busqueda cualquiera. El parser se recorrerá la página buscando referencias a videos flv y pasándolas al mplayer para reproduccion sucesiva de videos (uno tras otro).

El parametro youtube_cache controla si se vuelca completamente el .flv a la sdcard antes de reproducirlo (el streaming directo no va demasiado bien).

Es una primera versión y no va demasiado bien (lo sé) pero es mi primer código homebrew para la Wii... y sin usbgecko... ¡espero comentarios!

Para descargar el fuente:
http://www.megaupload.com/es/?d=3LBMOWR0

El binario para descomprimir en la SD:
http://www.megaupload.com/es/?d=BOKLMB4J
Esto va a pasos agigantados, gracias por vuestro trabajo
Guau, genial, muchas gracias ^^ una idea estupenda.

Lo probare en casa.
Yeeeeeeah! Muchísimas gracias, tío, me viene de perlas. Un saludo!!! ;)
Podrías enviarle tus cambios a chris para que lo integre en su siguiente versión.
rodries escribió:Podrías enviarle tus cambios a chris para que lo integre en su siguiente versión.


Ya lo he intentado, pero su email me rebota los correos.

También lo he posteado en el hilo de dcemu y a fcorbier por MP, ya contestará supongo.

De todas formas ahora mismo mi código anda un poco chapucero, he tenido problemas las funciones de sockets y me la está jugando libfat... seguiré toqueteando.
alienmind escribió:
rodries escribió:Podrías enviarle tus cambios a chris para que lo integre en su siguiente versión.


Ya lo he intentado, pero su email me rebota los correos.

También lo he posteado en el hilo de dcemu y a fcorbier por MP, ya contestará supongo.

De todas formas ahora mismo mi código anda un poco chapucero, he tenido problemas las funciones de sockets y me la está jugando libfat... seguiré toqueteando.

Ya lo he visto en el foro, así que seguro que lo tendrá en cuenta.

Asegurate de usar todos los patch del tracker de sourceforge y usar el ultimo cvs.
¿ Qué problemas te da la libfat ?
Libfat está regular, no es una buena librería, sobre todo para escribir. Cada vez que borro algo, normalmente me deja cadenas libres sin archivo y debo pasarle el scandisk para recuperar el espacio libre. No es bueno borrar archivos con esta librería. Puedes probar a dejar el archivo temporal siempre en la sd y usar siempre el mismo y machacarlo, de esta forma creo que da menos problemas.
rodries escribió:Asegurate de usar todos los patch del tracker de sourceforge y usar el ultimo cvs.
¿ Qué problemas te da la libfat ? Libfat está regular, no es una buena librería, sobre todo para escribir. Cada vez que borro algo, normalmente me deja cadenas libres sin archivo y debo pasarle el scandisk para recuperar el espacio libre. No es bueno borrar archivos con esta librería. Puedes probar a dejar el archivo temporal siempre en la sd y usar siempre el mismo y machacarlo, de esta forma creo que da menos problemas.


En principio use los binarios de libfat compilados por él, ya que traté de compilarla yo mismo con los parches y me daba varios errores. Tampoco perdí demasiado tiempo ya que con la suya funcionaba... aparentemente. Lo cierto es que hay algún tipo de problema con la escritura, fopen() no devuelve error pero luego falla en algun momento entre el fwrite() y el fclose()... no tengo facilidades para depurarlo y reconozco que soy un poco usuario "comodón" (admiro todo lo que habéis hecho en la scene con los medios que hay...). ¿Sabes si el libfat que da chris es sólo readonly o algo así?

De todas formas esto de la cache fue una improvisación de última hora, lo suyo sería arreglar el código de streaming mplayer que por lo que sea tiene problemas para streamizar un flv ...
alienmind escribió:
rodries escribió:Asegurate de usar todos los patch del tracker de sourceforge y usar el ultimo cvs.
¿ Qué problemas te da la libfat ? Libfat está regular, no es una buena librería, sobre todo para escribir. Cada vez que borro algo, normalmente me deja cadenas libres sin archivo y debo pasarle el scandisk para recuperar el espacio libre. No es bueno borrar archivos con esta librería. Puedes probar a dejar el archivo temporal siempre en la sd y usar siempre el mismo y machacarlo, de esta forma creo que da menos problemas.


En principio use los binarios de libfat compilados por él, ya que traté de compilarla yo mismo con los parches y me daba varios errores. Tampoco perdí demasiado tiempo ya que con la suya funcionaba... aparentemente. Lo cierto es que hay algún tipo de problema con la escritura, fopen() no devuelve error pero luego falla en algun momento entre el fwrite() y el fclose()... no tengo facilidades para depurarlo y reconozco que soy un poco usuario "comodón" (admiro todo lo que habéis hecho en la scene con los medios que hay...). ¿Sabes si el libfat que da chris es sólo readonly o algo así?


Ahora mismo no tengo mis fuentes modificados, y estoy haciendo una serie de cambios y no se como de estable la tengo, en cuanto pueda te envío mis fuentes para que lo puedas compilar.
Dime a que email quieres que te lo envíe. Que yo sepa no es readonly. Yo he podido escribir en mi usb sin ningun problema, esi sí, borrar lo hace fatal, el unlink no va bien, a ver si un dia de estos le hecho un vistazo, pero el sobreescribir a mi no me ha dado problemas que yo sepa.

alienmind escribió:De todas formas esto de la cache fue una improvisación de última hora, lo suyo sería arreglar el código de streaming mplayer que por lo que sea tiene problemas para streamizar un flv


El problema suele ser la tasa de transferencia, en cuanto le falta buffer demasiado rato suele dar un coredump. Ahora mismo Chris está mirando de optimizar el mplayer pero no dispongo de los fuentes del port del mplayer, yo estoy mas orientado al tema de la libfat y el usb para mejorar el soporte, podrías intentar enviarle un email para que te envíe los fuentes del port del mplayer a ver si puedes hacer algo con eso. Su email está en su web abajo del todo.
rodries escribió:Ahora mismo no tengo mis fuentes modificados, y estoy haciendo una serie de cambios y no se como de estable la tengo, en cuanto pueda te envío mis fuentes para que lo puedas compilar.


Gracias, aunque ya lo he podido compilar yo. No sé qué hice mal. Siguiendo tu sugerencia he aplicado el resto de parches pendientes... no sólo a libfat sino a libogc lo cual está de p.m. porque ahora tengo función poll() que me soluciona el otro problema que tenía con mi código de red...

rodries escribió:El problema suele ser la tasa de transferencia, en cuanto le falta buffer demasiado rato suele dar un coredump. Ahora mismo Chris está mirando de optimizar el mplayer pero no dispongo de los fuentes del port del mplayer, yo estoy mas orientado al tema de la libfat y el usb para mejorar el soporte, podrías intentar enviarle un email para que te envíe los fuentes del port del mplayer a ver si puedes hacer algo con eso. Su email está en su web abajo del todo.


Thx. Bueno, a mi me parece que hay algo más porque el streaming va mucho peor con .flv que con .avi ... y eso que son menos pesados... Los fuentes completos del MPlayer yo los he sacado aplicando su diff al tarball de MPlayer-1.0rc2 original ... pero no lo he conseguido compilar directamente así que sigo con sus objetos precompilados.

En cualquier caso espero sacar otra release de aqui a mañana, esa será la que le pase para que integre.

Gracias por todo ;-)
10 respuestas