2011-12-14 39 views
11

Tôi đang tìm kiếm các công nghệ mã nguồn mở tốt nhất để sử dụng để thực hiện giao tiếp âm thanh/video hai chiều giữa hai trình duyệt.
Để bây giờ tôi đã khai quật được những ca khúc:Phát trực tiếp âm thanh/video giữa hai trình duyệt, công nghệ nào?

  • WebRTC W3C spec và một Ericsson's implementation
  • Red5 và BigBlueButton implementation làm ví dụ
  • Cumulus Một thực hiện Red5 của Cirrus
  • HTML5 và nhiều tính năng mới của mình (nhưng không phải trước 2014-2015 một cách minh bạch)
  • Có thể một số loại triển khai Jabber/Speex mà tôi thiếu

Có điều gì tôi thiếu không?
Giải pháp tốt nhất có thể sử dụng là gì?

Ngoài ra (để chính xác hơn), tôi muốn triển khai tính năng này trong ứng dụng của tôi phát triển bằng cách sử dụng Django/Python.

+0

Tôi đoán câu hỏi này quá rộng.Tôi thấy bạn đề cập đến các công nghệ không liên quan có thể được sử dụng trong việc triển khai dịch vụ để thực hiện "giao tiếp a/v hai chiều giữa hai trình duyệt" tùy thuộc vào kiến ​​trúc bạn chọn và các yêu cầu bạn muốn thực hiện. Ví dụ, Erlang chủ yếu là một công nghệ phía máy chủ trong khi HTML5 là phía máy khách –

+0

Có, tôi đã hy vọng rằng bằng cách di chuyển lớn (công nghệ máy chủ hoặc phía khách hàng) tôi có thể tạo ra một phản ứng dẫn đến một giải pháp khả thi. –

+1

@SamuelRivas: câu hỏi âm thanh quá brad, nhưng nó không phải, có vẻ như với tôi. Thông tin liên lạc A/V là một lĩnh vực khá cụ thể và các giải pháp nguồn mở khả thi không có nhiều ở đây; các giải pháp có thể truy cập từ trình duyệt thậm chí còn ít hơn. Các công nghệ phía máy chủ rất nhiều, nhưng có một chút khác biệt. – 9000

Trả lời

3

Câu hỏi khó nhất là những gì bạn nên sử dụng ở phía khách hàng để nắm bắt và phát video từ webcam của người dùng. Đối với điều đó, bạn có ít tùy chọn, vì bất cứ điều gì bạn sử dụng phải được hỗ trợ rộng rãi bởi các trình duyệt hiện đại, trong khi bạn có thể làm bất cứ điều gì bạn muốn trên các máy chủ của riêng bạn.

Có ba cách tiếp cận chung mà bạn có thể thực hiện: sử dụng HTML5, sử dụng công nghệ plugin hiện có hoặc tạo plugin của riêng bạn.

Thứ ba có lẽ là khó khăn nhất và tôi không khuyên bạn nên sử dụng nó. Bạn cần phải duy trì ít nhất 5 phiên bản plugin khác nhau (một cho mỗi trình duyệt chính) và người dùng sẽ phải cài đặt nó.

Đối với tùy chọn thứ hai, có ba công nghệ plugin chính hiện nay mà ActiveX đã chết: Flash, Silverlight và Java applet. Tôi khuyên bạn nên tránh xa Silverlight, vì nó không chính xác di động.

Điều đó khiến bạn có Flash, applet và HTML5 là lựa chọn của bạn. Trong số này, Flash được sử dụng rộng rãi nhất, nhưng nó có những nhược điểm của nó và thế giới đang chuyển động khỏi nó. HTML5 là làn sóng của tương lai và mặc dù tiêu chuẩn sẽ không được hoàn thành cho đến năm 2014, nhưng dự kiến ​​sẽ không thay đổi (Cuộc gọi cuối cùng vào tháng 5 năm 2011) và các trình duyệt chính đã hỗ trợ phần lớn - mặc dù dường như chưa phải API WebRTC , mặc dù tôi chắc rằng nó sẽ sớm có trong Firefox và Chrome.

0

Bạn đang cố gắng xây dựng một cái gì đó tương tự như Chatroulette? Họ hỗ trợ phát trực tiếp video và micrô hai chiều. Họ sử dụng khả năng ngang hàng của Flash Player 10 và Wowza Media Server để cấp nguồn cho trang web của họ.

+1

Đó không phải là công nghệ mã nguồn mở phải không? –

0

Thật không may, câu trả lời thực tế về nơi chúng tôi đang ở hôm nay là Flash. May mắn thay, có haxe, một trình biên dịch nguồn mở cho định dạng Flash SWF. Bạn có thể sử dụng nó để thực hiện all kinds of stuff.

Máy chủ trong ví dụ được liên kết được viết bằng haxe (về cơ bản AS3) và được biên dịch theo hướng dẫn cho NekoVM (mô-đun apache) nhưng nó sẽ cung cấp một ví dụ khá tốt nếu không có gì khác.

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