Code Monkey home page Code Monkey logo

avirecorder's Introduction

AVI Recorder

Purpose

A recording tool that allows you to use the Source Recorder with the ease of Fraps.

Download

Latest release (Requires: .NET Framework 4.6.2)

Features

  • Designed to work with all source games and mods (built-in support for TF2 and CSGO)
  • Allows individual launch options and customizations for each game
  • F9 Start/Stop movie recording
  • Faster recording speeds (requires delete frames on process to be enabled (default))
  • Built-in frame blending
  • Improved gamma handling
  • Parallized image processing
  • Records OpenDML 2.0 compatible AVI files
  • Supports Video for Windows Codecs (VFW)
  • Compatible with HLAE/Lawena
  • No external dependencies or installations, just one executable

Performance

This program is designed to perform well and fast. In past recording tools it was common practice to copy files (entire huds and skyboxes) around every time you launch the game. This program avoids this by only moving directories and files between gameDir\custom and gamedir\custom_store. Moving files and directories is much cheaper than copying, because it basically only modifies the index instead of copying and creating new files.

Secondly it records very efficiently aswell. The program by default deletes tga frames as soon as they are processed. This gives the Windows I/O Subsystem room for caching, essentially if tga frames are deleted soon enough it will never have to write them to disk in the first place. By default Windows uses "Write caching" on disk drives (you can check this in the Device Manager to verify that it's enabled), meaning it has a small room to write files in memory before writing them to disk. If the recorded TGA frames are deleted soon enough, the buffer will never run out essentially giving you the performance of a RAMDisk or a virtual file system.

Additionally frame blending is done in multi-core, meaning it uses all cores on your machine available to process them quickly and in parallel.

User Interface

Main Window

Main Window

Game settings: The currently selected game and user.

Recording: The currently selected recording settings. They appar in the following format: FPS (%FrameBlendingFactor%, %ShutterAngle%°), %VideoCompressor%.

Current movie: Displays the file name of the current AVI file that is being recorded.

Last frame processed: Displays the file name of the last processed TGA frame.

Start game and create recording configs: This option writes configs to support F9 start/stop recording. If you use a different recording tool like HLAE or Lawena, you can untick this checkbox so it will only serve as a converter from TGA frames to AVI files.

Open AVI folder: Opens the currently set AVI folder.

Start recording: Starts the recording process. If "Start game and create recording configs" is checked, it will launch the game and create the configs required to support recording. As soon as a recording is started it will create an avi file and start appending frames to it. Do not open the AVI file while recording takes place. Because there is no way to tell whether a movie recording has ended (Source engine games can't notify the recorder that endmovie is used), there are several triggers to signal that a movie is finished:

  • The game closes
  • A new movie is started
  • Pause/Stop is pressed Ideally you should just click "Start recording", do all of your recordings and afterwards exit the game.

About: Displays the about dialog.

Game settings

Game settings

Game: The source game or source mod to use for recording.

User: The steam user that uses this tool. This is currently only used for importing the currect launch options.

Launch Options: The launch options to start the game with.

Customization: The customization files (.vpk files or folders in \custom) to use for the game. When starting the game, it will move all unused items from gameDir\custom\ to *gameDir>\custom_store. Likewise it will attempt to move any currently missing custom items from gameDir\custom_store\ to gameDir\custom.

Startmovie commands: The commands to run when starting a recording.

Examples:

Game Startmovie commands
Team Fortress 2 engine_no_focus_sleep 0; r_cleardecals; snd_soundmixer Default_Mix; demo_resume; gameui_hide
Counter-Strike: Global Offensive engine_no_focus_sleep 0; cl_draw_only_deathnotices 1; r_cleardecals; demo_resume; gameui_hide

Endmovie commands: The commands to run when a recording is stopped.

Recording settings

Recording settings

TGA folder: The folder where the game writes TGA files to.

AVI folder: The folder where the AVI files will be written to.

Video codec: Displays the name of currently used video codec or "Uncompressed" if no codec is selected. Click "Change..." to change the video codec.

Frame rate: The frame rate of the AVI file.

Frame blending factor: The frame blending factor to use for the AVI file (meaning how many frames are recorded for one AVI frame).

Frames to process: Sets how many of the frames that are recorded for one AVI frame are processed. This is used to simulate a shutter angle. For example, if you use a frame blending factor of 32 and set frames to process to 16 you'll achieve a shutter angle of 180°.

host_framerate: Displays the host_framerate that source game or mod needs to use.

Video codec settings

Video codec settings

All the available codecs are listed on the left side. I recommend using MagicYUV for recording for optimal performance.

Configure...: Shows the configure dialog of the currently selected codec.

About...: Shows the about dialog of the currently selected codec.

FAQ

Q: Can I use this with HLAE or Lawena?

A: Yes, just untick "Start game and create recording configs". It will essentially then serve as a converter that when enabled processes all tga frames written to the tga folder and writes the AVI files into the AVI folder.

Q: The "Lagarith Lossless codec" gives me an error message A: There is a bug in lagarith where it indicates that it would have a state but actually doesn't. I will fix this in the next release either by not displaying there kinds of error messages or by making an exception for lagarith.

Q: The source game / source mod I want to record for does not appear in the games list.

A: You need to add the game to the index, which is located in the file "games.kv" (in the same directory as the program). If you successfully add a game, feel free to create a pull request and expand the list of games that are supported by default.

Q: I want to report a bug, file an issue or suggest a new feature. How can I do it?

A: Use the issue tab above and create a new issue.

Credits

Made by

Aron Parker

Thanks to

Balázs - for making the best lossless codec

Carez - for helping with localization issues

Casual - raising awareness of gamma errors

CroftCreations - for helping out with CS:GO support

Mark James - famfamfam silk icons

avirecorder's People

Contributors

aronparker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

avirecorder's Issues

Avirecorder Error! I need help!

So I get an error when i load tf2 through avirecorder. The error says, "Unable to apply user customizations: Cannot create a file when that file already exists." So then I click OK and it then says, "Unable to revert user custiomizations: Cannot create a file when the file already exists." Does this have to do with me recently deleting and re installing tf2? HELP!

Avirecorder x Lawena 2020 not working

I have managed to get it to work before, but wondering what is stopping it now... I have the required/ more updated .net framework version, i have tried using the tga foldiers in and out of the tf folder, same with the avi. It seems that lawena recording the tga files works, but as soon as i click start recording (p) (start game and create recording configs unticked ofc) it just goes from red ( recording ) to blue ( not recording ) as soon as i press p while using lawena.

Any ideas what is wrong?

.avi wont save

Started recording movie, frames will record after console is cleared...
WARN_FILEWRITE - Asked to write to 'c:\users\raz\desktop\avirecorder\tga\rec_0000.tga', but we don't own that location. Disallowing.
Couldn't write movie snapshot to file C:\Users\raz\Desktop\AviRecorder\TGA\rec_0000.tga.
Elapsed time: 0.00 seconds
WARN_FILEWRITE - Asked to write to 'c:\users\raz\desktop\avirecorder\tga\rec_.wav', but we don't own that location. Disallowing.
WaveFixupTmpFile( 'C:\Users\raz\Desktop\AviRecorder\TGA\rec_.WAV' ) failed to open file for editing
Stopped recording movie...

Error using x264vfw video codec: "Settings must not be changed while a movie is in progress"

Hey, first thank you for your great work and the new release.
I'm getting an error while trying to record a demo using Avirecorder with the x264vfw video codec.

"Settings must not be changed while a movie is in progress"
However i didn't change anything. It happens about 10s after starting the recording.

I succefully managed to record another sequence of the same demo using the x264 plugin but for some reason this error always happen on this particular moment of the demo. Uncompressed recording works fine though.

Full error log: https://pastebin.com/2GSy4YJP

avirecorder wont record any frames

for some reason i press f9 to record, it just slightly slow down the video, and in the avirecorder window, the "current movie" and "last frame processed" box is empy and not doing anything. help plz

Recorded avi file in slow mo?

I used a frame blend rate of 2 and process rate of 2 and got slow mo footage. same for blendrate 1 and processrate 1. when I used blendrate 32 and processrate 16 I got extremely sped up video.
any help?

Some codecs not showing up

I want to use x264 but the codec won't show up in AviRec, but it does show up in VirtualDub. I have tried both 32 and 64 bit versions of AviRec and VDub with same results. I do not want to use lossless as video files are too big and I don't want to waste time since I will encode it to x264 later on. I'm using Windows 7.

1avirec

2vdub

Can't find executable

This is probably a pretty stupid question but after downloading the zip folder and unzipping it I can't find the file I'm supposed to doubleclick to open the program in the "AviRecorder-master" folder or any subfolders.

not an issue just a question

I'm pretty dumb so I need to ask, if I want to record at 300fps (so I can slow clips without sacrificing fps when it's put into a 60fps movie), how do I do that? Not sure how the frame blending/rate/host_framerate works.

Doesn't seem to start demo playback for CSGO

Hey! I love the idea of this app; gave it a go this weekend and couldn't get it to work as expected.

It seems to copy the configs over correctly but just not execute them when the game launches, any clues as to if something has changed in the years since the last updates that would stop it working?

Thanks!

Counter Strike Source not working.

"Counter-Strike: Source"
{
	"GameDir"		"<steam>\\C:\\Program Files (x86)\\Steam\\steamapps\\common\\Counter-Strike Source\\cstrike"
	"Executable"	"<steam>\\C:\\Program Files (x86)\\Steam\\steamapps\\common\\Counter-Strike Source\\cstrike\\hl2.exe"
	"Arguments"		"-steam"
	"AppId"			"240"
}

This is what I put and it gives me "The path to game directory of game "Counter-Strike: Source" is invalid: The given path's format is not supported.

But if I use and remove \C:\Program Files (x86)\Steam
it gives me "No supported steam games found on this system.

Recommended procedure for audio recording?

Hello;

Great project, seems to be working just fine for me thus far. Loving the ability to pick the shutter angle, really makes the footage more pleasant to watch back with the appropriate shutter angle. I also hope to test it using a Ramdisk via symlink instead of just recording the TGAs to my SSD and then back to RAM (will report if I find any useful performance gains).

That being said, I was just wondering, how do you deal with matching up the output audio file to the video? Is there a recommended procedure?

For some reason, I cannot seem to make the audio stream match up with the video stream.

Thanks,
Breakthrough

Edit: Have tried using a Ramdisk, no notable performance improvements surprisingly. However, it would be wise to use one if you only have an SSD, as this would avoid unnecessary writes to the drive, prolonging the drive's longevity.

Suggestion: Tooltips

I read through your documentation of tools and figured, it'd be great if it displayed, when using your program via tooltips e.g.

ic510746

What do you think?

Enhancement suggestion

Alright so I've been using VDM files to control the recording process of my demos. My scenario is that each demo will start and stop recording at certain ticks and then play the next demo in the same folder.
image

The demos record one after the other unless this happens:

The game crashes when it stops recording sometimes, even if I just use 60fps, after about 15 clips the game would crash at the end of a recording.

The crash doesn't wreck the footage as it happens when the recording stops. The problem is I need the game to launch again and continue recording.

So I was wondering if you could code in a feature so that there's a checkbox in settings that will auto relaunch the game after it closes (after 30-60 seconds or so would be good). Also a textbox where the user could enter their demo path (e.g. "demos/opm/clips/"). Then when the game relaunches it needs to count how many .avi files are in the movie folder, +1 it, and then add that to the end of the demo path with a "playdemo " in front. So if there's 5 avi files in the movie folder, you would have "playdemo demos/opm/clips/6". This command would be entered in the autoexec.

Then if the game crashes again it needs to do another avi count and autoexec update to continue recording the rest of the demos until it reaches the end.

avirecorder error pops up, i dont no how to fix it

Hi! So I get an error when i load tf2 through avirecorder. The error says, "Unable to apply user customizations: Cannot create a file when that file already exists." So then I click OK and it then says, "Unable to revert user custiomizations: Cannot create a file when the file already exists." Does this have to do with me recently deleting and re installing tf2? HELP!

How to enable more codecs?

I have installed Prores codec but it doesnt show up in the settings. Are just some codecs not compatible with avirecorder or is there some step im missing?
image

edit: Prores shows up in my adobe programs so it is definitely installed in some capacity

Help, avi closes itself

So i started useing avi with lawena and each time i press p ( for tf2) it recordes ait? but the second, THE very second i stop the recording, avi says start recording and i dont have any avi vids, so anyone, please help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.