|Enosoft DV Processor Help|
How It Works
How To Use It
A Real World Example - Realtime logo insertion and WMV encoding
The essence of the Enosoft DV Processor is to perform real-time processing of an incoming DV stream and send to either a local file, the computer's display or an attached DV device. The most powerful option is that of device-to-device processing. This effectively inserts the processor between the two DV devices. However, this only works when the output device is a physical, external device such as a DV camcorder, tape recorder or some DVD recorders with FireWire input. It would be very useful if computers could be connected together such that they appear as DV devices. This would allow computers to be daisy-chained together and provide subsequent processing of the Enosoft DV Processor's output. In theory, such capability is possible but it has not been implemented for Windows by Microsoft.
An example of where this capability would be useful is live web streaming of athletic events where the video needs to be processed before streaming. Such processing might include graphics showing the score and channel branding. If it were possible, the Enosoft DV Processor would take the live video, process it and then send it to another computer. This second computer would see the first one as a DV device and the necessary live web streaming software would convert it and then stream it.
Enosoft Virtual DV effectively implements this capability but on a single computer. A similar function for multiple computers is provided by Enosoft Net DV.
Enosoft Virtual DV consists of two components that both appear to the operating system as DV devices even though they aren't real hardware devices. These "virtual" devices can be seen by other programs that can connect to external DV equipment. The two components are the Enosoft Virtual DV Renderer and the Enosoft Virtual DV Source.
This component receives an incoming DV stream such as the processed output from the Enosoft DV Processor. Instead of sending it to an external DV device or a file, it continually broadcasts the DV stream to any program that can receive it. To be able to receive the DV stream, the program simply uses the second component described next.
This component receives the DV stream broadcast by the Enosoft Virtual DV Renderer. It appears to applications as a DV capture device. Every frame broadcast by the renderer component is made available to the host application as if it were capturing from a DV device.
More than one application can receive the DV stream being broadcast by the Enosoft Virtual DV Renderer.
The following example shows how one instance of the Enosoft DV Processor can broadcast its output to another instance.
Two instances of the Enosoft DV Processor are launched (A and B). A's input is connected to an external DV tape recorder (1) and the Enosoft Virtual DV Renderer is selected for output (2). At this point, the processor is put into running mode. Once A is running, the Enosoft Virtual DV Source is chosen as the input for B (3). The Video Renderer is selected for output (4) and B is now put into running mode. The input from the tape recorder connected to A is displayed by B (5).
This section shows an example of how to encode a live DV signal (e.g., from a camcorder) to Windows Media Video format (WMV) with logo insertion and text overlay. A similar process could be used to stream the encoded video live.
Windows Media Encoder is required - follow the link for Windows Media Encoder 9 Series from:
Step 1: Connect your camcorder and select it as the Input for the Enosoft DV Processor
Step 2: Select Enosoft Virtual DV Renderer for Output
Step 3: Enable Text Overlay – this will display the time, date and other information. The software can be programmed to display custom text. For the purposes of this demonstration, the standard overlay items are sufficient.
Step 4: Enable Logo Overlay and configure it to display your logo of choice.
Step 5: Start the processor running by pressing the main Run button.
The Enosoft DV Processor should look similar to this:
The Output contains the text overlay and logo:
In this example the logo has been created from a bitmap which has decreased
At this point the Enosoft DV Processor is adding text and a logo to the incoming DV signal in realtime. The output is being sent to a virtual DV device. This is like a DV camcorder that can be used by other software just like any other DV device. In this case, Windows Media Encoder will use the virtual DV device for input and encode the video to WMV format. To help reduce CPU usage, minimize the Enosoft DV Processor.
Step 6: Launch Windows Media Encoder. When it launches, you will see the following wizard:
Select Capture audio or video and click OK.
Step 7: Select Enosoft Virtual DV Source for both video and audio devices and click Next:
Step 8: Choose a filename for the WMV file then press Next:
Step 9: Select Web Server (progressive download). You can select a different option (such as live web streaming but this one makes the next steps easier. Press Next.
Step 10: Select the encoding options. These can be changed later. Press Next.
Step 11: Select display information (optional). Press Next.
Step 12: Review the settings (optional). Press Finish.
After the wizard is complete, you will see the main Windows Media Encoder interface:
Stage 13: Press the Start Encoding. It is recommended that you minimize Windows Media Encoder to reduce CPU use.
Stage 14: If necessary, restore Windows Media Encoder. Press Stop. You will see a summary of the encoding:
Note: if realtime encoding was not possible, there will be a delay while encoding finishes and you will see a progress bar to indicate how much encoding remains.
Step 15: Click the Play Output File button in the summary window. This will open the encoded file in Windows Media Player:
Step 16: Close the summary window and close Windows Media Encoder. You will be prompted to save the session settings. You can load these later to avoid having to go through the wizard again.
Enosoft Virtual DV supports multiple "channels" which can be thought of as similar to television channels. The Enosoft Virtual DV Renderer broadcasts on a particular channel and multiple Enosoft Virtual DV Sources can receive the DV stream being broadcast. For most purposes a single channel is sufficient however there are situations when more than one is needed. For example, to perform live streaming from two camcorders it is necessary to have two instances each of the Enosoft DV Processor and Windows Media Encoder running. With a single channel, both processors will try to broadcast on the same channel. Just as with the television analog, this will create problems. Not only will the DV stream become a mangled combination of both sources, it can also lead to a surge in CPU use.
Both Enosoft Virtual DV components use the computer's registry to determine which channel to use. Specifically, at these locations:
is an integer value called
By default, this value is set to zero. Whenever any application that can use
the Enosoft Virtual DV components first makes use of them (such as when showing
a list of available DV devices), the particular component (i.e., renderer or
source) looks at the
Channel value to decide what channel to use.
This channel is fixed for as long as the parent application is running.
The key to making use of multiple channels is to set the
value in the registry before launching the required applications. For example,
to perform live streaming from two camcorders in the manner described above,
the sequence of events would be:
Channelvalue in the registry
Application pair #1 will communicate on one channel while pair #2 will use a separate channel.
Note, the Automation interface provides functions to make the necessary registry changes.
Under most circumstances, the Enosoft Virtual DV components automatically determine whether the DV stream is PAL or NTSC. In some situations, it is necessary to specify the video format. The following points describe the behavior:
NTSCis at this location:
For PAL, set
NTSC to 0 otherwise set it to 1.
To avoid the need for the Enosoft Virtual DV Source to use the registry, simply ensure that the associated Enosoft Virtual DV Renderer is already connected to an incoming DV stream. Note, it isn't necessary for the renderer to be actively broadcasting. e.g., the Enosoft DV Processor need not be running - it just needs to have both the Input and Output connected.
Last Updated on Sunday, 8th March, 2009. Application Version 1.5.4.
© 2006-2009 Enosoft, Hillsborough, NC. All rights reserved.