2009-10-08 21 views
9

Khi các chương trình như Skype truyền video từ người dùng này sang người khác và ngược lại, điều đó thường được thực hiện như thế nào?về phát trực tuyến, chương trình như skype hoạt động như thế nào?

Ứng dụng khách có phát trực tuyến tới máy chủ và máy chủ gửi đến máy khách B không?

hoặc chuyển trực tiếp từ ứng dụng khách A sang B?

Vui lòng sửa lỗi nếu tôi đang tắt và không ai trong số đó là chính xác.

Trả lời

6

Skype phức tạp hơn nhiều, vì nó ngang hàng, có nghĩa là luồng của bạn có thể di chuyển qua một số ứng dụng skype khác, hoạt động như một số máy chủ. Skype không có một hệ thống trung tâm lớn cho việc này. Skype luôn theo dõi nhiều vị trí mà nó có thể phân phối luồng của bạn, để nếu một trong những địa điểm này biến mất (ứng dụng khách Skype biến mất), thì nó sẽ tiếp tục gửi qua máy chủ/ứng dụng khách khác. Điều này được thực hiện rất hiệu quả, mà bạn không nhận thấy sự gián đoạn.

+0

cảm ơn vì điều này. Vậy Skype có đồng thời làm việc với máy chủ/máy khách không? hấp dẫn. Nếu tôi đã thực hiện một chương trình video streaming như skype, bằng cách sử dụng một máy chủ trung tâm (do đó, suối sẽ đi từ clientA -> server -> clientB), đó sẽ là chậm? Đây là một chút sâu sắc hơn so với câu hỏi ban đầu, vì vậy hãy bỏ qua nếu bạn không biết câu trả lời. – sqram

+2

Thường thì tốt hơn nên có một máy chủ trung tâm thay vì sử dụng phương thức Skype. Lý do chính tại sao Skype sử dụng các phương thức Peer to Peer, là công ty không cần phải thiết lập máy chủ và do đó có ít chi phí hơn. Tôi sẽ thiết lập máy chủ trung tâm, giống như bạn đề xuất. Nó giúp việc thiết lập kết nối trở nên dễ dàng hơn nhiều. –

5

Về cơ bản, đây là cách đạt được.

1) mã hóa video/âm thanh bằng cách sử dụng nén tốt nhất mà bạn có thể nhận được. Nén mất dữ liệu và nhiều bí danh để vứt bỏ các phần video và âm thanh không thể sử dụng được. Giống như xóa nền hiss

2) đóng gói video/âm thanh thành các gói và đặt dấu thời gian lên chúng. Các gói tin thường là datagrams.

3) gửi gói trực tiếp đến đích. Sử dụng tuyến đường phù hợp nhất. Bạn không phải gửi tất cả các gói theo cùng một cách. Sử dụng nhiều tuyến đường nếu có thể. Mạng P2P thường sử dụng nhiều tuyến đường đến cùng một địa điểm

4) mã hóa lại trên đích. Nếu một gói quá cũ, hãy vứt nó đi. Nếu các gói bị mất, đừng bận tâm về nó vì quá muộn.

5) tham gia quay lại video và điền vào các khung bị thiếu tốt nhất có thể.

+0

cảm ơn. nghe có vẻ phức tạp nhưng tôi sẽ bỏ qua nó. – sqram

+0

Giải thích rõ ràng và rõ ràng. Tôi hơi muộn để chơi BTW. Nhưng bây giờ tôi có một nhiệm vụ streaming video từ khách hàng android đến một trang web. Làm thế nào tôi có thể đạt được nó? Đây có phải là công nghệ tương tự hiện nay không? Bạn có thể hướng dẫn tôi bằng bất kỳ cách nào không? Tôi không biết ngay cả khi nó phiền nhưng phạm vi của tôi bị hạn chế đối với java và .net. – Krishna

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