mariano-git / plugin.video.flow

Personal Flow plugin for KODI :argentina:
MIT License
21 stars 1 forks source link

Not really an Issue. #11

Closed SanSan74 closed 1 year ago

SanSan74 commented 1 year ago

Hi Mariano,

First, thanks for the project, works flawless on Kodi 19, your add-on saves my life, the Android TV Flow app is garbage, they re made to make it not comfortable to use, on purpose.

I'm asking my self why not make this proyect to act as a proxy, like liveproxy not only a Kodi add-on, let the client handle the stream, is the DRM key refresh the issue?

I'm not a developer, only knows the basics of python.

again, thanks for your great job.

mariano-git commented 1 year ago

Hi @SanSan74 You're welcome and I'm glad that you liked this project and you find it useful.

I'm not sure to follow you with your question about liveproxy. As a matter of fact, Kodi's plugin architecture is a kind of proxy, Kodi delegates to the plugin how to find the stream. DRM negotiation is also a plugin in Kodi too. You just need to provide how to find it (not exactly like that but a sort of...)

Would you mind to elaborate a little more about your observation? You can write in spanish too... :wink:

SanSan74 commented 1 year ago

Hola Mariano, gracias por responder.

No conocia las funcionalidades que ofrecia el Kodi con respecto al DRM y su trabajo de proxy, realmente es increible.

me explico, con el comentario anterior.

Liveproxy actua como un proxy para muchos servicios de streaming, le envias un comando y el proxy responde con un m3u8 compatible con cualquier cliente que soporte el format, pense por un momento, seria una solucion genial poder tener un liveproxy para Flow, ya que los HLS de Flow tienen DRM y los clientes como el VLC no pueden reproducir el stream. Hoy en dia tengo un liveproxy corriendo en un docker para poder ver canales en vivo de YT, usando un cliente IPTV.

imagine algo asi como (server/dockerized): flow_proxy.py --userFlow xxxxxxx --passFlow xxxxx

cliente se conecta y devuelve: flow_live.m3u8 / flow_egp.xml

reproducido por VLC(?) o cualquier otro cliente que soporte .m3u8/.m3u

Gracias!

mariano-git commented 1 year ago

Claro ahora te entiendo... Basicamente seria imposible realizarlo para cualquier stream con DRM dado que la decodificacion se realiza despues de consumir el HLS o el DASH, y funciona a nivel de MP4 (que generalmente es el paquetizado del video en si).

Imagino que podria ser posible con un software que pudiera recrear el HLS o el DASH con el MP4 decodificado y servirlo de esa forma, pero no solamente hacer proxy porque no funcionaria tampoco.

Seguramente algo asi exista por ahi pero actualmente no conozco ninguno. Aunque habria que investigar ffmpeg, quizas lo haga pero imagino que seria necesario implementar algo para proveerle el material DRM (keys, hashes etc) ...

Saludos!!

SanSan74 commented 1 year ago

Por eso comentaba (ahora que leeo mi primer comentario, le faltaba mas contexto, perdon) el problema seria el DRM key/hashes.

Ahora que se que el Kodi maneja el DRM y los Keys, entiendo por que no tiene problema en reproducirlo, aparte la dependencia que maneja el DRM debe pedir el key al server y armar el HLS / DASH, como lo hace la pagina de phlow (espero que no se haga muy popular el proyecto por que van a venir por ti)

La clave esta en el InputStream, nunca mejor dicho 😉

Hace tiempo intente hacer algo con ffmpeg y termine en el streamlink que me llevo al liveproxy, de ahi lo conozco, tengo entendido que no maneja HLS ni DASH ni DRM, por un tema legal "CREO", no tengo 100% certeza de esto, creo haber leido aca en github que justamente los devs para evitar problemas legales no se metian con el DRM, por eso existen liveproxy y streamlink.

Saludos!

mariano-git commented 1 year ago

Si, hay cierta confusion con todo el tema DRM. Basicamente no hay ningun problema en manejar streams protegidos con DRM siempre y cuando puedas conseguir "legalmente" las claves para poder procesarlo y reproducirlos.

FFmpeg si procesa DRM (https://go.buydrm.com/thedrmblog/deploying-drm-workflows-with-ffmpeg) lo que probablemente no pueda procesar es el DASH o el HLS, pero no soy especialista ni nada para asegurarlo...

SanSan74 commented 1 year ago

Si claro, el DRM con clave es legal de usar.

Voy a seguir mirando por ahi y le digo a chatgpt que me arme el codigo en python.

Otra vez y no me canso, Gracias por tu trabajo, es una solucion increible y anda muy bien, lastima que aun no funcione con Nexus, igual Matrix anda muy bien.

Saludos!

Gracias

PD Cierro el caso.