- Home /
How to record a video (with sound) without a framerate drop?
I have scripted together a simple animation sequence. It is a combination of a character's blendshapes lip synched to some audio while particle effects happen and the camera is slowly moving. I would now like to record a video of this to put onto YouTube. Later down the track I will be using a similar technique to record my cutscenes.
So I've tried to do this by putting Unity into play mode and using CamStudio to do the recording. The output video has incredible lag with many frames are being dropped. I have tried several recordings with different video settings each time but the result so far has been very choppy and unusable. I have even tried the free URecord asset, but since it doesn't record audio it is imprecise to manually try to synch up the audio with the lip synched animation.
There are many videos on the asset store that use footage from Unity, how is everyone doing this without the FPS drop?
Answer by Le-Pampelmuse · Nov 15, 2015 at 07:58 AM
Does your scene run on a high enough framerate to be able to record a 30 fps video? ;)
I dont know CamStudio, but how do you record the video? At which fps are you recording, what compression is it using, resolution etc. Do you record the area where the play window is, or fullscreen? Have you tried building the scene and recording from the .exe? This might help since the Editor does more rendering and calculations than just the game running by itself.
For Youtube, a 720p video with 30fps is enough of a good quality to showcase things.
Try Microsoft Expression Encoder, its free AND quite powerful for being free. Record areas, choose fps, and so on.
Fraps would be the best option but I don't know the limitations of the demo version.
Ok I tried $$anonymous$$icrosoft Expression Encoder. The framerate is great even when recording the Unity Editor, but your suggestion about the exe is a great idea. The only issue with $$anonymous$$EE is that it does not output uncompressed video. I need to edit and crop the recording in a video editor. If I do that on a compressed clip, when I output it from the video editor it will be compressed again, which is no good. I have tried Fraps before but didn't really like it. I will try it again. Any other suggestions?
I'm not sure what you want to achieve with an "uncompressed" video file, especially if you just want to upload it to Youtube.
Furthermore I should inform you that this question is not necessarily for Unity Answers, since it is "How to record any 3D application without fps drop" and not about Unity in general. Here a quick re$$anonymous$$der: http://answers.unity3d.com/page/faq.html
Try asking on http://forum.unity3d.com/ this is the right page for this kind of question.
The only real advice I could give you regarding the Unity side of your question was to try it on the .exe of your build and close any other application, like web-browser, media players, paint programs, downloads and filesharing, messaging. Your HDD, GPU and CPU should be on the least load possible before attempting to record. You can check that in the Task $$anonymous$$anager.
Anything else is more user preference than definitive solution and doesn't belong here.
Hope you can get the wanted result soon! :)
I thought that maybe someone would know of a Unity extension that exports video from inside the editor, since this is better than trying to use a screen recorder. In the end Fraps ended up being the solution. It took some time playing around with it, but it was able to not drop any frames. Thank you for suggesting it. If URecord is updated to include audio it will be the in editor solution I was looking for. Hope this helps others :)