I use Linux, but I need to record the screencast of a Windows app. For this reason I run Windows as a guest OS in the VirtualBox hypervisor.
There are two options here: one is running the screencast software as an app inside the VirtualBox Windows machine; the other is to use VirtualBox native capacity to record what is runniing in its guests.
In the first case I tried with OBS recorder, which starts but warns it has not enough resources to run properly, perhaps because I misconfigured it. However, the final result is a choppy video.
Using VirtualBox native function, I get a good looking webm with these features from
Bitrate: 143 kb/s Stream #0:0: Video: vp8, yuv420p(progressive), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
While the video is apparently smooth, it is missing keyframe index and it does not work properly in Blender VSE for editing.
To solve the problem I can rebuild the index with
mencoder -forceidx input.webm -ovc copy -oac copy -o output.webm
Blender can work with it now, but the problem is that it appears several times faster. In fact, a new
ffprobe shows that:
Bitrate: 440 kb/s Stream #0:0: Video: vp8 (VP80 / 0x30385056), yuv420p(progressive), 1920x1080, 434 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
and the length of the new video is about one third of the original one.
Since Blender is an editor, I can easily apply a speed effect to bring the video to its original length and then re-encode the video. Now the Blender input is as it should have been, but recode the whole video, for each virtual machine clip, is very time consuming.
Is there some screencast software working decently in a virtual machine?
Is there some setting I could use with VirtualBox to have a properly indexed video?
Is there a better
mencoder command (or an alternative tool) to improve the index build?