0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QMLでGstreamerをMacで動かす

Last updated at Posted at 2024-07-31
  • brew で gst-plugins-good を インストールしても qml6glsink が含まれていないため動かせません。

でも、プラグインを自分でビルドすれば動かせます。

Gstreamer の ver 1.24.5 で試しています。

mac-qml6sink.png

qml6glsinkプラグインのソースコードはこちらにあります。
そして公式のサンプルコードはこちらにあります。

まとめたものがこちらにあります
https://github.com/hexaforce/mac-on-qml6glsink

まず、シェーダをコンパイルします。サンプルコードでも使います

cd qt6/

qsb --glsl=100,120 --batchable --output vertex.vert.qsb vertex.vert
qsb --glsl=100,120 --batchable --output RGBA.frag.qsb RGBA.frag
qsb --glsl=100,120 --batchable --output YUV_TRIPLANAR.frag.qsb YUV_TRIPLANAR.frag

qsb --glsl=100,120 --batchable --output ../qmlsink/vertex.vert.qsb vertex.vert
qsb --glsl=100,120 --batchable --output ../qmlsink/RGBA.frag.qsb RGBA.frag
qsb --glsl=100,120 --batchable --output ../qmlsink/YUV_TRIPLANAR.frag.qsb YUV_TRIPLANAR.frag

次にプラグインをビルドして確認します

qmake
make

# ビルドに成功したらgstreamerにコピー
cp libgstqml6.dylib /usr/local/Cellar/gstreamer/1.24.5/lib/

# プラグインのキャッシュをクリア
gst-inspect-1.0 --gst-disable-registry-update --gst-plugin-path=/usr/local/Cellar/gstreamer/1.24.5/lib/

export GST_PLUGIN_PATH=/usr/local/Cellar/gstreamer/1.24.5/lib/

# 確認
gst-inspect-1.0 qml6glsink
# QML debugging is enabled. Only use this in a safe environment.
# Factory Details:
#   Rank                     none (0)
#   Long-name                Qt6 Video Sink
#   Klass                    Sink/Video
#   Description              A video sink that renders to a QQuickItem for Qt6
#   Author                   Matthew Waters <matthew@centricular.com>

そして、サンプルコードで実行してみます。

cd ../qmlsink 
qmake
make
GST_DEBUG=3 ./build/x86_darwin_generic_mach_o_64bit-Debug/play.app/Contents/MacOS/play

QtCreatorで実行する時はパスを通す必要があります

GST_PLUGIN_PATH=/usr/local/Cellar/gstreamer/1.24.6/lib/

GST_PLUGIN_PATH.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?