Start a new topic

How to play M3U8 file?

 I'm not a techie but I have uploaded a test video into a S3 bucket and then I converted that to the HLS format through a pipeline.
For the preset, I used HLS 400k Video and for the Playlist format, I chose HLSv4.

However, when I embed the resulting URL on my site, it's not playing through the viblast player (the sample video provided by viblast played fine).

Any ideas?

Here is the link to the HLS video: https://s3.eu-west-2.amazonaws.com/converted-hls/test/testindex.m3u8

JH


Hello,

The given url is not valid:

<Error>

 

<Code>AccessDenied</Code>

<Message>Access Denied</Message>

<RequestId>1EEB2FAF5E655E32</RequestId>

<HostId>

b368z7F+C0QwwH1K2Qh/6qRHUsLKcK35EighlD42BZgoVchFPY+j1Zl8iFyk4jzDse0LJNif8ug=

</HostId>

</Error>


Could you fix it and share again?

Also make sure the CORS is enabled as it is the common reason for the issues.

You can read more about it here.

 Here is the updated link:

https://s3-eu-west-1.amazonaws.com/ccommander/index600.m3u8


Here is the link to the Cloudfront link which doesn't work.

http://d1h24x6fv1p3hi.cloudfront.net/index600.m3u8


Here is my current CORS Config:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <ExposeHeader>ETag</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

 

Any ideas on why its not playing in the player through Cloudfront?


Appreciate the help,


Amin

Hello,

Your cloudfront URL is not accessible. It is not related to CORS. The response from cloudfront is:

< HTTP/1.1 403 Forbidden

< Server: CloudFront

< Date: Tue, 21 Mar 2017 07:18:56 GMT

< Content-Type: text/xml

< Content-Length: 146

< Connection: keep-alive

< X-Cache: Error from cloudfront

< Via: 1.1 41c3cb82170e6008a02f8fac2dfb6de7.cloudfront.net (CloudFront)

< X-Amz-Cf-Id: moaDw2H5SjLJJOAZwP0cCSEnD5py0xAesUVbu4Lk726dcaM2fntLOQ==

* Connection #0 to host d1h24x6fv1p3hi.cloudfront.net left intact

<?xml version="1.0" encoding="UTF-8"?><Error><Code>MissingKey</Code><Message>Missing Key-Pair-Id query parameter or cookie value</Message></Error>


You have to check your config settings and try again.


What could that error indicate? What could be the issue?

Amin

 

That means that your url is not public and has restricted access. You can google or refer to Amazon Cloudfront documentation how to manage your resources. For example:

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/auth-and-access-control.html


Does Viblast support HLS Adaptive streaming through Cloudfront?

If it does, how do I keep the link private and secure and let it play only through my website?

Amin


 

Hi Amin,

Yes, Viblast Player does support HLS Adaptive streaming through any CDN, including Amazon Cloudfront.

About the security you have to ask amazon support or any skilled network admin.

have viblast people ever tested the player with cloudfront's signed cookies ? it's a very widespread configuration for securing hls (time window & ip restrictions), all other players known to work with CF's signed cookies need to explicitely force withCredential=true in XMLHttpRequest, how it's should be done in viblast ?

 

Hello,


You can set explicitly withCredentials=true on every request:

https://docs.viblast.com/player/xhr-manipulation


The code should look like this:


viblast("#playid").setup({
  // as usual
  xhrBeforeSend: function(ev) {
ev.xhr.withCredentials = "true";
}
});



Login to post a comment