Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Xonotic demo recorder

#1
Hi all,

just as a side-note information: back in February 2010 I created the Nexuiz Demo Recorder, which is a tool that automates the (mass-) recording of demos for you.

Unfortunately the original thread (on the alienTRAP forum) was deleted. However, you can download the (nexuiz) demo recorder by first downloading version 0.2 followed by the v0.2 to v0.3 patch, i.e. first you extract the version 0.2 somewhere, and then extract the v0.3 into the same directory, overwriting the .exe and .jar file of v0.2. To run the program you can either use the jar file or the exe file in case you're using Windows. You'll need to have Java installed, you can get it at java.com)

The good news is: this thing works flawlessy for Xonotic demos as well!

Why/Who should care?
Everyone who has, in the past, created clips (and e.g. uploaded them to YouTube or other sites) of his demos from time to time, and intends to do so in the future, and who is sick of having to wait while having to fast-forward to the correct point in time in the demo, press the record button and then have to wait another decade until you manually stop the recording process again (cl_capturevideo 1/0). This manual process requires (at least partially) your attendance and also blocks you from using your machine effectively otherwise.

The Nexuiz (Xonotic) demo recorder is a java tool (-> cross platform) which allows you to create jobs where you specify the demo, a start time and end time and the final destination for the file, press "record", and then the program will do all the rest for you (start xonotic, fast-forward to the start second, press cl_capturevideo 1 for you, and then does cl_capturevideo 0 when done, and move the recorded clip to a destination you specify).

So if you belong to those users who already are a bit experienced in manually creating Nexuiz/Xonotic clips, just download the tool. It comes with an extensive documentation (see "help" menu). I also give a demo on how to use the tool here (YouTube).

There are several advanced features too. For example, it does not only support you with recording the clip but also (at least on Windows) allows you to compress avi clips to other codecs, using VirtualDub. I am showing off the feature and how to use it here (YouTube) (Of course the alternative is to let Xonotic do the compression for you, i.e. use the OGG format/compression from the start). If you are on Linux and a somewhat experience Java programmer, it will be quite easy to create your own "encoder plugin" that supports e.g. mencoder or whatever encoder you want to use.

Also, the jobs you create, i.e. the job queue, can be saved to a file. Now imagine how helpful this could be in a community movie project. Someone who finds e.g. FOTM frags or something else will, when using this tool, have a collection of demos and a job-queue that contains a job for each FOTM (including start and end time). If then someone else wants to do a FOTM/FOTY (frag of the year) compilation and asks for frags, you could simply send him your demos and the job queue, and the movie maker can get all clips recorded in one go over night. That saves a TON of time!

Or another example would be if you want to test different configs (with different graphic quality detail settings, e.g. different settings for blur, bloom, contrastboost,....). You can simply create a few duplicates of an existing job, change some console commands that will be issued right before the recording starts, and have everything recorded over night.

A small heads-up for Windows users
Do not use the darkplaces.exe (that comes with the Demo Recorder) with the Xonotic builds. The darkplaces.exe (and the patch that you could use on the Nexuiz 2.5.2 source that produces that file) do nothing else than adding a cvar "showgametime" that you can use to determine the timestamps that you have to feed the Demo-Recorder program with, when creating jobs. Now in Xonotic, to get these timestamps, you can simply bind a key to "prvm_global client time". Pressing the key will then show you the correct timestamp.

Hope it helps!
Reply

#2
Nice, I presume we just use one of the .exe's that come's with the preview version as the engine to launch right?

Really, this will help no end recording with 480fps for me take's ages, but when I leave it over night I can record a month's worth of work within a few days.
[Image: 542.png]

#deathmatchers @ irc.quakenet.org

Reply

#3
(01-07-2011, 07:18 AM)kojn^ Wrote: Nice, I presume we just use one of the .exe's that come's with the preview version as the engine to launch right?

Yes, that's right. Any of the Xonotic...exe's should work.
Reply

#4
Ok, good work thanks a lot, after I finished off my 50fps video I may start on something just for fun.
[Image: 542.png]

#deathmatchers @ irc.quakenet.org

Reply

