So-net無料ブログ作成

ffmpeg + ffserver で配信

サクッとやってみたいので、できれば Windows でやりたい。そして ffserver なるものを使えば
簡単そうというということがわかったが、Windows 版 ffserver はないみたい。同様のものを
使えばできるのかもしれないが、説明が充実している ffserver でやってみたいので linux
でやることに。
手っ取り早く VirtualBox に linux を入れてやろうと思ったけど USB カメラを認識させようとすると
なぜかハングするので挫折。結局は Ubuntu 12.10 のデスクトップ版をノートPCに入れて試しました。

linux なのでインストールがちょっと面倒ですが、無料だし、説明も充実して
います。親切な説明を掲載してくれている労力を思うと感謝です。

Ubuntu をインストール
普通にダウンロードしてインストールしました。

ファイルが壊れていないかのMD5のチェックは、いまどきなら(Win7なら)
OS 標準の PowerShell でできるようだ。

下記のスクリプトをhoge.ps1 などの名前で保存して、実行すればよい。
(http://blogs.gine.jp/taka/archives/1369 より)
$stream = New-Object IO.StreamReader "C:\Users\XXXX\Downloads\ubuntu-ja-12.10-desktop-i386.iso"

# MD5ハッシュ値を計算する
$md5 = [System.Security.Cryptography.MD5]::Create()
$hash = $md5.ComputeHash($stream.BaseStream);
$result = [System.BitConverter]::ToString($hash).ToLower().Replace("-","")

Write-Output $result


ただし、powershell のファイルを実行するにはスクリプト実行を許可しておく必要がある。
(http://builder.japan.zdnet.com/os-admin/sp_windows-7/20391227/ )

管理者権限でコマンドプロンプトを開いて
>powershell
でパワーシェルを起動して
>Set-ExecutionPolicy RemoteSigned
で有効化しておく。

上記スクリプトから出力されるなぞの文字列(ハッシュ値)が Ubuntu の
サイトにあるものと一字一句同じなら iso ファイルのダウンロードは成功している。
後は iso を DVD に焼いてインストールすればOK。

Ubuntu を起動していざターミナルを開こうとすると、どうやって開くのかわらない!
グーグル先生に聞くと画面左上の Ubuntu マークをクリックするとテキストボックスが
現れるのでそこに terminal と打てばよいことがわかった。いつの間にか
いろいろ進化しているようだ。

ffmpeg のインストール
ffmpeg のインストールは( https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide )
に従った。ターミナルにひたすらコマンドをコピペすれば滞りなくインストール完了。

Streaming してみる
ここの説明を参考にやってみた。

>ffmpeg -f v4l2 -r 20 -s 640x480 -i /dev/video0 out.mpg
とすればカメラをキャプチャして mpg ファイルが生成される。
ffmpeg は問題ないことが確認できた。

>ffmpeg -f alsa -i hw:0 -t 30 out.wav
で録音できがので、音声デバイスの指定はこれでOKな模様。

ffserver を設定する。
http://www.maibun.org/~nt/technicalnote/streaming/ffserver.html
を参考にして ffserver.conf を設定。というか全部デフォルト。
ファイルの出所は 前述のサイトにしたがってインストールしたなら
~/ffmpg/doc/ffserver.conf にあるのでとりあえず~/において利用することにした。
>cp ~/ffmpeg/doc/ffserver.conf ~/

ffserver を起動
>ffserver ~/ffserver.conf

ffmpeg を起動
>ffmpeg -f v4l2 -s 320x240 -r 25 -i /dev/video0 -f alsa -i hw:0 http://localhost:8090/feed1.ffm

ffplay で視聴
>ffplay http://localhost:8090/test1.mpg

5秒くらいタイムラグがあるが一応全体的に動くとこまではいけた。

問題点
課題がいくつか残って
- ほかのPCから再生できない(最初の絵が表示されて停止する)
- タイムラグ多すぎ

という状況。これらについてはまた後日奮闘します。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。