Gstreamer Basics

S
Seiji HirakiEmbedded Software Engineer um Genetec, JP Tokyo
Gstreamer 1.0 入門
開発のための基礎知識
Seiji Hiraki / 平城 聖士
Embedded Software Engeener
Dec, 2018
1
Gstreamer Overview
• マルチメディアアプリケーション用のAPI
• クロスプラットフォーム対応
• プラグインアーキテクチャ
• 小さなコアに必要なプラグインを追加する
• パイプラインアーキテクチャ
• 1000以上の要素を提供するプラグイン
• 再生、変換、録画など基本的なことに加え、RTPなどのネットワーク
通信なども出来ます
• コマンドラインツール
• LGPLライセンス
2
About this document
• 説明しない
• APIの使い方
• アプリケーションの構築
• →アプリケーション開発するために基礎知識が必要
• 説明する
• 基礎知識
• パイプライン入門
3
1.Foundations
4
Elements (Gstreamer plug-ins)
• Sources
• データ生成元 (ファイル、UDP 等)
• Formats
• parsers, muxers, demuxer…
• Codecs
• coders, decoders
• Filter
• converters, mixers, effects, …
• Sink
• データ受信 (FrameBuffer、ファイル、Xwindow 等)
プラグインは以下のように分類されます
SourceとSinkは必ず必要になるでしょう
5
Gstreamer Packages
• gstreamer: コアパッケージ
• gst-plugins-base: 典型的な不可欠のエレメント群
• gst-plugins-good: LGPL に基づく各種の高品質プラグイン
• gst-plugins-ugly: 配布面で問題が生じる可能性のある各種の
高品質プラグイン
• gst-plugins-bad: さらに高いクオリティを必要とするプラグイ
ン
6
Pads
• エレメントのデータ入出力をパッドと言います
• 出力をソースパッド、入力をシンクパッドと言います
• パッド同士は接続(リンク)、問い合わせ(クエリの発行)、
バッファの受け渡しなどを行います
filesrc decodebin glimagesink
src
sink
src
sink
7
Link Capabilities
• Capabilities(Caps)はpadが持つメタデータです
• 入出力のフォーマットは様々なため、どのpad同士でもリンク
できるわけではありません
• 上記のような互換性を保つためのデータを持ちます
• 前述したdecodebinのような自動検索エレメントでも利用され
ます
• gst-inspect [element名] で pad, sinkのcapsが確認できます
8
Bin and Pipeline
• BinはElementのコンテナ
• Elementのように操作可能
• Bin内のすべてのElementの状態を変更するにはBinの状態を変
更するだけでよい
• アプリケーションの複雑さを軽減できる
• パイプラインは最上位のBinで、アプリケーションへのバスを
提供する
• PAUSEDまたはPLAYING状態に設定すると、データフローが開
始され、メディア処理がお紺われる。
• いったん開始されると、パイプラインは停止するかデータスト
リームの終わりに達するまで別スレッドで実行される
9
Communication
• バッファ
• エレメント間でストリーミングデータを渡すためのオブジェクト
• 常にソースからシンクへ移動する(ダウンストリーム)
• イベント
• エレメント間へ送信されるオブジェクト。
• アップストリーム/ダウンストリーム可能
• メッセージ
• エラー、状態変化、バッファリング状態などの情報をエレメントからアプリ
にスレッドセーフな方法で転送する
• アプリによって非同期的に処理する
• クエリ
• アプリケーションは継続時間や現在の再生位置などの情報をパイプラインか
ら要求できます
• クエリは常に同期的に回答されます
10
11
2.Getting Started
Build
• gstreamerとplugin-baseは必須です
• 追加するpluginはより上位か同じバージョンにする必要があります
12
mkdir gstreamer & cd gstreamer
git clone git://anongit.freedesktop.org/gstreamer/gstreamer
cd gstreamer/
git checkout -b work <version>
./autogen.sh
make -j
sudo make install & sudo ldconfig
git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-base
cd gst-plugins-base/
git checkout -b work <version>
./autogen.sh
make -j
sudo make install & sudo ldconfig
Command line tools
• Gstreamerにはコマンドツールが付属しています
• gst-launch-1.0は基本的なGStreamerパイプラインを構築し実
行するツールです。
• Install後にコマンドを確認してgst-launchがあることを確認し
ましょう
ubuntu@ubuntu-VirtualBox:~$ compgen -ac | grep gst
gst-device-monitor-1.0
gstreamer-codec-install
gst-play-1.0
gst-discoverer-1.0
gst-typefind-1.0
gst-launch-1.0
gst-inspect-1.0
gst-install
13
gst-launch
• シェルのパイプのようにElement同士を接続します
• gst-launchでは区切りになる文字は感嘆符( ! )となります
• まずは1番シンプルなパターンを試してみましょう
videotestsrc glimagesink
14
gst-launch-1.0 videotestsrc ! glimagesink
実行コマンド
パイプラインのイメージ
実行結果
Video Playing
• 下記のパイプを使ってmp4を再生します
gst-launch-1.0 filesrc location="D0002031238_00000_V_000.mp4" ! decodebin ! glimagesink
decodebinは利用可能なデコーダを使用して、デコードパ
イプラインを自動的に構築するFilterエレメントです
デコーダが無い場合はあらかじめインストールする必要が
あります
filesrc decodebin glimagesink
Video copyright: NHK Creative Library
15
gst-inspect
• もしプラグインが見つからなかった場合、
• gst-inspectはエレメントの情報を表示するコマンドです
• オプション無しで実行するとエレメント一覧が表示されます
ubuntu@ubuntu-VirtualBox:~$ gst-inspect-1.0 | grep h264
libav: avdec_h264: libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder
rtp: rtph264pay: RTP H264 payloader
rtp: rtph264depay: RTP H264 depayloader
uvch264: uvch264mjpgdemux: UVC H264 MJPG Demuxer
uvch264: uvch264src: UVC H264 Source
videoparsersbad: h264parse: H.264 parser
typefindfunctions: video/x-h264: h264, x264, 264
16
debug option
• 環境変数 GST_DEBUG
• 例えば, GST_DEBUG=2,audiotestsrc:6とすると audiotestsrc エレ
メントはDebug Level 6、それ以外は 2となる.
• コマンドライン引数
• gst-launch-1.0 --gst-debug-help
17
dot
• パイプラインのイメージを絵で確認したい場合
• 環境変数 GST_DEBUG_DUMP_DOT_DIR
• dot ファイルの出力先を指定可能
18
19
3.Details
Stream
• パイプラインを流れるデータを構成するのは、バッファとイベ
ントの組み合わせです
• バッファ→実際のメディアデータ
• イベント→シーク情報やストリームの最後の通知といったコン
トロール情報が含まれています
20
Buffer
• エレメントが作業する領域
• 基本はプログラマがバッファについて操作する必要はない
• メイン構成
• メモリ領域へのポインタ
• メモリのサイズ
• タイムスタンプ
• バッファを使っているエレメントがいくつあるかを示す参照カウント。
バッファを破棄するために使う
• 各種フラグ
21
Event
• 下流方向のイベント
• 関係するエレメントにストリームの状態を通知
• シークやフラッシュ、ストリームの最後の通知など
• 上流方向のイベント
• アプリケーションとエレメント、エレメント同士のやり取りの両方に
おいて、シークなどストリームの状態の変更を要求するのに使う
• アプリケーションにとっては上流方向のみが重要
22
Thread
• 説明した通りGstreamerはマルチスレッド
• パイプラインはスレッドで動作する
• スレッドの操作はアプリケーションに対して隠蔽されているが
• アプリケーションがマルチスレッドの使用を強制することがで
きるようになっている
• スレッド化は以下のような場合に有益
• ネットワークストリームを処理するような場面でのデータバッファリ
ング
• データが失われることがない
• 動画と音声の両方をストリーム再生する場合
• それぞれを独立のスレッドとして実行し適切に同期する
23
Queue element
• いわゆるバッファリングのキューです
• スレッドの使用を強制することができる
• バッファとしても機能する
• Gobjectプロパティ
• 例えば・・・上限、下限のしきい値
• パイプラインの一部として組み込む
24
Scheduling
• 基本は上流から下流へデータpushする
• Queueエレメントによって分割されたエレメントの集合をグ
ループとする
25
Next step
• アプリケーションの構築
• 最初に説明したとおり、Gstreamerはマルチメディアアプリケーショ
ン開発用のAPIです
• Reference
• https://gstreamer.freedesktop.org/
26
27
Questions ?
Thanks
• Next Step
• アプリケーションの構築
• Reference
• https://gstreamer.freedesktop.org/
28
1 von 28

Recomendados

About GStreamer 1.0 application development for beginners von
About GStreamer 1.0 application development for beginnersAbout GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginnersShota TAMURA
9.8K views63 Folien
いまさら聞けない!CUDA高速化入門 von
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
5.3K views90 Folien
マルチコアを用いた画像処理 von
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
51.6K views142 Folien
カスタムメモリマネージャと高速なメモリアロケータについて von
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてalwei
28.9K views33 Folien
1076: CUDAデバッグ・プロファイリング入門 von
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
21K views51 Folien
こわくない Git von
こわくない Gitこわくない Git
こわくない GitKota Saito
881.3K views186 Folien

Más contenido relacionado

Was ist angesagt?

DockerコンテナでGitを使う von
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
18.8K views8 Folien
CUDAプログラミング入門 von
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門NVIDIA Japan
29.1K views65 Folien
PHPからgoへの移行で分かったこと von
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことgree_tech
6.4K views39 Folien
.NET Core 3.0時代のメモリ管理 von
.NET Core 3.0時代のメモリ管理.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理KageShiron
2K views40 Folien
PyOpenCLによるGPGPU入門 von
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
14.9K views41 Folien
TensorFlow XLAは、 中で何をやっているのか? von
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?Mr. Vengineer
7.1K views101 Folien

Was ist angesagt?(20)

DockerコンテナでGitを使う von Kazuhiro Suga
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga18.8K views
CUDAプログラミング入門 von NVIDIA Japan
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
NVIDIA Japan29.1K views
PHPからgoへの移行で分かったこと von gree_tech
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech6.4K views
.NET Core 3.0時代のメモリ管理 von KageShiron
.NET Core 3.0時代のメモリ管理.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理
KageShiron2K views
PyOpenCLによるGPGPU入門 von Yosuke Onoue
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
Yosuke Onoue14.9K views
TensorFlow XLAは、 中で何をやっているのか? von Mr. Vengineer
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer7.1K views
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編 von Fixstars Corporation
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法 von MITSUNARI Shigeo
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo3.9K views
C/C++プログラマのための開発ツール von MITSUNARI Shigeo
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
MITSUNARI Shigeo13.8K views
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編 von Fixstars Corporation
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
いまさら聞けないarmを使ったNEONの基礎と活用事例 von Fixstars Corporation
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Dockerからcontainerdへの移行 von Akihiro Suda
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda7.5K views
組み込みでこそC++を使う10の理由 von kikairoya
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya27K views
例外設計における大罪 von Takuto Wada
例外設計における大罪例外設計における大罪
例外設計における大罪
Takuto Wada68.5K views
第 1 回 Jetson ユーザー勉強会 von NVIDIA Japan
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
NVIDIA Japan15.7K views
1072: アプリケーション開発を加速するCUDAライブラリ von NVIDIA Japan
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
NVIDIA Japan7.6K views
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト von KLab Inc. / Tech
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech2.3K views
20分くらいでわかった気分になれるC++20コルーチン von yohhoy
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy13K views

Similar a Gstreamer Basics

ネットワークコマンド入力に対応したツール事例 von
ネットワークコマンド入力に対応したツール事例ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例fumoto kazuhiro
1.4K views20 Folien
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか? von
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Takashi Sogabe
5K views43 Folien
Fluentd1.2 & Fluent Bit von
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitSeiya Mizuno
3.2K views38 Folien
Golang tokyo #7 qtpm von
Golang tokyo #7 qtpmGolang tokyo #7 qtpm
Golang tokyo #7 qtpmYoshiki Shibukawa
3.4K views15 Folien
20191120 beyondstudy#21 kitaoka von
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaokabeyond Co., Ltd.
673 views66 Folien
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか? von
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
1.5K views43 Folien

Similar a Gstreamer Basics(20)

ネットワークコマンド入力に対応したツール事例 von fumoto kazuhiro
ネットワークコマンド入力に対応したツール事例ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
fumoto kazuhiro1.4K views
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか? von Takashi Sogabe
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Takashi Sogabe5K views
Fluentd1.2 & Fluent Bit von Seiya Mizuno
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent Bit
Seiya Mizuno3.2K views
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか? von Developers Summit
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Developers Summit1.5K views
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例 von gree_tech
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
gree_tech39.6K views
Prometheus超基礎公開用.pdf von 勇 黒沢
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
勇 黒沢24 views
EnrootとPyxisで快適コンテナ生活 von Kuninobu SaSaki
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki883 views
NGINX製品の最新機能アップデート情報 von NGINX, Inc.
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
NGINX, Inc.262 views
IBM Rational Team Concertに触れてみた von You&I
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
You&I1.9K views
45分で理解する 最近のスパコン事情 斉藤之雄 von Yukio Saito
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito2.7K views
HSM用ミドルウェア Conduit Toolkitの概要と使い方 von Hiroshi Nakamura
HSM用ミドルウェア Conduit Toolkitの概要と使い方HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方
Hiroshi Nakamura2.4K views
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例 von Hironobu Isoda
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda8.9K views
PyQtではじめるGUIプログラミング von Ransui Iso
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso309.7K views
関東GPGPU勉強会 LLVM meets GPU von Takuro Iizuka
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
Takuro Iizuka4.8K views
Craft CMSに最適なサーバはどんな環境? von Kei Mikage
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?
Kei Mikage1.1K views

Último

さくらのひやおろし2023 von
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
94 views58 Folien
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
18 views38 Folien
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 von
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
41 views26 Folien
JJUG CCC.pptx von
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 Folien
SSH応用編_20231129.pdf von
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
287 views13 Folien

Último(11)

さくらのひやおろし2023 von 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
SSH応用編_20231129.pdf von icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4287 views
SNMPセキュリティ超入門 von mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda301 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... von NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
The Things Stack説明資料 by The Things Industries von CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.51 views
Windows 11 information that can be used at the development site von Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka80 views

Gstreamer Basics