[WiP] 5154: MediaPortal 1 - x64 - SharpDX (11 Viewers)

Pablik

Development Group
  • Team MediaPortal
  • August 19, 2010
    237
    462
    Home Country
    Czech Republic Czech Republic
    [MP1-5154] Mediaportal x64 version with SharpDX - MediaPortal Jira
    GitHub - MediaPortal/MediaPortal-1 at MP1-5154-Mediaportal_x64_version_with_SharpDX

    Git repo for some plugins:
    GitHub - epbk/MediaPortal-1-Plugins: Plugins for MediaPortal 1

    Hi, this is experimental version of MediaPortal-1 ported to SharpDX.
    The reason for making this fork is simple: to build 64bit version. To build current version of MP1 as x64 is not possible because MP1 uses Microsoft's NET DirectX libraries. Unfortunately Microsoft has never released x64 libraries, so only way to 64bit version is rework to SharpDX.
    The current state is experimental, though it seems to be running fine so far.

    Pros:
    • GUI seems to me a bit faster. It looks like 64bit platform has its own benefit. For example: generating Weather World Geo Clock image takes 250ms on 32 bit, but only 150ms on 64bit.
    • LAV 64bit: yes - the boost of SW HEVC decoding is huge. On 32bit it is impossible to watch DVB-T2 HEVC FullHD 50p stream on my older NUC, but now the CPU load keeps around 30% without frame dropping.

    Cons (so far):
    • Reclock: yes Reclock is 32bit only, so I had to switch to MediaPortal Audiorenderer + EVR. Looks like it is working well, at least no dropping frames.
    • Missing 64bit version of bass_wadsp.dll. Not sure what is for (some winamp effect lib?)
    • MiniDisplay LCD native driver libraries: this is the same problem - 32bit only. I'm trying to create simple external app as proxy server for executing native methods. Looks like my old Soundgraph iMON LCD is working, but need some more testing.
    • Other plugins: no problem if source code is available - they can be recompiled. At least for OnlineVides, MovingPictures, TVseries, etc.

    Attached file includes installer for both x86(Setup-MediaPortal-SharpDX-1.31.x86.zip) and x64(Setup-MediaPortal-SharpDX-1.31.x64.zip) version.
    To install TvPlugin just unpack content of the file(Setup-MediaPortal-TvPluginClient.zip) to the MediaPortal application directory. Don't use TV server installer right now to avoid uninstaling TvPlugin from MP x86.

    Instructions for old iMON LCD displays:
    • make sure MPx86Proxy.exe is always running
    • selected display type must be "SoundGraph iMON USB VFD/LCD Plugin >= 7.77.1022" or "SoundGraph iMON USB VFD/LCD Plugin >= 8.12.1202" (based on the MiniDisplayLibrary version)
    • installed iMON SW version must be at least 7.77.1022. To enable RC API feature the latest version 8.12.1202 is needed.
    • if you have huge display lagging or delay try set larger time values in "Scroll delay (ms)" and "Update (ms)" in MiniDisplay config. For example 400 or 500ms (default is 300ms). Also try activate parameter "Limit Equalizer display update rate" and set FPS to lower settings (20FPS for EQ and 5FPS for VU or even lower). Another option is to use older iMON SW 7.77.1022 as reported by @joker1639 .

    To test this package please make sure:
    • LAV x64 directshow filters package is installed
    • This version shares original MediaPortal configuration. I recommend to create backup before testing this experimental version (C:\ProgramData\Team MediaPortal\MediaPortal).
    • Do not copy anything to/from original x86 MP application directory (C:\Program Files (x86)\Team MediaPortal\MediaPortal). This x64 build is completely separated from x86 version.

    If you have some problem to register directshow filters make sure you have installed:
    • Microsoft Visual C++ 2013 Redistributable (x64)
    • Microsoft Visual C++ 2015 Redistributable (x64)
    • Microsoft Visual C++ 2015-2019 Redistributable (x64)

    Extra attached plugins with x64 support:
    WorldWeatherLite
    : it has limited funcionality compared to the original plugin. But it is better to have something then nothing right now.
    • Dataproviders: msn.com, foreca.com, accuweather.com(no longer works)
    • Current condition
    • Media images (sattelite)
    • Geoclock image
    • Calendar
    • Uses the same GUI tags like original plugin

    Just unpack the content of attached file "WorldWeatherLite.SharpDX" to the MP application folder. Open the plugin's configuration and search for desired location(search on msn.com is sometimes lazy so be patient). Dataprovider data should be filled automatically after selecting the location from the searched result. On media tab you can set your own custom satellite images or keep preselected.
    If you need this version in official MP1 x86 version then use attached file "WorldWeatherLite.MP1.x86".


    OnlineVideos: just unpack content of OnlineVideos package into /MediaPortal x64/plugins/Windows/ folder.
    Place somewere MPUrlSourceSplitter x64 package and run included Reg_MPUrlSourceSplitter.bat file to register the filter.
    Keep in mind that the filter still can have some bugs.


    TVSeries, Moving Pictures, Trailers, Trakt: attached file "TVSeries_MovPic_Trailers_Trakt.zip"

    LatestMediaHandler, FanartHandler: attached file "LatestMediaHandler_FanartHandler.zip"

    InfoService: attached file "InfoService.zip"

    OneButtonMusicPlay: attached file "OneButtonMusic.zip"


    Code:
    Update: 18.05.203
    - Added MediaPortal 1.31 SharpDX Installers (x86 and x64 version).
    - Added SkinInfo Plugin 1.0.0 Installer.
    - Added WorldWeatherLite Plugin 1.0.0 Installers (x86/x64 SharpDX only).
    
    Update: 22.04.2023
    - Added myLyrics x64 compatible plugin. Thanks to @catavolt .
    
    Update: 19.04.2023
    - New compiled x64 1.31 Pre package
    - Added OneButtonMusicPlay x64 compatible plugin
    
    Update: 17.04.2023
    - Added InfoService x64 compatible plugin
    
    Update: 15.04.2023
    - Added TVSeries, Moving Pictures, Trailers, Trakt, LatestMediaHandler and FanartHandler x64 compatible plugins. Thanks to @ajs, @catavolt and @ltfearme.
    
    Update: 11.04.2023
    - Added new MediaPortal package 1.31 PreRelease compiled as AnyCPU to the attached files for testing
    
    Update: 6.04.2023
    - Updated MediaPortal.exe, Core.dll
    - Fixed broken rendering upon toggle Windowed-Fullscreen mode while playing any video
    - Added missing libs: DaggerLib.dll, DaggerLib.DSGraphEdit.dll, DirectShowLib-2005.dll, MediaFoundation.dll
    
    Update: 02.04.2023
    - Updated MediaPortal.exe, Core.dll
    - Fixed rendering of non English chars, updated Adapter Information methods
    - Fixed Windowed mode
    - Fixed texture cache misleading error log when creating new cache
    
    Update: 31.03.2023
    - Updated: Core.dll, fontEngine.dll, RemotePlugins.dll, dshowhelper.dll
    - Added: LastFMHelper.dll
    - Added to process plugins: SkinTranslations.dll, SpectrumAnalyzer.dll (original from PVHD as AnyCPU)
    - Added to windows plugins: SkinInfo.dll (source code is not available, so I made this plugin based on originall dll as AnyCPU, the plugin has just one timer - that's all)
    
    Update: 30.03.2023
     - Updated Core.dll
     - missing patch for codec configuration dialog
    
    Update: 30.03.2023
     - Updated Core.dll, dshowhelper.dll, RemotePlugins.dll
     - fixed some x86/x64 pointer conversions fixed madVR - playback tested
     

    Attachments

    • OnlineVideos.AnyCPU.7z
      1.8 MB
    • MPUrlSourceSplitter (x64).7z
      5.9 MB
    • LatestMediaHandler FanartHandler.zip
      747.3 KB
    • TVSeries MovPic Trailers Trakt.zip
      3.6 MB
    • InfoService.zip
      196.8 KB
    • OneButtonMusic.zip
      267 KB
    • MyLyrics 2.2.0.300 AnyCPU.zip
      442.6 KB
    • WorldWeatherLite.MP1.x86.7z
      2.7 MB
    • SkinInfo.1.0.0.mpe1
      36.1 KB
    • Setup-MediaPortal-SharpDX-1.31.x64.zip
      199.8 MB
    • Setup-MediaPortal-SharpDX-1.31.x86.zip
      198.8 MB
    • Setup-MediaPortal-TvPluginClient.zip
      621.4 KB
    • WorldWeatherLite.1.0.1.x86.mpe1
      5.2 MB
    • WorldWeatherLite.1.0.1.x64.mpe1
      5.4 MB
    Last edited:

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    15,113
    9,923
    Kyiv
    Home Country
    Ukraine Ukraine
    Missing 64bit version of bass_wadsp.dll. Not sure what is for (some winamp effect lib?)
    An extension enabling the use of Winamp DSP plugins with BASS. - I think we can safely sacrifice it in 2023. :)
    have some trouble to compile georgius's MPIPTV Source Splitter
    As far as I remember, it is needed for IPTV, but if IPTV works, it is not critical.
    Attached file includes compiled package, native libraries and directshow filters based on official version v1.30.
    We should take the time to try it out, if all goes well, we should consider migrating to x64. Either completely, or at least as a parallel branch ... :)
     

    Pablik

    Development Group
  • Team MediaPortal
  • August 19, 2010
    237
    462
    Home Country
    Czech Republic Czech Republic
    MP2 is already fully x64 since years and now introduces .NET6. Why the effort for MP1?
    The main reason for the effort is to use advantage of LAV 64bit on my older NUC. The HEVC video on 32bit platform is unplayable.
    For me there is no reason to go for MP2 and I will stay on MP1 as long as possible.
     

    doskabouter

    Development Group
  • Team MediaPortal
  • September 27, 2009
    4,414
    2,695
    Nuenen
    Home Country
    Netherlands Netherlands
    [*]Other plugins: no problem if source code is available - they can be recompiled. At least for OnlineVides, MovingPictures, TVseries, etc. For OnlineVides I'm using LAV source splitter, have some trouble to compile georgius's MPIPTV Source Splitter, but LAV can be used too. I'll try to ask doskabouter for some help.

    MPIPTV/MpUrlSourcesplitter is going to be quite a headache, there are a couple of (ffmpeg-related) dlls involved which were quite hard to make (if I even remember how I did that where I put the documentation)
    And for me, I still like/need the extra functionality of MPUrlSourceSplitter (download ability, having full control over headers sent, smoother playback when skipping forward/backward etc) so LAV is not an option for me
     

    Pablik

    Development Group
  • Team MediaPortal
  • August 19, 2010
    237
    462
    Home Country
    Czech Republic Czech Republic
    MPIPTV/MpUrlSourcesplitter is going to be quite a headache, there are a couple of (ffmpeg-related) dlls involved which were quite hard to make (if I even remember how I did that where I put the documentation)
    And for me, I still like/need the extra functionality of MPUrlSourceSplitter (download ability, having full control over headers sent, smoother playback when skipping forward/backward etc) so LAV is not an option for me
    Well, I was trying to build the source code, but currently I'm stuck on missing ffmpeg libs. I have managed to get missing OpenSSL libs but no idea how to deal with ffmpeg.
    Can you build 64bit version?
     

    doskabouter

    Development Group
  • Team MediaPortal
  • September 27, 2009
    4,414
    2,695
    Nuenen
    Home Country
    Netherlands Netherlands

    framug

    Super Moderator
  • Team MediaPortal
  • January 31, 2005
    5,593
    1,653
    South of France
    Home Country
    France France
    No reason? MP2 runs with LAV 64Bit and I can watch 4K movies smoothly, so I see at least one reason :coffee:
    Please, try to wake up a HTPC with MP2 with exotic IR like IRTRANS, without powerscheduler plugin force sleeping and after that we could discuss ;)

    see that
     
    Last edited:

    Users who are viewing this thread

    Top Bottom