Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace godot-videodecoder with EIRTeam.FFmpeg #376

Merged
merged 1 commit into from
Apr 13, 2024
Merged

Conversation

rsubtil
Copy link
Member

@rsubtil rsubtil commented Apr 7, 2024

Closes #361.

This replaces the internal FFMPEG backend from the old and buggy godot-videodecoder to EIRTeam.FFmpeg, which is being maintained and will hopefully be less painful to work with.

This works as a drop-in replacement, so no changes are required on the project. However, fetching the video length required a hack on the old backend, and the new one has the proper function call implemented. As such, themes will need to change to the new system.

Additionaly, the FFmpeg build from this new change uses openh264 instead of libx264. This no longer enforces a GPL3.0 license, but rather the LGPL3.0 one, which allows linking to the compiled library without enforcing its license. Thus, this allows for the app to be fully MIT, and no longer require the special GPL3.0 handling for compiled binaries, so all references for that scenario have been erased.

The CI actions were also refactored to be more modular. This reduces iteration times by ensuring time-consuming dependencies get cached even when the build process fails, and allows for some parallelism as well.

@rsubtil rsubtil force-pushed the replace-ffmpeg branch 30 times, most recently from 686acb0 to c00aae7 Compare April 8, 2024 16:00
@rsubtil rsubtil force-pushed the replace-ffmpeg branch 21 times, most recently from 90d0ade to 4c28268 Compare April 13, 2024 18:48
@rsubtil
Copy link
Member Author

rsubtil commented Apr 13, 2024

Seems like from 4.1 to 4.2.1, Godot stopped accepting the existing scenes/scripts if they had errors. The builds were therefore broken when using a vanilla build.

This thus forces us to also create a custom editor build to be able to export the project. Since we're now forced to do this, #377 is now handled as well.

@rsubtil rsubtil merged commit b930361 into main Apr 13, 2024
22 checks passed
@rsubtil rsubtil deleted the replace-ffmpeg branch April 13, 2024 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Investigate --import flag for CI steps Investigate FFMPEG/godot-videodecoder backend alternative
1 participant