WPF Implementation in 2017
Posted: 28 Mar 2017 00:20
Hello, I'd like to share my progress for past two weeks and ask for advice on how to run VLC in a simple WPF application with implementing literally the basic functionalities. Here's what I'm trying to achieve.
VLC.NET on github - doesn't support any mouse operations (I have workarounds), doesn't support full screen (I have workarounds), doesn't seem to support 4k, breaks when I put current nightly build in it's VLC directories, doesn't support any settings, so unable to set which renderer to use. Quite frankly if someone would succeed in getting VLC.NET to play 4k through GPU, that'd be all I need and I would pay dearly for that. I have also managed to put VLC nightly build into my local VLC.NET implementation, because I know it can play 4k when run through vlc.exe, but I can't get it to work when running it through my own application. Otherwise my WPF implementation of this library is almost complete and very much capable.
ActiveX plugin for Windows Forms used through WindowsFormsHost WPF control - there is a myriad of undocumented methods and properties, most of which don't seem to do anything or their proper usage still eludes me. There's a method of player.playlist.add() which accepts argument of type object and name options. I tried giving it a string with entire contents of vlcrc setting file, but without any luck. Furthermore, the ActiveX Plugin seems to only be compatible with 32bit environment. 64bit port of VLC does register the COM component, but does not contain the actual component in it, Visual Studio never actually shows the control in the toolbox and upon trying to load it manually (Right click > Choose Items), it throws an error.
I would use paid VLC help if there was any, but I'm also willing to spare some LTC/BTC to anyone who helps me deal with this. I am also going to publish and open source any work we'd accomplish here.
Cheers, thanks for any thoughts on this.
- Development of WPF application capable of playing video files.
- .NET 4.0 with Windows XP compatibility (yes, this is still a requirement with some customers)
- 4k video playback for Windows 7 and up, but support for XP would be nice
- Ability to bundle nightly build of VLC with the app, so that the ActiveX component is taken from that bundled version. This is crucial, because current official version of VLC does not support GPU rendering of 4k movies. Nightly builds do.
- Ability to load settings into the component when playing back the movie, such as "use DirectX for rendering"
- All the usual as in fullscreen toggle, disable VLC default control panel (the rectangle with play, pause and slider controls that shows up on mouse move), so that I can implement my own, change audio and subtitle tracks on the fly
- Full compatibility with both x86 and x64 OS's from XP up to 10.
VLC.NET on github - doesn't support any mouse operations (I have workarounds), doesn't support full screen (I have workarounds), doesn't seem to support 4k, breaks when I put current nightly build in it's VLC directories, doesn't support any settings, so unable to set which renderer to use. Quite frankly if someone would succeed in getting VLC.NET to play 4k through GPU, that'd be all I need and I would pay dearly for that. I have also managed to put VLC nightly build into my local VLC.NET implementation, because I know it can play 4k when run through vlc.exe, but I can't get it to work when running it through my own application. Otherwise my WPF implementation of this library is almost complete and very much capable.
ActiveX plugin for Windows Forms used through WindowsFormsHost WPF control - there is a myriad of undocumented methods and properties, most of which don't seem to do anything or their proper usage still eludes me. There's a method of player.playlist.add() which accepts argument of type object and name options. I tried giving it a string with entire contents of vlcrc setting file, but without any luck. Furthermore, the ActiveX Plugin seems to only be compatible with 32bit environment. 64bit port of VLC does register the COM component, but does not contain the actual component in it, Visual Studio never actually shows the control in the toolbox and upon trying to load it manually (Right click > Choose Items), it throws an error.
I would use paid VLC help if there was any, but I'm also willing to spare some LTC/BTC to anyone who helps me deal with this. I am also going to publish and open source any work we'd accomplish here.
Cheers, thanks for any thoughts on this.