2012-03-12 41 views
6

Tôi muốn phát tệp âm thanh/video trong trình phát. Trình phát có thể là trình phát HTML5 hoặc Flash, tùy thuộc vào thực tế là âm thanh HTML5() có được trình duyệt của khách hàng hỗ trợ hay không? Máy chủ phát trực tuyến tôi đang xem xét là AMAZON Cloudfront. Tôi đã đi qua các hướng dẫn tại amazon http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RTMPStreaming.html#d0e4668 nhưng nó chỉ nói về Flash player. Có thể sử dụng trình phát HTML5 với phương tiện truyền trực tuyến từ Amazon Cloudfront không?Trình phát HTML5 hoặc flash để phát trực tiếp từ Amazon Cloudfront

Trả lời

7

ACF (Amazon CloudFront) phân phối sử dụng Flash Media Server cho RTMP suối như vậy, trong bản thân mình, CF phân phối aren' một giải pháp hoàn chỉnh liên quan đến việc cung cấp khả năng phát trực tuyến cho không flash trình phát/thiết bị!

Điều này khiến bạn có 2 lựa chọn;

  1. phục vụ trực tuyến cho người dùng flash/thiết bị với một, tùy chọn tải về tiến bộ thường xuyên qua HTML5 HOẶC
  2. Thiết lập một phương tiện truyền thông máy chủ Wowza với nội dung của bạn để dòng nếu trong HTML chế độ.

Dù bằng cách nào, điều này có thể đạt được bằng chế độ của người chơi [] var nơi bạn có thể cung cấp các thông số thiết lập khác nhau như path/tập tin và các biến khác như streamer & cung cấp trong danh sách phát/trình phát của bạn tương ứng.


Ví dụ Hãy giả sử bạn có các thiết lập sau đây;

  1. Xô, 'my-music.s3.amazonaws.com/'. Đây là nơi bạn lưu trữ phương tiện truyền thông của mình. Ví dụ: 'my-music.s3.amazonaws.com/audio/' cho âm thanh và 'my-music.s3.amazonaws.com/video/' cho video.
  2. Phân phối phát trực tiếp RTMP với 'my-music.s3.amazonaws.com/' bucket của bạn làm nguồn. Đây sẽ là số flash2 của bạn streamer, giống như 'XXXXXXXXXXX.cloudfront.net/cfx/st/'.
  3. MP3 nằm ở vị trí '/audio/song.mp3'.

Để làm công việc này trong hoặc Flash (với RTMP dòng) HOẶC HTML5 (như là một tải về tiến bộ), bạn sẽ cần phải có một thiết lập máy nghe nhạc như sau ...

<script type="text/javascript"> 
/* set var baseURL to your media BUCKET 
NOT your streaming distribution */ 
var baseURL = "https://my-music.s3.amazonaws.com/"; 

jwplayer('mediaplayer').setup({ 
'id': 'playerID', 
'width': '480', 
'height': '270', 
'file': 'audio/song.mp3', /* change to your song/video path */ 
'provider': 'rtmp', 
'streamer': 'rtmp://XXXXXXXXXXX.cloudfront.net/cfx/st/', 
'modes': [ 
    { 
     type: 'flash', 
     /* set the location of your SWF object */ 
     src: 'https://my-player.s3.amazonaws.com/plugins/jwplayer/player.swf' 
    }, 
    { 
     type: 'html5', 
     config: { 
      /* prepend your BUCKET URL (baseURL var) to the file path */ 
      'file': baseURL + 'audio/song.mp3', 
      /* set provider */ 
      'provider': 'video' 
     } 
    } 
] 
}); 
</script> 

Tất nhiên, nếu bạn đang sử dụng một CMS, widget, plugin hoặc mô-đun để quản lý cầu thủ của bạn, có thể bạn sẽ có thể truy cập & chỉnh sửa các thông số trong một màn hình quản trị hoặc cách khác, đặt chúng theo lập trình.

Một điều cần lưu ý, đó là theo thứ tự bạn đặt loại các đối tượng trong chế độ [] array là thứ tự mà JW chơi sẽ cố gắng để tải.


Để biết thêm thông tin, vui lòng xem JW Embedder Modes here.

Cung cấp tính năng phát trực tuyến Nếu bạn muốn cung cấp phát trực tuyến bằng HTML5, bạn sẽ sử dụng cùng một cách tiếp cận, thay đổi thuộc tính, nhà cung cấp trong đối tượng kiểu html5 tương ứng.

Hy vọng điều này hữu ích!

Gez

+0

@gentrobot cung cấp rằng bạn không nhớ cung cấp nội dung của mình bằng cách sử dụng tải xuống lũy ​​tiến (tức là không phát trực tuyến) khi ở chế độ ** HTML5 **, có, * CloudFront ** sẽ thực hiện công việc một mình. Tuy nhiên, nếu bạn muốn phát trực tuyến nội dung dù sử dụng flash hay HTML5, bạn sẽ cần phải xem xét một công nghệ không dựa trên flash khác như wowza. Dù bằng cách nào, làm thế nào để đạt được điều này được giải thích trong câu trả lời của tôi. Chúc may mắn, Gez – MyBO

+0

Câu trả lời của Gr8! Cảm ơn một tỷ. Tôi đang đi qua trang web Wowza và các dịch vụ của họ và xem xét liệu điều đó có phù hợp với nhu cầu của tôi hay không. – gentrobot

+0

Hi @gentrobot, không có probs ... Wowza có thể không phải là lựa chọn duy nhất nhưng chắc chắn bạn sẽ cần phải có một máy chủ/dịch vụ media không dựa trên flash để phục vụ chúng. Trong thời gian chờ đợi, bạn có thể thử nghiệm các chế độ trình phát bằng cách sử dụng html5 như trong ví dụ. Ít nhất thì bạn biết rằng logic/trình phát hoạt động trong môi trường của bạn. Chúc bạn may mắn, Gez – MyBO

1

JWplayer sẽ thực hiện cả html5 và flash trực tiếp từ Cloudfront rất dễ dàng.

Xem sau để biết chi tiết ... http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront

Jon

+0

2 câu hỏi: 1. Tôi có thể sử dụng HTML5 và trình phát flash của riêng mình không? 2. Tôi có cần mua một Amazon S3 và dịch vụ Amazon CloudFront không? – gentrobot

+2

Miễn là chúng hỗ trợ rtmp streaming protocals thì bạn có thể sử dụng những gì bạn thích, chỉ cần trỏ nguồn tới chuỗi kết nối/phát trên cloudfront. Bạn không phải mua riêng S3/Cloudfront, chúng nằm trong tài khoản AWS duy nhất mà bạn đăng ký. Có trình kiểm tra phát trực tuyến hữu ích, mà tôi sử dụng để kiểm tra chuỗi kết nối. http://d1k5ny0m6d4zlj.cloudfront.net/diag/CFStreamingDiag.html Trình thám hiểm Cloudberry S3 cũng là một công cụ rất hữu ích trong kho vũ khí của bạn. – JonLovett

+0

Cảm ơn rất nhiều JonLovett. Bạn đã được giúp đỡ rất nhiều. – gentrobot

Các vấn đề liên quan