PDA

View Full Version : Fifo and pipe? for VDR MPlayer client


alib
2004-12-06, 17:53
hi

we're on the way of building a streamdev vdr client for xbmc. ( www.cadsoft.de/vdr )

the vdr server wills tream dvb tv to xbmc.

for the moment everything works fine with http streaming. but to allow fast zap we can't buffer data like that.

so the other way is to use vtp protocol ( the embedded streamdev server protocol ).

this protocol oblige the client to open a port, and the server send the mpeg2 data trought this port. our problem is hooking those data to mplayer.

i'm wondering if it's possible to use pipe with xbmc like with linux.

what we want to do is pipe the data from the port to a fifo,
then call mplayer like when we want him on linux to read fifo :


cat streamfifo | mplayer -



anyone can tell us if it's time to stop wasting time on this as it's not possible or if we're on the good way ?

thanks a lot

alib
2004-12-07, 19:06
ok we succeed to open a port on the xbmc client side with python, and sending mpeg2 data to it..
but now we don't have any idea on how we can involve mplayer to read this.

please any developper who have an idea ?

thanks

Sad
2004-12-07, 23:06
hello all,

i work with alib on that xbmc stream client for vdr...

i find out that, usually with python, pipes are created like that:
os.popen(myprog,'w')

but, with xbmc python, when i try to use this, the only reply i have from the debug output is
attributeerror: 'module' object has no attribute 'popen'

so, is there another way to create a pipe with xbmc python, or do we have to find another way to do what we what to do (directly play a stream from a socket?)

thanks...
sad

alib
2004-12-09, 11:24
so is there no xbmc developpers who have any answer here ?

it seems python in xbmc have some missing functions.

darkie
2004-12-09, 12:47
i find out that, usually with python, pipes are created like that:
os.popen(myprog,'w') this isn't working because the xbox does not support pipes. so yes,python for xbmc is missing some functions, but i can't do anything about it. but as sad already said, you can use a socket for it

another problem is that the current mplayer interface doesn't handle pipes anyway. so even if you got python to work, it isn't going to work unless you modify the xbmc and mplayer source so that it can read from something else then files only.

something else that could be done maybe is to create a new cfile type (needs edditing of xbmc source) that can read raw data from socket's

fluidman
2004-12-09, 15:23
any news on this yet?

alib
2004-12-09, 16:28
thanks darkie, things looks more clear now

if there's some tweaking in xbmc source to do, why not, vdr guys are more skilled in c than python.

we will keep you informed on how the things are going.

Sad
2004-12-09, 16:49
thanks very much darkie, clear answer!!

so, if we want to play raw data from a socket, we have to work on xbmc sources (thanks god, no more python :o )

we'll see what can be done, and if we can do something, we'll share it, i tought that this should be usefull for other's people!

thanks again

sad

ragawu
2007-02-02, 18:21
Did you ever get anywhere with this?

It seems like this is the great stumbling block to get a proper VDR client setup on XBMC. VDR is much more attractive to me than a Windoze setup! xStreamdev while functional doesn't rate a high WAF.

all the best

Alasdair