Capture Screen using only Software

Difficulty level:
Information for:
                     
surfer
"John Doe"layman
expert
[ Rel. 2 ]
 
web-master

[ Language ] :: [ Main Index ] :: [ Site Navigation ] :: [ Tutorials ] :: [ Downloads ] :: [ Contact ]

 

Until now, the whole domain has been focused on downloading the source-file. But, it is not always possible – e.g. RTSP MOV/QT, or XDMA videos – or it is not convenient. As we known from human history, evolution is never-ending story. When you still have an analog modem, or some modern technology as mobile 3G, Wi-Fi, or volume-data-transfer restricted DSL, you will probably think a long time before you start download a 2 hours movie. It will has at least 300 MBy! Second possibility are java-based-videos played by animation script. And finally, pay-per-view videos, which usually can be downloaded without problems worth to talk about, however, they cannot be played, later.

In all this cases, a good old screen-capture can solve most of our problems. I do not talk about it because of two serious reason: on-line link capacity and stability. When we start to capture video, we are capturing anything what will be draw on screen. As soon as our link collapse, or its capacity will be insufficient, or a new pop-up window will jump-out, or screen-saver will start, we will capture it also. Later we will have to cut them out and de facto we will has so much post-process work, that we will probably resignate.

So we should forget about on-line screen-capture when we has no guaranty about link stability and capacity.

In fact, it is convenient to use screen-capture in single case: to convert java-based video to something less exotic. Video we watched is at Temporary Internet Files directory together with all libraries necessary to play it. So we can construct our private off-line player and – by the way – eliminate a link capacity’s oscillation and/or unwanted pop-up windows.

We will use an off-line player for Geo Interactive Emblaze Video ver. 2, we have made at previous article.

 

As the first we should modify our hardware behavior to pass around various locks, which can be built inside. Maybe, you have heard a marketing term “Secure Path”. It is a sound and/or TV-cards feature, which allows to block flowing signal recording from system level. Microsoft DRM can do that, for example. As result, you will get an audio/video file with blank or noise screen. Sometimes with animated logos and clip’s name.

Picture 1: Dissabling hardware acceleration - collage.

Well, if you have a hardware from prestigious company, or just want to be sure do the following. At first, disable any hardware acceleration for video (see picture 1). We will pass around TV-card as well as DirectX. Click on Microsoft Windows desktop (screen-background) and choose Properties. Go to the last tab Settings, where you normally set a screen size and resolution. Click on Advanced button. If you have any hardware accelerator, you will see there a few tabs – usually six. Choose the one, titled as ‘Problem solutions’ or similar. You should found there a trackbar, or list box which allows you to set a hardware acceleration level. Set it to None. If you have allowed a combined writing to memory, uncheck it also. Some video-cards use their own profile which is another layer on graphics drivers. In specific cases, it can make problems, but should not. You should be able to temporary unload it and you can do it also – but it will be probably on its own window at Control Panel.

If you have a screen-saver or power management can switch-off monitor, disable them. Or set they lack to something extraordinary long – such as 200 minutes.

Picture 2: Volume Properties (full path to shortcut: Start > All programs > Accessories > Entertaiment > Volume Comtrol) - collage.
Please note, that dialog box title is changed from "play control" (on the back) to "record control" (in front).
If you have not a Stereo-Mix channel on your sound or video card, please use a Line-In channel. You have to choose a single source only!

At second, the sound. Open standard Microsoft Windows equalizer. The easiest way is usually to right-click on sound volume control icon (left from actual time) and choosing the Volume Control from pop-up menu. Opened dialog is titled as Play Control and it is full of vertical volume track-bars. Choose from its menu Options > Properties. A new dialog appears. Choose Set Volume for ... Recording (not Playback!!!) and ensure that you have switched on Wave channel. Click OK. If you done everything correctly, the dialog name will change from Play Control to Record Control. Raise up volume to maximum at all channels (see picture 2).

