TV4Home - WCF Webservice for MediaPortal TV Server (2 Viewers)

KayDiefenthal

MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    46
    Germany - Bonn
    Home Country
    Germany Germany
    AW: TV4Home - WCF Webservice for MediaPortal TV Server

    hi oxan

    i think the transcoding thing will not added into this service natively
     

    Mike Lowrey

    Portal Pro
    February 4, 2009
    638
    124
    Berlin
    Home Country
    Germany Germany
    I've some suggestions:
    - Transcoding/streaming of TV! That's the only feature why I'm stuck with MPWebService (you can look at how it's implemented in MPWebServices, doesn't seem to be that complicated, see this, but I'm not sure how you can integrate it with the WCF service).
    )
    The ffmpeg based streaming is not as good as it seems because it's possibilities are really limited. WMV/WMA don't work (async) h264/aac(for iphone) and ogg theora/vorbis aren't working as needed too.
    Furthermore, why should a streaming component which is still a third party library be implemented in the webservice itself? I think mainly because of stability issues it's better to provide it in a second service or in the application itself.

    Then you use the WCF service to get the uri, put it in the transcoding service and get the resulting uri for further actions.

    - Provide more information about cards (what type of card is it? is it recording?
    I will have a look on it.
    Yep, if it comes to streaming for normal desktop variants including downscaling have a look at the MpWebServices.
    For http-live stream sort of as iPiMP, without the need of apache or IIS, have a look at the opensource segmenter;
    httpsegmenter - Project Hosting on Google Code
    IPhone, IPad, IPod: HTTP Streaming with segmenter and m3u8 on Windows | espend.de

    I tried the above segmenter, and it works like a charm. It is even less demanding as the SmoothStreaming solution iPiMP uses, although iPiMP has some other benefits. For now, I think SmoothStreaming iPiMP is using is yet not stable enough and a bit to demanding on the resources.

    The new VLC is also capable of live-http streaming, but that one is also not very stable(hence not really ready), but it might be getting better in the future;
    Documentation:confused:treaming HowTo/Streaming for the iPhone - VideoLAN Wiki
    For me it seems that the httpsegmenter isn't in active development and mainly for Apple clients.


    And for my suggestions, Why the name; "TV4Home"???
    Because the project includes more (currently not released) parts.

    What about the clients; Music, Videos, My TV Series, Moving Pictures, Pictures, etc........
    I would love to see a MPclient plugin, like MPCC (from iPiMP), who annouches itself "available" to TV4Home the moment MP starts. Then hooks into the service, delivering all of the above info through TV4Home as webservice.
    Since this is a client side part and no server side part it will not be considered in future development of this service.

    And as you already mentioned there is the MPCC plugin.
     

    j1nx

    Portal Pro
    July 16, 2005
    233
    10
    Mike,

    No offense but considering your answers, I'm glad Oxan released a MPWebServices for 1.1.2 and I will get back to developing my iphone/ipad/android client for that package.

    I already started anyway. Will try to implement the httpsegmenter as extra streaming profile and either hook in MPCC or Wifiremote, to read out and control MP-clients.

    Once again, no offense. We clearly have different visions. I just don't like all this different services and callbacks. Prefer to have it under the same hood. Secondly, if I only would have wanted the TV part only, I would had a look at the 4therecord API and/or the XBMC tvserver webservices.

    To be honest, I think a lot more had the impression the end product would replace mpwebservices including all it's services and more.

    cheers.
     

    Mike Lowrey

    Portal Pro
    February 4, 2009
    638
    124
    Berlin
    Home Country
    Germany Germany
    Will try to implement the httpsegmenter
    If you have a working(and stable) example i will of course have a look on it, but currently it's not the main aim of our engagement and thats mainly because of stability issues.

    As you already mentioned ipimp(currently the best way to go) isn't as stable as needed and gemx solution is also not very stable.

    If this is enough for you, no problem go forward, but i will not include a feature which isn't stable.

    I just don't like all this different services and callbacks.
    It seems so, but i don't get what's the problem with them? I mean whether you need two service references or one is no real problem isn't it?...
    But for this "more work" you get two not interdependent services which hopefully are more stable.

    All in all, if you really don't like the way we go, no problem choose the solution which fits better to your needs.

    To be honest, I think a lot more had the impression the end product would replace mpwebservices including all it's services and more.
    Well no offense but than they were not able to read, i've alway said that the service will not include the the cliend side part.
    Furthermore if you have a deeper look into the code of mpwebservice you will see that the streaming part isn't part of the service itself.
    And that's the same way we are going.

    If you need something like that you can have a look on gmawebservice.codeplex.com (developed by me and diebagger) and cheezys MPCC.


    PS:
    Keep in mind it's the first version!
     

    DieBagger

    Retired Team Member
  • Premium Supporter
  • September 11, 2007
    2,516
    1,276
    40
    Austria
    Home Country
    Austria Austria
    Hey,

    just had another look through the tv api and one thing that I think should be changed is that objects are transferred and not ids. What I mean by that is that e.g. in TvChannel you actually transfer the object TvGroup and 2x WebProgram. That means for every channel you request (maybe just for the sake of filling a dropdownlist you will get the whole data of the TvGroup and WebProgram. Instead, you should transfer the TvGroup/WebProgram id and have another method for requesting these. One could argue about Program (Current, Next) since it's at least unique, but transferring the group info for each channel is just waste of bandwidth.

    Also I think there should be a base class for WebRecording/WebProgram/WebSchedule.
     

    j1nx

    Portal Pro
    July 16, 2005
    233
    10
    If you have a working(and stable) example i will of course have a look on it, but currently it's not the main aim of our engagement and thats mainly because of stability issues.

    Working is not a real thing, having it stable, hmmm. But I think at this moment, there is absolutely NO stable solution available for the Windows platform.

    It seems so, but i don't get what's the problem with them? I mean whether you need two service references or one is no real problem isn't it?...
    But for this "more work" you get two not interdependent services which hopefully are more stable.

    All in all, if you really don't like the way we go, no problem choose the solution which fits better to your needs.

    He, who am I to claim I'm right :)

    Well no offense but than they were not able to read, i've alway said that the service will not include the the cliend side part.
    Furthermore if you have a deeper look into the code of mpwebservice you will see that the streaming part isn't part of the service itself.
    And that's the same way we are going.

    If you need something like that you can have a look on gmawebservice.codeplex.com (developed by me and diebagger) and cheezys MPCC.

    OK, but then I'm one of those, because I was confused. Now after your reference to GMA, I finally get the picture.

    You have on the left side "TV4Home" on your TVE3 server. The on the right side you have "GMAwebservice" on all of your clients. Then in the middle it is just a matter of having a webapplication connecting those two, serving it to the user by either a webpage or another app. The good thing of this seperate webapplication is that you can host it everywhere you want in your network, hence most routers and NAS systems include a webserver now a days.

    Then still I don't get where the streaming part should hook in, but indeed it does sound very reasonable to have this seperate as well.



    All in all, I think I own you an apology.
     

    Mike Lowrey

    Portal Pro
    February 4, 2009
    638
    124
    Berlin
    Home Country
    Germany Germany
    DieBagger
    Yes that's a good hint, haven't thought about it!

    But I think at this moment, there is absolutely NO stable solution available for the Windows platform.
    Thanks for your feedback, yes it seems that this is a real problem!

    OK, but then I'm one of those, because I was confused. Now after your reference to GMA, I finally get the picture.
    Well i would say that's my fault, it's the first time that i publish a bigger project! I also have to learn how give the important information :)

    You have on the left side "TV4Home" on your TVE3 server. The on the right side you have "GMAwebservice" on all of your clients. Then in the middle it is just a matter of having a webapplication connecting those two, serving it to the user by either a webpage or another app.
    That's exactly the plan. I think it's the best solution because more and more user will have multi seat environments so a "all inclusive" service wouldn't fit to the environment.
    Then still I don't get where the streaming part should hook in, but indeed it does sound very reasonable to have this seperate as well.
    Well that's still a question we (all) should think about since streaming is part of client and server side!

    When looking on web based solution it's may be the best thing to implement the codeshop way(like ipimp does) but on native applications we have to choose another way.
    May be we should open another thread for this topic in general?

    All in all, I think I own you an apology.
    Thanks :) But as i said before it's also my own fault to give not enough information so i want to apologize too :)
     

    Oxan

    Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    Hi,

    First of all I want to say that MPWebServices is mostly dead. The 1.1.2 is the last version I released, as I'm switching to something else (which will probably be this TV4Home service, but then it will need to gain some extra functionality). The problem is that I don't use 90% of it's functionality (only the TV part), it's design is unnecessary complex and it's a TV Server plugin, while I prefer a standalone service because of stability. Of course anyone is welcome to take over the source and continue development.

    Regarding the streaming: I will implement a new service (which makes things unnecessary more complex, but it simply doesn't integrate well with a WCF service) for streaming and transcoding TV, mainly based on the code from MPWebServices. Generally I think it will be a ASP.NET site with a single page, like the Streamer.aspx from MPWebServices. It then communicates with the TV4Home service to get the streaming URL and streams the output over HTTP. I'm open for any comments or discussion on the design :)

    Then later, someone can create a web interface which connects to the TV4Home service, the GMAWebservice and my stream service, to create a single webinterface for everything related to MediaPortal.
     

    j1nx

    Portal Pro
    July 16, 2005
    233
    10
    Hi,

    First of all I want to say that MPWebServices is mostly dead. The 1.1.2 is the last version I released, as I'm switching to something else (which will probably be this TV4Home service, but then it will need to gain some extra functionality). The problem is that I don't use 90% of it's functionality (only the TV part), it's design is unnecessary complex and it's a TV Server plugin, while I prefer a standalone service because of stability. Of course anyone is welcome to take over the source and continue development.

    Regarding the streaming: I will implement a new service (which makes things unnecessary more complex, but it simply doesn't integrate well with a WCF service) for streaming and transcoding TV, mainly based on the code from MPWebServices. Generally I think it will be a ASP.NET site with a single page, like the Streamer.aspx from MPWebServices. It then communicates with the TV4Home service to get the streaming URL and streams the output over HTTP. I'm open for any comments or discussion on the design :)

    Then later, someone can create a web interface which connects to the TV4Home service, the GMAWebservice and my stream service, to create a single webinterface for everything related to MediaPortal.

    MPWebServices might be dead, but it is still working ;)

    I would love to see the streaming coming, please, please, please look at how to intergrate the GMAwebservices as well.

    To Mike, I just had a good look at the whole stuff at codeplex. One word; WOW!


    As a request/question. At which state is the "standalone webserver" and the "WebApplication"?

    Before I went to this freaking warm country Qatar untill christmas, I made a start in developing an iOS/Android webapplication with the help of the sencha touch framework. I was developing that application, hosted beside the MPWebServices and before I left, I was getting the hang of it. I can continue doing that off course until something is released, but was wondering. If something can be (pre)compiled for the sake of me creating the touch interface. That would be fantastic. I just have my whole system setup as javascript development machine, don't want to learn howto C# as well ;)

    You can also contact me by PM if you don't want to release stuff to the public yet.



    BTW, good job on that tv-guide!
     

    Oxan

    Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    I started with the streaming service and the source code is available from http://github.com/oxan/mpwebstream. It is a ASP.NET site which uses the TV4Home service to start the timeshifting. The streaming code is copied from MPWebServices. I'll open a separate thread when it's ready :)

    j1nx: I'll take a look at integration with GMAwebservices once that's ready :)
     

    Users who are viewing this thread

    Top Bottom