Converting Media to On-Demand Smooth Streams and Apple HTTP Live Streams

About the Author
dmnelson
dmnelson

Forum Posts: 17

IIS Transform Manager 1.0 is an extensible media-transform engine that enables job submission, queuing, management, integrated media transcoding/transmuxing, and batch-encryption of on-demand audio and video files. Transform Manager supports a long-running, persistent job manager that integrates with a task scheduler to execute a job template on specified media file types as they arrive in specified folders (known as watch folders). The job template contains a customizable series of tasks that are run against the media assets in the watch folder. Developers can use IIS Transform Manager Task APIs to build custom tasks and integrate them with the Transform Manager job manager, logging, metadata, and task progress-reporting framework. The Task APIs provide a set of interface and class definitions that form the plug-in model for the IIS Transform Manager task engine (TaskEngine.exe), a wrapper executable that loads the custom-defined assemblies, looks for specific interfaces that are implemented by the Task API, and then uses a dependency-injection pattern to send required metadata, status callback, and logging interfaces to the custom task.

This article describes how to perform two media-transforms using built-in watch folders, job templates, and tasks that are included in the default installation of Transform Manager 1.0 Beta. The first media transform transcodes media files, using either VC-1 or H.264 encoding presets, to on-demand Smooth Streaming presentations for delivery to Silverlight clients. The second media transform transmuxes on-demand Smooth Streaming presentation files, encoded with H.264 video and AAC-LC audio codecs, into MPEG-2 Transport Stream (MPEG-2 TS) format for delivery to Apple® mobile digital devices. Both of these transformed output types can be delivered by the IIS Smooth Streaming feature from a Web server that is running IIS Media Services 4.0.

In this article:

Licensing

IIS Transform Manager is designed to work with other programs, such as programs handling audio or video signals. It's solely your responsibility to ensure your compliance with any terms accompanying such other programs, and that you have obtained any necessary rights for your use of the programs.

Getting Started

This section describes the software configuration that is required to run the media transforms that are described in this article.

Installing Transform Manager

The following prerequisites must be fulfilled to install IIS Transform Manager 1.0 Beta:

  • You must use IIS 7 running on one of the following operating systems:
    • Windows Server 2008 R2
    • Windows Server 2008
    • Windows 7
    • Windows Vista with SP1
  • To manage the Transform Manager feature using the IIS Manager user interface, the IIS Management Console for IIS must be installed.
  • To manage the Transform Manager feature using the IIS Manager user interface, .NET Framework 3.5 Service Pack 1 (SP1) must be installed.
  • You must be an administrator on the computer. This can be accomplished by logging on to the computer using either the Administrator account or an account with administrative privileges.

For specific installation instructions, see Downloading and Installing in the Transform Manager Readme.

Installing Expression Encoder

This article describes the use of a built-in transcoding task in Transform Manager. This task uses encoding presets that require the encoding profiles and Silverlight player templates provided by Microsoft® Expression Encoder 4. Because you can choose from a variety of encoding presets, be sure to install one of the following editions of Expression Encoder 4 that meets your needs:

  • Expression Encoder 4. Enables VC-1 encoding presets for content that you transcode for Silverlight Clients. VC-1-encoded Smooth Streams CANNOT be transmuxed to Apple HTTP Live Streams. You can get Expression Encoder 4 by downloading a 60-day free Trial edition of Expression Studio 4.
  • Expression Encoder 4 Pro. Enables H.264 encoding presets (as well as VC-1 encoding presets) for content that you transcode for Silverlight Clients. H.264-encoded Smooth Streams CAN be transmuxed to Apple HTTP Live Streams. If you purchased Expression Studio 3 from a store, and it is installed on your computer, you can download the Trial edition of Expression Studio 4 Ultimate or Expression Studio 4 Web Professional, and the full version of Expression Studio 4 (which includes Expression Encoder 4 Pro) will automatically be enabled. For more information, see How to Upgrade.

The following software must be installed on the computer to use Expression Encoder 4:

