Mar,08,2010
_ オープンソースカンファレンス2010Kansai@Kobeのセミナーと懇親会を絶賛受付中!
懇親会は150人が店を貸し切るラインだったけど、無事越えました。ありがとうございました。
セミナーのほうも絶賛受付中なのでよろしくお願いします。
申し込みが少ないみたいだけど、Open Street Mapのご紹介と学生とITコミュニティの現在(いま)は、他のところでもやってなくて、面白いと思うのでぜひお願いします。
_ 今日、16:15からFM GENKIでOSC神戸の告知をしてきます
そーいうことで、ひさびさFM GENKIにいって告知してきます。
Mar,03,2010
Feb,28,2010
_ 今日は「関西Debian勉強会」と「テックカフェ」があります
どっちか遊びにくるといいと思うよ。
_ 「ASCII.jp:〜師範!Ubuntuの仲間たちで音楽制作ですよ!その2〜|行っとけ!Ubuntu道場!」が公開されてました
ということで前回に引き続き、ubuntu Japanese Teamの人たちにゲストに呼んでもらっての「行っとけ!Ubuntu道場!」の後編です。
「RTカーネルを使うと早くなる」といった、よくあるRTカーネルについての誤解や、LinuxでもWindows VSTプラグインを使う話など前編より突っ込んだ形で話をしてます。
今回も面白いのでぜひ読んでください。ぷしゅぅぅ〜。
Feb,21,2010
_ Debian LiveにCentOS LiveCDを入れてデュアルブートLiveCDにする
「Debian LiveにCentOS Live CDを仕込んでデュアルブートにできない?」との相談があったのでやってみた。 テストなのでDebian Liveはコンソールしか起動しない最小イメージのstandardを使っています。
Debian Liveの準備
lh config入力して設定の雛形を作ります。
$ lh config
設定の雛形を変更してDebian Liveの設定をしますが、手で設定していくのは面倒くさいのでMakefileとautoディレクトリ以下にスクリプトを置いて自動化できるようにします。
Makefile
BOOTOPTION_LIVE = locale=ja_JP.UTF-8 keyb=jp kmodel=acpi utc=no tz=Asia/Tokyo noswap nopersistent
all: config build
config: clean
lh config \
--binary-images iso \
--bootloader syslinux \
--iso-volume "DebianLive" \
--bootappend-live "${BOOTOPTION_LIVE}" \
--linux-flavours 486 \
--linux-packages "linux-image-2.6" \
--packages-lists "standard" \
--templates `pwd`/config/templates/
build:
sudo lh build
clean:
sudo lh clean
distclean: clean
sudo lh clean --purge
sudo rm -f *.iso *.img *.list *.packages *.buildlog *.md5sum
auto/config
#!/bin/sh
MIRROR_DEBIAN="http://ftp.jp.debian.org/debian/"
MIRROR_SECURITY="http://security.debian.org/"
lh config noautoconfig \
--distribution squeeze \
--archive-areas "main" \
--language ja \
--apt-recommends false \
--apt-secure false \
--mirror-binary ${MIRROR_DEBIAN} \
--mirror-binary-security ${MIRROR_SECURITY} \
--mirror-bootstrap ${MIRROR_DEBIAN} \
--mirror-chroot ${MIRROR_DEBIAN} \
--mirror-chroot-security ${MIRROR_SECURITY} \
${@}
auto/build
#!/bin/sh
BUILDDATE=`date +%Y%m%d%H%M%S`
lh build noautoconfig 2>&1 | tee debian_live-binary-${BUILDDATE}.buildlog
# rename files
if [ -f binary.iso ]; then
mv binary.iso debian_live-binary-${BUILDDATE}.iso
elif [ -f binary.img ]; then
mv binary.img debian_live-binary-${BUILDDATE}.img
fi
[ -f binary.list ] && mv binary.list debian_live-binary-${BUILDDATE}.list
[ -f binary.packages ] && mv binary.packages debian_live-binary-${BUILDDATE}.packages
auto/clean
#!/bin/sh
lh clean noautoconfig --all ${@}
# Remove generated files
rm -f config/binary config/bootstrap config/chroot config/common config/source
# Remove empty directories in config tree
if ls config/*/ > /dev/null 2>&1
then
rmdir --ignore-fail-on-non-empty config/*/
fi
if [ -d config ]
then
rmdir --ignore-fail-on-non-empty config
fi
これで make一発でビルドや make clean で作業ディレクトリを掃除できるので格段に楽になりました。
Debian Liveの設定についてですが、Makefileとauto/configにわかれていることに気がつくと思います。 使い分けは、頻繁に変更する設定についてはMakefileに、apt-lineなど変更する必要はあるけど一度設定すれば変更しないものについてはauto/configに書きます。
CentOS LiveCDの内容をコピーする
ダウンロードしたCentOS LiveCDのISOイメージから内容を取り出して、Debian Liveのconfig/binary_local-includes/ディレクトリにコピーします。 ISOイメージのマウントにはfuseisoを使っています。
ISOイメージをマウント
$ mkdir centos $ fuseiso CentOS-5.4-i386-LiveCD.iso centos/
CentOSのsquashfsをコピー
$ cp -r centos/LiveOS/ config/binary_local-includes/
CentOSのカーネルとinitrdをコピー
$ mkdir config/binary_local-includes/centos $ cd centos/isolinux/ $ cp initrd0.img install.img vminst vmlinuz0 ../../config/binary_local-includes/centos/
ISOイメージをアンマウント
$ fusermount -u centos/
syslinuxの設定
CentOS LiveCDを起動するための設定を追加します
Debian Liveのsyslinuxテンプレートをconfig/templates/にコピー
$ cd config/templates/ $ cp -r /usr/share/live-helper/templates/syslinux/ .
centos.cfgの作成
CentOSのisolinux.cfgをコピーしてCentOS起動設定を作ります。
$ cd syslinux/menu/ $ cp ../../../binary_local-includes/centos/isolinux/isolinux.cfg centos.cfg
元のisolinux.cfgからの変更点は
- Debian Liveのsyslinuxと重複しているところを削除。
- CentOSを階層にするので menu begin CentOS 〜 menu end で囲む。
- トップの階層に戻るための menu goto .top を追加。
- 参考: Comboot/menu.c32 - Syslinux Wiki: http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32
- labelがDebian Liveとぶつからないように頭にcentをつけた。
- syslinuxパラメータの kernel と append のinitrdをCentOSのカーネルとinitrdを置いたcentosディレクトリに変更。
- root=CDLABELをDebianLiveに変更(Debian LiveのCDラベルの設定 --iso-volume "DebianLive" も変更しておきます。)
- rootfstype=をiso9660からautoに変更
config/templates/syslinux/menu/centos.cfg
menu begin CentOS
label centlinux0
menu label CentOS 5.4 Boot
kernel /centos/vmlinuz0
append initrd=/centos/initrd0.img root=CDLABEL=DebianLive rootfstype=auto ro quiet liveimg
label centlinuxtext0
menu label CentOS 5.4 Boot (text mode)
kernel /centos/vmlinuz0
append initrd=/centos/initrd0.img root=CDLABEL=DebianLive rootfstype=auto ro quiet liveimg 3
label centinstaller
menu label CentOS 5.4 Network Installation
kernel /centos/vminst
append initrd=/centos/install.img text
label Return to top menu
menu goto .top
menu end
ビルド
これでビルドするとCentOSが起動できるDebian Liveができます。
Feb,19,2010
_ webcamstudioを使ってDebian上からustream.tvとjustin.tvの中継をする
ust中継でWindowsやMacだとテロップ流したり絵を重ねたりできたりしていいなと思っていたけど、webcamstudioを試したらDebian上から同じことができたのでメモ。
理由は後述しますがustream.tvでは低解像度でしか中継できないので、高画質で配信したい場合はjustin.tvを利用するとよいでしょう。
準備
webcamstudioを利用するための条件「PulseAudioが使える」「PulseAudioからFlashプラグインの音が出る」「ユーザーがvideoグループに入っている」の3つの条件があるので確認します。
PulseAudioが使える
ubuntuでは標準でインストールされますが、Debianではインストールされないのでインストールしておきます。 PulseAudioのインストールと設定については以前書いたものを参照してください。 最近は環境も整ったので一式入れるだけでほぼ大丈夫だと思います。
Flashプラグインの音がPulseAudioから出ることを確認
PulseAudioをインストール後にFlashから音が出るか確認しておきます。YouTubeなどにアクセスして音が出れば大丈夫です。 音が出ない場合はflashplugin-nonfree-extrasoundが入ってないと思われるのでインストールします。
# aptitude install flashplugin-nonfree-extrasound
ユーザーがvideoグループに入っている
ターミナルからidとコマンドを入力して「44(video)」が入っていれば大丈夫です。
$ id | grep video uid=1000(jun) gid=1000(jun) 所属グループ=1000(jun),3(sys),5(tty),6(disk),20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),109(netdev),112(powerdev),113(scanner),116(pulse),117(kvm),118(gnokii),119(sambashare),122(vde2-net),123(fuse),125(polkituser),126(uml-net),135(pulse-access)
入ってなければ追加します。 追加後は一旦ログアウトしてログインし直します。
# gpasswd -a <user> video
webcamstudioのダウンロード
sourceforgeからtar.gzのバイナリをダウンロードします。
- Browse WebcamStudio For GNU/Linux Files on SourceForge.net: http://sourceforge.net/projects/webcamstudio/files/
vloopbackモジュールのインストール
webcamstudioはvloopbackモジュールの仮想ビデオデバイスを利用するのでインストールします。webcamstudio付属のvloopbackモジュールは使いません。
# m-a a-i vloopback # modprobe vloopback
起動
webcamstudioのアーカイブを展開するとWebcamStudio.jarがあるので実行します。
$ padsp java -jar WebcamStudio.jar
ググっていたとき「OpenJDKではなくSUNのJavaを使え」と書いてあるページがあったけど、OpenJDKでも普通に動く上に動作が軽快なのでOpenJDKでいいのではないかなと思います。(見たページの人はubuntuで古いOpenJDKのようだったし)
Adobe Flashの「Webサイトのプライバシー設定」を変更
Flashがデバイスを利用するとき「Webサイトのプライバシー設定」にもとづき利用の確認がありますが、Webcamstudioからは「Webサイトのプライバシー設定」を変更することはできないので止まってしまうので、あらかじめ変更しておきます。
webcamstudioツールバーの [About] → [Set Flash Permissions] か、ブラウザから「Adobe - Flash Player : Settings Manager - Website Privacy Settings panel」にアクセスします。
設定を変更したいサイトがリストアップされているので選択し、「常に確認」から「常に許可」に変更します。 リストにない場合は、ブラウザからustream.tvやjustin.tvにアクセスして中継するとリストアップされます。
- cdn1.ustream.tv
- www.ustream.tv
- www-cdn.justin.tv
中継
ブラウザでustream.tvかjustin.tvのサイトにログインし放送画面に入っておきます。 ビデオとオーディオのソースが
- Video Source: Video loopback 0 input
- Audiop Source Linux Microphone
になっていることを確認して、webcamstudioツールバーの[Sources]から適当な入力ソースを選んで流します。 webcamstudioの入力ソースは幅広く対応していてカメラを用意しなくてもチェックできるので、テスト時には動画を流しっぱなしにしていました。
ブラウザの放送画面モニタに入力ソースの映像が表示されていれば成功です。Startボタンを押すとそのまま放送できます。
音についてはPulseAudioのpavucontrolを使うと、別のオーディオソースからの音をミックスしたりできます。
ustream.tvの中継設定
webcamstudioからustream.tvの中継はできますが、解像度を上げると絵が乱れる上にwebcamstudioのFME Broadcaster機能が使えないので、あまりおすすめしません。
- Output Size: 160x120
- Quality: High
- Framerate: 15fps(ustreamの設定に合わせる)
justin.tvの中継設定
ustream.tvのようにそのまま放送できますが、webcamstudioのFME Broadcasterを利用すると高画質で放送できるので、これを利用します。
- http://www.justin.tv/broadcast?section=fme にアクセスして、FMLE 2.5: http://www.justin.tv//fme_config.xml をダウンロードします。
- webcamstudioツールバーの[Output] → [FME Broadcaster]を開き、ダウンロードしたfme_config.xmlファイルを「FME Xml」に指定します。
- ビットレートを設定し、Broadcastボタンを押します。
- ブラウザのJustin.tvの放送画面に入りStartボタンを押します。
_ たか [ラジオはきけませんでしたが、わいわいにいかれてたんかなー。となんか懐かしくてコメしてしまいました。 震災の翌年に、私..]
_ nogajun [たかさん、ごぶさたですー。 ひさびさラジオに出ました。で、建物は新しくなりましたが今も鷹取ですね。 というか世話人を..]