Skip to main content

Job Progress Tracking

This article discusses job progress tracking during encoding. You can find an overview of the entire encoding process in the Job Processing article.

The Encoding Service informs the client about the job progress by raising events every time the job reaches certain processing phase. The events are delivered to the client using the mechanism specified in the job description’s section Message Publishers. The Encoding Service supports the following delivery mechanisms:

  • RabbitMQ
  • Azure Service Bus
  • Amazon SQS Queue
  • FTPS/Files

See Message Publishers for more details about the Message Publishers.

Regardless of the delivery mechanism, the events and their payload stay the same. For each event, the Encoding Service reports:

  • JobId
  • TenantId (Name)
  • ExternalId, ExternalType, ExternalProvider - as specified in the job description
  • ... plus additional, event-specific fields

Event List

The following table lists all raised events depending on the processing phase.

EventPhasePurposePayload
JobCreatedPre-ValidationPre-validation is complete and the job is ready to start processingEcho of the job parameters
AcquisitionProgressAcquisitionAcquisition is in progressAcquisition %
ContentAcquiredAcquisitionAcquisition is finishedTotal files and bytes acquired
ContentMappedMedia MappingMapping is finishedMapping results, incl. languages
ContentPreProcessedMedia MappingAll streams are mapped and extractedAudio and subtitles languages
VideoEncodingStartedEncodingEncoding startedUsed encoding options
EncodingProgressEncodingEncoding is in progressEncoding %
EncodingFinishedEncodingEncoding is finishedList of bitrates with their protection details
ImagesExtractedImage ExtractionExtraction of images is finishedRelative path to the images location and the list of extracted images
ContentPublishedPublishingContent is publishedPublished location, total files and bytes published
JobSuccessPublishingThe whole job is successfully completedLinks to generated DASH and HLS manifests
FinalErrorPublishingThe job failedError code and message

Error codes

If a job fails, an event Final Error is sent with an error code and description. The following codes are used depending on the processing phase where the error happened:

ErrorCodeDescription
Internal Error5000Unexpected internal service error occurred
Job Cancelled5001When you cancel your job through the API, you receive this error. This is an expected behavior.
Prevalidation Error5003An error occurred during the acquisition/publishing locations pre-validation, such as: inability to connect, insufficient permissions, etc.
Acquisition Error1000An error occurred during the content acquisition phase. Usually, this happens due to the inability to download files. For example, files not found, etc.
Encoding Error2000An error occurred during the actual encoding/packaging process. A rare case, but might occur due to some content issues.
Publishing Error3000An error occurred during the publishing the produced packages to their final locations. This might happen due to the inaccessibility of a target location.