TASVideos

Tool-assisted game movies
When human skills are just not enough

Emulator Resources / JPC / Movie Dumping R10

NOTE: This appiles to r10.x versions. r11/r11.x versions are different.

Making dump files

Notes:

  • If you want to, you can dump to named pipe / named FIFO.
  • Concatenation of dump files is concatenation of their contents.

Using skip:

Skip delays the audio by specified amount. This is useful for compensating the length of encoder logo and codec delay. For instance, if your logo is 2 seconds long and audio codec delay 105ms, you might want to put 1.895 to skip box. Few notes:

  • Put the same skip value to all used outputs or audio channels will be off-sync.
  • If value has . in it, then the unit is seconds, otherwise nanoseconds. So 2.0 is 2 seconds but 2 is 2 nanoseconds (2000000000 is 2 seconds).
  • Blank skip value means no delay.
  • Negative skip values are not currently possible.

Converting dump files to RGB / RAW / WAV:

After you got the dump files, you need to convert them to some usable format. For this, you need rawtoaudio2.exe and rawtorgb.exe. There are prebuilt versions for Windows and they can be built from sources (the sources are included in JPC-RR sources).

Converting video to raw RGB file.

rawtorgb.exe foo-video.dump foo-video.rgb lanczos2 640 400 16666667

This instructs to dump the video dump as raw RGB dump of 640x400@60fps. Note that while most games use 320x200 that gets scan-doubled/doublescanned to 640x400, not all games do. See the size of window when in-game for proper value. lanczos2 sets resizing algorithm to Lanczos resizer with alpha of 2.

The raw RGB dump is in in RGBx format, with framerate of 60fps and specified frame size. Tools like mencoder, ffmpeg or gst-launch can be used to encode these further. Watch out, the dumps are large! You might want to send them to pipe (this also avoids 2GB problems on some platforms).

Converting audio to WAV file.

  • For PCSpeaker output: rawtoaudio2.exe --input-file foo-speaker.dump --input-format=pcm --output-file=foo-speaker.wav --output-rate=44100 --output-attenuation=20 --output-format=wav
  • For FM synthetizer output: rawtoaudio2.exe --input-file foo-fm.dump --input-format=fm --output-file=foo-fm.wav --output-rate=44100 --output-format=wav
  • For PCM digital output: rawtoaudio2.exe --input-file foo-pcm.dump --input-format=fm --output-file=foo-pcm.wav --output-rate=44100 --output-format=wav

The --output-attenuation=20 is to attenuate the otherwise extremely loud PC Speaker channel. If there are multiple used channels, you need to mix them together (using something like sox).

Then encode the resulting wav with whatever codec desired.

Converting audio to raw file.

Use this only for runs over 3 hours (for smaller runs, use the wav file method). This method avoids the Wav file size limit.

  • For PCSpeaker output: rawtoaudio2.exe --input-file foo-speaker.dump --input-format=pcm --output-file=foo-speaker.raw --output-rate=44100 --output-attenuation=20 --output-format=raw
  • For FM synthetizer output: rawtoaudio2.exe --input-file foo-fm.dump --input-format=fm --output-file=foo-fm.raw --output-rate=44100 --output-format=raw
  • For PCM digital output: rawtoaudio2.exe --input-file foo-pcm.dump --input-format=fm --output-file=foo-pcm.raw --output-rate=44100 --output-format=raw

The output files are 44100Hz signed 16bit little-endian stereo. Convert them using suitable program.



Combined RSS Feed
EmulatorResources/JPC/MovieDumpingR10 last edited by Flygon on 2010-09-13 11:44:07
Page info and history | Latest diff | List referrers | View Source