After installing your edition of Expression Encoder 4, be sure to install Expression Encoder 4 with Service Pack 1 (SP1) to get the latest updates for the Encoder.

Note Note

Expression Encoder 4 is currently the only integrated encoder available for use with IIS Transform Manager Beta. Other third-party encoders can be used with Transform Manager, provided that they offer a command-line executable interface or create an integrated Transform Manager task using the Task API.

Configuring the Transform Manager Service

Create an account for the Transform Manager service and then start the service. You must create the account and start the service in Internet Information Services (IIS) Manager. Unexpected results can occur if you start the Transform Manager service in the Services MMC console. For instructions, see Configuring the Transform Manager Service.

Production Notes

Computation-intensive tasks, such as encoding and transcoding, can consume a large amount of memory and CPU resources and might affect Web server performance. You should not run Transform Manager on the local Web server if it is also used in a production environment to fulfill HTTP requests. This article demonstrates how to copy your transformed media output from the Transform Manager server to a production Web server.

Converting Media Files to Smooth Streams

In Transform Manager, you can set up watch folders that accept media files. Transform Manager submits a job to a task scheduler as each file arrives at the watch folder, transcodes them using Expression Encoder presets, and then delivers the transformed Smooth Streaming presentation output to a Web Server running IIS Media Services 4.0. This workflow is shown in the following diagram.

This section describes how to use the default Video files to VC-1 Smooth Streams job template, which uses a built-in Expression Encoder 4 task to create VC-1-formatted Smooth Streams. It also describes how to edit the task to select alternate Expression Encoder 4 IIS Smooth Streaming presets, including H.264-encoding presets, to create the appropriate Smooth Streaming output for your Silverlight clients.

Configuring the Video files to VC-1 Smooth Streams Job Template

  1. In IIS Manager, in the Connections pane, click Job Templates.


    Job templates are reusable definitions of the tasks and properties that you want to use for a watch folder. For example, the default tasks that are installed with Transform Manager allow you to bind an Expression Encoder 4 task with a Smooth Streaming VC-1 encoding preset to a watch folder.
  2. In the Job Templates page, select the Video files to VC-1 Smooth Streams job template.


  3. In the Actions pane, click Edit.


  4. In the Edit Job Template dialog box, you can edit the job template Name and Description to give it a more descriptive name for your environment.


    The Task definitions list displays the task that is used by this job template. Later in this article, we'll show you how to add the built-in Robocopy task to the job template in order to copy the transcoded output to another location, such as a Smooth Streaming Web server.
  5. In the Description, note that the default Expression Encoder 4 task uses the "VC-1 IIS Smooth Streaming - 720 CBR" encoding preset. To change the preset used by this task to another Expression Encoder preset, select the Expression Encoder 4 task and then click Edit.

  6. In the Edit Expression Encoder 4 Task dialog box, in preset, type the name of a new preset file that is included in the default installation of Transform Manager (as shown in the following figure).


    You can choose any of the following default Expression Encoder preset files.


    If you choose an "H.264 IIS Smooth Streaming" preset, be sure to update the job template Name and Description to indicate this. Also be aware that Microsoft Expression Encoder 4 Pro must be installed on the computer to output H.264-encoded Smooth Streams.

    In the Properties list, the templateName and templatePath properties are used to specify the Expression Encoder 4 Silverlight player template that is used. By default, the task is configured to use the Standard player template that is stored in the default installation path for Expression Encoder 4: %ProgramFiles(x86)%\Microsoft Expression\Encoder 4\Templates\en\Standard.

    The createSubDirectory property can be enabled if you want Expression Encoder 4 to output to a uniquely named subdirectory for each job. This is disabled by default to give you better control of the naming of the output location when you use Transform Manager.

    Note   You can edit the task default values in the Properties list to point to your custom Expression Encoder 4 presets and Silverlight player templates. You can use the Expression Encoder 4 user interface to design your own preset or modify existing presets to be used with Transform Manager.

  7. The value specified in Output folder name is the name of a virtual folder that will store the transcoded output for a subsequent task in a task-chaining scenario. To chain the default Robocopy task to the job template that includes this task, see Storing the Converted Output Files.

  8. After reviewing or modifying the settings in the Edit Expression Encoder 4 Task dialog box, click OK.
  9. In the Edit Job Templates dialog box, click OK to save your modifications to the job template.

