2010-12-13 5 views
2

교실 환경에서 사용할 대화 형 언어 학습 응용 프로그램을 구축 중입니다. 아이디어는 교사가 학생과 이야기 할 수 있어야하고 (= 모든 학생들에게 보내는 오디오 스트림), 학생들이 두 명 이상의 그룹으로 서로 이야기 할 수있게하고 (예 : 오디오 P2P), 학생들이 DVD 플레이어 또는 미디어 서버에서 오는 것입니다. 오디오/비디오 스트림을 저장할 수 있어야합니다. 교사는 학생들의 바탕 화면을 모니터링, 인계 받거나 차단할 수 있어야합니다. 플랫폼은 Windows이고 데스크톱 응용 프로그램이며 웹 응용 프로그램은 아닙니다. 오디오 지연은 가능한 한 최소화해야합니다. 선택에 따라 집에 앉아있는 학생은 지원을 받아야하지만 우선 순위는 중요하지 않습니다.Windows 플랫폼의 오디오/비디오 스트리밍

이제 응용 프로그램 (로그인, 모니터, 차단, ...)의 강의실 컨트롤 부분을 마치고 오디오 및 비디오 부분을 시작하려고합니다. 저는 DirectX, GStreamer 및 SIP와 같은 여러 옵션을 평가 해 왔지만 지금은 결정을 내려야합니다.

DirectX는 Windows 플랫폼에서 확실한 선택이지만, 오디오 및 비디오 캡처 및 재생 만 허용합니다. 인코딩/디코딩/네트워크 부분은 스스로해야합니다.

GStreamer에는 오디오 및 비디오 스트림을 캡처/인코딩/스트림/저장하는 모든 종류의 옵션이 있습니다. 나는 약간의 실험을했지만 (ossbuild), 많은 시행 착오를 거쳐 뭔가를 만들어내는 것 같습니다 : - 마이크 캡처 (directsoundsrc를 통해)가 일부 컴퓨터에서 크래킹 소리를냅니다. - rtpL16 페이로드가 작동하지 않았습니다. 잘 - 네트워크를 통해 스트리밍 원시 오디오는 8000의 샘플링 속도에서만 작동합니다. - 다른 컴퓨터보다 나쁜 일부 컴퓨터에서는 mp4 비디오 (나쁜 I 프레임)를 수신 할 때 많은 오류가 있습니다. 내 인상입니다 그 gstreamer는 리눅스 플랫폼에서 주요 대상입니다. Windows 플랫폼에 대한 개발 및 지원은 약간 뒤떨어져 있습니다. 그럼에도 불구하고 수개월에서 수년간의 작업을 절약 할 수있는 강력한 프레임 워크입니다.

SIP는 내가 원하는 모든 것을 할 수있는 것 같지만 전화 및 IM을 대상으로합니다. SIP가 얼마나 유연한 지 모르겠습니다. 모든 스트림을 제어하고 설정할 수있는 중앙 (선생님) 응용 프로그램이 이미 있으므로 SIP 레이어가 오버 헤드가 될 것입니다. opalvoip 및 freeswitch와 같은 프레임 워크의 흥미로운 부분은 실제 오디오/비디오 캡처, 인코딩 및 전송입니다. 누구나 이러한 흥미로운 부분이 gstreamer와 같은 프레임 워크와 어떤 관련이 있는지 알고 있습니까? 사용자 지정 응용 프로그램에 쉽게 통합 할 수 있습니까? 유연성이 충분합니까?

누구나이 기술의 경험이 있습니까? 아마도 내가 볼 수있는 다른 옵션이있을 수 있습니까? 귀하의 조언

답변

0

에 대한

많은 감사 당신은 당신을 위해 잘 작동 할 수 꽤 몇 가지 옵션이 있습니다. 먼저 Media Foundation http://msdn.microsoft.com/en-us/library/ms697062%28v=VS.85%29.aspx을 사용하면 최상위 수준의 소개와 연결될 수 있습니다. 소스 디코더와 트랜스 코더를 관리하는 API를 얻을 수 있습니다. 필요에 따라 추상화 된 인터페이스와 낮은 수준의 인터페이스를 제공합니다. 다른 옵션은 WPF mediaelement를 사용하는 것입니다.이 링크는 사용 방법에 대한 포인터를 http://www.silverlightshow.net/items/Two-Great-WPF-Video-Samples-Online.aspx에 제공합니다. 또한 하반기 2011