Open fire opened 2 years ago
Godot MIT version compatible nut was found here. https://github.com/lu-zero/nut
Some notes:
I found the https://en.wikipedia.org/wiki/Network_Device_Interface spec which covers this too
any update on this ?
any update on this ?
To my knowledge, nobody is currently working on implementing this.
There's a ffmpeg c++ module from https://github.com/EIRTeam/EIRTeam.FFmpeg, but only for playback. You may be able to patch it to do export.
Describe the project you are working on
A 3d game that could benefit from streaming and recording movies.
Describe the problem or limitation you are having in your project
I want to stream the movie player output for multiple uses.
See https://github.com/godotengine/godot/pull/62122.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Open to implementers, let the thread know if you're working on this.
TL;DR We write nut frames from Godot Engine to a ffmpeg stdin. The ffmpeg saves to the disk or ffmpeg saves to a rtsp / rtp server.
Ref<FileAccess>> OS::exec_pipe(cmdline)
api.A future option is to convert rgba directly to yuv + a 10bit in Godot Engine. Needs profiling to determine the slow spots.
The follow options below are pretending that godot is a nut server and describes the ffmpeg saving flows.
NVIDIA Edition: Streaming video format h264 on mkv. FAST!
Intermediate video editor format dnxhd
See also https://dovidenko.com/2019/999/ffmpeg-dnxhd-dnxhr-mxf-proxies-and-optimized-media.html.
Streaming video format vp9 on mkv. Too slow for most computers.
This sample is missing the 4k options
If this enhancement will not be used often, can it be worked around with a few lines of script?
It has soft-realtime performance constraints and cannot be gdscript.
Is there a reason why this should be core and not an add-on in the asset library?
The ffmpeg pipe can be gd extension but I wanted to type a design for review.
References
This is the only link to the spec. https://ffmpeg.org/~michael/nut.txt
nut.txt