#5
FAIL,
I just spent 3 hours to record a 5min demo.
I would add some useful parameters for nice videos.
Code:
cl_capturevideo_ogg 1 // enable ogg compression
cl_capturevideo_ogg_theora_quality 32 // video quality default 32 but not very nice
cl_capturevideo_ogg_vorbis_quality 3 // sound quality 3 is ok
cl_capturevideo_fps 60 // allow to make slowmo effect (else 30 is ok)
cl_hidewaypoints 1 // To hide waypointsprites
r_letterbox -1 //hides most HUD elements, including the kill messages.
//If you only want hide the HUD, use viewsize 120 (default 100)
//To hide the weapon, use r_drawviewmodel 0    
//To hide the crosshair, use crosshair 0
The very complete xonotic wiki for demo capture : http://dev.xonotic.org/projects/3/wiki/Democapture/

For the ogg compression with theora_quality 32 and vorbis_quality 3 at 60fps for a 6min20s demo I got a 320Mo ogv file. I'll try increase quality for the next video.


I'll try your soft for the next video.

Edit : Video creation tips : http://forums.xonotic.org/showthread.php?tid=916.
antibody use those video parameters for a better quality :
cl_capturevideo_ogg_theora_quality 63
cl_capturevideo_ogg_theora_keyframe_bitrate_multiplier 2
cl_capturevideo_ogg_theora_keyframe_maxinterval 500 //if you are using 100fps for your capture
cl_capturevideo_ogg_theora_noise_sensitivity 0
cl_capturevideo_ogg_vorbis_quality 10
Awesome, did Qz show you that ?
Nexuiz : I Reach the top5 of the ladder (even top3 I guess). Top1 French for quite some time (when active) of ladder. Top5 of some tournaments (if I remember well)
Reply

#6
I get this:

