Output HLS Manifest file contains NEITHER Master nor Stream Playlist tags

0

Hello,

I've successfully configured the MediaLive channel to output incoming stream to the S3 bucket in HLS format.
And from time to time, the "main" manifest is missing its master tags (#EXT-X-STREAM-INF), even though other playlist manifests, to which the main one should point, are present and contain he correct data.

Example:

_stream.m3u8_
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
_stream_1.m3u8_
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10.00000,
stream_1_00001.ts
#EXTINF:6.00000,
stream_1_00002.ts
#EXT-X-ENDLIST

I was not able to find out what is the cause of this strange behaviour and would be really grateful for any help.

Best regards.

ibrcko
demandé il y a 4 ans416 vues
5 réponses
0

Hi Ibrcko,

This usually indicates the pipeline has paused. One reason this might occur is that the input has been lost, and the InputLossAction is set to PAUSE_OUTPUT. One of the things MediaLive does when pausing outputs is removes their renditions from the parent manifest.

Try changing InputLossAction to EMIT_OUTPUT and see if that changes the behavior.

Regards,
Steve

AWS
Steve_W
répondu il y a 4 ans
0

Hi Steve,

Thank you for your response.

After I have changed InputLossAction to EMIT_OUTPUT, the problem mentioned does not occur anymore.

The reason why InputLossAction has been set to PAUSE_OUTPUT in the first place is to stop MediaLive from outputting if there is no input video detected.
How would one achieve the described behavior if InputLossAction option is out of the question?

Best regards.

ibrcko
répondu il y a 4 ans
0

In this case you have a couple of options.

  1. Leave the InputLossAction configured to EMIT_OUTPUT and use the Cloudwatch Events emitted by MediaLive to detect when an input goes away. These events correspond to the alerts seen in the MediaLive console and could be used as the basis for taking action (like stopping the channel).

  2. Change InputLossAction back to PAUSE_OUTPUT, and create a static version of the main manifest by copying it to a different name. Direct your players to the static version of the manifest instead of the dynamically created one from the channel. Note that part of the default behavior of pausing the output includes deleting the rendition manifests, so this may not achieve your goal either.

Regards,
Steve

AWS
Steve_W
répondu il y a 4 ans
0

Thank you, that advice is really helpful.

I have configured events and targets for MediaLive alerts.

Now I'm trying to figure out how to distinct alerts:
There is no input data - is it because input data has never been detected, or because it is lost.

How can I distinct these two virtually equal states/alerts?

ibrcko
répondu il y a 4 ans
0

Hi ibrcko,

There is one message that occurs at channel start that does not happen when a source goes away once the channel is already running, the message text is "Initial Probe is Taking Longer Than Expected"

That should allow you to differentiate between no signal at start versus signal going away later.

Regards,
Steve

AWS
Steve_W
répondu il y a 4 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions