最終更新日:2011-12-10

このページの内容はintel Mac C2D 2.4GHz、Mac OS X 10.6.xで確認したことが書いてあります。それ以外の環境では駄目な場合があるかもしれません。

Macで配信してみる

ややこしいやり方ですが一応成功したようなのでメモしておきます。

概要

以前はVLC経由でしたがいろいろ試していたら音がpcmと無駄にビットレートが高くなりますがffserverのasfストリーミングを直接PeerCastで配信できてwmpで視聴可能になりました。また、画像取り込みもjpg圧縮しなくていいと気がついたので取り込み時のCPU負荷が下がりました。

関連ファイルダウンロードと使い方

PPCには対応してません。

ダウンロードしたffmpeg,ffserverを下記画像のようにhaishinStarterの同じフォルダに入れてください。ダウンロードが別ファイルになっているのはサーバに最大ファイルサイズの制限があってまとめるとオーバーするからです。

haishinStarterを使った配信方法

  1. Soundflowerで音を取り込めるようにする。
  2. haishinStarter.appをスクリプトエディタで開いて、チャンネル名やPeerCastのアドレスなどを設定してください。
  3. haishinStarter.appのフルパスに日本語、半角スペースがあると動かないかもしれません。
  4. その後haishinStarter.appを実行するとターミナルでウインドウが2個開いて配信を開始します。
  5. コントロールキー + c でターミナルで走っているプロセスを終了することができます。ウインドウを閉じても終了できます

自分で配信できているか確認するにはWMP9が音は出ないけど確認しやすいです。WMP9はmmsじゃなくてhttpで繋いでください。mplayerでも確認できます。たまに接続に失敗しますが何度かやっていると成功します。

やり方概要

詳しくはAppleScriptを見ると分かると思います。

  1. Soundflowerで音を取り込めるようにする。
  2. screen2rawとwriteaudio2stdoutの出力をffmpegにいれてffserverでasfストリーミングにする。配信URLはhttp://127.0.0.1:8090/test.asf
  3. ffserverのasfストリーミングをPeerCastで配信する

テストで使ったアプリのバージョン

ここで重要なのがffmpegのバージョンをr17630にするということです。なぜこのバージョンかと言うと[FFmpeg-user] ffserver streaming to WMPにこのバージョンだと映像のみのストリーミングに成功したと書いてあったからです。で、試しに音をpcm_s16leにしてみたらWindow7のwmpとXPのwmp11でffsever→PeerCastの映像と音のストリーミングの視聴に成功しました。

テスト結果

音の保存の仕方

Soundflowerというソフトを使うとMacで鳴るすべての音を動画に保存できる様になります。

設定

サウンド設定:入力
Soundflower_input
サウンド設定:出力
Soundflower_output
音が出なくなりますが、メニューで次の様にBuilt-in Audioを選ぶと音が出る様になります。
Soundflower_menu

screen2rawの使い方

コマンドの使い方はscreen2raw fps width height position-x position-yとなっています。省略するとデフォルト値が使われます。

writeaudio2stdoutについて

出力は片方のチャンネルだけです。モノラルではありません。