cDima / Aerial

Aerial Apple TV screen saver for Windows
1.97k stars 181 forks source link

Proposal: Replace Windows Media Player with 3rd party lib #181

Open gregmac opened 5 years ago

gregmac commented 5 years ago

Looking at 4k support:

So my proposal is we look at using a VLC library or FFMpeg interop for playback.

This would also mean either bundling the extra libraries (eg, via ILBundle) to maintain a single .exe/.scr distributable, or building a simple installer -- not really a big deal other way.

gregmac commented 5 years ago

Added in https://github.com/gregmac/Aerial/tree/feature/181-vlc-player

Still TODO:

Another benefit is this enables YouTube playback (currently testing with https://github.com/ZeBobo5/Vlc.DotNet/issues/345#issuecomment-394444281 -- though this uses an LGPL library so I'll probably look for a better way).

ow commented 5 years ago

Whoa @gregmac this rules! Any plans to keep working on this? What would stop it from being stable enough to use/how can any of us help?

cDima commented 5 years ago

Great stuff. The bundling of the DLLs into one .src/exe is already being done by the /installer powershell script if memory serves.

I'm free to change the LGPL licenses if the other dependencies allow this.

And youtube playback is a huge win, we can maybe demo this via git-hub-linked playlists or user-entered ones from some text file.

:clap:

gregmac commented 5 years ago

@cDima Looking at this again I'm not sure why I was concerned on that (at least if you're not). It's fine to use LGPL library from within an MIT-licensed project (https://opensource.stackexchange.com/questions/5175/including-untouched-lgpl-library-in-a-mit-licenced-project).

I think the bigger part with finishing this is that I was headed down the path of completely rewriting AerialEntities.cs and Caching.cs, and then overhauling the video list picking part of the UI. I didn't want to do something like that without other input that that's an acceptable change.

From what I recall, I was looking at:

I think the overall diff with all this would be massive though. I don't want to do the work if the PR would just be rejected as too much change. :)

@cDima if you want I can push the VLC branch here, and then maybe make another one to do the caching changes?

jeremyVignelles commented 4 years ago

Hello from Vlc.DotNet/LibVLCSharp, I just came across this issue due to the link in an issue inVlc.DotNet. Since this is a new feature in your app, I'd recommend you have a look at LibVLCSharp, the VideoLAN-supported library that will likely replace Vlc.DotNet in the future. Feel free to contact us on gitter if you need help 🙂