2012-01-06 17 views
23

Tôi đã thử nhiều, nhiều cấu hình, tệp, mã hóa, trình duyệt khác nhau, v.v., nhưng đây là ví dụ đơn giản nhất thể hiện sự cố tôi đang gặp phải.Làm cách nào để bạn định cấu hình S3 và Cloud Front để truyền video HTML5? Đã thử tất cả mọi thứ

Nếu bạn dán url cho video mẫu cho JSPlayer trong FF 8.0.1, video chơi inline:

http://video-js.zencoder.com/oceans-clip.webm

Nếu tôi mất cùng video và tải nó lên xô s3 của tôi, nó gây nên tải về thay vì:

https://s3.amazonaws.com/turingvideos/oceans-clip.webm - hoặc - http

(Quyền được đọc cho tất cả mọi người trên các tập tin và xô)

Vì vậy, hãy thử Cloud Front.

d2yat6m71lu23b dot dot CloudFront ròng slash đại dương-clip.webm (tải về kích hoạt)

Và Mây Mặt trận trực tiếp:

strzsu4h2ax96 chấm chấm CloudFront ròng slash đại dương-clip.webm (spinner vô hạn)

Những điều cơ bản tương tự cũng xảy ra khi sử dụng thẻ video html. Hoạt động tốt từ zencoder, borked trên bất cứ điều gì khác hơn là đọc đĩa địa phương.

Vì vậy, thuật toán quản lý zencoder là hoàn toàn nằm ngoài tầm với của tôi với S3/CloudFront? Tôi hoàn toàn bối rối.

Chỉnh sửa:

Đặt loại nội dung và bố cục thành "video/webm" và "nội tuyến" đã thực hiện thủ thuật. Cảm ơn những người phản ứng nhanh.

+1

Bạn đã thử thiết lập các tiêu đề HTTP 'Content-Type' và 'Content-Disposition' trên các tập tin trên S3? –

+0

Chỉ cần làm theo gợi ý dưới đây và sửa nó. cảm ơn. – turing1

+0

Hãy [chấp nhận] (http://meta.stackexchange.com/a/5235/152479) câu trả lời nếu nó giúp bạn. http://meta.stackexchange.com/a/5235/152479 – Mischa

Trả lời

47

Sử dụng quản lý web S3 giao diện điều khiển (https://console.aws.amazon.com/s3), chọn xô của bạn, nhấp chuột phải một trong các file video của bạn, chuyển sang tab siêu dữ liệu và thiết lập 2 tiêu đề:

  • Content-Type: bất cứ video của bạn kiểu nội dung tập tin là
  • Content-Disposition: inline

Ngoài ra, hãy chắc chắn phân phối CloudFront của bạn được thiết lập như là một bản phân phối "streaming" và không phải là một "tải" một.

Edit:

Từ các tài liệu AWS:

máy chủ CloudFront không xác định loại MIME cho các đối tượng mà họ phục vụ. Do đó, khi bạn tải một đối tượng lên nguồn gốc của mình, bạn nên đặt tiêu đề Kiểu nội dung của đối tượng.

Nguồn: http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/ObjectMIMEType.html

+0

Điều đó đã làm điều đó. Cảm ơn bạn! – turing1

+8

@ turing1 - nếu câu trả lời này là giải pháp cho vấn đề của bạn, bạn nên đánh dấu nó là câu trả lời được chấp nhận (đánh dấu vào bên trái dưới phiếu bầu) –

+0

Làm việc cho tôi. Đây là một điểm khác. Bảng điều khiển quản trị s3 có lựa chọn thả xuống meta không cung cấp những thứ như "video/mp4", v.v ... Không có vấn đề gì. Bạn có thể chỉ cần nhập của riêng bạn vào hộp thả xuống. Phải mất một lúc tôi mới hiểu ra điều đó. Cảm ơn! –