9
9

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 5 years have passed since last update.

TinkerboardとWebCamで720p 30fpsでライブ配信をする

Last updated at Posted at 2018-05-04

ラズパイでできなくてtinkerboardでできること

ラズパイではUSBのWebcamからの映像入力だと性能がでませんでした。私はこれをメモリ帯域が足りないためと推測しています。tinkerboardではメモリが LPDDR3のデュアルチャネルになっているのでメモリ帯域が広くなっています。これによってWebCamからの映像入力が余裕をもってできるようになっています。

この記事ではtinkerboardとWebcamでYouTube Liveにライブ配信する例を示します。
WebcamにはLogitec のC270を使用しています。

準備

tinkerboadのハードウェアエンコーダはgstreamerから使用可能です。
gstreamerのインストール。

sudo apt install gstreamer1.0-*

YouTubeLiveのlive_dashboardのページで自分のアカウントのstream_keyを調べておきます。

ライブ配信のスクリプト

普及価格のWebcamは最大で1280x720 30fps の映像が入力できます。このときの映像はmjpegで圧縮された状態で出てくるので、それをソフトウェアでデコードします。
H.264へのエンコードはハードウェアエンコーダを使用します。
音声はWebcam内蔵のマイクから入力して、ソフトウェアでAACにエンコードします。

STREAM_KEYのところは自分のstream_keyに修正してください。

livestream.sh

# !/bin/sh

RTMP_URL=rtmp://a.rtmp.youtube.com/live2
STREAM_KEY=your_stream_key

gst-launch-1.0 -v -e \
	flvmux streamable=true name=mux ! \
		rtmpsink sync=false location="$RTMP_URL/$STREAM_KEY" \
	v4l2src ! image/jpeg,width=1280,height=720,framerate=30/1 ! \
		jpegdec ! videoconvert! queue ! mpph264enc ! queue ! h264parse ! mux. \
	alsasrc device=plughw:1 ! audio/x-raw,width=16,depth=16,rate=48000,channels=1 ! \
		queue ! voaacenc bitrate=32000 ! queue ! mux. 

CPUの負荷

H.264のエンコードはハードウェアで行っています。
CPUでやっているのはwebcamから取得したmjpegのデコードと音声のAACエンコードです。
ライブ配信中のhtopの画面は以下の通り。まだ余裕があります。

スクリーンショット 2018-05-04 21.45.43.png

mjpegのデコードもハードウェアでできるかもしれないのですが、まだ成功していません。
それができればさらにCPUの負荷が減ります。

CPU、メモリともにまだ余裕があるので、ライブ配信画面に何か重ね書きしたりエフェクトを入れたりすることもできそうです。

ラズパイだと専用カメラモジュールを使えば最大1080p 30fpsのライブ配信ができますが、この場合はカメラとH.264エンコーダを直結して使うことになるので、カメラから来た映像に何かソフトウェアで加工するということはできません。

今回はまだ試していませんが、tinkerboardでラズパイ用のカメラモジュールをつないで使用することもできるようです。これなら1080p 30fpsいけそうです。

参考

Multimedia User Guide(Rockchip Linux)
gstreamer-rockchip-extra
rockchip-linux
「Raspberry Pi Zeroと カメラモジュールで作るライブ配信実験機」の話をしました
ラズパイ3よりもパワフルなTinkerboardを試す

9
9
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
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?