You are now ready to begin converting media files to Smooth Streams using the selected Expression Encoder 4 preset.

Next Steps:

Converting Media Files to Apple HTTP Live Streams

IIS Transform Manager contains a default Smooth Streams to Apple HTTP Live Streams task that batch-transmuxes H.264-encoded Smooth Streams into the MPEG-2 Transport Stream (MPEG-2 TS) container format and creates a .m3u8 manifest file, in conformance with the Apple HTTP Live Streaming Protocol Specification. This task creates output that you can deliver to Apple mobile digital devices from a Web server that is running IIS Media Services 4.0.

There are two built-in job templates in the default installation of Transform Manager that you can use to create Apple HTTP Live Streams:

  1. H.264 Smooth Streams to Apple HTTP Live Streams. This job template transmuxes pre-existing H.264-encoded Smooth Streams to Apple HTTP Live Streams. You can use the Smooth Streaming output created by the job template that you configured in the previous section as input source files for the task associated with this job template, or you can use legacy Smooth Streaming presentations (encoded with H.264 video and AAC-LC audio codecs) as input source files. This workflow is shown in the following diagram.

  2. Video files to H.264 Smooth Streams to Apple HTTP Live Streams. This job template transcodes media files to H.264-encoded Smooth Streams, and then transmuxes the Smooth Streams to Apple HTTP Live Streams. This approach assumes that you want to convert media files directly to Apple HTTP Live Streams.

Configuring the H.264 Smooth Streams to Apple HTTP Live Streams Job Template

  1. In IIS Manager, in the Connections pane, click Job Templates.


  2. In the Job Templates page, select the H.264 Smooth Streams to Apple HTTP Live Streams job template.


  3. In the Actions pane, click Edit.

  4. In the Edit Job Template dialog box, you can edit the job template Name and Description to give it a more descriptive name for your environment.

    The Task definitions list shows the task that is used by this job template. Later in this article, we'll show you how to add the built-in Robocopy task to the job template in order to copy the transmuxed output to another location, such as a Smooth Streaming Web server.
  5. To update the properties used by this task, select the Smooth Streams to Apple HTTP Live Streams task, and then click Edit.

  6. In the Edit Smooth Streams to Apple HTTP Live Streams Task dialog box, you can edit task properties in the Properties list. Select a property in the list, and then update the Value.


    You can edit the following properties for this task:

    Name

    Required

    Value

    Description

    maxbitrate

    true

    1600000

    The maximum bit rate, in bits per second (bps), to be converted to MPEG-2 TS. On-demand Smooth Streams at or below this value are converted to MPEG-2 TS segments. Smooth Streams above this value are not converted. Most Apple devices can play media encoded at bit rates up to 1,600 Kbps.

    manifest

    false

     

    The file name to use for the converted Apple HTTP Live Streaming playlist file (a file with an .m3u8 file name extension). If no value is specified, the following default value is used: <ISM_file_name>-m3u8-aapl.m3u8

    segment

    false

    10

    The duration of each MPEG-2 TS segment, in seconds. 10 seconds is the Apple-recommended setting for most Apple mobile digital devices.

    log

    false

     

    The file name to use for a log file (with a .log file name extension) that records the conversion activity. If you specify a log file name, the file is stored in the task output folder.

    encrypt

    false

    false

    Enables encryption of MPEG-2 TS segments by using the Advanced Encryption Standard (AES) with a 128-bit key (AES-128).

    pid

    false

     

    The program ID of the MPEG-2 TS presentation. Different encodings of MPEG-2 TS streams in the same presentation use the program ID so that clients can easily switch between bit rates.

    codecs

    false

    false

    Enables codec format identifiers, as defined by RFC 4281, to be included in the Apple HTTP Live Streaming playlist (.m3u8) file.

    backwardcompatible

    false

    false

    Enables playback of the MPEG-2 TS presentation on devices that use the Apple iOS 3.0 mobile operating system.

    allowcaching

    false

    true

    Enables the MPEG-2 TS segments to be cached on Apple devices for later playback.

    passphrase

    false

     

    A passphrase that is used to generate the content key identifier.

    key

    false

     

    The hexadecimal representation of the 16-octet content key value that is used for encryption.

    keyuri

    false

     

    An alternate URI to be used by clients for downloading the key file.

    overwrite

    false

    true

    Enables existing files in the output folder to be overwritten if converted output files have identical file names.


  7. The value specified in Output folder name is the name of a virtual folder that will store the transmuxed output for a subsequent task in a task-chaining scenario. To chain the default Robocopy task to the job template that includes this task, see Storing the Converted Output Files.

  8. After reviewing or modifying the settings in the Edit Smooth Streams to Apple HTTP Live Streams Task dialog box, click OK.
  9. In the Edit Job Templates dialog box, click OK to save your modifications to the job template.

