By using AWS re:Post, you agree to the Terms of Use

How to publish live stream to MediaPackage using FFmpeg?


I want to push the stream to MediaPackage with FFmpeg instead of pushing to MediaLIve. I try the command

ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f hls ''

It seems that I push the stream succeed, but I can't play the stream with the endpoint, and there are no metrics about ingress items.

1 Answer

When pushing inputs to MediaPackage they need to be in HLS protocol, it does not accept MP4s directly. MediaLive has the ability to take MP4 files as a source input and convert to HLS that can be pushed to MediaPackage. This would be considered a 'live streaming' scenario.

With the VOD scenario, MediaPackage can 'ingest' MP4 assets from S3 storage, yet requires a .smil file to detail all the renditions. There will need to be an MP4 file for each rendition and the .smil. MediaPackage does not have the ability to create multiple renditions from a single MP4. Keep in mind that MediaPackage is a Just-in-Time packaging/origin server. Once MP is made aware of a VOD asset (ingest process) it will pull the associated MP4 renditions only when requested from a CDN.

answered 3 months ago
  • Thanks for your reply. The FFmpeg command will remux mp4 to mpegts segment, but it doesn't work well.

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