Plugin: MP2Extended (8 Viewers)

johanj

MP Donator
  • Premium Supporter
  • January 31, 2009
    781
    398
    46
    Home Country
    Sweden Sweden
    I just debugged starting a movie stream using MPExt for MP1. I can't see anything strange. What exact MPExt function is called twice?
     

    henso

    Development Group
  • Team MediaPortal
  • February 16, 2012
    2,341
    829
    Home Country
    Denmark Denmark
    What exact MPExt function is called twice?
    This a log of a similar occurrence. This time there is around 3 seconds between the 2 RetrieveStream requests. Is there some kind of timeout for getting the stream?

    Code:
    [21:26:59,784] [88       ] [INFO ] - MainRequestHandler: Received request http://.../json/GetMediaInfo?type=0&provider=3&itemId=5780053b-ba46-4ae3-9ad4-041325d812e1
    [21:27:00,104] [88       ] [INFO ] - MainRequestHandler: Received request http://.../json/InitStream?type=0&provider=3&itemId=5780053b-ba46-4ae3-9ad4-041325d812e1&clientDescription=MPiV&identifier=MPiV_6B434BB8-F435-472D-A11D-75F144D0032E_id_5780053b-ba46-4ae3-9ad4-041325d812e1&idleTimeout=60
    [21:27:00,390] [88       ] [INFO ] - MainRequestHandler: Received request http://.../json/StartStreamWithStreamSelection?identifier=MPiV_6B434BB8-F435-472D-A11D-75F144D0032E_id_5780053b-ba46-4ae3-9ad4-041325d812e1&profileName=iOS (Low Quality)&startPosition=0&audioId=1&subtitleId=0
    [21:27:00,789] [88       ] [INFO ] - MainRequestHandler: Received request http://.../stream/RetrieveStream?identifier=MPiV_6B434BB8-F435-472D-A11D-75F144D0032E_id_5780053b-ba46-4ae3-9ad4-041325d812e1&file=manifest.m3u8
    [21:27:03,896] [88       ] [INFO ] - MainRequestHandler: Received request http://.../stream/RetrieveStream?identifier=MPiV_6B434BB8-F435-472D-A11D-75F144D0032E_id_5780053b-ba46-4ae3-9ad4-041325d812e1&file=manifest.m3u8
    [21:27:10,134] [88       ] [INFO ] - MainRequestHandler: Received request http://.../json/FinishStream?identifier=MPiV_6B434BB8-F435-472D-A11D-75F144D0032E_id_5780053b-ba46-4ae3-9ad4-041325d812e1

    I'm running in debug mode with full logging so everything might be a bit slower than it would actually be. I should mention HLS streams from aMPdroid work without problems.
     

    FreakyJ

    Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    nice progress (y)
    I just want to mention that I still work on MP2Ext ;) I've added even more API functions (not used by AMPDroid or MPiView) and made some speed improvements by using some new features of the MIA rework. There are still some bugs related to series fanart.

    My current plan right now is to wait for hensos and MrTechnos work (no rush here at all). Than I will merge these two in my Mp2Ext + Asp.Net branch. After that I will merge the latest Asp.Net branch into the MP2Ext + Asp.Net branch. This moves the Incubator folder under /source. So this will make merging harder, but shouldn't be needed anymore than. Because after that the branch can be compiled with VS2015 without my private nuget packages^^

    Until than I will continue to slowly add more api functions, but I guess nobody will really care about these^^

    Any comments on my plan? Would this be a problem for someone?
     

    henso

    Development Group
  • Team MediaPortal
  • February 16, 2012
    2,341
    829
    Home Country
    Denmark Denmark
    Any comments on my plan? Would this be a problem for someone?
    No problem for me. You seem to have to do most of the work. :whistle:

    I look forward to be able to compile the newest version again. So the rest of MP2 is also moving to VS2015 (I know it is needed by ASP.net)?
     

    FreakyJ

    Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    So the rest of MP2 is also moving to VS2015 (I know it is needed by ASP.net)?
    Yes, it is planned to switch the ResourceServer, FanArt + UPnP to Asp.Net but not within weeks. More Month or probably next year, So no worries^^
    Is VS2015 a problem? I mean it is free and as a student you even get the enterprise version for free. It is basically like VS2013, only the new framwork stuff is still a bit buggy... Hope they will bring an update soon. It is usable so.
     

    FreakyJ

    Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    How will this work?
    I dont't know to be honest. If you check out the branch:
    https://github.com/MediaPortal/MediaPortal-2/commits/FEAT-MP2-500_AspNetServer
    You can also compile it with VS2013 except the Asp.Net projects which are xproj files. The rest is still the same, no changes ;) Just another type of projects. MS wants to go cross platform so they changed their solution and project format to some json format. I personally don't like it that much. But we will see....
     

    johanj

    MP Donator
  • Premium Supporter
  • January 31, 2009
    781
    398
    46
    Home Country
    Sweden Sweden
    @henso Can you point me to a MP2 build that I can install and test? I now debug using MPExt and see nothing strange. I call the either StartStream or
    StartStreamWithStreamSelection and get a url as result, in your case it's the RetrieveStream that is called twice. I simply set this url to the video player in MPiV once and at that point it's out of my control. I do not set the url twice and have no idea why the url is requested twice. Checking MPExt loggs and its nothing strange.

    So I of course need to check with the same MP2Ext version that you use and debug that from my end. But is it not possible to ignore requests that come from the same identifier for the same stream and same position?
     

    FreakyJ

    Retired Team Member
  • Premium Supporter
  • July 25, 2010
    4,024
    1,420
    Home Country
    Germany Germany
    I haven't checked the src, so I just recall it from the top of my head. The problem might be this:
    MPiView calls the prepare stream function. MP2Ext does nothing really there. I just outputs the id and calls it the day. Until one calls the the receivestream function (which is normally the Player directly). Now MP2Ext starts to run FFMPeg building the buffer and finally pushing out the data. Depending on the machine this could take some seconds. So probably the IOS Player reaches it's request timeout and starts another try. Now MP2Ext is ready and the Player gets the data much faster.

    So I guess the solution to this problem would be to start ffmpeg already when the prepare stream function is called.

    Hope that makes sense :) But as I said, I haven't checked any code^^
     

    Users who are viewing this thread

    Top Bottom