2013-02-20 25 views
5

Tôi đã xem xét một vài nơi ở cả SO và các nơi khác nhưng không có gì có vẻ trực tiếp trả lời câu hỏi của tôi (ít nhất là không sử dụng các thuật ngữ tôi quen thuộc).Cách đơn giản nhất để nạp tập tin video hiện có vào cuộc gọi Skype từ C#?

Lưu ý: Chúng tôi nhận thức được những thách thức của nhận được một đoạn video tự động trả lời để làm việc suôn sẻ và tìm kiếm tốt, nhưng câu hỏi này không phải là về điều đó. Ngay bây giờ tôi đang tập trung vào vấn đề kỹ thuật ngay lập tức cho ăn một tập tin video cho Skype.

nền
Tôi đã được yêu cầu tạo một Skype "tự động trả lời" để sử dụng trong một môi trường demo mà hỗ trợ cuộc gọi âm thanh và video, cũng như IM chat.

Vấn đề
Nó là tương đối dễ dàng để tạo ra một IM chat "bot" cho điều này, và nó xuất hiện có một API Skype hiện có để chơi một tập tin âm thanh trên một cuộc gọi, nhưng không có API để chơi một tập tin video.

làm bài tập
Trong API Skype, còn có một phiên bản được gọi là SkypeKit được cho là cung cấp một số tính năng khác với API Desktop tiêu chuẩn của họ. Tôi đã gửi yêu cầu truy cập SkypeKit nhưng chưa nhận được phản hồi về điều đó.

Ngoài hỗ trợ trong API Skype, ý tưởng tiếp theo của chúng tôi là phải có các thành phần webcam ảo để tải xuống/mua cho phép chúng tôi phát video để Skype tin rằng video đó đến từ webcam. Một trong những câu hỏi ngày càng tiến tới mà tôi tìm thấy trên stackoverflow là ở đây:

How to transmit with a virtual webcam driver in .NET

Tuy nhiên, tác giả của bài viết đó được giới hạn theo yêu cầu của mình để giải phóng/giải pháp mã nguồn mở, trong khi tôi có tùy chọn sử dụng một thành phần thương mại (trong phạm vi lý do). Ngoài ra, phản hồi duy nhất cho nó ngụ ý xây dựng webcam ảo của riêng bạn bằng DirectShow.

Có rất nhiều cuộc thảo luận, cả trên SO và các trang web khác, về xây dựng webcam ảo của riêng bạn bằng DirectShow, nhưng điều đó có vẻ tốn kém hơn nhiều so với việc mua một thứ gì đó cho một số ít USD. Tôi không có kinh nghiệm với DirectShow hoặc bất cứ điều gì liên quan và nó sẽ mất thời gian chỉ để hiểu các khái niệm và thuật ngữ. Có thể tôi có thể dành thời gian và tìm hiểu tất cả điều này, nhưng một giải pháp đơn giản hơn, nếu có, được ưu tiên.

Theo như các thành phần hiện có, chỉ có thể tìm thấy Virtual Camera SDK, nhưng dường như tập trung vào quay video (từ màn hình hoặc webcam thực), thay vì đặt làm webcam cho các ứng dụng khác. Trang web của họ cũng khá mơ hồ về thông tin, điều này khiến tôi hơi thận trọng.

Có rất nhiều sản phẩm và cuộc thảo luận khác mà tôi đã tìm thấy, nhưng sẽ rất tẻ nhạt và không phù hợp để liệt kê tất cả chúng ở đây.

Các Câu hỏi (s)
câu hỏi thực tế của tôi có hai phần:

  1. cách tốt nhất để truyền một tập tin video vào một cuộc gọi Skype là gì?
  2. Nếu câu trả lời là thông qua một webcam ảo, cách đơn giản nhất để thực hiện điều này (tức là các thành phần off-the-shelf tốt, mẫu mã, vv)

Là một sang một bên, một ai đó ở đây là gì thậm chí còn đề xuất chỉ phát video trên màn hình và thiết lập webcam thực để truyền hình ảnh vào Skype. Như bạn có thể tưởng tượng, một giải pháp hoàn toàn có lập trình sẽ tốt hơn.

Cảm ơn bạn trước vì đã hỗ trợ.

+0

Tôi sẽ không coi đây là câu trả lời vì tôi không có đủ chi tiết để thực sự giúp bạn nhưng suy nghĩ đầu tiên của tôi là bạn có thể xem kết quả từ thiết bị webcam thực dưới Linux và xem xét việc tạo thiết bị của riêng bạn thiết bị mà các ứng dụng (như Skype) có thể kết nối và nhận video từ đó. –

+0

Giải pháp tốt nhất của bạn nếu skype không cung cấp cho bạn những gì bạn muốn là tạo một trình điều khiển máy ảnh giả, điều đó có nghĩa là phát triển nó như một thiết bị sử dụng Windows DDK. Một khi bạn vào lãnh thổ đó thì có rất ít mã mẫu xung quanh vì rất ít người cần làm điều đó. –

+0

Ngoài ra, tiếng anh nghèo nàn trên trang web "sdk camera ảo" sẽ không cho tôi tự tin rằng sản phẩm của họ phù hợp để sử dụng trong sản xuất. –

Trả lời

1

Với công nghệ hiện tại, tôi sẽ nói rằng tùy chọn tốt nhất thực sự là sử dụng triển khai webcam ảo.

Có một số giải pháp khả dụng (tìm kiếm nhanh trên Google - www.google.com/search?q=virtual+webcam - trả lại một vài tùy chọn). Giải pháp POC đầy đủ sẽ bao gồm:

  • Khởi tạo webcam ảo và để sẵn sàng phát lại video;
  • Đảm bảo Skype đang sử dụng webcam ảo làm nguồn video;
  • sử dụng Skype API để phát hiện cuộc gọi điện video đến Skype;
  • sử dụng Skype API để nhận cuộc gọi và bắt đầu phát lại video bằng thiết bị ảo làm mục tiêu.
  • Dọn dẹp: gác máy khi video kết thúc hoặc ngừng phát nếu người gọi từ xa bị treo.
Các vấn đề liên quan