back to top

9 Best Techniques for Mastering Ocean Photography

A- A+

Subscribe Below to Download the Article Immediately

You can also select your interests for free access to our premium training:

Your privacy is safe. I will never share your information.
Related course: Simply Stunning Landscapes

The ocean and its beautiful coast are fantastic subjects. But you need that wow-factor to make your ocean photos stand out.

There are some essential techniques you must know for ocean photography.
A stunning shot of a wave on the ocean[Note: ExpertPhotography is supported by readers. Product links on ExpertPhotography are referral links. If you use one of these and buy something, we make a little bit of money. Need more info? See how it all works here.]

What Sets Ocean Photography Apart?

Ocean photography is different from landscape photography. It’s somewhat different from classic seascape photography too. The reason is the ever-moving body of water.

Long exposure, for instance, has a bigger impact on ocean photography than on regular landscape. It smooths a more significant part of the picture (water). This way, it is affecting the complete look and feel of the image. The difference between the sea and the ocean is less obvious. In general, the sea is calmer and quieter than the ocean.

The ocean is restless and never quiet; there are always waves and splashes and a lot of action. So the safety requirements are the most serious for ocean photography. Other than that, the term seascape photography usually applies to both the sea and the ocean.

A dramatically lit rock pool seascape with fiery sunset.

Ocean Photography Gear

Like other types of photography, ocean photography also requires some specialised gear. Apart from the camera and your best lenses, here is what you’ll need for better ocean photography:

  1. Tripod. A good steady tripod is a must-have for ocean photography. Don’t get an expensive one as sea salt is very aggressive. The type of tripod head isn’t important, get one you like best.
  2. Crocs or waders. It depends on the season and ocean location. For cold climates, you’d better use waders (Iceland, Russia, Norway, etc.). For warmer places (islands, Australia) you can get away with crocs. To get excellent seascapes, you’ll need to get into the water. Your regular hiking boots won’t help.
  3. Microfiber cloth. There is a considerable chance the salty spray will cover the front of your lens. And it won’t come off when you rub it with your sleeve. I usually buy a whole bag of pieces of cloth and carry a bunch with me in the backpack.
  4. Lens Pen. If your lens gets wet, the microfiber won’t help. You need a lens pen to handle the issue after carefully wiping the water out. It’s easy to use and safe for your lens.
  5. Filters. You’ll need filters for seascapes and ocean photography. The ND filters are the most important for seascape and ocean photography. These help you control the shutter speed and the amount of action in the water. Another useful filter is a circular polarizer. It can help you see through the water and improve the colours of the sea surface.

Seascape photo of a waterfall running into the ocean, cloudy skies.

Staying Safe During Ocean Photography

The ocean is a dangerous environment. Before mastering any ocean photography techniques (such as shooting modes), you need to know how to stay safe.

Here are a few simple rules to follow:

  1. Always have a headlamp when going out for the sunrise or the sunset. If you trip over a rock in the standard landscape setting, you fall. If you trip over on the cliff edge, you fly down.
  2. Watch out for the rising tide. Check if the tide is rising before going out. Otherwise, you may find yourself locked out of the shore all of a sudden.
  3. Always keep an eye on the ocean. Some waves (rogue waves) are much larger than others, and you need to be careful. A huge wave can wash you away or ruin your gear. Also, a regular wave can sometimes have a very strong pull. Look out for rip currents and stay away from them.
  4. Don’t go to the clifftop if there are strong winds blowing towards the sea.
  5. Watch the rocks. If they are wet, then some waves can hit them from time to time. Unless it’s raining.
  6. Some water plants are very slippery.
  7. Never touch any animals. Here in Australia, for instance, we have deadly poisonous cone snails, blue octopuses, and some jellyfish.

Seascape photo of a two people fishing on the rocks with large waves behind.

Ocean Photography Techniques

Here are some fundamental techniques I use extensively for ocean photography. Feel free to use them on their own or combine to get new interesting results.

9. Long Exposure

Long exposure is one of the photography techniques that has the biggest punch in the final photo. This is especially true for seascape and ocean photography. In a standard landscape, the only thing that smooths out is the sky. In ocean photography, this also affects the water, one of the main subjects of your shot.

Ultra-long exposures produce fog-like or mirror-like water, depending on the actual activity happening there. The restless sea produces fog. The calm water creates a mirror.

For a shutter speed of 10 seconds or less, we are starting to see some smooth water structure. 5 seconds or less create a very smooth dynamic shot with some texture. The shutter speed below 2 seconds is my favourite. The picture will be very dynamic, full of texture, yet retaining its fluidity.
A dramatically lit long exposure seascape with fiery sunset sky.

8. Receding Waves in Ocean Photography

Almost every technique in ocean photography is related to the shutter speed. But they have different approaches, hence why I have separated them into sub-techniques.

Receding wave is by far the most popular ocean photography technique to master. It produces the modern classic look of your seascape photos with white water trails going from the edges towards the sea.

For this technique, you need to be standing in the water, and you need a shutter speed of 0.5 – 2 seconds. There are many things to remember:

  1. Dip your tripod into the sand so that an incoming wave doesn’t move or shake it.
  2. Make a series of shots rather than a single one. The pattern changes every split second, so you never know which picture works best.
  3. Look for free-standing rocks because water goes around them. It is forming exciting shapes and curves, and sometimes even circles.
  4. Pay attention to the direction of the flow. Pre-visualise the composition with them in your frame.Impressive reducing wave seascape with fiery sunset sky using shutter speed of 0.5 - 2 seconds.

7. Incoming Waves in Ocean Photography

