kidrigger/godot-video-reference

When will the ffmpeg be supported in this project for godot4 ?

Closed this issue ยท 11 comments

Just like the wonderful godot-vidoedecoder in godot3.

Thank you!

Hi @kidrigger , ffmpeg GDExtension is really useful in godot4. The only one could compatibly run with godot3 I found on the internet is your godot-vidoedecoder. Unfortunately it is a gdnative version and gdnative is not support by godot4 (according to the docs of godot4).

Could you please tell me what's your plan to support ffmpeg in godot4 gdextension? Or, Is it possible to reuse your work (godot-vidoedecoder) in godot4 ? Is there a way to use gdnative in godot4 ?

Thanks again for your OUTSTANDING works in this field ! ๐Ÿ‘ :)

Hi!

I have just started working on the FFmpeg port. I'll link to the new repo as soon as it is up.

Lot of changes from the API so I think it's better to have a full rewrite.

Awesome! That is the greatest news I heard today !!!
Hoping everything goes well. Just can't wait to see your new works. Haha. ๐Ÿ‘

I have just started working on the FFmpeg port. I'll link to the new repo as soon as it is up.

Lot of changes from the API so I think it's better to have a full rewrite.

Hi @kidrigger , hoping this message finds you well! I wonder is there any progress on this project ? Is there anything I can help?

Currently I have to fix a synchronization bug (audio and video can independently play if I discard frames) once that's done, the plugin should work (albeit inefficiently)

Then I will start optimizing the thing. Sorry for taking the time, I had other priorities to take care of.

I will be focused on this for the next two weeks. You can track the progress here. Please suggest changes if required. (Look at the wip-loader branch)
https://github.com/kidrigger/godot-video-ffmpeg

There's a bit of currently unnecessary wrapping being done but I faced a lot of trouble in godot-videodecoder because I didn't do this. FFmpeg has a lot of reference counting that is better handled with this.

Currently the program is Linux only (possibly MacOS) but doesn't work on windows (due to dlopen) dependency.

Thanks @kidrigger , for FFMpeg - such a complicated project - it's definitely sure we will meet troubles on the way to building a usable GDextension. Please don't worry about the inefficiency or any other little problems. You could polish the extension little by little just like the release the godot engine 4.0. And ultimately you'll provide the community a nice tool on multi-formats audio/video handling. I'm looking forward to your new project and hoping you good luck on the development. :)

ecurtz commented

I'm not sure if you intended to have the https://github.com/kidrigger/godot-video-ffmpeg repository public at this point, but if so it doesn't seem to exist as far as I can tell.

Thanks for your great work @kidrigger. I have been trying to make a ffmpeg extension as well but having issues at the frame data conversion stage. Any chance I can take a look at your version to see where I went worng? Your repo is private at time of this post.

@kidrigger Hi Kidrigger, is there any progress on this repo's development ? As several weeks passed, I was always hoping everything's going well. Looking forward to your productive GDextension. ;-)

Sorry, I can't currently work on this project.
I'll get back to this shortly. But I don't want to make promises I may not be able to follow up with.

I sincerely apologize for the inconvenience caused.
I'll post an update whenever I can recover my work, and restart.

@htang63 Please find the WIP code here, but the code for frame data conversion is not there yet.

For the resampling code, you can refer to the old plugin

EIREXE commented

I have released my own ffmpeg code, if anyone wants to take a look at it: https://github.com/EIRTeam/EIRTeam.FFmpeg