2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SRT(Secure Reliable Transport)について色々ためす(1)

Posted at

1. 概要

SRTを使った映像伝送に関して、色々を実験したい。そこで、手ごろな環境でどのようなことができるのか調べていく。とりあえずの目標は以下のような構成とする。

┌──────────────────┐      ┌────────────┐     ┌──────────────────────┐
│CAM = Caller(RPI) │-LAN- │Listener(PC)│-LAN-│Caller(RPI) : Monitor │ > 人
└──────────────────┘      └────────────┘     └──────────────────────┘

2. 機材

  • Raspberry Pi 3B もしくはZero WH
  • OSはBuster(Debian 10), Liteではない
  • UVCカメラ: Buffalo BSW500M
  • PCはLinux(仮想マシン)

3. 環境

3.1. Raspberry Pi

今のところ、Busterをインストールした環境が安定的に動作できているので、それを使う。以下の記事などで使った環境。

4. Gstreamer

gstreamerはとあるバージョン以降、SRTに対応しているらしい。プラグインがあるか確認してみる。

$ gst-inspect-1.0 | grep srt

srt:  srtclientsrc: SRT client source
srt:  srtserversrc: SRT Server source
srt:  srtclientsink: SRT client sink
srt:  srtserversink: SRT server sink
dtls:  dtlssrtpdemux: DTLS SRTP Demultiplexer
dtls:  dtlssrtpenc: DTLS-SRTP Encoder
dtls:  dtlssrtpdec: DTLS-SRTP Decoder
subenc:  srtenc: Srt encoder
subparse: subparse_typefind: srt, sub, mpsub, mdvd, smi, txt, dks, vtt
srtp:  srtpdec: SRTP decoder
srtp:  srtpenc: SRTP encoder

srtclientsrc : SRT経由でネットワーク経由でデータを受信
srtserversrc : SRT経由でネットワーク経由でデータを受信
srtclientsink : SRT 経由でネットワーク経由でデータを送信する
srtserversink : SRT 経由でネットワーク経由でデータを送信する

カラーバーを配信するコマンド

gst-launch-1.0 videotestsrc ! videoconvert ! x264enc key-int-max=15 ! mpegtsmux ! srtserversink uri="srt://:15000"

srtclientsinkではうまくいかない。説明は同じなんだけど。

gst-launch-1.0 videotestsrc ! videoconvert ! x264enc key-int-max=15 ! mpegtsmux ! srtclientsink uri="srt://:15000"

PCのVLCプレイヤーで再生できるか試す。192.168.1.128はRPIのIPアドレス、15000は適当なポート番号。
image.png

image.png

思ったより単純に配信と再生ができるようだ。

gst-launch-1.0 -v srtserversrc uri="srt://:7001" latency=$RECVLATENCY ! srtserversink uri="srt://:7002"

5. 結論

Raspberry Pi 3B、Raspberry Pi OS(Buster)、GStreamerを使うと実験レベルであれば、SRT配信は簡単にできる。

今後、CallerやListenerについて調べていきたい。

以上

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?