back to top

What Is HDR Photography and How It Can Improve Your Photography

A- A+

High Dynamic Range or HDR photography is a powerful and useful technique. It helps to maximize the dynamic range when photographing a highly contrasted scene.

HDR is useful for outdoor scenes of architecture and interior real estate images. It can also add a fantasy element for creative photo manipulation photography.

Landscape photography of a countryside road at sunset: the sky is bright and the land below is dark. Camera: Canon 50D. What is HDR photography?
A typical landscape at sunset: the sky is bright and the land below is dark, with little details in it. (Camera: Canon 50D)

As a photographer, the only place where you have full control over the light is in your studio. Everywhere else, you have to work with the light at hand.

Natural light is tricky to master. Landscape photographers soon learn that the best light comes at certain times of the day. This is the case with blue and golden hour photography.

With light comes contrast. We look at the difference between the deepest shadows and the brightest highlights. These define the so-called dynamic range.

Detail from a landscape photography image, grass and foliage against a cloudy sky. What is HDR photography?
This detail, extracted from the previous image, shows the most significant contrast in the picture The sky is clipped, and the tree line is almost pure black

What Does HDR Mean in Photography?

HDR photography is fusing images to create a final image. The way we do this is to capture many photos and then stitch them together.

Each image captures the scene at different exposures. When merged, the picture provides an overall correct exposure.

We need to take at least three images: One to capture a mid-range exposure shot, one that meters for the highlights, and a third for the shadows.

You can also take many images, as long as the number is divisible by 3. These images show as a plus or minus on the Exposure Value Meter. +3 and -3 is a common choice.

For example, if you capture three images, your shots would be 0, +3 and -3. +3 equates to three stops of light, increasing the exposure. -3 is reducing the median exposure by three stops.

For seven images, your range could look like this: -3, -2, -1, 0, +1, +2, +3.

Your camera will most likely allow you to change the settings to capture three images in this manner. Other cameras might have a special section for HDR imaging, allowing you to set up your shots as you wish.

Is HDR Good for Photos?

HDR is a great technical feature to capture images that have a huge difference in light and dark areas. The problem is, there is a very thin line between a good HDR image and one that is overdone.

When Would you use HDR Photography?

It is late afternoon and finally, the sunset you are after begins. The sky is a majestic display of red, yellow, orange and blue colors. Clouds light up with warm colours. The city below is lighting up.

Because sunsets don’t last long, you got in position early. With the camera now set up and the remote shutter release in your hand, you wait for the right moment and… click!

Most often than not, what comes next is a disappointment. Your photo looks nothing like the scene you saw with your eyes.

Triptych photo collage showing a cityscape and lightroom screens. What is HDR photography?
The whole dynamic range in this sunset cannot be captured in one single image.

Depending on how you set your exposure (manual or auto), you can find that:

  • the sky is very bright and the foreground quite dark with little details
  • your foreground is well exposed, but your sky is completely washed out
  • the sky is perfect but the foreground is solid black

In the image above, it is clear you can’t capture the whole dynamic range in one single photo. Lightroom highlight warning shows up in the sky. This shows areas that are almost clipped to pure white. There are no details there to recover.

And the histogram shows there are almost no middle tones. HDR photography can solve the problem.

Why HDR Photography Has a Bad Reputation

But one problem with HDR photography is that it has acquired a bad reputation.

HDR was particularly popular among photographers some years ago. Unfortunately, with automated tools, the internet became flooded with bad HDR images.

They show surreal, fake, oversaturated and/or gritty HDR sunsets.

Tasteless grainy and oversaturated HDR photography of the Ruins of Abbey Aulne (Belgium), Interior.
This image is a classic example of tasteless HDR processing.

The problem is that it is easy to over-process HDR images. There are many presets available in automated HDR software. They produce surreal and overcooked images.

In time, those images became synonymous with HDR photography. But HDR photography is not a style, it’s a technical tool. The goal of HDR mode is to expand the dynamic range of your images.

