Frequently Asked Questions

Discontinued Product

Note that this page refers to a product that is no longer available.


Contents


General

Are there any operating system requirements?

Flix Engine is supported on the following Microsoft Windows operating systems: Windows XP, Server 2003, Server 2008, Vista Ultimate.

Flix Engine is a 32-bit application. When building a client on a 64-bit Windows system, make sure to set the Platform Target fo x86. If using IIS7, the application pool must be set to allow 32-bit applications.

I'm having problems installing the Flix Engine, what should I do?

Try the following:

I get the following error when installing: Our records indicate that this license has been registered on another system.

This error will occur in v8.0.6.0 and up. Our new installers enforce the license agreement by locking to the hardware, allowing installation on only one machine. If you need to migrate the Engine to another machine, we require a Letter of Transfer to be filled out and returned to us. Upon receipt, we will override the hardware lock, allowing you to switch machines.

What codec pack does On2 recommend?

Flix Engine for Windows relies on DirectShow and QuickTime to import and decode media files to raw video and audio so they can then be encoded in Flash. For DirectShow to decode a given file, the necessary decoder for the file format must be present on the system.

To this end, we have found in testing that these sources support the widest range of input files.

  1. Combined Community Codec Pack provides an updated ffdshow along with many additional media filters. If you decide to use this codec pack, please follow the instructions to use our batch installer/configuration script found in this zip file, instead of directly runnning the CCCP installer. This will install the codec pack with a good starting configuration for Flix Engine. [Updated 2009-09-16]
  2. Real Alternative, a RealMedia DirectShow filter.
  3. QuickTime, filters for QuickTime MPEG-4 and H.264.
  4. Gabest MP4 Splitter, an open source mp4 splitter filter. Download the current version from the listing on this page. Extract the contents of the zip file and register the control:

     C:\>regsvr32 MP4Splitter.ax

Please note that On2 is not affiliated in any way with these projects or products, and does not provide support for using them. Other codecs may work, but these three are the only ones that On2 has tested. By listing these codecs, On2 is not granting a license for their use. It is the user's responsibility to ensure that codecs are used in compliance with their respective licenses.

Does On2 have any hardware recommendations?

Video encoding of any kind is very processor-intensive. Speed is key: buy the fastest processors you can afford. The On2 VP6 codec is optimized for Intel CPUs.

I get the following error when using process_sample.asp: Server.CreateObject("On2.FlixEngine") failed! (hr: 80040154)

This error indicates that Microsoft IIS is configured to run in 64-bit mode, and is therefore unable to run 32-bit applications. See http://support.microsoft.com/kb/895976 for details.

I get the following error when using flix2_sample.aspx: 404 not found

Barring an actual missing web page, this error may arise if Microsoft IIS is configured to run in 64-bit mode and is unable to run 32-bit applications. See http://support.microsoft.com/kb/894435 for details.

When I try to encode to an H.264 FLV, I get the following error: Flix2_Errno: flixerrno:-1 syserrno:2

This error occurs because Flix Engine does not support H.264 in FLV. Flix Engine supports H.264 in MP4, MOV and, if they are part of your license, 3GP and 3G2 formats. Try using one of these formats instead of FLV, since Adobe has updated their Flash Player to play these formats with H.264 video and AAC audio. This means that most places where FLV files have been used are now also compatible these files. The simplest procedure to encode to a file that contains H.264 video is to add the H.264 video codec, the AAC audio codec, and the MP4 or MOV muxer.

I get WARNING: Failure registering Flix Engine dll. Click to proceed. during the Flix Engine install, and Class not registered errors starting the encoder.

Newer versions of Flix Engine for Windows require the Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update. Some user systems already have this installed, but if installation on Windows fails with the message Failure registering Flix Engine dll, then you may be missing this dependency. Download and install the x86 package from Microsoft at: http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=766A6AF7-EC73-40FF-B072-9112BAB119C2

After installing the redistributable package, reinstall Flix Engine.

Performance Questions

Is it possible to do concurrent encoding with the Flix Engine?

Yes, this feature was added in version 8.0.6.0 of the Flix Engine for Windows.

For previous versions that did not support concurrent encoding, we would recommend a queuing system.

A sample of this (only in previous versions) is provided in the Flix Engine folder \samples\QueuingFiles.

Is there any way to increase encoding speed?

(For previous versions, please refer to the documentation of the On2 Flix Engine function video_options_SetCompressMode(). This has been removed in version 8.0.6.0.)

How can I reduce/increase my CPU usage?

The Flix Engine does not have CPU options. Everything is left to the OS to manage.

Encoding Questions

Why doesn't my input file encode?

Make sure the file can play back (both video and audio) in QuickTime or Windows Media Player. If it doesn't play, you may be missing a codec. You can check which codec is missing by using the following freeware program: http://avicodec.duby.info/

Also please refer to the question What codec pack does On2 recommend?.

If the file plays back normally, see if a filter graph can be set up.

If the message "Cannot play back the audio stream" is displayed and you are using a version of Flix Engine previous to 8.0.6.0 on Windows 2003 Server, a sound card must be installed for some MPEG/MPG/WMV files to work.

What does my error code mean?

Version 8.0.6.0 or higher:

The function Flix2_errno has two parameters, flixerrno and syserrno.

Here is the flixerrno list:

syserrno values are Windows error codes:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/system_error_codes.asp

Version 8.0.0.12 and lower:

The most common errors are 60050 and 61209. Both errors indicate that an importer couldn't be set-up for the file, and the most likely problem is a missing codec. Error code 61391 indicates that the audio can't be exported from QuickTime because it is protected.

Can I use an FLV file as input?

Yes. An FLV splitter and decoder is included with the full version of the Flix Engine (v8.0.0.6 and higher) and also with the demo version (v8.0.0.12 and higher).

