Synchronizing ingame sounds with video footage for dummies

First of all I would like to state that I so freakin' hate when someone decides to put hitsounds in a fragmovie and they are out of sync (example). They aren't necessary, there are lots of n1 fragmovies without hitsounds, you want your movie to be better/cooler and stand out? THEN DO IT RIGHT!

Let's get down to business.

This tutorial is about synchronizing sounds recorded using wav_record. The way I use isn't perhaps the fastest but it's safe and it never failed (at least for me).

This method uses the brilliant and underrated command 'exec_at_time'. It simply executes a config at the frame with specified number (doh!).
E.g.
exec_at_time 20787000 vid_rec.cfg

This will execute the vid_rec.cfg file at frame number 20787000.

'How do I know which frame should I exec the cfg at?' - We will get to that.

1. Config files



You need 3 separate config files, all of them must be in one directory (directory of the mod that will be used to record with):

exec.cfg
vid_rec.cfg
snd_rec.cfg

Each of them consists of one line (you can of course add more commands, those here are essential).

exec.cfg
exec_at_time 12345678 vid_rec.cfg
or
exec_at_time 12345678 snd_rec.cfg
pretty obvious, huh? :P

vid_rec.cfg
timescale 1
cl_avidemo <insert your framerate here>

snd_rec.cfg
wav_record

2. Frame number



The cfg's are ready and waiting. What next?
Now it's the time for a n1 command:
show_framecount 1

Type that and voilla - screenshot.

Now, fast forward the demo to the frag scene and make a screenshot i.e. when the first frag goes off. Now, turn off ET and write down the frame number.

Following the screenshot:
606769106
1000 = 1000 ms = 1 second
Let's cut off the last part to have a nice, round number.
606769000
Now, to make sure we don't miss anything, let's step back a little, 5000 frames will do (up to your liking, this is an example).
And we end up with 606764000.

Now, exec.cfg looks like this:
exec_at_time 606764000 vid_rec.cfg

3. Recording



1. Start the demo, fast forward to about 20-30 secs before the scene starts, open up the console and type:
exec exec
2. Recording will start automatically, using framerate specified in vid_rec.cfg.
3. Record the scene like you would normally do, blah blah.

4. Change exec.cfg to
exec_at_time 606764000 snd_rec.cfg
5. Repeat 1.
6. After the scene is recorded, open the console and type wav_stoprecord.

Congratulations, you have recorded both the audio and the video.

4. Synchronizing in an editing program



Of course, do everything what you would normally do after recording (resizing/lossless compression, etc.).

Now comes the sweet and easy part. Just import the .avi/.tga sequence and the .wav file (ET saves sound files in %ETdir%/%modname%/wav - i.e. G:\ET\etpro\wav). Because recording was started at the very same frame for both of these elements, they are already synchronized, you just have to make sure that they start in the same moment.

Thanks for reading.

P.S.
Next time I watch a fragmovie with hitsounds out of sync, the person who edited that movie will get anally raped using this.
Comments
27
low+ tutorial

got a 10x faster way
gimme ur 10gb of demos at first !
Parent
2lazeh2uplo4d
Parent
Maybe share it then maestro?
Parent
ye im writing a movie tutorial about everything, since ever.
dunno when ill post it :<
Parent
I dont know the commands but wouldnt it work with something like this:

bind x "<command that starts taking the screenshots>;<command for recording sound>"?
no. recording .tga files is slower than normal so sound wouldnt be matching
Parent
Actually i just keep the time when i start to record, e.g. 10.13, in mind and then i start recording the audio file from that time on...works also fine, though your way with the framecount is more precise ofc.
i also do it and then just sync it up in vegas, nothing hard
Parent
first of all, never record video and audio together!!! another issue is, if u are recording video in fps which cant be calculate like 1000/x (where x is integer), there still will be problem with syncing. U need to set ur recording fps to 1000/x format (500, 333.3, 250, 125, 100, 90.909 and so), use that exec.cfg example from tutorial but only with that vid_rec.cfg part. After screenshots capturing, play demo again, and now without capturing video, record audio by using exec2.cfg with that snd_rec.cfg part. thats all, gl hf in future with syncing audio and video
This is already gunna be in my next version of Capture i release, so you either select capture audio or screenshots.
Nice one, didn't know there was something like that being developed :P
Parent
nie gram bo sie ucze do kola ?
Parent
ile sie kurwa mozna uczyc bez przerwy?
Parent
wystarczajaco zeby udawac ze sie nie gra !

lepiej zrob mi prace z worda w miedzyczasie o!
Parent
Nice program :)
Parent
lol this whole framecount thingy is so unnecessary and it only steals time...

with the method i'm using you're like 10x faster
and I've got 10 sports cars in my garage
Parent
what's your method?
Parent
just record both w/o framecount and then sync the first shot of the movie with the first shot of the audio. you won't need all this framecount stuff.
Parent
this sucks
This is the very best solution , all above me just suck and do not understand this very simple and safety way !
HOLY FUCK TOO MUCH WORK
Back to top