2025年1月5日日曜日

OwncastでWebカメラの映像を配信してみよう(ブラウザで視聴可能)

 Webカメラの映像をLAN内に配信する方法を探していたところ、Owncastというソフトを利用すると簡単に行えましたので、手順をまとめておきます。

必要なもの

  • パソコン(LinuxもしくはWindows Subsystem for Linuxが動くWindows)
  • Webカメラ(内蔵もしくはUSB接続)

Owncastのインストール

公式サイト(Owncast - Free and Open Source Livestreaming

下記のページにアクセスします。

Owncast Quickstart - Owncast

「I want to use the Owncast Quick Installer Script.」をクリックします。

ターミナルで適当なディレクトリに移動しておき、スクリプトを実行します。

curl -s https://owncast.online/install.sh | bash

もしセキュリティ上、スクリプトの実行が難しい場合はQuickstartの画面で「I want to download a release of Owncast.」を選択すれば実行ファイルのみをダウンロードすることもできます。

Owncastの実行

ディレクトリの中に「owncast」というディレクトリが生成されるのでcdコマンドで移動します。

cd owncast/

移動したら「./owncat」を実行します。

./owncast

画面に下記のように初期設定内容が表示されれば成功です。

INFO[2024-12-22T00:06:31+09:00] Owncast v0.1.3-linux-64bit (6ae3167b61d8485d3f269bd422f0c1a1f072ea5c)
INFO[2024-12-22T00:06:31+09:00] Web server is listening on port 8080.
INFO[2024-12-22T00:06:31+09:00] Configure this server by visiting /admin.

ブラウザからowncastを実行したアドレスをアクセスします。(下記は192.168.100.200のIPアドレスのパソコンで実行した場合)

192.168.100.200/admin

認証画面が表示されるのでユーザー名「admin」、パスワード「abc123」を入力してアクセスします。

左側の「HOME」をクリックします。

配信をするために必要な情報を控えます。

Streaming URLの値
Streaming Keysの値

Owncastへ配信する方法

配信元の設定を行っていてきます。

Broadcasting Software - Owncast

配信元のソフトはOBS Studioやffmpegなどが使えます。

OBS Studioの方がグラフィカルに設定できるのですが、今回は非力なパソコンを想定してffmpegで使用してみます。

初めに接続されているビデオデバイスを調べます。

v4l2-ctl --list-devices

次に接続されているオーディオデバイスを調べます。

arecord --list-devices

しらべたデバイス情報を用いて下記のようなコマンドを組み立てて実行します。
(ビデオデバイスで/dev/video2、オーディオデバイスでhw1,0を使用する場合)

ffmpeg -f alsa -ac 2 -i hw:1,0 -thread_queue_size 64 \

  -f v4l2 -framerate 60 -video_size 1280x720 -input_format yuyv422 -i /dev/video2 \

  -c:v libx264 -preset veryfast -b:v 1984k -maxrate 1984k -bufsize 3968k \

  -vf "format=yuv420p" -g 60 -c:a aac -b:a 128k -ar 44100 \

  -f flv rtmp://<ip-of-your-server>/live/<your-streaming-key>

上記のコマンドでうまく動作しない場合はffmpeg -f alsa -ac 2 -i hw:1,0をffmpeg -f alsa -ac 1 -i plughw:1,0とするとうまく動くようになるかもしれません。

他にもSSL化やCDNの利用なども公式のドキュメントに載っています。

Documentation - Owncast

今回は省略しましたがowncastの管理画面からコメント有効の有無やオフライン時のメッセージや画面下部の説明のカスタマイズも可能です。

また、取得しているドメインを関連付けたりすると外部に公開することもできます。

試せていませんがCloudflare ZeroTrustのCloudflare Accessを利用することで外部の特定の人にだけアクセスさせることもできるかと思います。


Linux: 利用できるWebカメラの情報を取得する

Linux: 利用できるオーディオデバイスの情報を取得する

Cloudflaredでおうちサーバを公開する


0 コメント:

コメントを投稿