You are now ready to begin converting Smooth Streams to Apple HTTP Live Streams.

Next Steps:

Configuring the Video files to H.264 Smooth Streams and Apple HTTP Live Streams Job Template

  1. In IIS Manager, in the Connections pane, click Job Templates.


  2. In the Job Templates page, select the Video files to H.264 Smooth Streams and Apple HTTP Live Streams job template.

  3. In the Actions pane, click Edit.

  4. In the Edit Job Template dialog box, you can edit the job template Name and Description to give it a more descriptive name for your environment.


    The Task definitions list shows the tasks that are used by this job template. This job template uses two chained tasks. The first task (Expression Encoder 4) transcodes media files to H.264-formatted Smooth Streams and provides the output to the second task (Smooth Streams to Apple HTTP Live Streams), which transmuxes the Smooth Streams to MPEG-2 TS container format.

    Later in this article, we'll show you how to chain the built-in Robocopy task to the job template in order to copy the MPEG-2 TS output to another location, such as a Smooth Streaming Web server.
  5. To edit task properties, select a task in the Task definitions list, and then click Edit.
  6. In the Edit Job Templates dialog box, click OK to save your modifications to the job template.

You are now ready to begin converting media files to Apple HTTP Live Streams.

Next Steps:

Storing the Converted Output Files

Media files are usually large. As jobs are run, job files (which include the original media source files, job manifest files, and the transformed output for completed jobs) accumulate in the watch folder WorkQueue folders. They can eventually clutter the disk and potentially impact performance. You must copy the transformed output files from the watch folder's Finished folder in its WorkQueue either to a safe storage location or to a Smooth Streaming server for delivery to clients. You can automatically copy the files to these destinations by appending a built-in Robocopy task to your job templates. Finally, you can configure job file maintenance options in the IIS Transform Manager user interface to remove the job files from the Transform Manager server after the output files have been safely stored.

This section describes how to configure the Robocopy task in Transform Manager and attach it to a job template.

