View Full Version : LinVDR video/control client built-into XBMC (ex. streamdev plugin)
hi all,
i would like to know if there are more people who would like to see a possibility to stream live-tv to the xbox using a vdr server with a dvb card installed.
the streamdev plugin for vdr supports the so called vdr-to-vdr streaming which makes it possible to watch live-tv over the network using another vdr(client).
fortunately, the developer describes the protocol used in detail to help building other clients.
http://www.magoa.net/linux/index.php?view=streamdev-unstable
it is a simple ftp-style protocol with one control and one data connection. the client tells the vdr-server which channel it would like to receive. the vdr-server connects to the previously passed ip and port to stream either ts, pes or ps.
what do you think?
best regards,
boxler
nanite1000
2004-01-16, 01:31
i am really interested in this! i'm planning to build vdr server with 1 or 2 dvb-c cards. it would be very nice to make xbox act as client.
with this plugin you need to have vdr client. so we need to code vdr core to xbmc?
i saw somewhere that mplayer can play vdr streams (dvb://), but can it control vdr server (change chanels, pause, etc.)? that would be the easiest way as xbmc has mplayer core.
do you have vdr server? maybe you could test this quickly with xbox linux install and use original mplayer in there.
dvb-radio uses shoutcast, okay its supported. we only need to change channels.
hi,
it is not necessary to port vdr to xbmc.
xbmc should be simply acting as a client to receive the vdr stream.
mplayer should be able to play vdr (pes) streams.
the vdr server can be controlled very easily using the streamdev-plugin and its implemented protocol:
version: 0.0.2
description:
------------
i call this protocol "vtp", the video transfer protocol. i hope that's not
already claimed by someone;).
this protocol was created for video transfers over a network. it is a text-
based protocol like the ftp, and is used by a client to communicate with a
server providing different types of video data, such as live streams,
recordings or disc media. the basic communication consists of short text
commands sent by the client, answered by numerical codes accompanied by
human-readable messages. all messages should be finished by a full cr/lf
line-ending, which should preferably written as "\015\012", as this is fully
platform-independent. nevertheless, a client or (especially) a server should
also act on "\n" line-endings. the mpeg data is being transmitted over a
separate data connection.
response code summary
code meaning
220 last command ok / connection ready
221 service is closing the connection afterwards
500 the command was not recognized
501 the parameters couldn't be interpreted correctly
550 action not taken, for various reason
551 action not taken, a subsequent connection was unsuccessful
560 this type of media couldn't be served
561 capability not known [new in 0.0.2]
command reference
command: connect to vtp server
responses: 220 - the server is ready
description: upon connection to the server (which usually listens at port
2004), the first thing the client has to expect is a welcome message with
the "220" response code. the client may now send a caps command, to tell
the server it's capabilities.
command: caps <capability>
responses: 220 - this capability is known and will be used from now on.
561 - this capability is unknown, try anotherone
description: this command tells the server to serve media data in a specific
format, like "pes" (for mpeg2-pes) or "ts" (for mpeg2-ts). a client can
do several caps commands until the server accepts one. so a client should
try all formats it can handle, descending from the most preffered one. if
no such command is sent, streaming is defaulted to pes.
[new in 0.0.2]
command: prov <priority> <media>
responses: 220 - media available for receive
501 - the parameters were incorrect
550 - the media couldn't be identified
560 - this server can currently not serve that media
description: with this command, the server is asked if the given media can
be received. the priority is a number between 0 and 100 (in case a media
can not be received by an unlimited number of clients, the server shall
grant higher priorities before lower ones, and it shall also quit streams
with lower permissions if a higher one is requested), or -1 to ask the
server if this media is available at all.
the media is a string defining the wanted media type. this is currently for
free use, it could for example carry a vdr unique channel id, to specify
a tv channel.
command: port <address and port>
responses: 220 - the port command was recognized ok
501 - the argument didn't have six numeric fields
description: the port command tells the server the target of a following
media transmission. the argument has six comma-separated fields, of which
the first four represent the target ip address, in the byte-order as the
dot-notation would be printed. the last two fields represent the target
port, with the high-byte first. to calculate the actual values, you could
use the following:
field(5) = (realport & 0xff00) shr 8
field(6) = realport & 0xff
reversed:
realport = (field(5) shl 8) + field(6)
command: tune <priority> <media>
responses: 220 - data connection was opened successfully
501 - the parameters were incorrect
550 - the media couldn't be identified
551 - the data connection couldn't be established
560 - the media is unavailable
description: this command tells the media server to open a connection to a
remote target specified by the port command before. please look at the prov
command for the meaning of the parameters. the server then opens a data
connection to that target, and begins to send mpeg data. after the
data connection is established, the response code "220" is sent.
command: abrt
responses: 220 - all data connections closed
description: this one should be sent before requesting another media or when
a media isn't needed anymore. it terminates all data connections to this
client.
command: quit
responses: 221 - connection is being closed afterwards
description: this commands terminates the client connection.
so, i would like to have a new menu item in the main menu "live-tv". once you have selected this one, you should be able to switch between the different channels.
vdr itself (not the plugin) offers a service protocol(svdrp), which is also text-based. here you can set recording timers, etc.
i would love to see this feature in xbmc, in fact i've been waiting on it since i heard it was possible in xbmp.
i want to know if i need a vdr card in my computer, to watch live-tv vdr on it. if so where can i get a list of servers to test it out.
i have a leadtek winfast delux 2k, which i dont think is vdr capable. does any know?
Steve2710
2004-01-22, 13:06
i recently obtained a dvb-t card, now installed in my server. the software that comes with the card (digitv) supports network streaming (unicast & multicast) under windows xp. it too uses a control port (2820)& a data port (2821). i have succesfully played captured streams on xbmc (& xbmp), so i will be trying to get the xbmc to play the live stream. perhaps any development in this area could be made configurable, since there are several dvb options, never mind the various card manufacturers & software variables. i would definately like to be able to control my dvb card from the xbmc.
steve
thebeast
2004-02-11, 02:09
this seems interesting, for those with vdr setups. but let's get streaming from internet working first (or is it already?)
here is what i posted and it was deleted... why ?
------------------------------------------------
dvb - xns - xbox
------------------------------------------------
here is a small tutorial of how to watch satellite channels from a dvb card on your xbox.
first of all you need a dvb card propertly installed in your computer as well as it works with my theater software
i'll use this site for the things you need: http://multidec.host.sk/en/download_dvbcore.html
of course these files can be found all over the net.
i use this version mytheatre ver. 2.76 but it works with any other.
1.download my theater and make it work so you can see the channels on your pc.
2.download this plugin http://dvbsoft.rvsnet.cz/files/avbroadcaster008a.zip
3.put the .dll file in the plugins subdir of my theater and restart it
4.press ctrl+alt+b and enable xns server
5.configure you xbox to the ip of your pc and port 1400
- for me it worked best with last xbmc cvs build from 12.2.2004
- for streaming other files from pc's hdd use smb !
6.go in your xns in videos in xbmc and you should be able to see one .mpg file with size of 0.1k
7.run it and watch
i want to say my big thanks to the guy that made this plugin for my theater, i was looking long time for something like this and only found tsreader witch is not free and cannot decode channels using yankse plugin...
feature needs in this plugin:
1.to be able to control the channels from the xbox.
2.to be able to stream the whole transponder, so you can watch all the channels on it.
3.may be to become a standalone program using only dvbcore, just for sreaming, not to watch on pc.
if these features come true, the xbox will become partly a dreambox satellite reciever witch will make it even more useful then ever.
-----------------------------------------------------
Gamester17
2004-02-20, 12:45
here is what i posted and it was deleted... why ?
not deleted, moved. i moved it to a other forum, link (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st;f=8;t=1898)
ok 10x, there was a period that i couldn't find it with the search option, i guess it was not indexated yet, that's why i thought that it was deleted...
i got some questions, can it be made some sort of remote controll for dvb over xns ? with python for example... ?
Gamester17
2004-02-20, 13:44
i got some questions, can it be made some sort of remote controll for dvb over xns ? with python for example... ?
don't think so, not without extending the xns protocol code, as it only has a so many & specific commands it can send with current code
in that case we should change the protocol, this plugin also works on rtp and udp, but we need some changes in the plugin as well and i got problems finding and talking with the one that builds it, because he don't have any web representation of his projects...
in the readme he says that the sources should be inside the package but i don't see any!?!
nomenquis
2004-09-24, 21:34
hi,
i was wondering if there are any python scripts available to act as a streamdev client for vdr (cadsoft.de/vdr).
xbmc is great and i do like it a lot but the one thing i'm missing is being a vdr client. (vdr is a dvb app and using the streamdev plugin of vdr one can stream dvb content, get epg, make timers etc).
it is already possible to stream vdr channels. just let the vdr go to "suspend mode" ("pause live tv" in the main menu) and open a .m3u-file (save them from vdr-admin or create them yourself). these files have just the following content: "http://ip_of_your_vdr:3000/x" where x is the number of the channel. i have created one for every channel i want to stream and named them as the channel, too. so i just play them out of "my movies" and watch tv.
nomenquis
2004-09-24, 23:08
it is already possible to stream vdr channels. just let the vdr go to "suspend mode" ("pause live tv" in the main menu) and open a .m3u-file (save them from vdr-admin or create them yourself). these files have just the following content: "http://ip_of_your_vdr:3000/x" where x is the number of the channel. i have created one for every channel i want to stream and named them as the channel, too. so i just play them out of "my movies" and watch tv.
yes, i know that. sorry, i did not make myself clear. i do not just want to stream live tv but act as a "full" streamdev client. so i can watch the recordings, have access to epg and also program timers.
ok, misunderstodd you and you´re right,a full client would be fine. and shouldnt´t be so much work (its allreadey done for dreambox and dbox2) if one knows how to do that ;)
Well this post is very old - obviously VDR isn't used by many XBOX owners!
(If you've not heard of it, read on..)
VDR being a very capable and long running DVB PVR application on Linux is perfect in bringing live TV / Time shifting / EPG based timed-recordings etc to the XBMC.
While the xstreamdev plugin gets us somewhere along the road - it's not seemed to have much work done on it recently and is sorely needing improvements, notably - live channel switching, support to pass remote codes onto VDR server, or preferably a direct stream of the VDR OSD.
Currently there are a few options for controlling a VDR box:
Xineliboutput whereby a stream of the output of VDR is channeled to the client - has support for remote control of VDR's menu, so you can record a channel being watched, browse the EPG, set Timers, view previous recordings etc. Obviously the hurdle with this option is there's no xine-lib DLL on XBMC... ;-)
VDR Streamdev-client: This is what's being used for the xstreamdev python script currently available, however it's never reached full maturity. It currently lacks support for streaming recordings from the server - though this could be achieved simply with a script parsing SVDRP output and Samba folders into one list. SVDRP - VDR's protocol should be improved soon and ideally would have support for all the main functions of VDR. Being able to cut out the adverts from your recordings while viewing them before instructing the vdr-burn plugin to archive the recordings would be fantastic.
I reckon VDR is ideal for people and only suffers from a lack of exposure - though it's massive in Germany, where the program originated. Because it's lightweight, under very active development, and can run on fairly limited hardware VDR, it's perfect for bolting onto your linux based file server - have one yet? ;-). Just plug in a couple of cheap DVB-T cards.
Running DVB software on a windows box doesn't make sense- people need an always on file & PVR server, and Windows is simply not an option for this. License issues aside - it's poor reliability, cost of ownership & terrible track record on security means I'll never again store the bulk of my files on a windows box.
While Mythtv has better support in XBMC than VDR, unless you've got another mythtv client in your house, I don't think there's any point having all the crossovers between XBMC and the PVR client. XBMC already handles music, video files, internet accessing plugins, very very well. Anyway, MythTV was designed around analogue capture cards, and though supports DVB very well these days still has many many strange things going on in it's design - X windows system? MYSQL backend??
As a client for a trusted & very functional bit of software handling the PVR side of things - *VDR*, the xbox would surely become the ultimate home accessory!
I'm keen on more work happening on this idea - I don't believe it's particularly hard work for a programmer with average skills, though I'm unable to program well enough at the moment. That's not to say I don't want to be involved with development, just more as a guinea-pig/opinionated user!
Maybe I need to convince some of the devs to give VDR a go.. try it - you'll like it and never want to watch normal TV again.
all the best
Alasdair
VDR here: www.cadsoft.de/vdr
i totally agree. vdr is awesome and as mentioned above under very active development. @devs .. please give it a try :)
Firsts of .. sorry for bumping this old thread, but i think it would be nice if XBMC would also support a VDR backend/server to stream LiveTV and recordings beside the recently added MythTV backend capabilities.
At the moment VDR streams are started very very slow and there's no possibility of changing the current channel, which could be done easily with the simply VDR protocol language (SVDRP) which is using a simple socket connection.
http://linuxtv.org/vdrwiki/index.php/Svdrp
http://linuxtv.org/vdrwiki/index.php/Xineliboutput-plugin
In case a developer is willing to give it a try i could offer a VDR for testing purposes.
alcoheca
2008-02-24, 14:51
Firsts of .. sorry for bumping this old thread, but i think it would be nice if XBMC would also support a VDR backend/server to stream LiveTV and recordings beside the recently added MythTV backend capabilities.
At the moment VDR streams are started very very slow and there's no possibility of changing the current channel, which could be done easily with the simply VDR protocol language (SVDRP) which is using a simple socket connection.
http://linuxtv.org/vdrwiki/index.php/Svdrp
http://linuxtv.org/vdrwiki/index.php/Xineliboutput-plugin
In case a developer is willing to give it a try i could offer a VDR for testing purposes.
I would love to bring VDR to XBMC, so much so that I'm going to be attempting this while at university.
Rather than focus on VDR specifically (or MythTV, or whatever), I agree with Gamester17, that work should be done on a universal frontend to the many PVR apps out there, with specific DLLs or plugins to interface with the PVR's server API.
discussion: http://www.xbmc.org/forum/showthread.php?t=28918
This can only become a reality if more interest is shown by programmers willing to tackle this.
sledgehammer
2008-04-19, 16:52
Sorry to resurrect this thread again but I just wonder how many people are actually interested in this?
I have had some success with modifying Xstreamdev and some server side code to enable seamless playback of recordings, which I think was the main stumbling block for Xstreamdev.
I have written to the author of Xstreamdev for some joint work on this but have had no reply.
So ladies and gents do I continue? Is there a demand for this?
Regards
John
Sorry to resurrect this thread again but I just wonder how many people are actually interested in this?
I have had some success with modifying Xstreamdev and some server side code to enable seamless playback of recordings, which I think was the main stumbling block for Xstreamdev.
I have written to the author of Xstreamdev for some joint work on this but have had no reply.
So ladies and gents do I continue? Is there a demand for this?
Regards
John
Yes. Please continue. What do you mean by "server side code"? Code within XBMC or the Streamdev-Server plugin?
VDRFan
sledgehammer
2008-04-23, 14:51
Thanks VDRfan although the silence is deafening :-)
Are you able to compile code in particular fuse on your VDR server? If you can compile the fuse code from the fuse website then maybe we can try it if you are interested.
I have modified the XStreamdev code so thats just a matter of ftp'ing on to your xbox.
Regards
John
Yes of course. Ill send you a PM.
VDRfan
sledgehammer
I run vdr server in NA and use both XBMC for linux and xbox. I will be very interested to see built in client (or plugin/script) taking off. Please let me know if I can help somehow (testing, I am not a coder :sad:)
Currently for connecting to vdr server I use vdr zapper (http://freakstuff.de/zapper) but this is windows only I believe.
As mentioned before mplayer do the job however there is no epg or anything else.
I am also using VDR and I would be *very* happy to see some progress here :D
I am also using VDR and I would be *very* happy to see some progress here :D
Is this dead already? I also would be very interested in this kind of thing. I'm watching the MythTV-frontend discussion but i'd rather use vdr.
sledgehammer
2008-05-07, 22:56
Is this dead already? I also would be very interested in this kind of thing. I'm watching the MythTV-frontend discussion but i'd rather use vdr.
Good grief, give me a chance http://xbmc.org/forum/images/smilies/smile.gif. No its not dead its just that real life is getting in the way. uomiarz has offered some help with testing and as soon as real life can make some room I will tidy up the code just a little, then send it to him for testing the, as yet, very alpha code. More of a proof of concept than any thing else, although I have played back recordings using the modified Xstreamdev code that I have also had to write.
Best regards
sledgehammer
2008-05-07, 22:58
Really must learn how to drop smilies in properly
WhiningKhan
2008-08-12, 12:31
Just registered to say this:
I've spent last ~5 hours googling and browsing the various existing media center solutions for VDR support. The best VDR support for Windows platform I've found so far is VOMP, but it is rather constrained in features and too tightly bound with VDR.
What you are about to do sounds absolutely wonderful.
Hi!
I feel really sad that this project somehow doesn't attract more popularity. :sad:
At least to me it seems that a combination of XBMC and VDR would be the holy grail of home entertainment systems. One machine (e.g. XBOX) which allows you to watch/record TV, watch movies/dvds, listen to music, look at your photos, even listen to the radio (via DVB), ...
Is there any code yet to look at? If yes, where? Is currently anyone working on this project?
Maybe we should announce this project on VDR's biggest forum: http://vdrportal.de/board/portal.php :nod:
Gamester17
2008-08-18, 18:52
Alcoheca has his own seperate branch in the SVN with code for the upcoming EPG and PVR client API (http://sourceforge.net/svn/?group_id=87054) (which will not make it into the trunk/mainline SVN until after the 'Atlantis' release), Alcoheca is however only working on the MythTV client plugin but the API is meant to enable you to code additional PVR client plugins using the same API. Read this:
http://xbmc.org/wiki/?title=GSoC_-_Unified_PVR_Frontend
Also see these topic threads:
http://xbmc.org/forum/showthread.php?t=28918
http://xbmc.org/forum/showthread.php?t=32212
http://xbmc.org/forum/showthread.php?t=34186
Feel free to lobby programers to write their own PVR client plugins, like for example linvdr, but understand that it is still under development so the API may change over time.
Gamester17
2008-09-11, 17:14
FYI; those you you who do not want to wait for the unified PVR interface can use this python plugin for XBMC:
http://xbmc.org/forum/showthread.php?t=36988
:;):