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.
Event | Phase | Purpose | Payload |
---|---|---|---|
JobCreated | Pre-Validation | Pre-validation is complete and the job is ready to start processing | Echo of the job parameters |
AcquisitionProgress | Acquisition | Acquisition is in progress | Acquisition % |
ContentAcquired | Acquisition | Acquisition is finished | Total files and bytes acquired |
ContentMapped | Media Mapping | Mapping is finished | Mapping results, incl. languages |
ContentPreProcessed | Media Mapping | All streams are mapped and extracted | Audio and subtitles languages |
VideoEncodingStarted | Encoding | Encoding started | Used encoding options |
EncodingProgress | Encoding | Encoding is in progress | Encoding % |
EncodingFinished | Encoding | Encoding is finished | List of bitrates with their protection details |
ImagesExtracted | Image Extraction | Extraction of images is finished | Relative path to the images location and the list of extracted images |
ContentPublished | Publishing | Content is published | Published location, total files and bytes published |
JobSuccess | Publishing | The whole job is successfully completed | Links to generated DASH and HLS manifests |
FinalError | Publishing | The job failed | Error 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:
Error | Code | Description |
---|---|---|
Internal Error | 5000 | Unexpected internal service error occurred |
Job Cancelled | 5001 | When you cancel your job through the API, you receive this error. This is an expected behavior. |
Prevalidation Error | 5003 | An error occurred during the acquisition/publishing locations pre-validation, such as: inability to connect, insufficient permissions, etc. |
Acquisition Error | 1000 | An error occurred during the content acquisition phase. Usually, this happens due to the inability to download files. For example, files not found, etc. |
Encoding Error | 2000 | An error occurred during the actual encoding/packaging process. A rare case, but might occur due to some content issues. |
Publishing Error | 3000 | An error occurred during the publishing the produced packages to their final locations. This might happen due to the inaccessibility of a target location. |