ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2012-05-16

[][]Silexを通して伝えたかったこと ~ PHPカンファレンス関西2012 ~

お詫び:

本当は月曜日にでもレポートを書こうと思っていたのですが、諸事情により*1このタイミングになりました。

f:id:brtRiver:20120512163417j:image

カンファレンス全体を通して感じたこと

5/12に大阪で開催されたPHPカンファレンス関西に参加してきましたのでまずはざっくりと印象を箇条書き。

  • 当たり前でも難しいタイムスケジュールがほぼ完璧だったんじゃないかと思います。すばらしいれす。
  • Ustの機材や設定がとても気になったのでどこかで公開してほしい。
  • 自分が知ってる里とは違う里の忍者、+くのいちが居た。
  • 去年はPHPのコードがなかなか出てこないという不満がありましたが、今年はお腹いっぱいでした。
  • ドラ娘の目の前の席でした。ごちそうさまでした。
  • 「あれ、今日は忍者じゃないんですか?」ってほとんどの人に指摘された。ニンニン。
  • 4Fにしか居なかったんだけど、各セッションの後の質疑応答で参加者からの質問があまりなかった。次回からは皆質問しようぜ。
  • LTは神業

番外

  • 無限もやしが売り切れるという矛盾を体験できた
  • 和民のあやしげなサワーには青く光る氷が入っているが、そのスイッチON/OFFの仕組みに感動
  • ひさしぶりに「チューハイカルピス」というフレーズで注文した

Silexのお話

そしてSilexについて20分ほど時間をいただけたので話をしてきました。

まず、最初にお詫び。「たった9行で」と熱く語りましたが、ご指摘あったとおり、はい、8行です。