By the way, I noticed, that after running a few games and some standard players, these volumes for recording are always fall back to minimum – it means absolute silence. Interesting prevention move.

Now, we can start capturing. Because we just disabled all hardware, we must use a software, which does not need hardware. Software as freeware HyperCam, or VirtualDub, or shareware TechSmith Camtasia Studio. I will use the last mentioned, because it use its own high-quality codec for loose-less compression. We will need it, because we are going to work with very-low fps video full of details. Codec like DivX just cannot work within so narrow margin. It also has very sophistic methods for mixing sound with action on screen. Whole Camtasia Studio is complete pack for non-linear working with video in any way you can dream on. Definitely, worth to buy.

Other alternative for this primary codec is one from duo AVIZLib and AVImszh. AVIZLib is better for real-world scenes, AVImszh for noise-free sterile animations. Alternatively, very quick codec HuffYUV. Ensure, that the codec will work on RGB24-bit color space! Not YUV, YCbCr, RGBA or RGBE - almost no one else understands these color spaces!

As alternative software you can use is Microsoft Windows Media Encoder which can also redirect a screen-capture as source. Using the wizard it is easy way. Fun usually starts after finishing the capture. This software is for free, however I cannot recommend it you with "pure conscience". In short, because:

 

Now, open master HTML page for java-video a start it. Then you can stop it immediately. Start Camtasia Recorder and move its window to be out of video. Close all other applications.

Picture 3: Choosing the region for capturing (whole screen).
Selected region is framed by thin red line. [ Full picture ]
In this concrete case it could be convinient to select window, because it is relativelly small and we can do it even smaller (more area to capture need more performance on system). However, individual pop-up'ed windows specially for player are rare on web. Usually the player is inside of the frame of displayed page, so we have to capture a whole screen.

Camtasia Recorder menu: go to the Capture and set Input to Fixed region and Output to File. After click on Fixed region we will be prompted for its size and position. We can get size from HTML source code – in our case it is region 289 x 216 pxls. Its exact position can be set anytime, so we will set it just before start of recording. There is another posibility – called Select – our video is already displayed, we are not going to move it anywhere, so we can make selection very precisely. This situation is shown at picture 3 - captured region is framed by thin red line.

Picture 4: Camtasia Recorder: from left to right: input, output and sound recording

In Effect menu we just check Audio > Record Audio. The rest of options are not interesting during capturing the video.

Now, we will set preferences: go to Tools > Options :: Preferences and click on the tab Capture. Check ‘Pause before starting Capture’, 'Report dropped frames' and ‘Round frame size to 4 pxls boundary’. The first options gives us a time to restart video and start capturing exactly from its begin.The second one will show us a statistic about dropped frames. A specially, when we have "typical office computer". The last one, round the input are size to be dividable by 4. A lot of video-codecs, e.g. DivX has this restriction for area size.

There has been an option ‘Boost priority during capture’ which gives to Camtasia Recorder higher priority – the same options has also Net Transport and any audio/video converter/editor. In fact, we need it to not drops any frames because of lack of system performance. We also need not to minimize Camtasia Recorder, because our region is always visible.

Option ‘Disable hardware acceleration’ we can uncheck – because we already done it. You can observe that screen will froze for a second and then blick through blank. It is normal and can not be by-passed. This is reason, why we do that better now, than during capturing process.

In the same dialog (Tools > Options :: Preferences) but on the HotKeys tab we can define a key which starts/pause video capturing. There is a F9 key by default – it should makes no problems for any player.

Picture 5: Camtasia Recorder: Other settings and options.
Y ou can try left checked disabling of hardware acceleration and see what will happend if you like to experiment.

There are a few other interesting options. You can simulate a sounds of mouse-buttons clicks, or key pressing. You can add a watermark and caption info into video. You can set preciselly audio and video codecs as well as mix for audio-inputs. All these options are at Tools > Options and Effect > Options. Check it for yourself, or read a help file - it has a lot of valuable information and it is friendly organized.

