- ビデオのみのストリーム出力の場合:
入力ソースのビデオ ストリームをあるデバイスから同じネットワーク上の別のデバイスへ送信するには、次のパイプラインを使用します。
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! \ video/x-raw, format=NV12, width=3840, height=2160, framerate=60/1 ! \ omxh265enc qp-mode=auto gop-mode=basic gop-length=60 b-frames=0 \ target-bitrate=60000 num-slices=8 control-rate=constant prefetch-buffer=true \ low-bandwidth=false filler-data=true cpb-size=1000 initial-delay=500 \ periodicity-idr=60 ! video/x-h265, profile=main, alignment=au ! \ queue ! mpegtsmux alignment=7 name=mux ! rtpmp2tpay ! \ udpsink host=192.168.25.89 port=5004
この例では、あるデバイス (サーバー) から同じネットワーク上の別のデバイス (クライアント) へビデオをストリーム出力します。ビデオのエンコード フォーマットは H265 で、カラー フォーマットは NV12 です。ビデオ ストリームの解像度は 4kp 60fps で、ビットレートは 60Mb/s です。サーバーは、IP アドレス 192.168.25.89、ポート 5004 のクライアント ホスト デバイスにビデオ ストリームを送信します。
注記: クライアント デバイスの IP 設定に合わせてホストの IP アドレスを変更してください。 - ビデオおよびオーディオ ストリーム出力の場合:
入力ソースのビデオおよびオーディオ ストリームをあるデバイスから同じネットワーク上の別のデバイスへ送信するには、次のパイプラインを使用します。
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! \ video/x-raw, format=NV12, width=3840, height=2160, framerate=60/1 \ ! omxh265enc qp-mode=auto gop-mode=basic gop-length=60 b-frames=0 \ target-bitrate=60000 num-slices=8 control-rate=constant \ prefetch-buffer=true low-bandwidth=false filler-data=true \ cpb-size=1000 initial-delay=500 periodicity-idr=60 ! video/x-h265, \ profile=main, alignment=au ! queue ! mux. alsasrc device=hw:2,1 \ provide-clock=false ! audio/x-raw, format=S24_32LE, rate=48000, \ channels=2 ! queue ! audioconvert ! audioresample ! opusenc \ ! opusparse ! mpegtsmux name=mux ! rtpmp2tpay \ ! udpsink host=192.168.25.89 port=5004
この例に示したように、1 つの GStreamer パイプラインを使用してビデオとオーディオをストリーム出力できます。オーディオは Opus にエンコードされます。オーディオとビデオは同時にストリーム出力されます。ビデオ ストリーム出力のパイプラインは、1 つ前の例と同じです。