2017-12-15 37 views
2

카메라의 오디오 + 비디오 바이트를 캡처 한 다음 적절한 Qt 클래스 (제안 환영)를 사용하여 최적화하고 TCP를 통해 서버로 보냅니다. 서버는 재생할 다른 클라이언트로 해당 바이트를 다시 보냅니다. 이것이 우리가 기본적인 VoIP (Voice over Internet Protocol)를 수립하려는 방법입니다.VoIP : Qt 멀티미디어에서 카메라의 라이브 오디오/비디오 스트리밍 바이트를 캡처하는 방법은 무엇입니까?

많은 Qt API를 확인했지만 동일한 Qt API를 사용할 준비가 된 유틸리티를 찾을 수 없습니다. 일부 Qt 포럼에서는 제 3 자 라이브러리를 사용해야한다고 제안합니다. 다른 SO Qns, 내 특정 문제를 해결하지 마십시오.

임시 파일에서 해당 바이트를 먼저 캡처 한 다음 거기에서 읽으려고하지 마십시오. 메모리가 부족한 바이트를 가져 오는 것과 비교하여 효율적이지 않으므로이 바이트를 캡처하지 마십시오.

질문 :

  • 어떤 API를 Qt를 사용할 수 있는가, 라이브 스트리밍 바이트의 촬영을 허용?
  • 그렇지 않다면 크로스 플랫폼을위한 C++의 대안은 무엇입니까?
+1

1 - 아니,이 - 논외,하지만 여전히 내 제한된 지식 – dtech

+0

@dtech를 gstreamer를 시도, 나는 Qt는 API를 일부 파일에 비디오 바이트를 캡처하거나 QUrl로 보낼 수 있다는 것을 배웠습니다. 바이트를 포착 할 수있는 간단한 API가 없다는 사실은 놀랍지 않습니까? 나는 GStreamer를 보았지만 Qt의 네이티브 유틸리티를 먼저 사용하려고 생각했습니다. Qt 내에 다른 대안이 있습니까? 즉, 복잡성을 거의 추가하지 않으면, 우리는 VoIP를 달성 할 수있다. – iammilind

+1

Qt는 이와 관련하여 매우 제한적이며, 비디오를 재생할 수 있으며 디스크에 웹캠 비디오를 기록 할 수 있습니다. 모든 플랫폼에서 작동하지는 않습니다. 그것은 모듈식이 아니며 사용자 정의 할 수 없습니다. 일련의 이미지 비디오를 만드는 것만 큼 간단하고 기본적인 것을 할 수 없습니다. – dtech

답변

0

Qt 설명서에 설립 됨. 당신 사건 같아요.

QCamera 클래스는 시스템 카메라 장치 용 인터페이스를 제공합니다. QCamera는 뷰 파인더 디스플레이 용 QCameraViewfinder와 함께 사용할 수 있습니다. 비디오 녹화 용 QMediaRecorder 및 이미지 용 QCameraImageCapture 복용. QCameraInfo를 사용하여 사용 가능한 카메라를 나열하고 어느 것이 사용할 을 선택할 수 있습니다.

+0

QCamera 및 QMediaRecorder에서 여러 API를 확인했지만 audio + video에 대한 바이트 스트림을 가져 오는 방법을 찾지 못했습니다. Qn의 주석에는 Qt의 API가 없습니다. Qn에서 언급 한 특정 API로 도울 수 있습니까? 유용한 정보로 답을 업데이트하면 좋을 것입니다. – iammilind

+1

빠른 아이디어가 하나 있습니다. 특별한 종류의 파일에 스트림을 작성하십시오. 유닉스에서 "파이프"가 될 수 있습니다. 창문에 나는 몰라. 특수 파일은 디스크에 스트림을 쓰지 않고 해당 스트림을 다른 응용 프로그램이나 스레드로 전송해야합니다. (파이프의 다른 끝). – stanislav888