Good HDR photography is subtle and keeps the natural, yet richer, look of your images.

A natural looking HDR photograph of an urban sunset.
A natural-looking HDR version of the problematic urban sunset shown before.

Furthermore, you don’t need to remove all contrast. Contrast is what keeps things natural.

The way you then manipulate the image has little to do with HDR photography. You can opt for realistic editing or you can go wild.

Understanding Natural Light And Dynamic Range

As a rule of thumb, a soft and diffused light, like during overcast days, will reduce the contrast in the scene.

The cloudy sky, in fact, acts as a giant softbox by diffusing sunlight and scattering it all around. As a result, the contrast between shadows and highlights (the dynamic range), reduces.

On a sunny day with a clear sky, the light is hard and very directional. It casts deep black shadows while objects in full sunlight are very bright. This high contrast scene has a great dynamic range.

At sunset, the foreground is much darker than the sky and you cannot have correct exposure for both. Such sceneries can have an extreme dynamic range.

In short, if you are not photographing in a studio, you will be often confronted with scenes of high contrast. These can improve with HDR photography.

Camera Sensors and Dynamic Range

Camera sensors are electronic devices. They react to light by converting it into electrical signals. Sensors have a minimum and maximum light sensitivity.

Too little light and the sensor will see nothing. Too much and it will get blinded. Modern sensors are, on paper, capable of dealing with dynamic ranges of 12 stops or more.

Camera sensors for HDR photography
DXO Mark provides values of the dynamic range of a wide range of cameras. New sensors have better dynamic ranges than older ones.

As a reminder, a stop is a measure of the change in the amount of light available. Every time the amount of light hitting the sensor doubles, you gain a stop.

Every time the light is halved, you lose a stop.

How Do I Make HDR Photos?

Shooting for HDR is not difficult. It’s better to be safe than sorry, you should shoot for HDR when presented with a high contrast scene.

You can always decide later what to do with your images.

Estimate the Dynamic Range

Can you capture all the details in the scene in a single photo?

To know that, you can use your camera light meter. Place it in spot meter mode to get a measure of the brightness of different parts of the scene.

This way, you have an idea of the dynamic range you need to capture. You can use also your mobile with a light meter app such as the iOS Light Meter app.

Estimating the dynamic range. What is HDR photography?
In the three images above, I show the darkest area, mid-exposure and brightest one.

To expose the street in the deep shadow (photo 1), I need a shutter speed of 1/200th of a second. For less deep shadows (photo 2), 1/800th of a second is enough.

This means those lighter shadows are 2 full stops brighter than the darker ones.

The sky (Photo 3) has the right exposure at 1/5000th of a second. The sky, thus, is almost 5 stops (or EV) brighter than the deepest shadows. This is, more or less, the dynamic range of the image.

HDR vs Non-HDR

Modern sensors can cope with 12-stops dynamic ranges or more. You should be able to capture the whole 5EV dynamic range, right?

Unfortunately not. At least if you want some good image quality.

Let’s consider a single exposure and let’s say this exposure has value 0 EV. Next, let’s create an HDR version by combining three exposures taken at -2EV, 0EV, and +2 EV.

After editing them with the same settings in Lightroom, let’s compare them in the image below.

Single exposure 0EV (top) vs HDR from -2EV, 0EV and +2EV exposures (bottom). What is HDR photography?
Single exposure 0EV (top) vs HDR from -2EV, 0EV and +2EV exposures (bottom).

At first, the two images are very similar. But the HDR image presents a little less contrast. It has more detail in the shadows and the colors are more vibrant and saturated.

You could say you need to brighten up the shadows in the single exposure a little bit more. Also, reduce the contrast, increase saturation and you will get the same results as the HDR shot.

But this is not true. Let’s see a 100% crop of the two images:

