QGStreamerVideoSource Class
QGStreamerVideoSource クラスは、カスタム GStreamer エレメントを基盤とするビデオソースを提供します。詳細...
| ヘッダー: | #include <QGStreamerVideoSource> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| 以下のように: | Qt 6.12 |
| QML における: | GStreamerVideoSource |
| 継承元: | QObject |
プロパティ
- active : bool
- gstBinDescription : const QString
パブリック関数
| QGStreamerVideoSource(GstElement *gstElement, QObject *parent = nullptr) | |
| QGStreamerVideoSource(const QString &gstBinDescription, QObject *parent = nullptr) | |
| QString | gstBinDescription() const |
| GstElement * | gstElement() const |
| bool | isActive() const |
パブリックスロット
シグナル
| void | activeChanged(bool active) |
詳細な説明
警告: ` GStreamerVideoSource `クラスは 、互換性の保証が限定的です。これらのクラスについては、ソースおよびバイナリの互換性が保証されていません。つまり、API が動作することが保証されるのは、アプリケーションの開発に使用された Qt バージョンでのみです。 ただし、互換性を損なう変更は最小限に抑えるよう努めており、マイナーリリースでのみ行われます。アプリケーションでこのクラスを使用するには、Qt::MultimediaPrivate にリンクし(CMake を使用している場合)、ヘッダー #include <spi/qgstreamervideosource.h> をインクルードしてください。
GStreamerのbin記述または既存のGstElement からQGStreamerVideoSourceを構築し、QMediaCaptureSession::setNativeVideoSource()を使用してQMediaCaptureSession に接続してください。
標準的なケースでは、カスタムビデオソースを処理するために GStreamer 固有の設定が必要な場合を除き、このクラスではなく `QCamera ` を使用することを推奨します。
デフォルトでは、このクラスは meta-qt6 ビルドで利用可能です。GStreamer をサポートするカスタムビルドでは、gstreamer_qt_api 機能を使用して有効にできます。
QtMultimedia このクラスを機能させるには、gstreamer メディアバックエンドを使用して実行する必要があります。
QMediaCaptureSession session;
QGStreamerVideoSource videoSource(QStringLiteral("videotestsrc name=testsrc"));
session.setNativeVideoSource(&videoSource);
videoSource.start();QMediaCaptureSession およびQCameraも参照してください 。
プロパティのドキュメント
active : bool
ビデオソースが現在アクティブであるかどうかを示します。
ビデオソースがQMediaCaptureSession に接続されている場合、このプロパティは、その基盤となるGstElement が、メディアキャプチャセッション内のGstPipeline にアタッチされているかどうかを示します。
アクセス関数:
| bool | isActive() const |
| void | setActive(bool active) |
通知信号:
| void | activeChanged(bool active) |
[read-only] gstBinDescription : const QString
ビデオソースに関連付けられたGStreamerのbin記述について説明します。
ビデオソースが機能していない場合、または既存のGstElement から構築された場合、このプロパティの文字列は空になります。
アクセス関数:
| QString | gstBinDescription() const |
メンバ関数のドキュメント
[explicit] QGStreamerVideoSource::QGStreamerVideoSource(GstElement *gstElement, QObject *parent = nullptr)
既存のgstElement とparent から、QGStreamerVideoSourceを構築します。
この要素は、キャプチャセッションで使用可能なビデオソースを提供する必要があります。GstElement 型はQGStreamerVideoSource ヘッダーで事前宣言されているため、GStreamer ライブラリの対応する型を使用する必要があります。
指定された要素が null の場合、構築されたビデオソースは機能しません。
注:このクラスは 、提供された要素に対して追加の検証を行わないため、指定された要素がGstPipeline のビデオ入力を表していない場合、QGStreamerVideoSource および関連するQMediaCaptureSession は正常に動作しない可能性があります。
注:QGStreamerVideoSource は 、渡されたGstElement の所有権を呼び出し元と共有します。
[explicit] QGStreamerVideoSource::QGStreamerVideoSource(const QString &gstBinDescription, QObject *parent = nullptr)
GStreamerのビン記述gstBinDescription とparent から、QGStreamerVideoSourceを構築します。
GStreamer バックエンドは、この記述を解釈し、キャプチャ セッションのビデオソースとして機能できる bin を作成します。作成された bin にアクセスするには、gstElement() メソッドを使用します。
記述文字列の構文については、GStreamerのドキュメントを参照してください。
指定された記述を解析できず、GstBin の作成ができない場合、構築された QGStreamerVideoSource は機能せず、gstElement() はnullptr を返し、gstBinDescription() は空の文字列を返します。
注:QGStreamerVideoSource は 、提供された bin 記述に対して追加の検証を行わないため、作成されたGstBin がGstPipeline に対するビデオ入力を表していない場合、QGStreamerVideoSource および関連するQMediaCaptureSession は正常に動作しない可能性があります。
基盤となる GStreamer 要素をより適切に制御するには、既存のGstElement から QGStreamerVideoSource を構築することもできます。
gstElement() およびgstBinDescription()も参照してください 。
GstElement *QGStreamerVideoSource::gstElement() const
ビデオソースで使用されている基となるGstElement を返します。ビデオソースが機能していない場合は、nullptr を返します。
ビデオソースがGStreamerのbin記述から構築されている場合、返されるGstElement はGstBin のサブクラスに変換可能です。
注:この メソッドは 、GstElement の所有権を譲渡しません。
[slot] void QGStreamerVideoSource::start()
ビデオソースを開始します。
active プロパティをtrue に設定するのと同じです。
[slot] void QGStreamerVideoSource::stop()
ビデオソースを停止します。
active プロパティをfalse に設定するのと同じです。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.