スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
Linuxでデスクトップ配信【Fedora17】
Stckamでblender作業部屋配信という、Blenderやってる人たちで作業風景をデスクトップ配信するという集いがありましたので参加しようかと思い、Fedora17でデスクトップ配信をやってみました。
が、これが結構大変で、そもそも使うべきソフトのバージョンはどれという所から手当たり次第調べてビルドして試すという感じで、数時間苦戦して何とか配信できるようになりました。
使用した主なソフトは下記の通り
・ffmpeg
・V4L2loopback
・WebcamStudio0.60alpha
処理の流れとしては、ffmpegでデスクトップキャプチャ→WebcamStudioがキャプチャした映像をV4L2loopbackに渡す→V4L2loopbackがダミーのWebカメラデバイスとして振る舞う。という感じのようです。
作業要領は続きに
まずはffmpegがデスクトップキャプチャに対応しているか確認します。
上記コマンドでffmpegのビルド設定を確認し、
が含まれていればキャプチャ機能が有効になっています。含まれていなければ、キャプチャ機能が有効なffmpegをどうにかして入手する必要があります。
Fedora17のrpmfisionのffmpegであれば有効になっているはずですので、この確認はしなくても大丈夫かもしれません。
次にV4L2loopbackをインストールします。
下記コマンドを順次実行していけば無事コンパイル、インストールできるかと思います。
少し古い情報を見ると、vloopbackを使うやり方が出てくるかと思いますが、それだと現在のカーネルのバージョンに対応していないので、このようにV4L2loopbackを使う必要があります。
次にWebcamStudioを用意します。バージョン0.57はdebパッケージしか用意されておらず、Fedoraでは使えないので0.60alphaを使用します。
tar.gzを展開したら
でWebcamStudioが起動でき、一見正常に動いているように見えますが、これだけではV4L2loopbackへの出力ができておらず、当然デスクトップ配信もできない状態になっています。
これはlibwebcamstudio.soが無いのが原因で、これがどういうわけか0.60alphaには同梱されていません。ですので、0.57のdebパッケージの中からlibwebcamstudio.soのソース(/usr/share/webcamstudio/webcamstudio-src/)を持ってきてコンパイルする必要があります。
これでlibwebcamstudio.soをパスの通る所にコピーして実行すれば、無事にデスクトップ画面をビデオデバイスとして出力できるようになります。
ビデオデバイスの確認はVideo4Linuxなどで行えます。
うちの場合、libwebcamstudio.soはWebcamStudio.jarと同じディレクトリに配置し、下記のようなスクリプトで機動するようにしています。
参考にさせていただいたページ
・Linuxでデスクトップをライブ配信する
・Linux Kernel 2.6.38 と Webcamstudio でデスクトップ配信
が、これが結構大変で、そもそも使うべきソフトのバージョンはどれという所から手当たり次第調べてビルドして試すという感じで、数時間苦戦して何とか配信できるようになりました。
使用した主なソフトは下記の通り
・ffmpeg
・V4L2loopback
・WebcamStudio0.60alpha
処理の流れとしては、ffmpegでデスクトップキャプチャ→WebcamStudioがキャプチャした映像をV4L2loopbackに渡す→V4L2loopbackがダミーのWebカメラデバイスとして振る舞う。という感じのようです。
作業要領は続きに
まずはffmpegがデスクトップキャプチャに対応しているか確認します。
$ ffmpeg -version
上記コマンドでffmpegのビルド設定を確認し、
--enable-x11grab
が含まれていればキャプチャ機能が有効になっています。含まれていなければ、キャプチャ機能が有効なffmpegをどうにかして入手する必要があります。
Fedora17のrpmfisionのffmpegであれば有効になっているはずですので、この確認はしなくても大丈夫かもしれません。
次にV4L2loopbackをインストールします。
下記コマンドを順次実行していけば無事コンパイル、インストールできるかと思います。
$ git clone https://github.com/umlaeute/v4l2loopback.git
$ make
$ beesu make install
$ beesu modprobe v4l2loopback
少し古い情報を見ると、vloopbackを使うやり方が出てくるかと思いますが、それだと現在のカーネルのバージョンに対応していないので、このようにV4L2loopbackを使う必要があります。
次にWebcamStudioを用意します。バージョン0.57はdebパッケージしか用意されておらず、Fedoraでは使えないので0.60alphaを使用します。
tar.gzを展開したら
$ java -jar "WebcamStudio.jar"
これはlibwebcamstudio.soが無いのが原因で、これがどういうわけか0.60alphaには同梱されていません。ですので、0.57のdebパッケージの中からlibwebcamstudio.soのソース(/usr/share/webcamstudio/webcamstudio-src/)を持ってきてコンパイルする必要があります。
$ gcc -shared -o libwebcamstudio.so libwebcamstudio.o
これでlibwebcamstudio.soをパスの通る所にコピーして実行すれば、無事にデスクトップ画面をビデオデバイスとして出力できるようになります。
ビデオデバイスの確認はVideo4Linuxなどで行えます。
うちの場合、libwebcamstudio.soはWebcamStudio.jarと同じディレクトリに配置し、下記のようなスクリプトで機動するようにしています。
#!/bin/sh
export LD_LIBRARY_PATH=./ #カレントディレクトリを共有ライブラリのパスに追加
java -jar "WebcamStudio.jar"
参考にさせていただいたページ
・Linuxでデスクトップをライブ配信する
・Linux Kernel 2.6.38 と Webcamstudio でデスクトップ配信
COMMENT
COMMENT FORM
TRACK BACK
Stckamでblender作業部屋配信という、Blenderやってる人たちで作業風景をデスクトップ配信するという集い