Linuxでデスクトップの配信をする方法
ニコニコ生放送やUstreamなどでLinuxからデスクトップを配信する方法です。Webcamstudioが動かなかったのでややこしいやり方になってますorz
#!/bin/sh FIFO=/tmp/stream-$USER.ogv FPS=24 SIZE=320x240 [ -p "$FIFO" ] || mkfifo "$FIFO" recordmydesktop --windowid $(xwininfo | awk '/Window id:/ {print $4}') \ --fps $FPS --no-cursor --no-frame --no-sound \ --on-the-fly-encoding --overwrite -o $FIFO & sleep 5 & ffmpeg -i $FIFO -s $SIZE -r $FPS -an -f yuv4mpegpipe - | \ mjpegtools_yuv_to_v4l /dev/video1 killall recordmydesktop rm -f $FIFO
vloopbackモジュールはflashcam-1.3*1の中に入ってるヤツを野良ビルド。mjpegtools_yuv_to_v4l*2も同じく野良ビルド。
使い方は、上記スクリプトを実行したあとキャプチャしたいウィンドウをクリックすればそのウィンドウをキャプチャできます。
他にWebカメラなどが繋がっている場合、/dev/video1の部分は変わると思います。
% sudo modprobe vloopback % dmesg | grep vloopback
でvloopbackのinputの所のデバイスに変えれば動くと思います。