Ubuntuでデスクトップ配信 仮想webカメラ編

windowsではscfh dsfのような仮想webカメラソフトでデスクトップ配信できますが、linuxでもwebcamstudioとv4l2loopbackを組み合わせて同様のことができます。

 

V4L2loopback

以下のサイトからソースをダウンロードしてインストール後、モジュールとして組み込みます
https://github.com/umlaeute/v4l2loopback

make
sudo make install
sudo modprobe v4l2loopback

 

WebcamStudio

WebcamStudioはjavaとかffmpegとかを使うのでubuntuソフトウェアセンターからjava7とffmpegをインストールしておきます
(もしかすると上でソースからインストールしたv4l2loopbackはv4l2loopback-dkmsを入れればいいかも)

 

最新のalpha版バイナリには必要なlibwebcamstudio.soがなぜか含まれていないので、以下のサイトからソースをダウンロード
https://github.com/adelq/WebcamStudio

展開したらvloopbackディレクトリの中にあるcomp.shを実行するだけでいいのですが、オプションがおかしいというエラーがでるのでスクリプトを修正して実行 (参考

gcc -c -fPIC libwebcamstudio.c -o libwebcamstudio.o
gcc -shared -Wl -o libwebcamstudio.so.1.0.1 libwebcamstudio.o <- -Wlを削除する
sudo cp libwebcamstudio.so.1.0.1 /usr/lib

 

WebcamStudio本体はここから
https://code.google.com/p/webcamstudio/

webcamstudio_0.60-alpha1.tar.gzをダウンロードしてWebcamStudio.jarを実行 (デバイスにroot権限が要る場合はsudoで)

java -jar WebcamStudio.jar

webcamstudio

ここまできたらflashでも使えるwebカメラができているので、あとは配信するなりffmpegでエンコードするなり

 

前回説明した簡易FFServerのFFWmeServer.jarを使ってピアキャス用エンコする例

ffmpeg -f video4linux2 -i /dev/video0 -vcodec wmv1 \
-f asf http://localhost:47711/test.wmv

ubuntu13 ss

前回の方法と違ってラグは6秒程度とwme並です。ただffmpegはwmv9のエンコードに対応していないので元々ピアキャス配信に向いていないかもしれません。あと環境によるものなのかwebcamstudioのプレビューが止まってしまうことが結構ありました。

flashのカメラとして使うにはカメラを許可する必要がありますがubuntuのfirefoxではなぜかパネルがクリックできないのでflashの設定ファイルsettings.solを直接編集しないと使えませんでした。solについては以下が参考になるかも
http://devslog.com/article/20121025120056.html
http://level0.kayac.com/#!2009/07/minerva.php

余談:Ubuntu13はGUIがUnity3Dになったので3D支援がないとクッソ重いです。VMwareの場合設定のデスクトップにある3Dアクセラレーションを有効にしたほうがよい。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です