We have AMS 5 running on an Amazon EC2 instance. We send a Live Stream from an FMLE encoder using H.264/AAC.
If we do an Origin Pull from that instance running the AMS 5 and Live steam through one of our commercial CDN accounts, we can stop and re-start our Live stream without issue. It stops and re-starts as it should. When we re-connect to the AMS using FMLE, using the Origin Pull, the stream re-starts in either the OSMF or JW Player 6 in under 30 seconds.
If we use that same AMS 5 on the same EC2 instance and Live stream through an Amazon Cloudfront distribution, if we stop our Live stream, when we re-start the stream it takes an unacceptably long time for the stream to refresh - if ever. Basically, after the re-start of the Live stream through FMLE, the Live stream at the player plays the first 10 or 15 seconds of the intial Live stream and then stops. If you refresh the player, it will play that same 10 or 15 seconds again - and stop again.
It would seem that the AMS 5 is setup correctly. It works through our commercial CDN.
It also would seem that the issue is with the cache on Amazon Cloudfront. Our assumption is that the Cloudfront cache is not properly updating. But we have tried about every variable in every setting for Cloudfront that we can find. We can't get past this.
As a followup to this discussion, you can follow the issue through the AWS.Amazon forums at https://forums.aws.amazon.com/thread.jspa?threadID=120448&tstart=0
We also have other threads going.
There appears to be 2 different issues - one issue with Amazon Cloudfront and a second issue with Adobe Media Server. Unfortunately, they are tied together in the real world application of these programs.
In AMS. when we use the adbe-record-mode=record, then the AMS works fine because the AMS is clearing the streams on each re-publish. Unfortunately, this causes a status code error on Amazon Cloudfront. And that particular status code error from a custom origin server causes Cloudfront to "override the minimum TTL settings for applicable cache settings". As the programmers explained, basically what happens is that Cloudfront overrides our 30 second cache settings and goes into a standard cache setting of 5 minutes. And waiting 5 minutes to re-start a Live stream just doesn't work in the real world for real customers.
We can fix that Cloudfront status code error issue by using adbe-record-mode=append on the AMS. If we use that AMS setting, then we can stop a Live stream, re-start the stream, the Cloudfront cache clears and everything works - unless you also change the stream settings in your FMLE. If you stop the stream and change the video input or output size in the FMLE, then the AMS server gets stuck and can't/won't append to the f4f record file.
Does anyone have any ideas about how we can adjust all of this so that it works together?