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

Export demo to video #314

Open
mikota opened this issue Oct 9, 2023 · 2 comments
Open

Export demo to video #314

mikota opened this issue Oct 9, 2023 · 2 comments

Comments

@mikota
Copy link

mikota commented Oct 9, 2023

This is a feature request to add support for exporting demo files (or specific parts of a demo) into a video file with an arbitrary framerate.

Motivation

This feature is beneficial over just recording gameplay via external software (OBS, NVIDIA shadowplay, etc) because of many concerns, such as quality & convenience, but most of all, the ability to capture demos in high framerates. This is important because high framerate (eg. 1000+fps) recordings are used to apply frameblending motion-blur which is crucial to the viewing experience when the final video is capped to 60fps which is the case on most video-sharing sites. It is even more important when the final video is capped to 30fps, due to artistic choice, or due to technical limitations. For example, for the AQ2Open 2023 LAN in Stockholm, we had to produce a 30fps video for the videowall shown in the venue due to them not supporting anything higher (this is not uncommon).

This technique has been used since the mid 2000's in Quake and Goldsrc fragmovies (eg. q3, cs1.6, rtcw: et), and has since the early 2010's become a staple of the medium. It is crucial for fragmovies and would be useful for q2jump as other movement-focused communities use it to amplify the viewing experience (eg. defrag, 1.6 surf, source surf).

Technical

Exporting demos to video is supported by FTE, Darkplaces, as well as most Q3 engines. It is also supported by AprQ2 (client manual, source?).

Usually this feature is implemented either as exporting to imagesequence, pre-defined videoformat, or a configurable ffmpeg setup. If basic imagesequence is the only option available, usually a separate soundfile is generated alongside the imageseq for the gameaudio.

Finally, to address the elephant in the room, it is possible to achieve this in q2pro right now by using timescale. For example, recording in OBS with 60fps and timescale 0.05 gives you a 1200fps recording. This is how I do all of my video projects in q2pro, however, it has a myriad of problems, such as quality, low timescale weirdness, and needing a second recording for sound, but the biggest one being the time it takes to record - a twelve second clip takes 4 minutes to record. This is simply not feasable for longform videos.

Thanks for all the work on q2pro and please add this feature.

@zhprzq2
Copy link

zhprzq2 commented Oct 15, 2023

For example, recording in OBS with 60fps and timescale 0.05 gives you a 1200fps recording.

Did you mean 120?

@mikota
Copy link
Author

mikota commented Oct 18, 2023

For example, recording in OBS with 60fps and timescale 0.05 gives you a 1200fps recording.

Did you mean 120?

No.

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

No branches or pull requests

2 participants