2014-02-24 1 views
0

내 chromecast 앱에서 HLS 스트림을 통합하려고합니다.Amazon S3에서 HLS, CORS 오류에 대한 Chromecast 지원

수신자 부품은 여러 개의 HLS 스트림 URL로 확인했기 때문에 문제가 없습니다.

난 제대로 작동하는 CORS 비트를 얻을 수 없습니다.

아마존 AWS S3을 사용하고 있습니다. 내 양동이에 CORS를 설정했습니다.

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

제 생각에는이 버킷 내부의 리소스에 액세스하기 위해 모든 도메인에서 액세스 할 수 있어야합니다.

하지만 여전히 Chromecast에서 자바 스크립트에 다음 오류가 표시됩니다.

XMLHttpRequest cannot load http://s3-eu-west-1.amazonaws.com/interactive-encoding-out/watermark-sintel-test/playlist.m3u8. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://s3-eu-west-1.amazonaws.com' is therefore not allowed access. 

답변

0

지금은 corsproxy를 역 요청으로 사용하여 cors 헤더를 요청에 추가했습니다. 정말이 솔루션을 recommand. 이 방법으로 맞춤형 리시버 앱이 필요 없습니다. 당신의 서버

실행에 어딘가에 고르 프록시 corsproxy를 설치

$ corsproxy <SERVER_IP> <DESIRED_PORT> 

와 같은 요청을 실행하여 설치

http://<SERVER_IP>:<DESIRED_PORT>/<YOUR REQUEST> 

을에서 : https://www.npmjs.org/package/corsproxy

1

시험해보십시오. https://github.com/TOMODOcom/TOMODOkorz. 그것은 나를 위해 작동합니다.

TOMODOkorz를 사용하면 모든 도메인에 원본 출처 요청을 할 수 있습니다. 사이트에 추가 한 모든 원본 교차 제한 사항은 사이트에서 제거됩니다. 교차 원점 공유를 쉽게 할 수 있습니다.

0

http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html을 기반으로하면 예제가 nescessary보다 약간 복잡해 보입니다.

<CORSConfiguration> 
<CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
</CORSRule> 
</CORSConfiguration> 

아마도 필요한 것일 것입니다. 즉, 양동이 대화 형 인코딩 아웃을 소유하고 계십니까? 그것은 문제 일 수 있습니다. 이 헤더를 작동시키기 전에이 헤더를 설정할 수있는 자체 양동이에 세그먼트를 복사해야 할 수도 있습니다.

관련 문제