love2d / love

LÖVE is an awesome 2D game framework for Lua.
https://love2d.org
Other
5.07k stars 401 forks source link

[Request] Support for video types other than Theora? #2089

Open SirAxolot opened 3 months ago

SirAxolot commented 3 months ago

I was wondering if it would be possible to support videos other than Ogg Theora in LOVE2D? The one way that comes to mind on how to do this is using libVLC, specifically libvlcpp, the C++ version of it. Since libVLC is what's used for VLC Media player, theoretically it would be able to support ALL video and audio types. As I don't really know a lot of cpp im not sure how hard this would be to implement but if it would be relatively easy then it would be realy cool if i could just directly use mp4 files rather than converting to Theora

MikuAuahDark commented 3 months ago

Personal opinion: Ogg Theora sucks. The reference decoder is too slow even FFmpeg's own implementation beats them.


I have separate LOVE branch containing integration with my WIP cross-platform audio and video decoder called NAV which can be found here: https://github.com/MikuAuahDark/love2d/tree/nav. So far both audio and video integration is promising. If it gets accepted, then we may use that to provide wider audio/video support in LOVE.

So if you'd like to contribute using libVLC, I recommend doing so in NAV.

SirAxolot commented 3 months ago

So if you'd like to contribute using libVLC, I recommend doing so in NAV.

Well i wouldnt be the one contributing this i dont know really anything about c++ LOL

i was just making a suggestion as an alternative to theora since its so slow and bloated

andryeltj commented 1 month ago

The mpv from libmpv have this lib to embed to others projects, and is writted in C. Like i dont know about implement this, here is my request for anyone who can

MikuAuahDark commented 1 month ago

I don't think we can use mpv (or specifically libmpv) due to licensing issue. We generally in favor for libraries with more permissive license compared to (L)GPL because we can't ship those libraries (which means a feature that depend on those copyleft license) in iOS.