programing

C #으로 웹캠 비디오를 스트리밍하려면 어떻게해야합니까?

randomtip 2021. 1. 16. 09:31
반응형

C #으로 웹캠 비디오를 스트리밍하려면 어떻게해야합니까?


사람들이 스트리밍 비디오를보기 위해 브라우저 기반 클라이언트 (나중에 만들 예정)를 사용하여 연결할 수있는 간단한 서버 애플리케이션을 만들고 싶습니다. 그리고 C #을 사용하고 싶습니다.

웹캠을 통해 비디오 또는 빠른 이미지를 캡처하여 네트워크를 통해 전송하려면 무엇이 필요합니까?


"박스 속 캡처 / 스 트리머"구성 요소를 원한다면 다른 사람들이 언급 한대로 몇 가지가 있습니다.

모든 것에 대한 낮은 수준의 제어를 원하면 thealliedhacker가 지적한대로 DirectShow를 사용해야합니다. C #에서 DirectShow를 사용하는 가장 좋은 방법은 DirectShow.Net 라이브러리 를 사용하는 것입니다. 모든 DirectShow COM API를 래핑하고 유용한 단축키 기능을 많이 포함하고 있습니다.

캡처 및 스트리밍 외에도 녹음, 오디오 및 비디오 형식 변환, 오디오 및 비디오 라이브 필터 등 많은 작업을 수행 할 수 있습니다.

Microsoft는 DirectShow가 사라진다고 주장하지만 DirectShow가 제공하는 모든 것을 수행하는 새로운 라이브러리 또는 API를 아직 출시하지 않았습니다. 나는 그들이 발표 한 많은 최신 것들이 여전히 DirectShow라고 생각한다. Microsoft에서의 지위 때문에 MSDN과 포럼에서 찾을 수있는 것 외에는 많은 책이나 참고 문헌이 없습니다. 작년에 우리가 그것을 사용하여 프로젝트를 시작했을 때 주제에 관한 최고의 책인 Programming Microsoft DirectShow 는 절판되었고 중고 사본으로 약 $ 350에 판매되었습니다!


이를위한 일반적인 API는 DirectShow입니다.

P / Invoke를 사용하여 C ++ API를 가져올 수 있지만 이미이 작업을 수행 한 프로젝트가 몇 개 있다고 생각합니다.

http://channel9.msdn.com/forums/TechOff/93476-Programatically-Using-A-Webcam-In-C/

http://www.codeproject.com/KB/directx/DirXVidStrm.aspx

스트리밍 부분을 얻으려면 DirectShow를 사용하여 압축 코덱을 적용하여 지연을 줄인 다음 Stream을 가져 와서 전송할 수 있습니다. 멀티 캐스트를 사용하여 네트워크 부하를 줄일 수 있습니다.


VideoLAN을 사용할 수 있습니다 . VideoLAN은 ​​서버로 작동합니다 (또는 더 많은 제어를 위해 자체 C # 애플리케이션을 둘러 쌀 수 있습니다). 또한 사용하여 C # 클라이언트에 임베드 할 수있는 뷰어 용 .NET 래퍼도 있습니다.


저는 우리 프로젝트에 VideoCapX사용 했습니다. 미디어 플레이어에서 열 수있는 MMS / ASF 스트림으로 스트리밍됩니다. 그런 다음 웹 페이지에 미디어 플레이어를 포함 할 수 있습니다.

많은 제어가 필요하지 않거나 코드를 작성하지 않고 VideoCapX를 사용해보고 싶다면 U-Broadcast를 사용해보십시오 . 그들은 뒤에서 VideoCapX를 사용합니다.


웹 브라우저 내에서 비디오를 녹화하고 싶다면 유일한 옵션은 플래시라고 생각합니다. 우리는 같은 일을하려고합니다. 우리는 또한 주로 .NET 하우스이며 .NET을 사용하여 _from_within_the_browser_ 웹캠을 캡처하는 방법을 찾지 못했습니다. 여기에 언급 된 다른 모든 솔루션은 데스크톱 앱에 만족한다면 아마 훌륭하게 작동 할 것입니다.


웹캠에서 브라우저로 이미지를 스트리밍하는 또 다른 옵션은 mjpeg를 사용하는 것입니다. 이것은 대부분의 최신 브라우저가 태그의 일부로 지원하는 일련의 jpeg 이미지입니다. 다음은 C #으로 작성된 샘플 서버입니다.

https://www.codeproject.com/articles/371955/motion-jpeg-streaming-server

이것은 LAN에서는 잘 작동하지만 mjpeg는 다른 비디오 코덱 (h264, VP8 등)만큼 효과적이지 않기 때문에 인터넷에서는 잘 작동하지 않습니다.

참조 URL : https://stackoverflow.com/questions/342774/how-can-i-stream-webcam-video-with-c

반응형