Two images of a blue car on the street. 100% crop from the single exposure 0EV (top) Vs HDR from -2EV, 0EV and +2EV exposures (bottom).
100% crop from the single exposure 0EV (top) Vs HDR from -2EV, 0EV and +2EV exposures (bottom).

As you can see the HDR photography (bottom) is cleaner and more detailed. Lifting the shadows more in the single exposure will degrade the image even more.

Even with the modest 5EV dynamic range, a single exposure will have a far worse image quality. Especially when compared to an image obtained by combining multiple exposures.

When in doubt, shoot for HDR photography!

Here’s a more technical explanation of why this happens.

Capture a Series of Differently Exposed Images

You can create HDR images on a single file. But it is best to rely on multiple exposures.

Your sequence should cover a great dynamic range: again, better safe than sorry. Better to take a few extra images than realize later that you needed more.

Also, you do not need to collect the same number of underexposed and overexposed images. It depends on the scene you want to photograph.

For sunsets, it may be better to use more underexposed images. This will capture all the details in the bright sky.

 

Multiple photographs of a cityscape with different exposures. All photos were taken 1EV apart.
For my urban sunset I need to underexpose 4EV to capture all the details in the highlights. I could have stopped at +2EV for the foreground. To play it safe, I pushed to 3 EV. All photos were taken 1EV apart.

Pro Tip: Before starting a new sequence, take a photo with your hand visible in the photo. This will help you recognize the different sequences later.

You will be combining different HDR photography images together. Thus, you should have as little movement as possible between the frames.

Set up your camera on a tripod and use a remote shutter to avoid camera shake. Most software allows you to combine handheld images by performing an image alignment.

Handheld HDR photography is only possible when your slowest shutter speed is faster than your focal length. Otherwise, you’ll end up with blurred images.

It is also best to photograph a still scene, without fast-moving clouds, people or traffic. A certain degree of movement among the different exposures is OK.

You can correct it with a de-ghosting procedure, available in any HDR software.

Two photos of the same cityscape. Comparison between simple HDR fusion (top) and fusion with deghosting (bottom).
Comparison between simple HDR fusion (top) and fusion with de-ghosting (bottom).

In the image above, the clouds moved, creating artifacts in the sky (top image). I then removed this by de-ghosting (bottom).

Camera Settings for HDR Photography

Some phone and compact cameras have a built-in HDR photography mode. You can use that but usually, this works only if you save the images in jpeg format. Plus, you have little to no control over the whole process.

Here’s a short checklist for HDR photography camera settings:

  • Set your camera to save the photo in RAW format and to manual mode;
  • Use the lowest ISO setting working for your situation. Increasing the ISO will reduce the dynamic range the sensor can record;
  • Keep the same aperture for all the photos, as this will affect your depth of field;
  • Note the suggested shutter speed for the 0EV exposure;
  • Set the shutter speed to the most underexposed image you need (e.g. -4EV).
  • Change the shutter speed in steps of 1EV (double the shutter speed) after each photo. Continue the sequence until you get the brightest image you need.

Some cameras have automated bracketing functions. These are great if you want to limit yourself to the +/-2EV range in 3 to 5 photos. This depends on the settings and the camera.

Beyond Sunsets

I started this article talking about how useful HDR photography is to capture compelling sunsets. HDR photography is not only useful for sunsets though. It’s a technique you can use with any high contrasted scene.

A compelling sunset over a countryside road and fields using HDR photography.

Indoor Photography

Indoor photography is not as simple as it sounds. If you are not shooting indoor professionally, you have to deal with the available light.

Natural light from windows with a bright outside view calls for HDR photography. The same goes for an uneven illumination inside.

HDR photo of the ruins of Abbey Aulne (Belgium), Interior. What is HDR photography?
Ruins of Abbey Aulne (Belgium), Interior.
HDR photo of details on the ceiling of the Maredsous Abbey (Belgium). What is HDR photography?
Details on the ceiling of the Maredsous Abbey (Belgium).

Nightscapes

Nightscapes in the city are great situations HDR treatment. This is due to many dark areas and bright lights.

