2013-07-09 70 views
8

Tôi cần triển khai chia sẻ màn hình bằng WebRTC. Tôi biết rằng WebRTC hỗ trợ chia sẻ nội dung tab nhưng tôi cần chia sẻ toàn bộ màn hình. Một giải pháp mà tôi đang nghĩ đến là thường xuyên chụp ảnh màn hình và sử dụng kênh dữ liệu WebRTC chuyển hình ảnh sang bên kia. Sau đó, bên kia sẽ cập nhật hình ảnh mỗi khi nhận được hình ảnh mới.Hoàn thành chia sẻ màn hình bằng WebRTC

Điều này có thể thực hiện được không? Đặc biệt tôi tự hỏi liệu có thể chuyển hình ảnh bằng cách sử dụng kênh dữ liệu WebRTC không?

Cảm ơn bạn trước.

+0

Bạn có thể chuyển hình ảnh qua Kênh dữ liệu nhưng vấn đề lớn hơn sẽ là chụp màn hình từ bên trong hộp cát JavaScript. Tôi nghi ngờ đó là không thể mà không có một số loại phần mở rộng trình duyệt. – Makkes

Trả lời

7

Chia sẻ màn hình có sẵn thông qua giới hạn getUserMedia thử nghiệm trong Chrome (not yet available in Firefox).

Trước tiên, bạn cần phải bật cờ có tên là Enable screen capture support in getUserMedia() trong chrome://flags.

Có một ví dụ hay về cách chụp màn hình tại đây: https://html5-demos.appspot.com/static/getusermedia/screenshare.html.

+1

Cảm ơn, ví dụ tốt. Nhưng khi tôi sao chép nội dung html vào tập tin html địa phương của tôi nó không hoạt động. Có vẻ như tôi sẽ cần cài đặt máy chủ HTTPS. – mkd156

+0

Không còn nữa, có vẻ như: https://groups.google.com/forum/#!topic/discuss-webrtc/TPQVKZnsF5g – Max

+1

'Bật cờ hỗ trợ chụp màn hình 'bị xóa khỏi Chrome – RezaRahmati

9

getUserMedia hỗ trợ chia sẻ màn hình toàn bộ màn hình chứ không chỉ nội dung tab.

Tôi đã thực hiện bản trình diễn chụp màn hình (sử dụng chromeMediaSource ràng buộc bắt buộc: 'màn hình') sẽ đưa luồng vào RTCPeerConnection: https://simpl.info/screencapture.

API chrome.tabCapture nhận nội dung tab, nhưng tất nhiên đó không phải là nội dung bạn muốn: ví dụ here (mặc dù mã đã bị hỏng).

CHỈNH SỬA: đã thêm HTTPS vào liên kết: điều này là bắt buộc đối với screencapture.

+0

Cảm ơn câu trả lời. getUserMedia thực sự là những gì tôi cần. Nhưng để kiểm tra nó cục bộ có vẻ như tôi sẽ phải cài đặt một số máy chủ HTTPS phải không? – mkd156

+0

có: bạn sẽ cần có HTTPS cục bộ –

+1

Có thể nhận 60FPS bằng phương pháp này không? Tôi đã thử nhưng có vẻ xa lý tưởng. – wonglik