Flashmedialiveencoder 3.2 Help
Flashmedialiveencoder 3.2 Help
Using Adobe Flash Media Live Encoder 3.2 If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement. The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner. Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization. Adobe, the Adobe logo, Adobe Premiere, Flash, and Flash Media Live Encoder are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Mac OS is a trademark of Apple Inc., registered in the U.S. and other countries. All other trademarks are the property of their respective owners. This work is licensed under the Creative Commons Attribution Non-Commercial 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/us/ MPEG Layer-3 audio coding technology licensed from Fraunhofer IIS and Thomson. Flash Media Encoder video is powered by On2 TrueMotion video technology. 1992-2005 On2 Technologies, Inc. All Rights Reserved. http://www.on2.com Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are Commercial Items, as that term is defined at 48 C.F.R. 2.101, consisting of Commercial Computer Software and Commercial Computer Software Documentation, as such terms are used in 48 C.F.R. 12.212 or 48 C.F.R. 227.7202, as applicable. Consistent with 48 C.F.R. 12.212 or 48 C.F.R. 227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.
iii
Contents
Chapter 1: Getting started Flash Media Live Encoder basics Encoding and streaming Resources ....................................................................................... 1 ............................................................................................... 4
............................................................................................................. 7
Chapter 2: Configuration and automation Configuring encoding options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Automating startup tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Configuring Flash Media Server authentication (Windows-only)
Chapter 3: Working with timecode About timecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Configuring Flash Media Live Encoder for timecode Using ActionScript to get timecode information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
(Windows) Select Start > All Programs > Adobe > Adobe Flash Media Live Encoder 3.2
(Macintosh) Go to the /Application/Adobe/Flash Media Live Encoder 3.2 folder and select FlashMediaLiveEncoder
From a command prompt in your Flash Media Live Encoder installation directory (typically C:\Program
Files\Adobe\Flash Media Live Encoder 3.2 on Windows and /Application/Adobe/Flash Media Live Encoder 3.2/CommandLineFMLE on Macintosh), enter the following (on Macintosh, replace back slashes with forward slashes in the file path):
FMLEcmd /g [/p [path\profile.xml]
The /g parameter starts Flash Media Live Encoder in GUI mode. For information on the optional /p parameter, see Start Flash Media Live Encoder in command-line mode on page 3.
An audio level meter, indicating input audio volume, and a mute button An Input display of the video currently being captured An Output display, which reflects current video encoding settings. If you are encoding multiple streams
simultaneously, you can select the desired stream to view. This control appears below the output window during encoding. Note: Before encoding starts, the Output display reflects only crop settings. By default, the Preview panel is active and appears at actual output size.
Audio
Note: Zoom level does not affect encoding or the stream that viewers see.
Macintosh, go down one level to the CommandLineFMLE folder and replace back slashes with forward slashes in file paths):
FMLEcmd [/p [path\profile.xml] [/l [path\log_file] [/ap userID:password] [/ab userID:password] [/t dd:hh:mm] [/r] /d [/s fmle_uid] [/u fmle_uid] [/dvrstart[fmle_uid]| /dvrstop fmle_uid | /dvrstate fmle_uid]
Parameter /h /p [path\profile.xml]
Description Shows a list of all parameters and their usages. (Optional) Specifies the path and filename of an XML profile to use. If you do not use this parameter, Flash Media Live Encoder uses the default profile, startup.xml. For more information, see Saving encoding profiles on page 20. Starts Flash Media Live Encoder in GUI mode. This option cannot be used with any parameters except for /p. (Optional) Specifies the path and filename of an encoding log file. The settings in the log file override the settings specified in the currently loaded profile. For more information, see Using the Encoding Log on page 6. (Required if the primary server requires authentication) Specifies an authenticating user ID and password for the primary server. Because the password is shown in plain text, take care when entering your password. (Required if the backup server requires authentication) Specifies an authenticating user ID and password for the backup server. Because the password is shown in plain text, take care when entering your password. (Optional) Instructs Flash Media Live Encoder to restart after the time interval specified by dd:hh:mm. For more information, see Scheduling automated maintenance restarts on page 22. (Optional) Registers the encoding session to restart at an operating system relaunch after a system closure or crash. For more information, see Configuring Flash Media Live Encoder to launch at system startup on page 23. (Recommended) Validate the encoding profile and, if any values are invalid, use the default values instead. Stops the Flash Media Live Encoder session (instance) specified by the identifier fmle_uid. Prints a list of all running sessions if the identifier is invalid or unspecified. Un-register the Flash Media Live Encoder session (instance) specified by the identifier fmle_uid. Unregistered sessions do not start automatically when the operating system is launched. Prints a list of all registered sessions if the identifier is invalid or unspecified. Controls recording during streaming. For more information on these options, see Start or stop digital video recording from the command line on page 5.
/g
/l
/ap userID:password
/ab userID:password
/t dd:hh:mm
/r
/d /s fmle_uid
/u fmle_uid
Flash Media Live Encoder launches without displaying the GUI and immediately starts an encoding session.
Note: If both the Stream To Flash Media Server and Save To File options in the Encoding Options tabbed panel are deselected, the Start button is unavailable.
3 If an authentication dialog box appears, enter your user ID and password. 4 To start Digital Video Recording manually, click Record.
Note: Although the encoding stops, the server connection persists until you click Disconnect. For information on connecting to and disconnecting from the server, see Connect and disconnect on page 17.
Show a list of encoding sessions that were started from the command line
From a command prompt in your Flash Media Live Encoder installation directory, enter the following:
FMLEcmd /s
Stop an encoding session that was started from the command line
From a command prompt in your Flash Media Live Encoder installation directory, enter the following:
FMLEcmd /s fmle_UID
When the session is streaming to a server, use the format fms_URL+stream_name for fmle_UID. For example, to stop an encoding session that is running on the server fms.myserver.com with the application named live, and the stream named livestream, you would enter the following:
FMLEcmd /s rtmp://fms.myserver.com/live+livestream
Note: When using the /s parameter, the stream_name portion of fmle_UID cannot contain a plus sign (+), because + is used as a delimiter in fmle_UID. When the session is being saved to file but is not streaming to a server, use the filepath and filename for fmle_UID. For example (on Macintosh, replace back slashes with forward slashes in the file path):
FMLEcmd /s path-to-video\sample.flv"
Note: When encoding multiple streams, use the first stream name or filename for the stream name or filename portion of fmle_uid.
Description Immediately starts recording of the encoding session specified by the fmle_uid parameter. The fmle_uid parameter is optional. When fmle_uid is not used, a new encoding session is launched. Recording begins as soon as encoding begins. When fmle_uid is used, Flash Media Live Encoder issues the start command to the specified session, which starts recording on the Flash Media Server. If an invalid fmle_uid value is used, Flash Media Live Encoder displays all registered sessions.
/dvrstop fmle_uid
Immediately stops recording of the encoding session specified by the fmle_uid parameter. If an invalid or no fmle_uid is used, Flash Media Live Encoder displays all registered sessions.
/dvrstate fmle_uid
Returns the state of the encoding session specified by fmle_uid. The state consists of whether recording is on or off and the duration of the recording. If an invalid or no fmle_uid is used, Flash Media Live Encoder displays all registered sessions.
DVR functionality is applicable only when streaming media to Flash Media Interactive Server 3.5 and later. DVR operations are performed on both primary and backup (if applicable) servers and for all streams in multi-bit rate encoding.
Macintosh. To save the log in a different folder, click Log Directory and select a folder or create a new one. When logging is enabled, Flash Media Live Encoder creates a new log file each time you start encoding. The log filename has the following format:
fmle_session_yyyymmdd_hhmmss.log
The date and time are the local system date and time. For example, the name of a log file for a Flash Media Live Encoder session that began at 10:30 on 5 November 2009 would be as follows:
fmle_session_20091105_103000.log
Here path (optional) and log_file are the path and filename of the log file you want to create. If path is not specified, the log file is saved in your My Documents\My Videos folder on Windows and in the /Movies folder on Macintosh. For example:
FMLEcmd /p c:\Profiles\my_profile.xml /l c:\Logs\my_log.txt
Note: If you include the /l parameter, the log you specify overrides the log preference specified in the XML profile. For more information on XML profiles, see Saving encoding profiles on page 20.
Resources
Flash Media Live Encoder product site This site, at www.adobe.com/go/learn_fme_main_en, provides information
about system requirements, contains links to release notes, and lets you download Flash Media Live Encoder.
Flash Media Live Encoder Forums This site, at www.adobe.com/go/fme_forum, provides forums for Flash Media Live
Notes and the latest information about Adobe Flash Media Server.
Flash Media Server Developer Center This site, at www.adobe.com/go/flashmediaserver_desdev_en, provides articles,
Preset option
Video format Video bit Size (pixels) rate (Kbps) VP6 100 176 x 144
Audio channel
Low bandwidth (150 Kbps) Medium bandwidth (300 Kbps) High bandwidth (800 Kbps) Medium bandwidth (300 Kbps) High bandwidth (800 Kbps)
15
Nellymoser
Mono
11025
VP6
200
320 x 240
15
MP3
Mono
22050
48
VP6
650
320 x 240
30
MP3
Stereo
44100
128
H.264 Main profile, level 2.1 H.264 Main profile, level 3.1 VP6
200
320 x 240
20
MP3
Mono
22050
48
650
320 x 240
30
MP3
Stereo
44100
128
300; 1000 320 x 240; 640 x 480 150; 300; 650 176 x 144; 320 x 240; 640 x 480 320 x 240; 640 x 480
25
MP3
Stereo
44100
128
VP6
25
MP3
Stereo
44100
128
H.264 Base profile, level 3.1 H.264 Base profile, level 3.1
300; 700
25
MP3
Stereo
44100
128
25
MP3
Stereo
44100
128
Choose an option from the Preset menu. Make your selection based on the bandwidth that will be available at
broadcast time. Note: If your capture device does not produce video or audio in the preset values, Flash Media Live Encoder selects the closest available value.
10
icon next to a selected device to configure its settings. For a list of compatible capture devices, see www.adobe.com/go/FMLE_DeviceMatrix_3.2.
Format Specifies the video codec to use: On2 VP6 or H.264.
*On Windows, AAC and HE-AAC are available when you install the MainConcept AAC Encoder plug-in. On Macintosh, AAC encoder provided by Mac OS X is available. HE-AAC is not supported on Macintosh.
Note: To add support for AAC and HE-AAC on Windows, purchase the MainConcept AAC Encoder plug-in for Adobe Flash Media Live Encoder. See the MainConcept website. See also Configure settings for VP6 video on page 12 and Configure settings for H.264 video on page 13. Note: If you encode H.264 files, the output files are fragmented. You must flatten the output files before you can edit them in a video editing tool such as Adobe Premiere Pro, or before you can play them in Adobe Media Player. Adobe provides a command-line flattening tool for this purpose; see http://www.adobe.com/go/learn_fmle_tools.
Input size Specifies the video dimensions for the input video, in pixels. Frame rate Specifies the target frame rate in frames per second (fps). Bit rate Specifies the video bit rate in kilobytes per second (Kbps). Select a bit rate or enter a value. For VP6, you can
enter a value from 0 to 20000. For H.264, the value depends on the selected level and ranges from 1 to 20000 Kbps. You can specify a bit rate for a single stream or multiple bit rates to encode up to three streams simultaneously. The audio settings must be the same for all streams. Note: When encoding multiple-bit rate streams, you can select which bit-rate stream to show in the Output window, after you click Start.
Output size Specifies the video dimensions for final output. Setting the output size is useful if your video capture
device doesnt provide the output dimensions you require, or if you crop the input video and want to restore specific output dimensions. To avoid distortion when you adjust the value of either the width or the height, select Maintain Aspect Ratio. See Resize video output on page 11.
Crop When selected, activates controls for cropping input video, to create focus or draw attention to a section of
11
Otherwise, enter your own custom encoding values. Under Bit Rate and Output Size, the values for each stream are numbered 1-2 or 1-3. The numeric value is the index of the encoded stream. You can use this index value, represented as %i, in the stream name and filename as a differentiator. Other parameters are available as well.
2 Under Output, specify a stream name and filename.
When encoding multi-bit rate streams, you can either use semicolons to separate unique stream names or you can use a single stream name with parameters. For the filename, you can use parameters to differentiate the streams. Note: For the stream name, if you use both semicolons and parameters, the parameters are ignored.
3 If desired, chunk the output file into smaller files by size and duration. 4 Click Start. After encoding starts, you can preview streams 1, 2, or 3 in the output window by clicking the menu
Drag any of the square handles that appear at the edges and corners of the Input video preview. Enter a pixel value in any of the Top, Bottom, Left, and Right boxes. Click the Up or Down arrow next to a pixel value box.
3 To move the crop selection box to another position, place the pointer inside the bounding box and drag.
Note: If overlay is disabled on your graphics card, the square handles and bounding box are unavailable.
Note: Although PC-based players may accommodate unexpected video sizes and dimensions, specialty players (such as cell phone players) have stricter requirements.
3 In the Timecode Settings dialog box, configure any of the following settings:
Frame Interval Specifies the frame interval at which timecode is embedded into the video stream. The default is 15.
12
Embed System Time as Timecode Embeds the system time as AMF data tags from the encoding computer. Use this
option if you want embedded timecode but your capture device cannot generate it. The system date is embedded in the <sd> tag in the format dd-mm-yyyy (day-month-year). The system time is embedded in the <st> tag in the format hh:mm:ss:ms (hour:minute:second:millisecond). The hour is in 24-hour clock format.
Device Timecode Embeds the timecode that is generated by the capture device in the stream. If the selected video
device is not capable of generating timecode, this option is not available. Note: If the selected video device is not a FireWire device and you are on Windows, you may need to provide a DLL file in the appropriate format for that device to embed a timecode. Install the DLL in the FMLEInstallDir\Timecode folder (typically C:\Program Files\Adobe\Flash Media Live Encoder 3.2\TimeCode).
Vertical Line Number Specifies the vertical line from where the device timecode is extracted. Burn Device Timecode When selected, the external video device burns a timecode on the video image, and the timecode is visible in the Input and Output preview.
Note: If the selected video device can generate timecode but cannot burn timecode on the video, the Burn Timecode option is unavailable.
Position Specifies where the device timecode is burned, by row and column. If the encoding device does not
support burning of timecode, this option is disabled. Timecode settings are stored in the XML profile. For information on XML profiles, see Saving encoding profiles on page 20. For more information on using timecode, see Working with timecode on page 27.
2 In the Advanced Encoder Settings dialog box, configure any of the following settings:
Keyframe Frequency Specifies the minimum frequency for inserting keyframes in the output video stream. Keyframes are encoded without reference to any other frames in the stream, and they provide a recovery point if the viewer's connection is dropped or rebuffered. Quality Specifies image quality. Depending on the nature of the content (such as static or dynamic) and processor
capability, this setting can affect the output, as noted in each setting. The Best Quality setting attempts to retain image sharpness but is processor-intensive; if CPU resources become exhausted while encoding, Flash Media Live Encoder compensates by dropping frames. In general, the first setting in this list that your system can support without dropping frames is best. To confirm that frames arent being dropped, monitor the Status display while encoding. For more information on the Status display, see Using the Encoding Log on page 6. Note: This setting may depend on the CPU Usage setting. For example, if you choose Best Quality but set CPU Usage to Very Low, Flash Media Live Encoder drops frames.
Noise Reduction The encoder attempts to blur what it perceives as unwanted artifacts in the video stream. This setting specifies how aggressively to apply the technique.
Note: Noise reduction is a matter of personal preference; do not adjust this setting unless you determine that there is a quality advantage.
Datarate Window Specifies how much data rate fluctuation to allow while encoding.
13
Flash Media Live Encoder can recognize similarities between adjacent frames. It allocates fewer bandwidth resources to encoding sequences that have fewer changes in the frames (such as a sitting interview using a fixed camera), reserving the resources for sequences with more motion (such as a sports event). With a larger Datarate Window value, Flash Media Live Encoder holds more data in its bufferit can process more video frames, resulting in better compression. If you believe that the viewers may have suboptimal network connections, you may want to reduce this value. Conversely, for encoding streams that are saved to file for local playback only (that is, streams that are never transmitted over a network), use the Huge setting. The best way to determine the practical effects of this setting is through real-world testing of the viewer experience.
CPU Usage Specifies the CPU resources to allocate to the video encoder. You achieve best encoding results from a
dedicated machine. Special circumstances may require that you reserve some processing power for a second task.
2 In the Advanced Encoder Settings dialog box, configure any of the following settings:
Profile Select either the Baseline or Main profile.
The Baseline profile is commonly used in video conferencing, mobile applications, or other applications which operate with limited processing power, storage capacity, and bandwidth. The Main profile is appropriate for applications that broadcast media, such as network broadcasting, and requires 1.5% more processing power than the Baseline profile.
Level Flash Media Live Encoder supports all available levels. Here are some examples of the resolution and frame rate achieved with different levels:
Type Standard definition Standard definition High definition High definition Level 1.3 3 3.1 5.1 Maximum resolution (width x height) 352 x 288 720 x 576 1280 x 720 1920 x 1088 Frame rate (frames per second) 30 fps 25 fps 30 fps 120.5 fps
Encoding with the H.264 codec is CPU-intensive. Adobe recommends that you select a level and video size that enables CPU usage to remain below 75% during encoding. For more information on H.264 profiles and levels, see commonly available resources about the H.264 video codec, such as the ISO/IEC 14496-10 standard on the ISO website and Wikipedia.
Keyframe frequency The interval at which to insert keyframes. The default is 5 seconds, which means a keyframe
14
Device Lists any audio devices that are attached to the system and are DirectShow (Windows) or QuickTime next to the device to configure the devices settings. (Macintosh) compatible. Click the settings icon Format Specifies the audio format. Flash Media Live Encoder includes support for Nellymoser and MP3.
Note: To add support for AAC and HE-AAC on Windows, purchase the MainConcept AAC Encoder plug-in for Adobe Flash Media Live Encoder. See the MainConcept website. The following video/audio combinations are supported:
Codec H.264 VP6 X Nellymoser MP3 X X AAC* X HE-AAC* X
*On Windows, AAC and HE-AAC are available when you install the MainConcept AAC Encoder plug-in. On Macintosh, AAC encoder provided by Mac OS X is available. HE-AAC is not supported on Macintosh.
Channels Specifies the channel option, mono or stereo. If you have the MainConcept AAC Encoder plug-in, parametric stereo is also available. Sample Rate Specifies the audio sample rate, as determined by the audio format and sample rate that you select. Bit Rate Specifies the audio bit rate in Kbps, as determined by the audio format and sample rate that you select. Volume Specifies the input audio volume level.
rtmp://fms.myserver.com:80/live/livestream Here, fms.myserver.com is the Flash Media Server computer host name, 80 is the port number to connect to (optional), live is the name of an application on the host (required), and livestream is the instance of the application to connect to (optional). For more information on RTMP strings, see the Flash Media Server documentation.
Backup URL Specifies the fully qualified URL of a backup server and application (optional). If you specify a backup
each unique stream name with a semicolon (;) or use parameters to create stream names. For more information on using parameters, see Use parameters in filenames and stream names on page 15. If you do not use parameters for naming, be sure that the number of unique stream names you provide, separated by a semicolon, match the number of streams being encoded. Note: If you use both semicolons and parameters in stream names, parameters will not be applied. The characters that represent parameters are treated as literal characters in the stream name.
15
Auto Adjust When required by network limitations, Flash Media Live Encoder automatically adjusts the quality of
video by either degrading video quality or dropping frames. For more information, see Automatically adjust video quality on page 16
Save To File When selected, saves the output to a file. Click Browse to specify a different filename and folder. You
can use parameters in filenames. For more information, see Use parameters in filenames and stream names on page 15. Note: On Macintosh, use TextEdit to edit Flash Media Live Encoder xml files (profile and configuration files). To configure TextEdit, go to 'Preferences'. Select the 'Open and Save' tab. Change the 'Plain Text File Encoding' setting for opening and saving files to 'Unicode (UTF-16)'. You can limit the size or duration of output files to chunk large encoding sessions into multiple files. For more information, see Save files in chunks on page 16. The following table shows to which file format media is saved, depending on the codecs that are used:
Codec H.264 VP6 Audio only Nellymoser N/A FLV FLV mp3 F4V FLV FLV AAC/HE-AAC F4V N/A F4V Video only F4V FLV N/A
Note: If you use a filename that exists in the selected folder, Flash Media Live Encoder renames the existing file so that the newly saved file does not overwrite it. For example, if sample.flv exists, Flash Media Live Encoder renames it sample.0.flv and saves your new file as sample.flv. If both sample.flv and sample.0.flv exist, sample.flv is renamed sample.1.flv, and so on. If the wrong filename extension is used, Flash Media Live Encoder changes it to the correct filename extension.
16
You can use multiple parameters in a single name. When using multiple parameters, if desired, you can separate parameters with underscores to make the resulting names easier to read. For example, say that you want to create an FLV file whose name reflects the video bit rate of 156 Kbps and the output frame rate of 24 fps. In the Save To File box, enter myFLVFile_%v_%f. The resulting filename is myFLVFile_156_24. Note: While it is not required to enter an identifier, such as the identifier myFLVFile used in the example, an identifier of your choosing can help differentiate files and streams.
Degrade quality
This setting degrades the quality of the video by reducing the bit rate until data can be streamed without exceeding the specified RTMP buffer size. This feature is not enabled by default. Click the settings icon to configure the following quality settings:
Maximum buffer size. Once this value is exceeded, Flash Media Live Encoder enacts quality degradation. For higher
bandwidth, use a higher number. For lower bandwidth, use a lower number.
17
Minimum video bit rate. The minimum acceptable bit rate at which to stream media. If network conditions
deteriorate to the point that a lower bit rate is required to stream video, frame dropping is enabled.
Preserve per-frame quality. Reduces the frame rate to as low as 50% of the specified value.
Both the published stream and the saved output file reflect any quality degradation that takes place. Once the RTMP buffer value no longer exceeds the maximum value, Flash Media Live Encoder reapplies the values that were originally set in the encoding profile, in steps and as the network conditions allow.
Drop frames
This setting drops video frames from the RTMP buffer until data can stream without exceeding the RTMP buffer size. When Auto Adjust is enabled, Drop Frames is enabled by default. Click the settings icon to configure the maximum buffer size. Once this value is exceeded, Flash Media Live Encoder starts dropping frames. For higher bandwidth, use a higher number. For lower bandwidth, use a lower number. Dropping frames affects streaming video only. Subscribers usually notice when frames are dropped because the video appears jerky or appears to stutter. Flash Media Live Encoder drops frames at intervals, rather than all at once. It drops backward-facing video frames between keyframes. For VP6 video, I-frames are dropped. For H.264 video, I-frames, B-frames, and P-frames may be dropped. If necessary, keyframes (VP6) or IDR frames (H.264) may also be dropped. When the RTMP buffer size returns to a normal value, Flash Media Live Encoder stops dropping video frames.
Options tabbed panel. Note: If the Stream To Flash Media Server option is deselected, the Connect button is unavailable.
2 If the server requires authentication, enter your user ID and password in the dialog box that appears.
Clicking the Connect button establishes a connection to the URLs specified in FMS URL and Backup URL (if used) and changes the button label to Disconnect.
3 To disconnect, click Disconnect.
For information on how to start and stop encoding, see Encoding and streaming on page 4.
In the GUI: Start recording when encoding begins. Select the DVR Auto Record option, next to the Start/Stop encoding
buttons. You can pause and restart recording at any time during the session.
Start recording after encoding begins. Click the Record button during the session to start recording. On the command line. See Start or stop digital video recording from the command line on page 5.
18
DVR functionality is applicable only when streaming media to Flash Media Interactive Server 3.5. You need to add server-side ActionScript to handle the recording and the correct client-side ActionScript to your media player. To record an F4V file, add the prefix mp4: to the stream name. For example, mp4:dvrstream records the file dvrstream in f4v format to the applications/dvrcast_origin/streams/_definst_ folder on the server. To record in RAW format, add the prefix raw: to the stream name. For example, raw:mystream records the file in raw format to the applications/dvrcast_origin/streams/_definst_/mystream folder on the server. DVR operations are performed on both primary and backup (if applicable) servers and for all streams in multi-bit rate encoding.
About metadata
In a media player application, metadata shows the viewer information about the stream, provides searchable keywords, and injects useful, human-readable identifiers into the binary stream. Flash Media Live Encoder handles metadata differently depending on the file encoding:
For FLV files, Flash Media Live Encoder embeds metadata elements in the streams and media files that it creates. For F4V files, Flash Media Live Encoder embeds only custom metadatametadata that you add through the GUI
in the file. It sends standard metadata with the stream only. Flash Media Live Encoder embeds the following custom metadata fields for FLV and F4V files, which you can populate with information for your media stream:
FLV metadata
audiochannels audiocodecid audiodatarate audiodevice
19
audioinputvolume audiosamplerate creationdate duration (media files only) fmleversion (Flash Media Live Encoder version) (media files only) framerate height lastkeyframetimestamp (media files only) lasttimestamp (media files only) presetname videocodecid videodatarate videodevice videokeyframe_frequency width
F4V metadata
Standard metadata for F4V files is sent with the encoded stream only. It is not embedded in the F4V file. Custom metadatametadata fields that you add through the Flash Media Live Encoder GUIis embedded in the F4V file. The custom metadata fields are author, copyright, description, keywords, rating, and title. Standard metadata fields are as follows:
audiochannels audiocodecid audiodatarate audiodevice audioinputvolume audiosamplerate avcprofile avclevel creationdate framerate height presetname videocodecid videodatarate videodevice videokeyframe_frequency width
20
Video and audio encoding settings, except for hardware device properties controlled by Windows or another
application
21
Flash Media Server connection settings, such as server URLs, stream name, and automatic startup and
reconnection
File archiving settings, including filename and path and chunking settings Metadata elements and values Preview and zoom settings Logging settings
Flash Media Live Encoder does not save the following settings in a profile:
Hardware device properties. Flash Media Live Encoder provides access to the properties dialog boxes of your video
and audio devices, but it cannot prevent or reverse changes made by other applications. To verify that your next to the Device box on the Encoding Options tab. preferred device settings are in place, click the setting icon
Deselected settings. For example, if you resize the video output but deselect the Resize option before saving a
profile, the resized dimensions are not saved.
Save a profile
1 Select File > Save Profile. 2 In the Save As dialog box, enter a descriptive name for the file. Do not name the file startup.xml, because this name
If you use multiple Flash applications, servers, or content distribution network providers, its a good idea to save a separate profile for each environment.
If any values in the profile are invalid, Flash Media Live Encoder uses the default values instead. To see which values were changed, check the Encoding Log tab.
using the FMLEcmd command and the /p option, in the following format (on Macintosh, replace back slashes with forward slashes in the file path):
FMLEcmd /p [path to profilename.xml] /d
The path (optional) and profilename parameters are the path and filename of the XML profile that you want to open. The /d option validates that profile. For example, on Windows:
FMLEcmd /p c:\Profiles\my_profile.xml /d
If you do not specify a profile in the command line, Flash Media Live Encoder loads the default profile, startup.xml. If any values in the profile are invalid, Flash Media Live Encoder uses the default values instead. To see which values were changed, check the Encoding Log tab.
22
Here num_attempts is the number of times that Flash Media Live Encoder should attempt to reconnect and interval is the number of seconds that Flash Media Live Encoder should wait between reconnection attempts. You can use integers or decimal values; decimal values are truncated. Zero and negative values mean that Flash Media Live Encoder will not attempt to reconnect. In this case, the log file includes a message indicating that Flash Media Live Encoder did not attempt reconnection.
For example, with the following command, Flash Media Live Encoder restarts after 4 days, 10 hours, and 30 minutes (on Macintosh, replace back slashes with forward slashes in the file path):
FMLEcmd /p c:\Profiles\my_profile.xml /ap myid:mypassword /t 04:10:30
If the restart interval is specified in the XML profile as well as on the command line, the command-line setting overrides the XML profile setting.
23
If authentication is required, use the /ap and /ab parameters and specify your user credentials. Any encoding sessions that are registered for relaunch are noted in the OsLaunch.dat file in Drive:\Documents and Settings\All Users\Application Data\Adobe\Flash Media Live Encoder 3.2. The Flash Media Live Encoder Launcher checks this file at system startup and launches the session that has a registered entry.
c Switch to insert mode d Type the @reboot command and specify the path to FMLELauncher:
@reboot /Application/Adobe/Flash Media Live Encoder 3.2/FMLELauncher
e Press esc to come out of insert mode and type :wq to save the settings. f
You can now view this entry with the crontab -l command.
2 From a terminal window in your Flash Media Live Encoder installation folder, change directory to
CommandLineFMLE folder and start FMLECmd using /r as the last option in the command. FMLEcmd /p /Profiles/my_profile.xml /l /FMLElogs/my_log.txt /r
24
If authentication is required, use the /ap and /ab parameters and specify your user credentials. Any encoding sessions that are registered for relaunch are noted in the OsLaunch.dat file in /Library/Application Support/Adobe/Flash Media Live Encoder 3.2/. The Flash Media Live Encoder Launcher checks this file at system startup and launches the session that has a registered entry.
If the session is streaming to a server, use the format fms_URL+stream_name for fmle_UID. For example, to unregister an encoding session that is running on the server fms.myserver.com with a Flash application named live, and the stream livestream, you would enter the following:
FMLEcmd /u rtmp://fms.myserver.com/live+livestream
Note: When using the /u option, the stream_name portion of fmle_UID cannot contain a plus sign (+), because + is used as a delimiter in fmle_UID. If the session is being saved to a file but is not streaming to a server, use the FLV or F4V path and filename for fmle_UID. For example (on Macintosh, replace back slashes with forward slashes in the file path):
FMLEcmd /u "C:\Documents and Settings\abc\My Documents\My Videos\sample.flv"
The entry for the encoding session that you specify is removed from the OsLaunch.dat file in (for Windows) Drive:\Documents and Settings\All Users\Application Data\Adobe\Flash Media Live Encoder 3.2 or (for Macinthosh) /Library/Application Support/Adobe/Flash Media Live Encoder 3.2/. At the next system startup, the encoding session does not restart.
Configure the Adobe Flash Media Live Encoder 3.2 Authentication Add-in
1 Download the add-in from www.adobe.com/go/learn_fms_authaddin_en. 2 Install the add-in on your Flash Media Server computer.
The add-in installs the Server Access Adapter and the Flash Media Live Encoder User Management utility, which you can use to add, update, remove, and check user passwords.
3 From a command prompt, change to the following directory:
25
FlashMediaServerInstallDir\conf
4 To show a list of commands for the user management utility, enter the following:
users
Authentication interfaces
The Authentication Add-in contains the following interfaces. A summary of the interfaces follows; for more information, see the sample application included with the Authentication Add-in.
IFmleAccessAdaptor The interface of a Client Access Adaptor.
Command IFmleAccessAdaptor() getVersion( int& iMajor, int& iMinor, int& iMicro ) Description Constructor Gets the module version. The version number contains three integers, representing the major, minor, and micro version numbers, respectively. Gets the module description. Processes a connection event.
IFmleAccessContainer The interface to the adaptors container (represents Flash Media Live Encoder).
Command IFmleAccessContainer() getVersion() getDescription() isHeadless() Description Constructor Gets the container (Flash Media Live Encoder) version. Gets the server description string. Indicates whether Flash Media Live Encoder is operating through the command line, that is, without the user interface launched. Called by the adaptor when it completes the processing of a connect event.
IFmleConnection The interface used to request a connection. To request that the access adaptor process a connection,
provide an instance of this class to the access adaptor. This object is allocated by Flash Media Live Encoder. It is cleaned up once a connection is established or terminated. It carries all the information necessary for the access adaptor to perform authentication and allows the URL to be prepared for connect/reconnect.
Command getState() enum State Description Gets the state of the Connection event. The state of the Connection event. Possible values are FMLE_CONNECT, FMLE_REJECTED, FMLE_SUCCESS. Gets the RTMP URL of the connection that is being made with Flash Media Server. Gets the Reject Message received from Flash Media Server. Sets the RTMP URL. This URL is used to make a connection to Flash Media Server. The length of the URL cannot exceed STRING_VALUE_BUFFER_LEN, or 1024 characters.
26
Description Takes one of two possible actions, FMLE_CONTINUE or FMLE_ABORT.FMLE_CONTINUE: Perform this action if you want Flash Media Live Encoder to try to connect to Flash Media Server after configuration changes have been made. You can explain the changes in the sReason parameter.FMLE_ABORT: Cancel the connection process to Flash Media Server. The type of Action. Possible values are: FMLE_ABORT, FMLE_CONTINUE Gets the value passed in the /ap or /ab parameter in command-line mode. This function is applicable only when Flash Media Live Encoder is used in command-line mode.
Write the adaptors according to the behaviors and guidelines discussed in the following sections.
2 On the computer running Flash Media Live Encoder, copy your client-side DLL to the
Authentication requirements
When authenticating, users must provide a username, password, and RTMP string. Flash Media Live Encoder can publish to multiple servers. If the servers have different authentication credentials, Flash Media Live Encoder may need to prompt for passwords more than once. To ensure that users enter the correct user ID and password, make sure that the password prompt indicates which server is being connected to.
27
About timecode
The Society of Motion Picture and Television Engineers (SMPTE) establishes a set of cooperating standards that are used to label individual frames of video and film with pertinent information. These standards are referred to as SMPTE timecode. SMPTE timecode consists of binary-coded strings of 80 bits that contain information about the hour, minute, second, and frame (expressed as HH:MM:SS:FF), the type of timecode (non-drop or drop-frame), and 32 userdefinable bits. Flash Media Live Encoder can extract SMPTE timecode that is generated by compatible devices, embed it into the encoded video stream, and pass it to Flash Media Server. You can save that stream locally as an FLV file or F4V file. Subscribing clients that connect to the published stream can get the embedded timecode information. In addition, Flash Media Live Encoder 3.2 can embed the system time from the encoding computer as AMF data tags. The system time can substitute for a timecode if your capture device doesnt generate timecode.
28
for( i in infoObj) { if(i == "tc") timecode = infoObj.tc; //string formatted hh:mm:ss:ff if(i == "sd") systemDate = infoObj.sd //string formatted as dd-mm-yy if(i == "st") systemTime = infoObj.st //string formatted as hh:mm:ss.ms } }