Note there are two kinds of FLV files: those encoded with On2 VP6 (Flash 8 or 9) and those encoded with H.263 (Flash 7).

To decode an H.263 FLV file, you must install CCCP with the On2 recommended settings. See the question What codec pack does On2 recommend?, above.

I enabled logging. Why don't I see a log file?

Note: This only applies to version 8.0.0.12 and earlier.

A log file is only created if it is intercepted by logging code. This may not happen if an error doesn't occur, or if an error occurs which we haven't encountered before.

Why doesn't my output play sound?

Note: This only applies to version 8.0.0.12 and earlier.

The audio format may be MPEG-1 muxed audio; we do not support this format.

How can I export a thumbnail of the first frame?

For version 8.0.6.0 and higher, refer to the PNG Image Export (Thumbnail) Filter documentation.

FLIX2PLGNHANDLE png_exporter_plgn;
on2sc sc;

sc = Flix2_AddFilter(&png_exporter_plgn, flix, FE2_FILTER_PNGEX);
if (sc == ON2_OK)
// create a PNG image of the first video frame
sc = Flix2_FilterSetParam(png_exporter_plgn,
FE2_PNGEX_EXPORT_FIRST_FRAME_PNG, on2true);

For versions 8.0.0.12 and lower, use the following example:

Set flxExports = flxEngine.GetOtherExports()
flxExports.AddExport(2) 'ExportsJPEG = 0x02
flxExports.SetOutputJpegPath( "c:\enginetest\out.jpeg")

How can I export a JPEG thumbnail of a frame other than the first one?

For versions 8.0.6.0 and higher, please refer to the PNG Image Export (thumbnail) Filter documentation. This is not possible in previous versions.

Can I export a thumbnail without encoding a file?

No.

How can I encode only a section of a movie?

For versions 8.0.6.0 and higher please refer to the Cut Filter documentation.

For previous versions, here's an example:

set med = flxEngine.GetMediaEditorOptions()

med.SetCutMovie(1)
med.SetInTime(6000) 'start at 6 seconds
med.SetOutTime(20000) 'stop at 20 seconds

How can I make a Flash 7 file?

For versions 8.0.6.0 and higher you must use:

FE2_ExportedVideoType and ExportSWF7PlusVideo.
Flix2_AddCodec and FE2_CODEC_H263.

For older versions you must use:

SetExportVideoType(ExportMXVideo)
AND
SetVideoCodec(CODEC_H263)

How can I add a logo to my output?

For versions 8.0.6.0 and higher please refer to the Overlay (watermark) Video Filter documentation.

For older versions use the code:

$flxOverlay = $flix->GetOverlayOptions();
$flxOverlay->SetUseOverlay(1);
$flxOverlay->SetOverlayPath("c:\enginetest\overlay.bmp");

How can I find a movie's total time?

For versions 8.0.6.0 and higher use Flix2_GetSourceDuration, located in the Main Engine Interface.

If you want to determine the output file's actual duration, in case the source did not report the true duration of the clip, you can approximate it after the encode has completed by dividing the value of the encoding_status_GetTotalFrames method by the output framerate.

For older versions use the code:

$flix->SetInputFile($input_file); // be sure to do this first
$flixIVP = $flix->GetInputVideoProperties();
$duration = $flixIVP->GetDuration();

How can I improve the quality of my output?

Please note that we do not provide further advice on how to improve quality.

What is the difference between Fixed and Max keyframe interval types?

Two keyframe modes are supported, MAX_KEYFRAMES (the default) and FIXED_KEYFRAMES. This is either the maximum interval between keyframes or a fixed interval, respectively. In general, the compression codec does the best job of deciding when keyframes should be used, so setting the maximum interval is usually more appropriate.

When I encode a 3GP file, my output is white. Why?

This has been fixed in version 8.0.6.0.

Can I concatenate two or more files?

No. Only one input file can be used at a time.

How can I create a player with the Flix Engine?

This is no longer supported in version 8.0.6.0 and higher. For previous versions use the following:

set pm = flxEngine.GetPlayerMakerOptions()

pm.SetSkinFile("C:\\enginetest\\player.swf")
pm.AutoExport(1)
pm.SetUseLoadMovieForNew(1)
pm.SetOutputSwfPathForNew("C:\\enginetest\out_player.swf")

Put out_player.swf and the output FLV in your webserver folder and the SWF file will load the FLV file when opened/downloaded.

What does this message on the Engine console mean? QTAudioDeviceContextCreate: AudioContextInitialize failed

This message is from the QuickTime importer, which the Flix Engine uses. Unfortunately, we don't have access to the source code for this and can't disable the message. From our testing it does not indicate that an error has occurred during encoding. We're sorry for any inconvenience this may cause.

Why is my output file larger than my input file?

This mostly depends on what the bitrate is on the input file. Flix Engine, in essence, ignores the input bitrate and treats all input frames as raw bitmap images. So if the bitrate of the output file is higher than that of your input file, you will see an increase in size. (In general, the higher your output bitrate is, the closer you will get to the quality of your input file.) Please note that Flix Engine currently does not have a way to get/display the input bitrate. This may be added in a future release.

How can I decrease my output file size?

Bitrate (video and audio) is the primary setting that determines output file size. However, one thing to note is that keyframes take significantly more bits to encode than non-keyframes, which can result in unnecessarily large files if the value is set too low. For most purposes, the default value is preferred.

Why is my actual output bitrate different from what I specified?

This is largely dependent on factors with your input file, but we offer some notes in our documentation on how to use advanced VP6 settings to achieve better results.

Why is my output file size larger in the full version of the Engine than the demo version?

This is because of the On2 watermark, which in essence removes a portion of the video and replaces it with a static image (which takes less bits to encode because it has no motion).