Similar rules apply to incoming waves. But there is a difference. The incoming wave moves twice or even three times as fast. So take this into account when calculating your shutter speed. Such waves give you even more opportunities as they can wrap around rocks or cliffs and produce small temporary waterfalls.

The other new subject is incoming rushing water. Be careful and stay strong! An intense wave can knock you down if you don’t stay firm. The pro tip here is not to run away when a big wave is already just a few meters away.

You can run when there is a chance to get away ahead of time. But if it’s too late, hold your ground and try to keep a position.

The desired shutter speed for this type of ocean photos is also twice or three times as fast, i.e., 0.2 – 1second max.
Impressive incoming waves seascape with sunset sky using shutter speed of 0.2 - 1 seconds max.

6. Reflections Over the Pool

As I have already mentioned, the ocean is never calm. Therefore getting reflections is becoming a sort of Holy Grail for ocean photography.

One way to get them is to find a rock pool and shoot over it. The trick is to get really low above the surface to get as many reflections as possible.

Another way is to photograph after it’s rained and look for puddles in the rocks. They sometimes can be quite large. You can easily incorporate them in your composition along with the leading lines produced by the rocks around them.

Of course, this won’t work on a windy day.

Calm evening seascape with sunset sky and mountains reflected in the sea.

5. Reflections on the Sand

This is a more elusive type of reflection photography. Newbie photographers typically have no idea about it. Weather-wise, you need a low tide, so that the water recedes leaving a flatter part of the beach open.

Then, after each wave, the water goes away slower than during the high tide. The sand stays wet for longer giving you a chance to see the reflections.

You also need to be quite low but don’t overdo it. The lower point of view kills linear perspective, and that’s something you wouldn’t want for your seascapes. Try to find the balance between the perspective and the number of reflections.

With these reflections, you can produce great shots even during windy days.

Evening seascape with a flock of seagulls near the shore, a cityscape in the background reflected in the sea.

4. Abstract Seascapes

Abstract seascape photography is becoming more and more popular. Online galleries are full of such prints. But there is a difference between a snapshot and a good photo. And it is much more obvious for abstract photography.

In general, you need a little longer shutter speed and then zoom in and focus on the waves. They will smooth out nicely and produce various shapes and colours. But you need to avoid chaos and messiness!

Shoot many photos and then choose where the composition works best. If you include the sky, then regular composition rules apply. If you don’t, then it becomes more about the lines and shapes.

Another way to create abstract seascapes is ultra-long exposure. But in this case, the photo should be absolutely clear. No rocks, no algae, nothing distracting. Only the water and the sand or just the water.

The sky is not that important. If you include it, the picture looks more like a landscape. If you don’t, it looks more abstract.

Blurred waves seascape with orange and yellow sky.

3. Telephoto Seascapes

You can, in fact, shoot seascapes with your telephoto lens. This lens allows you to balance out the composition without exaggerating the foreground. You can focus on the features or sea animals or shoot distant clouds, for instance.

Some of my best seascapes were created with a telephoto lens. You should also use this lens for waves and ocean photography.
Calm evening seascape with overcast sky and mountains.

2. Ocean Waves Photography

Waves photography is almost like another genre of photography. It’s about the ocean water, yes, but it works differently.

If you are shooting from the beach, you must have a telephoto lens. The longer, the better. If you want to shoot close-up, you’ll need a standard zoom or a wide-angle lens and a camera housing.

The trick here is to choose the right shutter speed. The more you zoom, the faster the shutter speed should be. The absolute minimum is 1/250 sec, but I recommend to go at least 1/800 or even faster. The speed varies, and the wave could be blurred.

Try to photograph the waves when the sun is behind or above them. Otherwise, the colours become dull and boring with unnecessary shadows from the rolling crest.

Sometimes blurring is the desired effect and you want to show how powerful the wave burst is. In this case, the maximum shutter speed you can go is 0.5 seconds, and that’s only with wide-angle lenses.
Dramatic wave photography taken with a telephoto lens.

1. Sunburst Technique

Seascapes and ocean photography are in general, very handy for creating sunburst effects. There are always some rocks and cliffs that you can make use of.

But first of all, you need to figure out the exact position of the sunrise or sunset and set up in advance. You can use a phone application such as Photopills for this.

The sun moves quickly, and you will have just a couple of minutes to get your shot. The general idea is to have something much darker next to the sun so that its rays become visible and prominent.

The sun is very strong even when it’s low above the horizon. The other important thing is to partially obscure it. This could mean hiding it behind a rock, a cliff or just a cloud. By shifting your camera very carefully and slowly you can manipulate the size of the sunburst.

Not all lenses are born equal. Some of them cannot cope with direct sunlight and have their contrast reduced and colours faded. There is a way to deal with this issue. First, create a shot with the sun as normal. Second, cover it with your finger and create another shot.

When the sun is hidden behind your finger, the photo becomes clear of all flares and contrast issues. Later, blend the two shots in Photoshop.
Blended sunburst seascape photo with rocks and cloudy blue sky.

Conclusion

Ocean photography is not an easy one to master. But it is extremely rewarding. Once you learn the key techniques and master your camera, every visit to the ocean becomes a joy, a new story, a whole new world. The same place won’t look the same twice.

Always experiment with the shutter speed to manipulate the amount of action and fluidity. Play with the point of view to shrink or stretch the perspective and always stay safe.

Why not check our articles on waterfall photography or landscape photography cameras for more great tips.

Don’t miss out on our Simply Stunning Landscapes course, to get the most out of your images! 

Show Comments (1)
[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]
[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]