私の澄んだ心では前日はどう数えても9行だった(ry

また、当日のUstが公開されていたので以下に紹介


Video streaming by Ustream

Silexの話を..といいながら前半5分ぐらいは"なぜフレームワークを使うのか"というSilexのSの字も無いお話でしたが言いたいことは前半でした。

すべてのフレームワークに精通する必要は全くありませんが、自分に合っているもの、またはチームやプロジェクトに適しているものを見極める必要はあります。

食べず嫌いにならずに、色々試してみてくださいね。PHPをプロ(仕事)として使うなら当たり前なことですが。


当日懇親会などで話していて感じたこと

キャッシュは大事

当日の講演の"笑けるほど速いPHP-Ninjaの裏側 WordPressの超高速化を支えるテクニック"でも指摘されていたように、Webアプリケーションでいうと、やはり"キャッシュ"をどこまでできるかが重要なポイントだと思います。

Symfony2がキャッシュを使わないと重いのは当たり前で、キャッシュを利用すれば YouPorn*2の実例紹介にあるようにSymfony2で1日1億PV+α捌くことだって可能なのです。

やりたいことによって必要な知識は全く異なる

大規模なアプリケーションを開発することとWPプラグインを作成することとにおいて必要な知識は全く異なると思います。

でも、"PHPを使えるようになりたい"という視点からは両方とも同じに見えてしまうかもしれません。

少しずつステップアップして理解していくことも必要ですし、必要以上に知らなくてもいいんじゃないかと思います。

そういう意味でも@yandoさんの"PHP classの教室"のような講座があるカンファレンスはとても良いと思いました。

このあたりはまた言いたいことがあるので別途ブログに書きます。

まとめ

スタッフの皆さんをはじめ参加者の皆さんも本当に楽しい時間をありがとうございました!

また来年のこのときまでにレベルアップします!

*1:日曜の夜から急性胃腸炎のため39度の熱と嘔吐頭痛下痢など丸3日身動きが取れない状態だったため

*2:あなたもお世話になっているかもしれない世界的に有名なポルノサイト

2012-04-26 このエントリーを含むブックマーク このエントリーのブックマークコメント

トイレの落書き。

とりあえずPHPで万能なWebアプリケーションフレームワークなんてない。

何をしたいか、何を重要視するかで、より「適している」かどうかが決まる。

google trendsだけで判断するのもおかしいし、周りが「良い」「悪い」って言うからといって自分にとっても同じ結果になるとは限らない。

そして、まだまだそんなに知られていない優れた設計のフレームワークはたくさんあるだろうし。

そんな中で自分はSymfonyが好きである。

Symfonyが糞重いというのは、利用しない機能部分のファンクションコールを減らしたり、キャッシュを利用したり、いわゆるM(モデル部分)をうまく書けば実用レベル。

本当に高速なものが欲しければPHPだとフレームワークなんか使わないのが正解。これ最強

ルーティングだけ欲しいならSymfony Componentのrouting使えばCodeIgniterよりも速いフレームワークができるはず。というか、実際できた。(しかもルーティングの定義をyamlで書くことができる)

Symfonyが決して使いやすいとは言わない。奥が深い。

自分にとってドメインモデルが邪魔されずに開発できるフレームワークというのが一番大切。

Silexの心地良さの基本も同じだと思ってる。

2012-04-24

[][] 4/25(水) 20:30〜 Symfonyしゃべりば - 春ですね - をust放送

春ですねー!開発してますかー?

f:id:brtRiver:20110425015404p:image

唐突ですが、明日夜に久しぶりにSymfonyしゃべりばUst放送をやります。

Symfonyしゃべりば - 春ですね - | Facebook

Symfonyしゃべりば Ustream

Symfonyしゃべりばとは、Symfonyのことも話ながらお酒のみながらゆるーい会話をただ流すだけのUst番組です。過去5回ほど?やってますが半年ぶりぐらいになります。


今考えいてるお題は以下の感じ

今のところ、私(@brtriver)と@ganchiku渋谷某所から飲みながらダラダラ放送する予定です。そうです。これまでのようなSkypeだけでのオンライン居酒屋とちょと違います。とはいえ、いつものようにSkypeで会話に参加もできるようにしたいし、どうせなら某所に飛び入り参加してもらってもOK。

あ、いつもは朝まで延長線で放送してたりしましたが、多分今回は2時間程度で終わるはず。多分。

というわけで、明日の夜時間がある人はいっしょに楽しみましょー!!

2012-03-21

[] FlashMediaLiveEncoderはコマンドラインツール(FMLECmd)を使うべし

FlashMediaLiveEncoder 、いわゆるFMLEは必要不可欠だけど不安定

Ust職人にとって、ある程度の高画質配信を行うためにはFlashMediaLiveEncoder(以下FMLE)は必須ツールです。しかし、このツールは(少なくともmacで利用している自分にとって)とても不安定です。

f:id:brtRiver:20120322030652p:image

FMLE3.2とMac OS X 10.7.3(Lion) だとプレビュー、アウトプットの映像が見えないというびっくりするような状態ですし、終了後にしばらくたつとアプリエラーの通知が表示されたりもします。

とはいえ、高画質配信をするためにはどーーーしても、FMLEを使いたいのです。


FMLECmdはFMLEのCUI版ツール

でも、これはGUIとしてのFMLEが不安定なだけでCUIで用意されているFMLECmdを使えばかなり安定していることがわかりました。なのでmacでのFMLECmdについて紹介したいと思います。

何か特別な用意が必要に思えますが、実はmacで標準のインストールを行うと以下にFMLECmdがインストールされています。cmdという名前のとおりコマンドツールなので作業はターミナルで行います。

黒い画面がわかんねーって方はとても親切なWebデザイナーの為の「本当は怖くない」”黒い画面”入門 Part.01 « FJORD, LLC(合同会社フィヨルド)を見てみるとよいと思います。


FMLECmdで配信するための手順

さて、ターミナルを立ち上げて以下のコマンドを入力すればFMLEのCUI版が起動します

$ cd cd /Applications/Adobe/Flash\ Media\ Live\ Encoder\ 3.2/CommandLineFMLE
$ ./FLMECmd /f ~/Download/ustream.fme.xxxx.xml /d

コマンドに渡しているオプションの意味は以下のとおり。他のオプションは /h とでも入れてみてね。

  • /f ... FMLEで指定するxmlファイル。指定しない場合は直近にFMLEでセットした設定が読み込まれます。
  • /d ... xmlにエラーがあっても標準設定値を使うようにするおまじない。エラーがでた場合はこれを指定

すると以下のような画面になります。

f:id:brtRiver:20120322030653p:image

この状態がFMLEでいう"START"ボタンを押した状態と同じです。

そして、CUIでは配信状態が刻々と表示されます。これらの情報は大きく3つのブロックに分かれています。

Current(現在のI/O)、Average(平均したI/O)、Publishing(現在の配信状況) です。

気にすべきはPublishingのBufferです。

もし、配信に遅延がほとんど無い快適な状態であればBufferは0secのままなのですが、(ネットワークが不安定になった場合など)帯域が不足したりすると、Bufferに溜まっていく様子がリアルタイムで把握できます。

こんな感じですね。

f:id:brtRiver:20120322030654p:image

これはわざとネットワークを切断してBufferに溜まっていく様子を再現しただけですが。。

このように、Bufferがずっと溜まっているような状態が続く場合は、視聴者のためにも一旦配信を止めてでも画質を落として安定的に配信するように設定を変える必要があると思います。(というか、事前にリハーサルで確認しときましょうね)

まとめると以下のような作業です。

  1. FMLEを起動してustから取得したxmlを読み込む
  2. 映像や音声、保存ファイルの設定したxmlファイルを作成し保存。FMLEは終了しておく。
  3. FMLECmdから上記で作成したxmlファイルを指定して起動
  4. ブロードキャスターから"配信開始"をクリックして配信開始
  5. 配信中の番組画面で配信状況を確認しつつバッファリングの様子を監視

デメリットはプレビューが見れないなどの制限ですが、今のところmacだとFMLEでもプレビューが見れないから変わらないしw

もう一歩手順を簡単にしてPCの負荷を下げる

これだけでも結構満足なんですが、ブロードキャスターを立ち上げて配信開始ボタンを押すのが面倒くさいですよね。わざわざ配信開始のためだけにブロードキャス(ry

というわけで、FMLEを立ち上げてstreamの文字列の最後にあるoffair文字を削除してxmlファイルを保存しなおします。

f:id:brtRiver:20120322030655p:image

これで、FMLEcmdからコマンドを叩くと同時に配信開始状態になります。これでブロードキャスターを立ち上げなくていいですね。もし、録画をする必要があるなら、ustにログインして番組設定からリモートブロードキャスターを起動すればこんなところに"録画"ボタンがあります。

f:id:brtRiver:20120322030656p:image

これで手順は以下のようにすっきり

  1. FMLEを起動してustから取得したxmlを読み込む
  2. 映像や音声、保存ファイルの設定したxmlファイルを作成し保存。FMLEは終了しておく。(offair文字を削除)
  3. FMLECmdから上記で作成したxmlファイルを指定して起動し配信開始
  4. 配信中の番組画面で配信状況を確認しつつバッファリングの様子を監視

ブロードキャスターを立ち上げなくてすむ分、メモリ使用量も減りますしブラウザも安定します。FMLEをCUIで利用するというのもメモリには多少は優しいですね。

CamTwist + FMLECmd + AU Lab + LadioCast が自分の中で今のところフリーでできるかなり最強な組み合わせじゃないかなと思います。

あ、AU Labはリップシンク対策とソフトミキサーとして使い、LadioCastは音声のモニタのために使ってます。

このあたりの感想は次回にでも。

ヽ(´ー`)ノ

2012-02-25

[] 勉強会をUSTREAM配信するときに注意すべき7つのこと

USTREAMで勉強会を配信するということも、Webカムが1台あればできる気軽さもありとても一般的になってきたと思います。

でも、いざ放送をするとなると注意しなければならないことが結構あります。

これまでの経験で注意しなければならなかったことをまとめておきたいと思います。

事前にネットに中継されていることを周知しておくこと

いざ勉強会開始時に「機材あるからやろう」ぐらいのノリでやってしまうと、発表者の資料に中継されてはまずい部分があったりすると問題になることもあります。

勉強会を企画した段階でustするかどうかは決めておくことと発表者に同意を得ることが大事です。

発表者の中にはustがNG、顔出しNGの方もいるかもしれませんので、その場合は特定のセッションは放送を停止するなど考慮が必要です。

また、勉強会開始時に参加者にもustを行なっていることを説明しておきましょう。

質問する内容もustに流れますし、その内容にオフレコなことがあるとまずいですよね。

さらに、カメラの前を通ると写ってしまうことも説明しておきましょう。

ustはtwitterと同じで誰が見ているかわからないということを意識すること

ustは誰が見ているかわかりません。人数しかわかりません。

プライベート設定にすればパスワードで制限を掛けることができますが、その程度の制限しか掛けることができません。

つまり"この場限りで"というような軽い気持ちで誰かを批判するような発言をしたりしたことが後で問題になることがあるかもしれません。

さらに、ustだと気軽に録画することができ、いつでも動画を見ることができるようになります。

こうなると"この場限りで"の発言ではなくなってしまいます。

プレゼンテーションの文字サイズは大きめで作成してもらうこと

プレゼンテーションの文字の大きさは自分が思っている以上に大きめにしておきましょう。

とくに、コードを見せる画面では文字が小さくなりがちなので意識したほうがいいです。

コードの説明はコードでない部分の説明に比べてコードが見えないと全くもって理解できないことが多いと思います。

これは、ustに限らず会場のプロジェクターが小さかった場合にも有効ですね。

音声は本番中のみ流す。開場時、休憩時はOFFにすること

講演中は発表者の声がメインで放送されるので問題ないのですが、休憩中も放送した状態で放置してしまうとマイク近くでの会話がそのまま放送にのってしまいます。

「おー久しぶりー、XXちゃん元気?」とか「名刺交換させてください。〇〇のXXです」などと個人情報ダダ漏れの場合もあります。

問題にならないためにも音声は本番中のみ流しましょう。場合によってはカメラもOFFにする必要もあるかもしれません。両方をOFFにした場合は放送が終わってしまったかのように勘違いされる可能性があるので、camtwistなどを使って"現在休憩中"などの文字を画面に表示すると親切です。

いつでも放送を停止できるようにスタンバイしておくこと

放送事故対策です。過去に何度か経験ありますw

映像よりも音声が大事。ステレオよりもモノラル

勉強会のようなustで一番大事なのは音声です。映像が汚くて資料が見えなくても、別途資料を公開してもらいそれを見ながらやればカバーできたりしますが、音声が聞き取れないのはカバーしようがありません。

音声は小さいよりは大きいほうがマシです。インプットレベルは大きめを意識するといい感じになります。

また、ステレオよりモノラルのほうが会話は聞き取りやすい場合が多いです。

会場にネットワークが用意されていても自前のwimaxを用意しておくこと

技術系の勉強会だと多くの方がのノートパソコンを持参してきます。そして、会場で提供されているネットワークを利用されたりします。結果として帯域が使い尽くされ肝心のustの放送に影響がでることも多いです。

会場に無線LANが用意されていても、自前のwimaxを利用したほうが放送が安定することも多いです。

事前の打ち合わせで"会場でネットワーク利用できますか?”と質問するより"会場でwimaxつながりますか?"のほうが自分にとっては重要なポイントだと思っています。

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |