GStreamer は、1 本の動画ストリームを設定するだけでも非常に複雑/手間がかかる場合があります。複数ストリームやライブ録画などの便利機能は、ユーザーインターフェイス付きで Discovery を使うとずっと簡単です。
GStreamer コマンドラインの変数を特定する
接続されているデバイスの動画ストリームを連携させるため、まず dweOS を構成します。
まず、ノートパソコン/デスクトップの IP アドレスを特定します。これを dweOS ソフトウェアに入力します。次のコマンドを実行することで確認できます:多数のアドレスが表示されますが、特に
inet というテキストの後に続くアドレスを確認します。
取得した IP を dweOS の IP アドレス欄に入力し、ストリーミング先のポートを控えておきます(デフォルト 5600)。この例では、取得した IP は 192.168.5.55、ポートは 5600 です。

ポートフィールドの 5601 はプログラムによる自動表示で、実際にストリーミングされているエンドポイントには、カメラアイコンと削除用のごみ箱ボタンが付いています。
GStreamer の形式は次のとおりです:
ポートを念頭に置いた上で、GStreamer コマンドにはいくつかの注意すべきパラメータがあります。重要なフラグ:
-v(Verbose): ストリーム情報を出力し、エレメント間でネゴシエートされている解像度・フォーマットを確認できます。-e(EOS - End of Stream): 録画にとって非常に重要です。このフラグなしで Ctrl+C を押すと、ファイルが破損(ヘッダ欠落)する可能性があります。このフラグはクリーンなシャットダウンを強制します。--help-all: システムで利用可能なすべてのエレメントを一覧表示します。
-
videotestsrc: テストパターン(カラーバー、ノイズなど)を生成します。 -
パラメータ:
pattern=smpte(またはsnow、ballなど) -
autovideosrc/v4l2src: Webcam(Linux)。 -
パラメータ:
device=/dev/video0 -
filesrc: ローカルファイルを読み取ります。 -
パラメータ:
location=./video.mp4 -
udpsrc: ネットワーク経由で UDP データを受信します。- パラメータ:
port=5600(受信ポート)。 - パラメータ:
caps="..."(必須! 生のバイト列が実際に何であるかを GStreamer に伝えます)。 - パラメータ:
buffer-size=524288(高解像度ストリームでのパケットロスを防ぐためにバッファを増やします)。- 標準のバッファサイズは、H264 は
96、MJPEG は26です。
- 標準のバッファサイズは、H264 は
- パラメータ:
-
autovideosink: ウィンドウを開いて動画を再生します。 -
fakesink: データを破棄します(パイプラインがエラーなく動くかテストするのに有用)。 -
filesink: ファイルに書き出します。 -
パラメータ:
location=output.mp4 -
udpsink: ネットワーク経由でストリーミングします。
-
videoconvert: 色空間(例: YUV から RGB)を変換します。「could not link」エラーが出たら、これを途中に挟みます。 -
videoscale: 動画をリサイズします。 -
capsfilter: 特定のフォーマットを強制します。構文:video/x-raw,width=1920,height=1080 -
rtp[format]depay: デペイローダ。RTP ネットワークパケットを解いて、中のストリームを取り出します。- 例:
rtpjpegdepay(MJPEG 用)、rtph264depay(H.264 用)。
- 例:
-
[format]dec: デコーダ。圧縮された動画を表示用の生ピクセルに展開します。- 例:
jpegdec、avdec_h264。
- 例:
GStreamer を試すためのコマンド例をいくつか紹介します:テストパターンWebcam の表示(利用可能な場合)Webcam を 720p 30fps で強制するWebcam を録画する
高解像度では、動画出力は通常 MJPEG で圧縮されています。
image/jpeg はカメラからの圧縮フォーマットを受け入れます。jpegdec はデコーダを追加して、JPEG ストリームを生の動画に戻し、ウィンドウで表示できるようにします。これはバックグラウンドで録画します。クリップを終了するには
Ctrl + C を押すと、現在のディレクトリにファイルが保存されます。この場合、ファイル名は test.mp4 で、ls -lh test.mp4 で存在を確認できます。dweOS からのストリーミングをセットアップする
GStreamer コマンドを理解した上で、dweOS 専用の動画ストリームをセットアップしていきます。dweOS で指定したビデオコーデック(MJPEG / H264)に応じて、以下のいずれかを実行します:MJPEGH264これでカメラからのライブストリームがウィンドウに表示されているはずです!
録画をセットアップする
ストリームを録画するには、改めてビデオコーデックが重要になります!ターミナルに次のようなテキストが表示されていれば、ストリームが録画されていることがわかります:
MJPEGMKV の場合H264MKV の場合MP4 の場合

上の行は MKV 形式用です。AVI は GStreamer では非常に扱いにくく、出力データを非常に厳密に整形する必要があるためです。可能ではありますが、MJPEG から AVI への変換はデフォルト出力である Discovery を使うほうがずっと簡単です。
Discovery をダウンロード
サブシーネットワーク動画ストリーム向けのオールインワンマルチメディアソリューション。