In the image below, it was not possible to get everything in one shot. The details of the colored lights and the interior of the building don’t work well with the shadows.

Mons des Arts (Brussels) by night. (Camera: Olympus OM-D EM-10). What is HDR photography?
Mons des Arts (Brussels) by night. (Camera: Olympus OM-D EM-10).

Instead, I took eight different exposures and combined them in a single HDR image. Note that due to the long exposures needed, I could not completely deghost the cloud movement.

They moved too far during the recording of the sequence.

Even far from the city, HDR is useful at night. In the image below I could not expose for the clouds in the sky. They become too dark when exposed with the lights on the dam.

Night photography of an empty highway. What is HDR photography?
A nocturnal landscape just after sunset still has some colours in the sky.

Weather

Landscape photography is not only blue and golden hours. They also include sunsets or foamy waterfalls and streams. It also includes weather photography.

A dramatic sky goes a long way in adding interest to your landscape. But bad weather usually means dramatic contrasts. Especially when comparing the sky and the foreground.

Dramatic stormy sky over a countryside landscape. What is HDR photography?
Bad weather makes an otherwise boring landscape interesting.

HDR photography allows you to exploit this great dynamic range.

A dramatic cloudy sky over a peaceful countryside landscape. What is HDR photography?

Still Life

Even if done in a studio, HDR can be useful also with still life. it ensures fine details and crispy, vibrant colors.

HDR Photography And Filters

Landscape photographers like to get things “right” in camera. Their trick is the Graduated Neutral Density filter or GND.

Rectangular GND filters.
Rectangular GND filters.

As I mention in this article about filters, GNDs are square filters mounted on a holder. This allows you to rotate them in relation to the camera body and to slide them up or down in the holder.

Those filters have a dark part and a clear part, with a transition in the middle.

Their use is simple. Place the darker part on the brighter area of your view (usually the sky). Leave the clear part on the dark foreground and place the transition around the horizon.

The filters come in different strengths. Their job is to balance the exposure across the frame. This way, you can capture all the dynamic range in one photo.

These filters work well but, for the most part, are useful for landscapes with a flat horizon. For example, seascapes or distant cityscapes.

There are situations, such as interior, and architecture photography, where filters are not as useful as HDR.

Oh, and a good set of filters is much more expensive than any good HDR software.

HDR Photography Software

Before concluding this article, here’s a useful list of software for HDR photography.

Adobe Lightroom and Photoshop

Lightroom and Photoshop have a Photo Merge mode. This allows you to combine different photos into a single HDR image.

The HDR Photo Merge panel in Lightroom. What is HDR photography?
The HDR Photo Merge panel in Lightroom.

You won’t have a lot of options to tweak the HDR. You can auto-align the images (useful for handheld sequences). You can also apply auto settings to the final exposure and choose strengths for the deghost. You are able to preview these.

That’s it.

Photomatix/Photomatix Pro

Photomatix is the big guy in the HDR world. You can move your image from Lightroom and reimport automatically the HDR image.

It has many options and presets and you can choose different methods to create the HDR (detail enhancer, tone compression, tone balancer, etc.).

Every one of these methods will create a different, basic HDR image that you can tweak in many ways.

Photomatix Pro comes with a plugin for Lightroom called “merge 32 bit”. This will create a basic 32-bit HDR image you can edit in Lightroom.

Phone Apps For HDR Photography

Many phone cameras have a HDR photography function in their default camera app. But, many dedicated apps are available, like True HDR and Pro HDR X for iOS.

Conclusion

HDR does not have to produce gritty, surreal and overcooked images. It’s a powerful photographic technique that can come in handy in different scenarios. HDR will help you photograph your subject in all its glory.

You can also check out our articles on avoiding HDR mistakes or capturing great HDR sunsets!

Save this article to your Pinterest profile to access it later!

Leave a Reply

Your email address will not be published. Required fields are marked *

[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]