2017-12-15 10 views
2

ここで意図しているのは、カメラからオーディオ+ビデオバイトをキャプチャし、適切なQtクラス(提案歓迎)で最適化し、TCP経由でサーバーに送信することです。サーバーはこれらのバイトを再生する別のクライアントに送り返します。これが基本的なVoIP(Voice/Video over Internet Protocol)を確立する方法です。VoIP:Qtマルチメディアでカメラからライブオーディオ/ビデオストリーミングバイトをキャプチャする方法は?

多くのQt APIをチェックしましたが、そのための準備済みのユーティリティを提供するものは見つかりませんでした。一部のQtフォーラムでは、サードパーティライブラリを使用することを推奨しています。他のSO Qnsは、私の特定の問題に対処していません。

これらのバイトをテンポラリファイルで最初にキャプチャしてそこから読み込みたくない場合は、メモリ内バイトを取得するのと比べて効率的ではないためです。

質問

  • は、ライブストリーミングバイトのキャプチャを許可するのQtで利用可能な任意のAPIは、ありますか?
  • もしそうでなければ、クロスプラットフォームのC++の代替案は何ですか?
+1

1 - いいえ、2 - のgstreamer – dtech

+0

@dtechを試してみてくださいofftopicが、それでもは、私の限られた知識で、私はQtのいくつかのAPIは、ファイル内のビデオバイトをキャプチャしたりQUrl経由で送信できることを学びました。それは驚くべきことではない、彼らはバイトをキャプチャするためのシンプルなAPIを持っていないのですか?私はGStreamerを見たことがありましたが、まずQtのネイティブユーティリティを使うことを考えました。 Qtには他の選択肢がありますか?すなわち、複雑さをほとんど加えることなく、VoIPを達成することができる。 – iammilind

+1

Qtはこの点で非常に制限されており、ビデオを再生でき、ウェブカメラのビデオをディスクに記録することができます。それはすべてのプラットフォームで動作します。それはモジュール式ではなく、カスタマイズできません。一連の画像のビデオを作るのと同じくらい単純で基本的なことをすることさえできません。 – dtech

答えて

0

Qtのドキュメントにあります。あなたのケースと思われます。

QCameraクラスは、システムカメラデバイス用のインターフェイスを提供します。 QCameraはビューファインダー表示のQCameraViewfinderで使用できます。 QMediaRecorder for video recordingとQCameraImageCaptureの画像 撮影。 QCameraInfoを使用して利用可能なカメラを一覧表示し、どちらを使用するかを として選択できます。

+0

QCameraとQMediaRecorderで複数のAPIをチェックしましたが、audio + videoのバイトストリームを取得する方法が見つかりませんでした。 Qnのコメントには、QtのAPIはありません。あなたは、Qnで述べた特定のAPIを手助けできますか?あなたがそのような有用な情報であなたの答えを更新するなら、それは良いでしょう。 – iammilind

+1

私はただ一つの素早い考えがあります。特別な種類のファイルにストリームを書き込む。 Unix上では "パイプ"になります。窓の上で私は知らない。その特別なファイルはディスクにストリームを書き込むのではなく、そのストリームを別のアプリケーションやスレッドに転送するべきです。 (パイプのもう一方の端)。 – stanislav888

関連する問題