2016-01-24 13 views
5

Tôi có một trường hợp sử dụng không chính xác yêu cầu thông tin liên lạc thời gian thực, nhưng gần như tôi có thể làm cho nó để đảm bảo người dùng của tôi không phải chờ đợi mãi mãi tải lên một tập tin sau khi thực tế. Trang web của chúng tôi cho phép người dùng ghi lại video và âm thanh mà chúng tôi lưu trữ trên máy chủ của chúng tôi.Tôi có thể sử dụng một số loại lưu trữ cục bộ như một nơi lưu trữ tạm thời cho getUserMedia cho gần RTC không?

Tôi đã chuyển từ flash, vì flash, sang triển khai WebRTC với máy chủ phương tiện Kurento. Điều này hoạt động rất tốt với kết nối internet chất lượng cao nhưng tương đối thiếu đối với người dùng có kết nối kém.

Tôi đã suy nghĩ nếu tôi có thể thực hiện một số cách thực hiện một chút bộ đệm trước khi cho máy chủ để tôi có thể bù đắp cho kết nối có thể là lý tưởng. Tôi hiểu đây không phải là điều mà WebRTC có nghĩa là dẫn đến câu hỏi liệu có một giải pháp khác mà tôi nên xem xét không?

Bất kỳ và tất cả đề xuất đều được hoan nghênh và đánh giá cao! Cảm ơn!

Trả lời

4

Bộ đệm sẽ không thay đổi đặc điểm thời gian thực của WebRTC khi băng thông thấp. Với video chẳng hạn, WebRTC có thể làm giảm tốc độ khung hình hoặc độ phân giải để theo kịp, nhưng không ai đề xuất giảm thời gian phân phối (giảm thời gian thực). Của bạn là một trường hợp sử dụng thú vị tuy nhiên.

Bạn có thể sử dụng MediaRecorder. Nó sẽ cho phép bạn ghi lại cục bộ và sau đó gửi dữ liệu dưới dạng các đốm màu đến máy chủ bằng các cổng web hoặc các kênh dữ liệu.

Dưới đây là một fiddle mà làm việc trong Chrome (mà làm video chỉ may) và Firefox:

https://jsfiddle.net/tmwLxjLy

Nó cho thấy ghi đơn giản và sau đó phát lại của video 5 giây sau đó. Tôi sẽ để nó như một bài tập để sửa đổi nó để gây ra sự chậm trễ liên tục 5 giây.

+1

Cảm ơn Jib, đó là một phản ứng tuyệt vời! Tôi sẽ điều tra MediaRecorder. Cảm ơn cho fiddle là tốt. – Ron

+0

có bất kỳ lý do nào khiến chúng tôi có thể kiểm soát tốc độ khung hình này khi phát hiện thấy mạng bị mất không? –

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