Skip to content

How do I see why MediaPackage VOD Egress Endpoints failed?

0

I am trying to ingest video into MediaPackage that was encoded by Vantage, but the Egress endpoints always end with a status of "Failed". If I ingest that same media through AWS Elemental MediaConvert it works without any issues, but for my application I have to use Vantage. There are very minor differences between the manifests from MediaConvert and Vantage. To determine why the endpoints failed, I would like to review any error output for the failed assets, but can't seem to find any way to surface the errors. The documentation around surfacing errors specifically for video on demand ingestion is old and out of date, and only references logginv via CloudWatch Events, which have been replaced by EventBridge. EventBridge does not appear to capture VodAssetIngestFailed events.

Here is what I have tried so far:

  1. Creating a simple EventBridge rule to send logs to CloudWatch. The rule is:
{
  "source": ["aws.mediapackage"]
}
  1. Creating an EventBridge rule that specifies the exact events I want to log, using the VOD Ingest Status Event documentation here: https://docs.aws.amazon.com/mediapackage/latest/ug/cloudwatch-events-example.html. That rule is:
{
  "source": ["aws.mediapackage"],
  "detail-type": [
    "MediaPackage VodAssetIngested",
    "MediaPackage VodAssetIngestFailed",
    "MediaPackage VodAssetPlayable"
  ]
}
  1. Creating a Lambda that I can invoke with an assetId that uses MediaPackageVodClient and DescribeAssetCommand to return the asset status.

None of these methods have returned any type of output regarding why the egress endpoints have a status of "Failed". Has anyone found a way to debug VOD ingest failures?

3 Answers
0

To troubleshoot MediaPackage VOD egress endpoint failures, you should enable access logging, which provides detailed information about requests and can help identify why ingestion is failing.

MediaPackage v2 offers access logs that capture detailed information about requests sent to channels. For VOD content, you'll want to focus on ingress access logs, which capture requests sent to the channel's input endpoints. These logs include valuable information such as the time requests were received, client IP addresses, latencies, request paths, server responses, and status codes.

Access logging is disabled by default and must be explicitly enabled. You can configure up to three log deliveries for ingress logs and choose from three destinations: Amazon CloudWatch Logs, Amazon S3, or Amazon Data Firehose. Once enabled, the access logs will contain detailed records for each request, including fields like status codes, error information, received and sent bytes, and request details that can help you identify why the Vantage-encoded content is failing while MediaConvert content succeeds.

For EventBridge integration, MediaPackage does emit VOD-related events including IngestStart, IngestError, and IngestComplete events. The event structure includes an "event" field in the detail section that indicates the status, along with a "message" field that provides descriptive text about what occurred. However, if EventBridge isn't capturing your expected events, access logging will provide more comprehensive diagnostic information directly from the ingestion process.

If access logs don't reveal the issue, you may need to compare the manifest differences between Vantage and MediaConvert more closely, as even minor variations in manifest formatting or segment structure could cause MediaPackage to reject the content during ingestion.
Sources
AWS Elemental MediaPackage events - AWS Elemental MediaPackage
Access logging - AWS Elemental MediaPackage v2

answered 4 months ago
  • How do I turn on access logging? Does access logging monitor video on demand ingestion?

0

To enable access logging for MediaPackage VOD, you must configure CloudWatch Logs at the packaging group or endpoint level but there is no separate “access logging” toggle like S3. MediaPackage access logs focus on egress (playback requests), not ingestion. VOD ingestion events are not logged as access logs; ingestion failures must be diagnosed using CloudWatch metrics, CloudTrail API events, and error responses from the ingest workflow (e.g., MediaConvert or upstream service). Access logging primarily helps analyze viewer requests and delivery behavior, not asset ingestion.

answered 4 months ago
  • Thanks for your response, Venkata. My current workflow for ingesting media that was encoded by Vantage is to copy the files to S3 and then kick off a Lambda that sends the s3 path to the manifest to MediaPackage (with the requisite permissions and VOD packaging group). Would the error that caused the ingest fail be surfaced by CloudTrail API events? I don't think CloudWatch metrics would have the info I'm after.

0

Ingest statuses for assets ingest on EMP VOD done via events.

Crete rule in Event Bridge with the following event pattern:

{

"source": ["aws.mediapackage"],

"detail-type": ["MediaPackage Input Notification"]

}

Then define target (lambda, sns topic, ...) and you will get messages during ingest like:

":{"event":"IngestStart","message":"Ingest Started

":{"event":"IngestComplete","message":"Ingest Completed"}}

":{"event":"VodAssetPlayable","message":"Asset 'vod' is now playable for PackagingConfiguration 'dash_vod_emt'","packaging_configuration_id":"dash_vod_emt","manifest_urls"

AWS
answered 4 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.