Creating a DASH MediaConvert Output Group with H264 and VP9 Codecs

0

I have been trying to create a DASH ISO output group for an input video. My implementation plan requires 2 video outputs and one audio in this group as follows:

  1. High Quality 1080P VP9 CodecVideo
  2. Medium Quality 720P H264 Codec Video
  3. Generic Audio

When setting this up, while the job is created successfully, the manifest file for the output seems to be invalid. I have tried out the different settings available within the console to debug this, but the manifest does not seem to give the correct representation for the VP9 output. Its representation seems to be missing the <SegmentBase> tag with the initialization tag.

Here's the output mpd that is auto-generated. Please let me know how I can solve this.

`

<?xml version="1.0" encoding="UTF-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="static" minBufferTime="PT21S" profiles="urn:mpeg:dash:profile:isoff-main:2011" mediaPresentationDuration="PT46.679S"> <Period start="PT0S" duration="PT46.679S" id="1"> <AdaptationSet mimeType="video/mp4" frameRate="30000/1001" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="false"> <Representation id="1" width="400" height="710" bandwidth="4000000" codecs="avc1.640028"> <BaseURL>106MB Potrait_710p_h264_40Mbps.mp4</BaseURL> <SegmentBase indexRange="763-994"> <Initialization range="0-762"/> </SegmentBase> </Representation> <Representation id="2" width="400" height="710" bandwidth="1300000" codecs="avc1.640028"> <BaseURL>106MB Potrait_710p_h264_13Mbps.mp4</BaseURL> <SegmentBase indexRange="762-993"> <Initialization range="0-761"/> </SegmentBase> </Representation> <Representation id="3" width="608" height="1080" bandwidth="3000000" codecs="vp9"> <BaseURL>106MB Potrait_1080p_vp9_30mbps.webm</BaseURL> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" lang="eng" segmentAlignment="0"> <Representation id="4" bandwidth="96000" audioSamplingRate="48000" codecs="mp4a.40.2"> <BaseURL>106MB Potrait_audio.mp4</BaseURL> <SegmentBase indexRange="658-889"> <Initialization range="0-657"/> </SegmentBase> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> </Representation> </AdaptationSet> </Period> </MPD> `
asked a month ago50 views
2 Answers
0

The issue you're experiencing with the DASH manifest is related to the VP9 codec output. In the manifest you provided, the VP9 representation is missing the SegmentBase and Initialization tags, which are present for the H.264 and audio representations. This discrepancy is likely causing the manifest to be invalid.

The problem stems from how MediaConvert handles different codecs in DASH ISO output groups. While MediaConvert supports both H.264 and VP9 codecs, it may not be fully optimized for creating DASH manifests with mixed codec types, especially when including VP9.

To resolve this issue, you have a few options:

  1. Use separate output groups: Create two separate DASH ISO output groups, one for H.264 and another for VP9. This approach ensures that each output group has a consistent codec, which should result in properly formatted manifests for both.

  2. Use CMAF instead of DASH ISO: CMAF (Common Media Application Format) is more flexible and better supports mixed codec types. It can create outputs compatible with both DASH and HLS. Try using a CMAF output group instead of DASH ISO, which might handle the VP9 codec more effectively.

  3. Stick to a single codec: If possible, consider using only H.264 or only VP9 for all your video outputs within the DASH ISO group. This consistency may help avoid manifest generation issues.

  4. Check VP9 settings: Ensure that your VP9 output settings are correctly configured. Sometimes, specific settings can affect how MediaConvert generates the manifest for that output.

  5. Contact AWS Support: If none of these solutions work, you may need to reach out to AWS Support for further assistance, as this could be a limitation or bug in MediaConvert's handling of VP9 in DASH ISO output groups.

Remember that when working with adaptive bitrate streaming, it's crucial to have consistent settings across your outputs to ensure smooth playback and proper manifest generation.
Sources
Using output groups to specify a streaming package type or standalone file - MediaConvert
Choosing your ABR streaming output groups - MediaConvert

profile picture
answered a month ago
0

it's not possible to create a single output group in MediaConvert that contains both VP9 and H.264 streams for DASH output. MediaConvert requires that all video streams within the same DASH output group use the same codec.

If you need both VP9 and H.264 streams, you'll need to create:

One DASH output group for VP9 streams Another DASH output group for H.264 streams

Each output group can then contain multiple quality levels (bitrates) of the same codec.

profile pictureAWS
answered a month 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.

Guidelines for Answering Questions