Helix™ DNA Producer 10.0 Release Notes
Date: April 7, 2004
Helix DNA Producer 10 converts a wide variety of audio and video files into the
RealAudio and RealVideo format and is extensible to support other formats. Helix
DNA Producer 10 also allows you to capture audio and video
from live sources such as a camera or microphone and broadcast a live stream via a
Helix Server. The software and documentation are provided to you in accordance with your license agreement.
For the latest information about Helix Producer 10, visit the Helix-Producer
Project page.
Support and technical information is available through the apps and dev mailing
lists available through the Helix-Producer
Project page.
Latest updates to this document can be viewed at the Producer
10 Release Notes Updates page.
1 What's in this Release
1.1 New Features
1.2 Known Issues
1.2.1 ActiveX Control
1.2.2 C++ SDK
1.3 Fixed Bugs
2 Getting Started
2.1 Downloading the Source
2.2 Downloading the Compiled SDK
2.3 Running the Command Line Application
2.4 Working with Helix Producer 9.0 Job Files
2.5 Upgrading from RealNetworks SDKs to Helix DNA SDKs
2.6 Using the ActiveX Control
2.6.1 Installing the ActiveX Control
2.6.2 ActiveX Control Documentation
2.6.3 Registering the ActiveX Control
3 System Requirements
3.1 Compiler System Requirements
3.1.1 Application System Requirements
3.1.2 Supported Chipset Optimizations
3.1.3 Supported Input File Formats
3.1.4 Supported Input Capture Devices
3.1.5 Supported Input Color Formats
4 Troubleshooting
4.1 General
4.2 Installation
4.3 Performance
4.4 File Input
4.5 Capture Input
4.6 Codecs
4.7 Broadcast Output
4.8 RealMedia Editing
5 More Information
- ActiveX Control/Visual Basic SDK
- RealVideo 10
- RealAudio 10
- Improved Broadband Stereo Music
- 5.1 Multi-Channel Audio Codec
- Lossless Audio Codec
- Multiple Outputs for a single encoding job
- Parallel Input Support (separate audio and video source files)
- Enhanced Load Management
- Encoding Complexity
- File Rolling for large clips
- Audio Delay Compensation Prefilter
- Video Resize Prefilter
- New command line options
- Video Codec (-vco)
- Encoding Complexity (-eco)
- Extensible Job File Format
- ActiveX Control SDK Support
- Mach-O Macintosh OS X SDK Compiler Compatibility
A description of features in this release are documented in the Helix
DNA Producer Roadmap.
This section documents important known issues for the
SDK. For a complete list of known issues, see the Helix-Producer
project in Helix Community. Also see the list below for Troubleshooting
tips with the application, some of which apply to applications built with the
SDK as well.
-
When opening a job file which specifies a capture device that is not
installed on the machine, and then attempting to launch a device dialog for a
valid device displayed by the GetDevices method, the following error
results: "Method GetAudioDeviceDialogNames failed" or "Method GetVideoDeviceDialogNames failed".
No high priority known issues at this time. See Helix-Producer
project for a complete list of known issues.
A list of fixed bugs can be found in the Helix-Producer
project in Helix Community.
Both the SDK and command line applications are available as source. You
can browse the source code through the website by clicking on the "Source
code" link in either project or by checking the source out through
CVS. For more information on checking out the source, see the Helix
DNA Producer SDK Quick Start Guide.
The best way to compile the source code is to use the build system. The
Helix
DNA Producer SDK Quick Start Guide is a good introduction to the Helix build
system and how to build the Helix DNA Producer SDK and command line application.
The SDK and command line application are also available in compiled form for
testing. You can download either the SDK or command line application in
compiled form through the Downloads
page on Helix Community.
Helix DNA Producer command line application is distributed as a compressed
archive. This archive can be downloaded or compiled as explained in the
previous two sections. There is no installer to run and all the files it
needs are self-contained in one directory. To unpackage and run the
command line application:
- Unpack the .zip/.tar/.sit file you downloaded.
- Open a command prompt
- Change directory into the application directory
- Type 'producer' to see a listing of help on the screen. Type
'producer -m' to see a complete help file in HTML format.
Refer to the Troubleshooting Tips section
below if you experience any problems.
For more information, see the Helix
DNA Producer SDK Tutorial
Encoding to Ogg Vorbis Format
Before running a producer encode for the Ogg Vorbis format, you must download
and install the Ogg and Vorbis libraries from http://www.xiph.org.
You can find compiled copies or source for these DLLs in the Ogg Vorbis SDK at http://www.vorbis.com/download.psp
The following DLLs are required:
- ogg.dll, vorbis.dll, vorbisenc.dll
In order for the producer to find these DLLs, they will need to be located
the command line application directory or somewhere else in your command path.
Helix Producer 10 uses a new job file format, job file version 2.0. Helix
Producer 10 will automatically convert older job files to the new format when it
runs them via the command line application. Note that older versions of Producer
can't open version 2.0 job files.
The Helix DNA Producer 10.0 SDK is almost identical to the Helix Producer SDK
9.0 and 9.0.1 from RealNetworks. If you built an application based on the
Helix Producer 9.0 or 9.0.1 SDK from RealNetworks, you can upgrade this
application to work with the Helix DNA Producer 10.0 SDK using an automated
script that updates interface names and header files. Name changes made to
the Helix Producer 10.0 SDK are documented in the Helix
DNA Producer SDK interface changes guide. Please refer to this
document to upgrade your existing 9.0 or 9.0.1 applications to the latest SDK.
This release includes an ActiveX Control that can be used to develop Helix
Producer applications in Visual Basic, C++, VBA and VBScript.
The Helix DNA Producer ActiveX control consists of a DLL and supporting
libraries and files. The ActiveX control is included with the Producer SDK.
To install the ActiveX control provided with the SDK, download the SDK
package, unpack it and include the contents of the 'bin' directory in your
application directory. Make sure to keep the contents of the 'bin'
directory intact. Then register the file 'prodctrl.dll' using the method
described below in Registering the
ActiveX Control.
Documentation about the ActiveX Control is provided with the SDK or in the
SDK documentation page. Please refer to these documents for
more information about the Helix Producer ActiveX Control.
The ActiveX control functionality in this release is encapsulated in the DLL,
prodctrl.dll. To use the ActiveX control, this DLL must first be
registered. To register the control, open a command prompt and type the
following from the directory where prodctrl.dll is located:
regsvr32.exe helixproducerctrl.dll
Note: The prodctrl.dll dynamic library is bundled with the Helix DNA
Producer SDK. The
prodctrl.dll library can not be moved relative to the audiences, codecs, common,
plugins, and tools directories. The ActiveX Control depends on other
libraries located in these directories.
- Windows NT4, 2000, and XP with MSVC 6.0 SP3 or greater
- x86 Linux 2.2 with gcc 2.95.2[1]
- x86 Linux 2.2 with gcc 3.2[2]
- Macintosh OS X with Project Builder 2.1 and gcc 3.1
1. If you are compiling with the binary distribution components (e.g.
RealMedia file output or broadcast support) Helix DNA Producer must be compiled
with gcc 2.95.x or earlier only. Binaries compiled with gcc 2.95.x are not
compatible with later versions of the gcc compiler or any other compiler on
Linux. This is due to a change made by gcc to be more compatible
with other compilers (see gcc compiler documentation for details).
2. The Legacy broadcast library (encn3260.dll), RealMedia editor executable (rmeditor.exe)
and the RealMedia Edit SDK are not available for gcc 3.2
- Operating System
- Windows 98 SE, ME, NT4, 2000, and XP1,2
- Linux 2.2, 2.4 with Glibc 2.1 or greater
- Any distribution that meets the above requirements should work but
the following are tested and supported:
- Mandrake 7.2 or higher
- Redhat 6.0 or higher
- Slackware 7.0 or higher
- SUSE 6.2 or higher
- Debian 2.2r3 or higher
- Hardware
- Minimum3
- Recommended4
- 2.4 GHz or faster Pentium IV
- 512 MB RAM
- Windows XP recommended for Hyperthreading support.
- Latest Windows Service Pack recommended for any Windows version. Service
Pack 6 required for Windows NT 4.
- Minimum system configuration can encode using the command line application
into RealVideo 10 in High Complexity Mode from a live device at 240x180 @
15fps to a 28 kbps, 56 kbps and 64 kbps SureStream file (default settings)
without any degradation in encoding complexity or frame rate.
- Recommended system configuration can encode using the command line
application into RealVideo 10 in High Complexity Mode from a live device at
320x240 @ 30fps to a 768 kbps file without any degradation in encoding
complexity or frame rate.
Below is a list of CPU optimizations that are
supported by Helix Producer. Consult your hardware vendor's documentation
to determine if your hardware supports these optimization instruction
sets.
-
PC (Intel, AMD, etc)
-
MMX (400% over non-MMX systems)
-
SSE1 (No performance increase)
-
SSE2 (20% speed-up on top of MMX)
-
SSE3 (6-7% speed-up on top of SSE2)
-
Hyperthreading (0-20% speed-up on top of
MMX/SSE2/SSE3)[1]
-
Mac (G4, G5)
1. About Hyperthreading and Helix Producer
- Hyperthreading can be run with most versions of Windows by only
recommended for use with Windows XP.
- Windows 2000 and NT do not distinguish between virtual and physical
CPUs and thus will not guarantee that two CPU-intensive processes are
not run on the same physical CPU. Older versions of Windows do not
support multiple processors.
- Hyperthreading may not yield a significant improvement with
cache-intensive processes like Helix Producer unless the CPU cache is large
enough.
- RealVideo codecs require large CPU caches. When hyperthreading
is used, this doubles the cache size requirement. Generally only
Intel "Prescott" or later have sufficiently large on-board
caches to yield a performance improvement with cache-intensive processes
like Helix Producer. If the cache size is not large enough,
enabling hyperthreading will not degrade performance but no improvement
in performance will be observed either. With large enough CPU
caches, a 20-25% performance improvement should be observed.
File type support varies by platform. The
following list describes the input file types supported and the platforms they
are supported on:
- Linux
- Uncompressed AVI
- Uncompressed MOV
- Uncompressed WAV
- Mac OS X
- Uncompressed MOV
- Uncompressed WAV
- Windows
- All uncompressed file formats listed above
- Any compressed and uncompressed file types supported by DirectShow
(e.g. compressed AVI, MPEG1, MPEG2, MPEG4, AU and AIFF)
- Any compressed and uncompressed file types supported by QuickTime
(e.g. compressed QT, MPEG1, MPEG2, MPEG4, AU and AIFF)
Notes:
-
For MPEG2 input support via DirectShow, an
MPEG2 decoder, commonly installed by PC DVD Players, is required.
-
DirectShow file reader supported only on
Windows.
-
QuickTime file reader support requires QT 5
Player or later and is supported only on Windows.
-
General Requirements
-
Card must support one of the color formats
supported by Helix Producer (See below)
-
Card should support hardware scaling (if
not, use Helix Producer to resize - not hardware drivers)
-
Windows
-
Linux
-
Mac
-
YUV12 (a.k.a. I420)
-
RGB 15, 16, 24, 322
-
BGR 15, 16, 24, 32 (Macintosh versions of RGB)
-
Windows YUV Formats: YUY2, YV12, YVU9, YVYU, CYUV, IYUV, UYNV, UYVY,
V422, YUNV,
-
Mac YUV Formats: 2VUY, YUVS, YVYU, YUVU, YVU9, YUV2, V210
Note: I420 is the native color format required by RealVideo codecs. Using
I420 as input will improve performance by removing the need to convert the color
format prior to encoding.
- Do not use pnm:// in the playback URL for a live or on-demand stream
generated with Helix Producer 9. Files generated with Helix Producer 9 or
later do not include the interleaved audio/video stream required by the PNM
protocol.
- Do not put SureStream files created with Helix Producer 9 on a web
server. Starting with Helix Producer 9, the interleaved stream is no
longer added to SureStream files which causes the player to report "A
general error has occurred." when one attempts to stream a SureStream
Helix Producer 9 RealMedia file off a web server.
- On Linux, when installing, be sure that the installer's target directory
for shortcuts (symbolic links) exists in you command path. For express
installs, this location is /usr/local/bin. For custom installs, it is the
location you designate. To check what directories are included in your
command path, type "echo $PATH". On Mandrake Linux the path does
not include a reference to '/usr/local/bin' by default when logged in as
root but does when logged as a user.
-
When encnoding a live broadcast or capture to file using the GUI, Producer
may report quality level is medium when there is ample CPU to encode at high
quality. For audio-only brodacasts this can be safely ignored since
all but the lossless audio codec does not scale back quality at this
level. For video, try running the encoding process as "High"
priority by changing the process priority in the Windows Task Manager.
- RealVideo requires an input color format of I420, aka IYUV (4:2:0).
If needed, Helix Producer will convert the video color format to
I420. However, this conversion uses additional resources. If
possible, make sure your source color format is I420. Color format can
be controlled through your capture drivers or from the software you use to
create your source files.
- Resizing video can take a significant portion of CPU. For
optimal performance, set the desired input size using your hardware capture
device rather than resizing within Helix Producer. Resizing within
Helix Producer is fastest when increasing in multiples of 2 or decreasing in
decrements of 50% (e.g. 640x480 to 320x240).
- The Mac OS X port of DNA Producer only supports the following file readers
in this release:
- Uncompressed QuickTime (.mov)
- Uncompressed WAV (.wav)
Any other input file types must first be converted to one of these formats
before encoding with Helix DNA Producer on Mac OS X.
- QuickTime files should be flattened before encoding. QuickTime
files will fail to encode correctly if they are not flattened.
- Upgrading to DirectShow 8.1 or later can correct the following known
problems with earlier DirectShow versions.
- MP3 files do not encode with DirectShow 8.0a.
- Encoding Cinepak compressed AVI files can result in inverted images
using DirectShow 7.
- Images become inverted in output video when encoding Cinepak
compressed AVI files using Helix Producer with DirectShow 7.
- Output video is solid black in when encoding DIVX files using Helix
Producer with DirectShow 7.
- Flickery video results from encoding YVU9 compressed video using Helix
Producer with DirectShow 7.
- Problems encoding from AVI using DIVX, HYUV or JPG2k color formats.
- If you experience
a problem with 1394 DV (Firewire) capture (i.e. audio sounds like its going
too fast or is garbled), try capturing audio through your sound card or
line-in on your computer instead of via the DV cable. This problem is due to
audio samples being dropped by one of the DirectShow filters before they
reach Producer. RealNetworks is investigating this issue. To capture audio
and video from your DV camera, do the following:
- For video, connect the DV cable to the 1394 Firewire input on your
computer.
- For audio, connect the analog on the camera (Dual RCA Jacks or single
1/8" Stereo jack) to the sound card input on your computer.
- Configure Helix Producer by selecting the sound card for audio input
and the DV input for video.
- For capture devices with VFW (Video for Windows) drivers, some settings
like video port and audio port can not be set via the command line
application. These settings must be set in the driver-specific
configuration dialog that is installed with your capture card.
- On Linux, if
an audio device is in use when opened by the command line application, the
OSS audio driver will load the next available audio device instead of
failing. 4Front Technologies has indicated that this behavior is
scheduled to change in OSS version 3.99. The new drivers will fail when
attempting to access any device except for /dev/dsp which will retain the
behavior of finding the next available device.
- If you have more than one
sound card installed on Windows, the Recording Mixer button will always open
the audio mixer for the first sound card. To change settings for other
sound cards, change the sound mixer device by choosing Properties from the
Options menu in the Recording Mixer.
- On Windows 98 and ME you may find that the video freezes but the encoder
continues to encode audio after anywhere from 20 seconds to 40 minutes of
live capture using Osprey 1xx, Osprey 2xx and Winnov Videum.
- If you experience a crash
with WinTV-PVR-pci capture card, it may be due to a second invalid driver
installed by the WinTV capture card. The WinTV-PVR-pci capture card
driver installs an invalid capture device called 'Hauppauge PVR Capture (PCI)'
in addition to the normal driver. This causes Helix Producer to crash
if you try to list the capture devices using either the command line
application the GUI application. If you experience this problem, you
can copy the following text to a file and name the file 'solocap_off.reg'.
Then double click this file in Windows and it will uninstall the invalid
driver.
REGEDIT4
[-HKEY_CLASSES_ROOT\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\Solo
Capture]
- The VFW (Video for Windows) driver for the Winnov Videum card saves
individual settings for any software application that uses the card.
Because of this, the command line application will retain settings for the
Winnov Videum capture card that already existed before you run the command
line application the first time. Before using the command line
application, make sure to run the Video Configuration Utility, WnvConfig.exe,
and set the proper source settings. If you have already run the
command line application for capture with a Winnov Videum capture card, you
must perform the following steps to re-configure the registry settings for
the command line application.
- Copy the following text to a file and name the file 'videum_remove.reg'.
Then double click this file in Windows and it will uninstall the invalid
settings.
REGEDIT4
[-HKEY_CURRENT_USER\Software\Winnov\Videum\producer0.exe]
- Run the Winnov's Video Configuration Utility, WnvConfig.exe. In this
utility set the desired source settings defaults.
- Run producer.exe and video capture should now retain the settings
specified in the previous step.
- Some sound cards do not work with Winnov Videum AV card. This
problem occurs with applications using DirectShow capture. Such
applications include AmCap and Helix Producer. Winnov offers a patch
to resolve this problem. For more information see: http://support.winnov.com/general_info/videum%20vo/sound_conflits_vo.htm
in the Winnov Troubleshooting Database.
- Capture from the WinTV
capture cards using specific frame sizes may result in corrupted video as
follows:
- For capture frame sizes of 322x240, 330x240 and 350x240, encoded video
may appear slanted
- For capture frame sizes of 360x240 and 680x480, encoded video may
appear green
- For capture frame size of 720x480, encoded video may contain sporadic
green lines
- Switching from a frame size of 512x384 to a smaller frame size may
freeze Helix Producer.
If you experience any of these problems, please try different frame sizes
or install the VFW driver for the WinTV card. The VFW driver does not
exhibit these problems. You may also check for any updated drivers from
WinTV that might address these problems.
- On Windows NT4 and Windows 98SE, when the Mixer button is clicked the
Windows Volume Control will display instead of the Recording Control. To get
recording controls for the given audio device do the following:
- Choose Properties from the Options menu in the Recording Mixer
- Choose the Recording radio button and click OK
- If you are using an nVidia-based
capture device, and you are unable to capture video from the device, check
for updated drivers from your card manufacturer. At the time of Helix
Producer 9.1 release, capture devices based on the nVidia chips and Helix
Producer were incompatible.
- Framerate with Hauppauge WinTV WDM beta release drivers is lower than VfW.
Uninstalling the Hauppauge WDM beta release drivers and install the VFW
drivers is recommended. Using the RGB555 color format setting in the WinTV
driver dialog may also improve frame rate.
- If you are encoding to Ogg Vorbis audio format, see Ogg
Vorbis Encoding Support for configuration information.
- If you need to perform server-side archiving of a SureStream broadcast,
use RealServer 8 or earlier. SureStream broadcasts created with DNA
Producer 9.1 cannot be archived on RealServer 8 or earlier. Single
Rate streams however, can be archived on RealServer 8 and earlier.
- If you are unable to establish a player connection to a live broadcast,
and you want to determine whether the problem is a configuration problem in
Helix Producer, try the following:
- To confirm that the stream has reached the server, check that the
stream appears in the Server Monitor's connections tab. You should
see an entry of Type 'encoder' along with the proper filename.
- If you are using the Legacy Server broadcast method, ensure that you
have the correct Server mount point ("/encoder/" by default)
in your player URL. For example, rtsp://yourserver.yourcompany.com:554/encoder/live.rm
- If you are using any of the Server 9 Push broadcast methods, ensure
that you have the correct Server mount point ("/broadcast/" by
default) in your player URL. For example, rtsp://yourserver.yourcompany.com:554/broadcast/live.rm
- If you are using the Pull broadcast method, ensure that you have the
correct Server mount point ("/broadcast/pull/" by default) in
your player URL. For example, rtsp://yourserver.yourcompany.com:554/broadcast/pull/live.rm
- You must use a password
when using the Pull broadcast method from the command line application (-si).
If you wish to broadcast using the Pull broadcast method and not require a
password, use a server file with the server definition option (-sd).
- When using the Account-Based Push broadcast method, be sure the
username and password are added to the correct realm on the Helix Server as
follows:
- For the Account-based Push broadcast method, users should be
added to the Helix Server SecureRBSEncoder realm.
- For the Legacy Push broadcast method, users should be added to
the Helix Server SecureEncoder realm.
- When using the Legacy Push broadcast method with RealSystem Server
8, you may experience latency increasing over time at a rate of about 1
minute per hour. If you experience this issue and it is a major problem for
your application, you should switch to Helix Server 9.
- When using the Account-based Push broadcast method with Helix
Server 9, you may experience problems making new Account-based Push
connections if the Helix Server Administrator is used to reconfigure the
Helix Server while existing Account-based Push encodes are running. To avoid
this problem, do not reconfigure the Helix Server while Account-based Push
encodes are active. You can identify Account-based Push encodes by looking
for pairs of entries as follows in the Helix Server Monitor:
IP ADDRESS |
TYPE |
DURATION |
FILENAME |
|
encoder |
00:02:27 |
live.rm |
172.23.104.111 |
player |
00:02:27 |
encfs/servvar.set |
Each of these entries represent a single Account-based Push broadcast
session.
- If your system is not able to maintain
the desired quality level, RealProducer 10 will automatically
adjust the quality level by reducing the encoding complexity to medium or
low. However, if RealProducer reports that it is dropping video frames
in order to maintain a live encode, try the following:
- Use a faster system
- Reduce the number of SureStream™ target audiences
- Lower the video frame size
- Lower the bit rate
- Lower the frame rate (where applicable)
- Use an older video codec
- If you are editing RealMedia files crated with Producer 9, you must use
the RealMedia Editor that ships with Producer 9. RealMedia Editor 8.5
can not edit files generated with Producer 9 or later.
- When cutting RealMedia files the last few packets are dropped from the end
of the file. If your RealMedia files were created with RealSystem Producer
8.51 or earlier then use RealMedia Editor 8.51 to edit your files.
Otherwise, you may want to use SMIL to play only the desired segments
instead of physically cutting the file. See below for examples of SMIL as
alternatives to cutting and pasting.
- If you need to combine two or more RealMedia files that are larger than 2
gigabytes in total, use SMIL. RealMedia Editor can not work with files
larger than 2 gigabytes. An example SMIL 1.0 file for such a case is:
<smil>
<head>
<layout>
<region id="vid" left="0" top="0"/>
</layout>
</head>
<body>
<par>
<seq>
<video region="vid" src="real8video.rm"/>
<video re
gion="vid" src="real8video.rm"/>
</seq>
</par>
</body>
</smil>
- If you need to cut a RealMedia file that is larger than 2 gigabytes, use
SMIL. RealMedia Editor can not work with files larger than 2 gigabytes. An
example SMIL 1.0 file for such a case is:
<smil>
<head>
<layout>
<region id="vid" left="0" top="0"/>
</layout>
</head>
<body>
<par>
<video region="vid" src="real8video.rm" clip-begin="0:10" clip-end="0:40"/>
</par>
</body>
</smil>
- Cutting the end of a single rate file may leave a short amount of silence
and frozen video before the file finishes.
- When cutting video files with the RealMedia Editor, it is normal for the
video to display the first video key frame following the cut point but for
audio to begin playback exactly at the requested point. To achieve a more
accurate cut, cut the source video before encoding.
- If you need to merge two RealMedia files with image maps in both, do the
following:
- Export the image maps from both input files using the RealMedia Editor
command line application -d option.
- Get the duration of the first input file as reported by the RealPlayer.
- Use the RealMedia Editor and merge the two RealMedia files into one.
- Add the duration reported by the RealPlayer to the times in the image
map text dump from the 2nd input file.
- Use a text editor and combine the two image map files into one.
- Use the RealMedia Editor and merge the combined image map file into
the merged RealMedia file.
Otherwise, RealMedia Editor will drop the the image maps from the second
file.
-
Playback of Multichannel audio files at 1/2 speed in RealMedia editor can be
safely ignored. If needed, use RealPlayer 10 to preview the
file. The files can still be safely edited in RealMedia Editor.
Copyright © 2004 RealNetworks, Inc. Helix, RealAudio, RealNetworks, RealSystem, RealVideo, and SureStream are trademarks or registered trademarks of RealNetworks, Inc. All other companies or products listed herein are trademarks or registered trademarks of their respective owners. All rights reserved.