技術な話し

GStreamerのdecodebinが何やってるか探る

Gstreamerの中でも勝手に適切な処理を行ってくれる便利なdecodebinですが、
中身何やってるのか知りたくなる時があります。
そんな時にどうやって中身を知るのかをまとめました。

※対象はOSXです。

f:id:maru_33:20180304185821p:plain

まずツールのインストールします

$ brew install graphviz

開けるファイルを用意します

何かしら開けるファイルを自分のpcに送る、もしくは、作成します。
僕はraspiから以下のコマンドで送ってきてます。(raspiとpcは同一Lan上にあります。)

$ gst-launch-1.0 v4l2src ! videoconvert ! omxh264enc ! rtph264pay pt=96 config-interval=1 ! udpsink host=192.168.100.102 port=1234

置いておきたいディレクトリを作っておきます

$ mkdir ~/gst

そして、PCで受け取る時に一工夫

$ GST_DEBUG_DUMP_DOT_DIR=~/gst gst-launch-1.0 udpsrc port=1234 ! application/x-rtp ! rtph264depay ! decodebin ! autovideosink

これで、先ほど作成した~/gstに色々できてるはずです。

画像にする!

その中の、0.XX.XX.XXXXXXXXX-gst-launch.PAUSED_PLAYING.dotに対して

$ dot -T png -o gst_details.png 0.XX.XX.XXXXXXXXX-gst-launch.PAUSED_PLAYING.dot

こんな感じにすれば、同じフォルダ内に画像ができてるはずです!
やったね!

ABOUT ME
maru
maru
オーマイガー東京(編集長)/キグルミだ熱狂(gt, 作詞作曲)/新卒2年目エンジニアです。赤坂と浅草におります。最近作った→ https://lgtmeow3.tokyo