Could not locate the expected video file being generated by Nexuiz (should have been at
/home/klrr/.xonotic/data/video/autocap1234567.avi/.ogv

These are my settings: https://mediacru.sh/l8PCi1clZ_nO

Anyone know what might cause this?
Reply

#7
@GreEn`mArine, any chance this can be open sourced?
Reply

#8
It already is. His first post contains the zip file, which contains the packed sources and the GPL license text. The second file - a patch - appears to have just the class files (an error, maybe?), but I believe the source is here.

I have a loading utility for the tool here.
asyyy^ | are you releated to chuck norris?
Reply

#9
Thanks, @Antibody. Got it from gitlab and was able to compile v0.3

Your utility is excellent, too. Thank you!

There's a bug in v0.3: it fails to restore the original volume value after muting it (by default, the sound is disabled during fast forward). For some reason, $ is interpreted as literal, rather than a variable prefix. I suspect it has something to do with demoPacket stream. I turned that option off in the preference, but I'll try to fix it when I get some time.

UPDATE: It's a logical bug that occurs when recording start time is in the early portion of the demo. The original volume value is never preserved. I'll fix it and ask you guys to test it.
Reply

#10
OK, I submitted the changes for testing and then merging. Could @Antibody (and/or somebody else) help test it?

Thanks so much!

https://gitlab.com/xonotic/xonotic/merge_requests/12
Reply

#11
The bug was that it was leaving the volume muted, and the expected behavior is that my volume gets reset to the same values as prior to using the tool. Is that correct?
asyyy^ | are you releated to chuck norris?
Reply

#12
That's right. The volume is set to "volume $$_volume", which is wrong, because the value of $_volume was never set in the first place, and the symptom users experience is what you describe: the volume became muted (because $_volume evaluates to null).

I know this bug is solved, but I want to make sure I didn't introduce new bugs.

Thanks again, @Antibody.
Reply

#13
@Antibody, sorry -- I should've been more clear. Could you help test that all the original functions still work?
Reply

#14
I'll have a look next time I use the recorder. I'm taking a break from Xonotic for a bit, so I don't have a timeline for you.
asyyy^ | are you releated to chuck norris?
Reply

#15
Thank you, @Antibody.
Reply

#16
Hello, I'm back. Just yesterday I checked out your branch and ran the tool through its paces. It recorded 240+ demo clips and I've seen no issues thus far, although I haven't made my way through all of them.

Good work! I'll keep you posted once I sift through all of the clips.

EDIT: Also, I'll be damned if I can figure out how to get Intellij's IDEA to generate me a runnable JAR for this project. I tested it in-IDE w/ the run dialog. Argh.
asyyy^ | are you releated to chuck norris?
Reply

#17
(06-17-2015, 07:17 AM)Antibody Wrote: Hello, I'm back. Just yesterday I checked out your branch and ran the tool through its paces. It recorded 240+ demo clips and I've seen no issues thus far, although I haven't made my way through all of them.

Good work! I'll keep you posted once I sift through all of the clips.

EDIT: Also, I'll be damned if I can figure out how to get Intellij's IDEA to generate me a runnable JAR for this project. I tested it in-IDE w/ the run dialog. Argh.

Thanks so much for testing it, @Antibody. After you test it, could you leave a note on https://gitlab.com/xonotic/xonotic/merge_requests/12/ saying you've tested it and it's ready for merging?

I didn't use an IDE but this is what I did to produce a jar from the command line -- perhaps you can figure out how to do that in IDEA from this:

Code:
$ cd misc/tools/NexuizDemoRecorder/main
$ mvn package
$ cd target
$ java -jar NexuizDemoRecorder-0.3.1.jar

The dependencies are in ./lib
There are three files: javahelp-2.0.02.jar miglayout-3.7.2.jar swingx-1.6.jar

I suppose if you really just want one jar file, you can unpack them and repack them back to a big jar.

Thanks again!
Reply

#18
Excellent, I'll try maven from the command line. I wonder what IDEA is doing differently, as I do specify to use the maven build files to generate it. No matter. Thanks!

Oh also, I went through all the clips last night. There were no issues. I'll comment with the same on gitlab.
asyyy^ | are you releated to chuck norris?
Reply

#19
Hello everyone!
Demo Recorder doesn't work for me, shows error.
Can anyone help?
Screens:

[Image: 12166254_935951849812012_1285628481_n.jp...e=561D6D3B]

[Image: 12083882_935951846478679_179877113_n.jpg...e=561C8623]
Reply

#20
(10-11-2015, 02:13 PM)SkyStyler Wrote: Hello everyone!
Demo Recorder doesn't work for me, shows error.
Can anyone help?
Screens:

[Image: 12166254_935951849812012_1285628481_n.jp...e=561D6D3B]

[Image: 12083882_935951846478679_179877113_n.jpg...e=561C8623]

Are the problem resolved? The screenshots don't show. Could you upload them again?
Reply

#21
[Image: 14a71c993fbd497c0b75018920dc0b90.jpg]

[Image: 14a71c993fbd497c0b75018920dc0b90.jpg]
Reply

#22
Please provide us screenshots of what the template values contain and what the one job entry contains. These screenshots won't help us narrow down the issue.
asyyy^ | are you releated to chuck norris?
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  .dem DEMO files RONNIX 3 1,403 04-12-2017, 03:52 PM
Last Post: Smilecythe
  Xonotic World Cup Series Major #1 Demo thread Islinn 0 1,690 01-24-2017, 10:48 PM
Last Post: Islinn
Video Demo timestamps for Xonotic World Cup 2016 Fragmovie zeroql 31 11,403 09-08-2016, 09:07 AM
Last Post: Smilecythe
  Community Frag Movie Demo Call srkdy 9 4,243 12-06-2015, 01:04 PM
Last Post: Islinn
  Race/XPM movie. Demo's wanted. kojn^ 4 3,524 11-18-2011, 03:14 PM
Last Post: kojn^
  The CTF Pickup Demo Thread kojn^ 20 17,266 02-06-2011, 01:39 PM
Last Post: kojn^
  The Duel Pickup Demo Thread tZork 1 3,020 02-06-2011, 01:38 PM
Last Post: kojn^
Music Xonotic Menu Theme (Demo) SysRecordss 8 5,815 08-05-2010, 08:42 AM
Last Post: The mysterious Mr. 4m
  usefull game video recorder / script od@r 2 3,572 04-21-2010, 06:54 AM
Last Post: od@r

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-