2017-09-22 20 views
9

Tôi muốn triển khai DRM trong video HTML5 (EME). Tôi biết nó được hỗ trợ trong các trình duyệt hiện đại:Cách triển khai DRM trong HTML5

Và tôi biết có những công cụ và dịch vụ mà tôi có thể sử dụng:

Tôi muốn cung cấp như ví dụ sau:

  • https://demo.castlabs.com/ (chơi Big Buck Bunny trực tuyến trơn tru: đó là không thể được tải về và url là một -time có thể sử dụng)

Tôi có phải sử dụng như ervice hoặc tôi có thể thực hiện phía máy khách và phía máy chủ cả trên máy chủ của riêng tôi? Nếu tôi có thể triển khai cả phía máy khách và phía máy chủ, thì làm cách nào tôi có thể thực hiện điều đó?
Tôi sử dụng PHP (laravel) ở phía máy chủ.

Update # 1
Tôi muốn để có thể mã hóa video của tôi trên máy chủ của tôi (thông qua bất kỳ công cụ) và giải mã nó khi trình duyệt muốn chơi nó và ngăn chặn nó được tải về bởi người dùng bình thường.

+0

Từ: https://arstechnica.com/information-technology/2017/03/drm-in-html5-is-a-victory-for-the-open-web-not-a-defeat/ 'EME không chỉ định bất kỳ lược đồ DRM nào. Thay vào đó, nó định nghĩa một tập các API cho phép JavaScript và HTML tương tác với các mô-đun giải mã/bảo vệ.Các mô-đun này sẽ có xu hướng cụ thể theo nền tảng theo cách này hay cách khác và sẽ chứa công nghệ DRM cốt lõi.' – enhzflep

+0

không chắc chắn liệu điều này có giúp ích cho trường hợp của bạn hay không. .io/articles/digital-rights-management-đa-drm/nó giải thích chi tiết về làm thế nào để đạt được đa drm – Aameer

+0

Cảm ơn bạn @Aameer. Tôi đã đọc bài viết của bạn. Đó là hữu ích, nhưng không phải là những gì tôi cần. Tôi muốn bằng cách nào đó mã hóa video trên máy chủ của tôi và khi chơi nó trên trang web bằng cách sử dụng thẻ video html5, nó được giải mã và không ai có thể tải xuống. –

Trả lời

2

Nếu bạn muốn hỗ trợ DRM thường được sử dụng phổ biến, tại thời điểm này Widevine, PlayReady hoặc FairPlay thì bạn cần có máy chủ hoặc dịch vụ nhiều DRM.

Nếu bạn chỉ muốn bảo vệ cơ bản, bạn có thể sử dụng mã hóa AES hoặc rõ ràng với DASH.

Đây không phải là an toàn nhưng đôi khi đủ tốt cho các nhu cầu nhất định.

Bạn có thể sử dụng ffmpeg và openssl để tạo ra một AES mã hóa dòng HLS - tài liệu ffmpeg (http://ffmpeg.org/ffmpeg-all.html#Options-34) bao gồm ví dụ này kịch bản:

#!/bin/sh 
BASE_URL=${1:-'.'} 
openssl rand 16 > file.key 
echo $BASE_URL/file.key > file.keyinfo 
echo file.key >> file.keyinfo 
echo $(openssl rand -hex 16) >> file.keyinfo 
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \ 
    -hls_key_info_file file.keyinfo out.m3u8 

Bạn cũng có thể sử dụng mp4Box (https://gpac.wp.imt.fr/mp4box/encryption/common-encryption/) để tạo encryptions DASH cơ bản rõ ràng :

MP4Box -crypt drm_file.xml movie.mp4 out movie_encrypted.mp4

Thông tin drm được bao gồm trong tệp drm_file.xml và được giải thích tại liên kết ở trên.

+0

Cảm ơn bạn @Mick cho câu trả lời của bạn. Tôi có thể sử dụng VPS của mình làm máy chủ đa DRM không? Và tôi không thể sử dụng mã hóa MP4Box vì nó cần một tập tin thông tin xml! (Tôi có nên tạo thủ công không?) –

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