Configuring the Robocopy Task

  1. In the Job Templates page, select a job template that you configured in a previous section, and then click Edit in the Actions pane.
  2. In the Edit Job Template dialog box, click Add.

  3. In the Add Tasks dialog box, in the Available tasks list, select Robocopy, and then click OK.

  4. In the Edit Job Template dialog box, select the Robocopy task in the Task definitions list, and then click Edit.


    Note   The Task definitions list displays tasks in the order that they are run, from top (the first task that is run) to bottom (the last task that is run). To copy the transcoded output from the Expression Encoder 4 task in this example to another location, the Robocopy task must be the last task displayed in the list. If it is not, select Robocopy in the list and then click the Move Down button until it is the last task in the list.
  5. In the Edit Robocopy Task dialog box, edit the Command line string to specify another location to which to copy the transformed output files.


    1. In the command-line string, ensure that the virtual folder name where the Robocopy task will look for converted files is specified correctly. For example, EE4Output (Robocopy.exe "EE4Output" "%systemdrive%\inetpub\wwwroot\Transform Manager\{DateTime UTC(yyyyMMdd)}\{Job ID}" *) is the virtual Output folder name of the preceding Expression Encoder 4 task.
    2. Next, specify another location to which to copy the transformed output files by specifying the UNC path of another Web server root folder or a network share. For example: Robocopy.exe "EE4Output"\\ServerName\inetpub\wwwroot\SiteName\{DateTime UTC(yyyyMMdd)}\{Job ID}" *

      Note   A watch folder's job manager runs tasks, including the Robocopy task, under the security context of a user account that you configure while configuring the watch folder that the job template is bound to. This user account must have the necessary permissions to copy files to the location that you specify. For more information, see Creating Watch Folder Impersonation Accounts.
    3. Finally, add or remove runtime substitution tokens to specify what job-specific information should be used in the names of folders that the Robocopy task will create when it copies the output files to the destination. In the default command line string, the substitution tokens are appended to the Web root directory path: Robocopy.exe "EE4Output"%systemdrive%\inetpub\wwwroot\Transform Manager\{DateTime UTC(yyyyMMdd)}\{Job ID}" *.

      The default substitution tokens that follow the Web root directory path are used to generate a new folder that uses the UTC date (formatted as yyyyMMdd). This folder contains a new folder that uses the ID of the current job, and it's in this folder to which the Robocopy task will copy the output files. To insert additional substitution tokens into the string, right-click in the string to expose a list of available substitution tokens.


      You can select a substitution token from the list to insert into the string at the insertion point. Substitution tokens that you add must be separated by the backslash (\) character.

      The following substitution tokens can be inserted into the Robocopy command line:
      • {File Name}. Expands to the file name of a file that is dropped in the watch folder, without the file name extension.

      • {File Extension}. Expands to the file name extension of a file that is dropped in the watch folder.

      • {File Full Name}. Expands to the full name (file name and file name extension) of a file that is dropped in the watch folder.

      • {User Manifest}. Expands to the file name and file name extension of a manifest that is dropped in the watch folder.

      • {Default Manifest}. Expands to the file name and file name extension of a manifest that is generated by Transform Manager.

      • {DateTime Local(yyyMMddhhmmssffff)}. Expands to the current date/time in local time format, using a formatted date/time string. The formatting can be modified inside the parenthesis to use any supported .NET dateTime format string.

      • {DateTime Local(yyyy-MM-dd)}. Expands to the current date/time in local time format.

      • {DateTime UTC(yyyyMMddhhmmssffff}. Expands to the current date/time in UTC format, using a formatted date/time string. The formatting can be modified inside the parenthesis to use any supported .NET dateTime format string.

      • {DateTime UTC(yyyy-MM-dd)}. Expands to the current date/time in Universal Coordinated Time (UTC) format.

      • {New GUID}. Expands to a new GUID formatted with dashes. For example, D44D00D7-204D-415C-95E6-DD815300B668.

      • {Job ID}. Expands to the job ID for the currently running job.

      • {Watch Folder}. Expands to the watch folder path.

      • {Input Folder}. Expands to the input folder path for the task.

      • {Output Folder}. Expands to the output folder path for the task.

  6. In the Success codes box, specify which of the standard Robocopy return codes should be recorded as successful operations in job instance logs by editing the comma-delimited string.
  7. Click OK to close the Edit Robocopy Task dialog box.

Next Steps:

Configuring Watch Folders

To run transform jobs on media files, you must configure the default watch folder in Transform Manager that uses the job template that you configured. The watch folder will detect when media file types that you specify arrive in it, and then Transform Manager will run the tasks that are included in the job template that is bound to the watch folder against the media files. You can use the Edit Watch Folder property sheet to specify the watch folder location, the media file types that it should "watch" for, the task scheduler that should run the tasks in it, the user account that tasks should impersonate, as well as many other settings.

  1. In IIS Manager, in the Connections pane, click Watch Folders.

  2. In the Watch Folders feature page, select the watch folder that uses the job template that you configured. By default, the names of the job templates that you configured in this article and the names of the watch folders that use them are identical. If you changed the name of your job template, you can look at the Job template value in the Watch Folder Details pane for the selected watch folder to confirm that you have selected the right one.

  3. In the Actions pane, click Edit.

  4. Configure required settings in the selected watch folder's property sheet using the instructions in Configuring Watch Folders. This topic describes the settings that you must configure for watch folders to run properly. The following guidance applies to settings of particular importance:

    Tab

    Settings

    Description

    Basic Settings

    Input files

    If the first task in the job template that is bound to the watch folder is the default Expression Encoder 4 task, in File filter, you can specify one of the file formats that is supported by Expression Encoder. The supported string format is an asterisk (*), followed by a period, and then the file name extension (for example, *.wmv or *.mp4 are valid file filters). If you type * to specify that the job template acts on all file types, only the supported file formats will be processed. Specifying multiple file formats (for example, in a comma-delimited list) is not supported.

    If the first task in the job template that is bound to the watch folder is the default Smooth Streams to Apple HTTP Live Stream, you must specify *.ism as the File filter value, and then select the Parse playlist file check box. This combination of options specifies that the watch folder watches for IIS Smooth Streaming presentation manifest (.ism) files and that the watch folder's job manager will not schedule jobs for the Smooth Streaming video (.ismv) and audio (.isma) files that are referenced in the manifest until all of the files that are referenced in the manifest are present.

    Scheduler

    Scheduler

    In Scheduler, you will typically select Local Task Scheduler to specify that Windows Task Scheduler on the local computer be used to run jobs, monitor and report job status, and allocate CPU resources to tasks.

    For large computation-intensive jobs (such as encoding and transcoding) where CPU resources might not be sufficient, you can shift the jobs from the local computer to computers in a High Performance Computing (HPC) cluster and and then configure the watch folder to use the HPC Task Scheduler on the head node in the HPC cluster. For more information about how to use Transform Manager with an HPC cluster, see High-Performance Transcoding with IIS Transform Manager and Windows HPC Server.

    Scheduler

    Concurrent jobs and Priority

    Use these settings to preserve computer resources.

    The Concurrent jobs controls how many jobs can run at the same time in the watch folder. The value is 1 by default, which means that if you drop 10 files in the watch folder, only one will begin processing immediately while the rest will go straight into a job queue. You can adjust this setting depending on the amount of physical memory and number of CPUs that you have on your server.
    Encoding tasks can consume a lot of CPU and memory resources and encoding jobs may fail with high concurrency settings due to known issues with Expression Encoder 4 running multiple jobs on a computer with low available memory and CPU. If you run into these types of job failures, increase the amount of available RAM and CPUs, or reduce the number of concurrent jobs to 1. Selecting the Unlimited check box disables the concurrency setting and immediately schedules all files that are detected in the watch folder for processing.

    The Priority setting controls the priority that jobs are given when scheduled by a watch folder. If multiple watch folders are running on the computer, you can assign a Priority value to each one. This setting enables jobs that are in high-priority watch folders to be created and run first. If you drop media assets in a watch folder, but another watch folder that has a higher priority level is actively running jobs, the jobs for the dropped media assets are not created and queued for processing until the higher-priority watch folder completes all of its jobs.

    Advanced Settings

    Credentials

    You must specify a user account for the watch folder to impersonate. The tasks in the job tempate that is bound to the watch folder will run under the security context of this user account. You must ensure that it has the required permissions for the tasks. For example, the account must be able to write transformed media files to the destination that you specify. For more information about how to create this account, see Creating Watch Folder Impersonation Accounts.


  5. Click OK to save your modifications to the watch folder.
  6. On the Watch Folders page, select the watch folder, and then, in the Actions pane, click Enable.


    The watch folder is now enabled, but not yet started.


    Watch folders that are enabled will automatically start when the Transform Manager service is restarted. This setting is provided to reliably start watch folders after a service recycle event or after a computer restarts.
  7. In the Actions pane, click Start.


    The watch folder is now active and ready to accept files.


    Note   You cannot start a watch folder if another active watch folder thread is already using the same watch folder physical path.

Next Steps:

Running Transform Jobs

A job is created for each media asset that is dropped in a watch folder and meets the watch folder file filter requirements. For example, if the File filter setting for a watch folder is set to detect all Windows Media Video (.wmv) files, a job is created for each .wmv file that is dropped in the watch folder. Media files with file-name extensions that do not match the watch folder's File filter setting will be ignored.

To begin transforming content, copy-and-paste the media assets into the watch folder directory using Windows Explorer or another file-movement mechanism such as command line, FTP, or WebDav.


If you specifed that the watch folder accepts a Smooth Streaming presentation, drop the Smooth Streaming presentation server manifest (.ism) file, the client manifest (.ismc) file, and all of the bit rate streams (.isma and ismv) files that are referenced in the server manifest in the watch folder.

Note   The watch folder directory is specifed in the Physical path setting on the Basic Settings tab of the watch folder property sheet.

After you drop specified assets in a watch folder, the watch folder's job manager creates a job for each file and moves them one at a time into the watch folder's WorkQueue directory. The files will be moved from the watch folder into the WorkQueue quickly if they are small. The watch folder may not discover larger files for up to 60 seconds. If the files do not disappear after 60 seconds, make sure that you are in the correct watch folder or that you have enabled and started the correct watch folder.

The WorkQueue directory contains folders that store the jobs as they are being processed. Assets that are processed successfully are placed in the watch folder's Finished folder while media assets that cannot be processed are placed in the Failed folder. These folders are visible by default so that you can retrieve their contents more easily. The WorkQueue directory contains other folders that temporarily store jobs as they are run through the job workflow. These folders are hidden folders. To view them, you must turn on the Folder views option in Windows that shows hidden files, folders, and drives.

As jobs are run, job files (which include the original media source files, job manifest files, and the transformed output for completed jobs) accumulate in the watch folder WorkQueue folders. They can eventually clutter the disk and potentially impact performance. For more information about how to configure settings to automatically delete these files from the WorkQueue after a specified period of time, see Running Job File Maintenance.

Next Steps:

Monitoring Transform Jobs

As jobs are processed through the WorkQueue folders, you can use the Job Monitor feature pages in IIS Manager to view the progress of currently running jobs. You can also view a list of jobs that are scheduled for processing and the jobs that were completed or canceled. Click the following feature page names in the Connections pane in IIS Manager to view job progress and status:

  • Job Monitor. Displays the currently running jobs for all watch folders.
  • Queued. Displays the scheduled jobs that are not yet running for all watch folders. Jobs are displayed in this list if the maximum number of concurrent jobs is running in the watch folder, or if there are not enough CPU resources available to start new jobs. Queued jobs are processed into running jobs by the watch folder's job manager as currently running jobs are completed.
  • Finished. Displays the jobs that were completed successfully.
  • Failed. Displays the jobs that failed.
  • Canceled. Displays the jobs that were canceled.

Additional Resources:

  • Viewing Job Details. Describes the UI elements in the Job Monitor feature pages that you can use to view details about the jobs that are running.
  • Managing Jobs. Describes the actions that you can perform on jobs in the Job Monitor feature pages, such as canceling running jobs or deleting failed jobs.
  • Logging and Monitoring Watch Folder Events. Describes how to configure watch folder settings to display the events that occur while jobs are running, record these events in job instance log files, and include these events in job status notifications that are posted to Web applications.

Next Steps:

Forum discussion

You can participate in a discussion about Media on IIS.net by clicking here.

Submit article feedback

You must Log In to submit feedback.