And we are finally going to recording itself. Click on Record button at Camtasia Recorder - do not worry, we have selected "Pause before recording" option. Eventually, set the input region. Stop the video playback and rewind. Put your finger on F9 key (i.e. Start Recording), move pointer to video play button and ... click and press simultaneously.

Picture 6: Record in progress.
Please note, that thick green borders are blinking. The information at Camtasia Recorder window are updated continuously only when there is a reserve at system performance to do it. On the Java console window we can see if some disturbances in transport occurs - there is a simulation of link-capacity's lack showed.

If fps on our recording oscillate too much (more than +/- 5 fps), or is too low (say 10 fps), or playback is not smooth, we should experiment with ‘Boost priority ...’ option. If this fails, we can capture a smaller region, or we can try to allow a hardware acceleration. I recommend you the second alternative as first. Maybe it is not necessary to be so careful. Capturing a smaller regions and later combining them into original through masking takes a lot of time and it is a very precious work.

After finish of playback, it is enough to press Stop button at Camtasia to finish a capturing, also. If you want to pause, press F9. Continue with capturing by pressing F9 once more. But this clip is too short to be a playground.

Post-process is another story. You can use VirtualDub as well as Camtasia Producer. Both has very advanced plug-ins. Camtasia Producer has a few file formats to output, but I suppose that you will be use AVI or MPEG for archiving.

Why? I think, I mention it somewhere, but a short recapitulation. It is a fact, that Microsoft Windows Media and Real Media are more powerful and gives better quality than any free-of-charge codec. They spends millions for optimalizations, so there should be no doubts. However, a specially at Microsoft Windows Media, it is hard to work without original software from their producents. These tools are usually a one-way convert without no possibility to work on byte level. Consequently there no repair tools - all of them, including the famous ASFTools - only co-operate with codecs! And who controls the codec, controls everything else. Usually there is no problem - when the clip is error-free. But, let's a God keeps an eye on you, when your medium corrupts. You will be glad, if you recover a part before wrong sequence. Do not even think, that you can be succesful with part after. You can try it for yourself - but I personally deeply believe, that this Pax Microsoft'ea costs us too much.

We will focus on single matter, I have already mention: a video-codec. We are creating a movie with really low fps. It is true, that most of present codecs just can not works effectively at so narrow margins. I mean by that, that changing between particular frames are or minimal or dramatically. Probably the best result you can expect from Sorenson. Unfortunately, it is an commercial codec – it is used by Apple QuickTime for example. Very good codec is Windows Media 9 (Screen) – but be aware, that Microsoft locks it by patent pending. But, if you love a Microsoft tools and you are certain that this company will cover all your needs even when your storage media becomes partially unreadable, there is no reason, why not to use it. Very good free alternatives are Intel Indeo (ver. 5.10 and later), XviD and 3vix. All of them should be set to one-pass quality-based process.

For a screen capture, there are only two alternatives to default TechSmith Screen Capture Codec: Microsoft Windows Media 9 Screen, or AVImszh.

You can help codec by duplicating every single frame and applying a smoothing on time axis. However, do not be surprised, if process speed falls down to a few fps.


Updates

2004-07-28
Added a detailed information and notices all over text. Usually at parenthesis "( )" or after dash "-". Mainly about Microsoft Windows Media Encoder - because of question at one e-mail: "... why have you skip such excellent tool?". Expanded an explanations at pictures 2, 3, 6. Some grammar errors corrected.

 

You can translate or link this tutorial under conditions written at this domain's "Legal Stuff" page and followed. If any doubts, please contact me.

Copyrights, trademarks and credits are collected here.

Marián Stach
Prešov, Slovakia Central Europe
2004-04-16

 

[ Language ] :: [ Main Index ] :: [ Site Navigation ] :: [ Tutorials ] :: [ Downloads ] :: [ Contact ]