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.

Table of Contents

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


1 What's in this Release   

1.1 New Features   

A description of features in this release are documented in the Helix DNA Producer Roadmap.

1.2 Known Issues   

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.

1.2.1 ActiveX Control   

1.2.2 C++ SDK   

No high priority known issues at this time.  See Helix-Producer project for a complete list of known issues.

1.3 Fixed Bugs   

A list of fixed bugs can be found in the Helix-Producer project in Helix Community.

2 Getting Started   

2.1 Downloading the Source   

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.

2.2 Downloading the Compiled SDK   

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.

2.3 Running the Command Line Application   

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:

  1. Unpack the .zip/.tar/.sit file you downloaded.
  2. Open a command prompt
  3. Change directory into the application directory
  4. 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:

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.

2.4 Working with Helix Producer 9.0 Job Files   

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.

2.5 Upgrading from RealNetworks SDKs to Helix DNA SDKs   

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.

2.6 Using the ActiveX Control   

This release includes an ActiveX Control that can be used to develop Helix Producer applications in Visual Basic, C++, VBA and VBScript.  

2.6.1 Installing the ActiveX Control   

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.

2.6.2 ActiveX Control Documentation   

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.

2.6.3 Registering the 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.

3 System Requirements   

3.1 Compiler System Requirements   

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

3.1.1 Application System Requirements   

  1. Windows XP recommended for Hyperthreading support.
  2. Latest Windows Service Pack recommended for any Windows version. Service Pack 6 required for Windows NT 4.
  3. 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.
  4. 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.

3.1.2 Supported Chipset Optimizations   

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. 

1. About Hyperthreading and Helix Producer

3.1.3 Supported Input File Formats   

File type support varies by platform.  The following list describes the input file types supported and the platforms they are supported on:

Notes:

  1. For MPEG2 input support via DirectShow, an MPEG2 decoder, commonly installed by PC DVD Players, is required.

  2. DirectShow file reader supported only on Windows.

  3. QuickTime file reader support requires QT 5 Player or later and is supported only on Windows.

3.1.4 Supported Input Capture Devices   

3.1.5 Supported Input Color Formats   

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.

4 Troubleshooting   

4.1 General   

  1. 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.
  2. 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.

4.2 Installation   

  1. 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.

4.3 Performance   

  1. 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. 
  2. 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.
  3. 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).

4.4 File Input   

  1. The Mac OS X port of DNA Producer only supports the following file readers in this release: Any other input file types must first be converted to one of these formats before encoding with Helix DNA Producer on Mac OS X.
  2. QuickTime files should be flattened before encoding.  QuickTime files will fail to encode correctly if they are not flattened.
  3. Upgrading to DirectShow 8.1 or later can correct the following known problems with earlier DirectShow versions.

4.5 Capture Input   

  1. 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:
    1. For video, connect the DV cable to the 1394 Firewire input on your computer.
    2. 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.
    3. Configure Helix Producer by selecting the sound card for audio input and the DV input for video.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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]
  7. 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.
    1. 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]

    2. Run the Winnov's Video Configuration Utility, WnvConfig.exe. In this utility set the desired source settings defaults.
    3. Run producer.exe and video capture should now retain the settings specified in the previous step.
  8. 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.
  9. Capture from the WinTV capture cards using specific frame sizes may result in corrupted video as follows:

    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.

  10. 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:
    1. Choose Properties from the Options menu in the Recording Mixer
    2. Choose the Recording radio button and click OK
  11. 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.
  12. 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.

4.6 Codecs   

  1. If you are encoding to Ogg Vorbis audio format, see Ogg Vorbis Encoding Support for configuration information.

4.7 Broadcast Output   

  1. 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.
  2. 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:
    1. 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.
    2. 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
    3. 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
    4. 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 
  3. 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).
  4. 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:
    1. For the Account-based Push broadcast method, users should be added to the Helix Server SecureRBSEncoder realm.
    2. For the Legacy Push broadcast method, users should be added to the Helix Server SecureEncoder realm.
  5. 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.
  6. 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.

  7. 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:

4.8 RealMedia Editing   

  1. 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.
  2. 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.
  3. 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>
  4. 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>
  5. Cutting the end of a single rate file may leave a short amount of silence and frozen video before the file finishes.
  6. 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.
  7. If you need to merge two RealMedia files with image maps in both, do the following:
    1. Export the image maps from both input files using the RealMedia Editor command line application -d option.
    2. Get the duration of the first input file as reported by the RealPlayer.
    3. Use the RealMedia Editor and merge the two RealMedia files into one.
    4. Add the duration reported by the RealPlayer to the times in the image map text dump from the 2nd input file.
    5. Use a text editor and combine the two image map files into one.
    6. 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.

  8. 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.

5 More Information   

 

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.