サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
coelacanth.heteml.jp
年々、ブログでのアウトプットが減ってきている気がして申し訳ないのですが、今年もMicrosoft MVPを更新できました。 カテゴリーはDeveloper Technologiesです。 去年も同じカテゴリーですが、ブログではWindows Developmentのままでした・・・(今はなおしてあります)。 ちゃんとアワードを頂いた分は、情報公開で返したい! と毎年思いながら、ブログでのアウトプットもせずに1年が終わってしまうというパターンですが、今年はブログまたは別の方法による発信を強化していきたいです。 もちろん、何も活動をしていないわけではなく、LinkedInでの動画公開を中心に色々と試みは行っているのですが、勉強会などオンラインでがんばっているコミュニティの活性化になどにも尽力できたらなぁと今年は思う次第です。 EC-CUBEも新しいバージョンが出たので、触っていかないと!
WindowsPhone7(以下WP7)の開発を行う場合にエミュレーターを利用した開発については、無料で(しかも簡単に)はじめることができます。まずは、エミュレーターで開発するところまで構築してみましょう!! (エミュレーターでデバックしている画面。PC上でWP7を模したウィンドウが立ち上がる) AppHubはWindowsPhone7のツールのダウンロード、アプリの申請、支払いの設定などができるWP7開発のホームグラウンドです。 ユーザーアカウントを作成すれば上記のような色々なことを行うことができますが、開発ツールをダウンロードするだけならユーザーアカウントは不要です。 まずは、下記画像の「ツールをダウンロードしよう!」の部分をクリックします。 (画面は今後変更になるとは思いますが、同じ感じでトップページにツールDLのリンクがあると思います) 次のページの以下画像にある今すぐインをクリッ
今回は今まで紹介してきた記事の中からクライアント・サーバー間通信の処理のまとめを行います。 書いているうちに一回で収まらないことが明白となってきましたので、まずはFlashクライアントからRed5のメソッドを呼び出す部分について紹介。次回は、Red5サーバーからFlashクライアントへの呼び出しを行う処理を紹介します。 (ActionScriptのバージョンは3、Red5は0.9.1で動作確認を行いました) Red5サーバーに接続したFlashクライアントからRed5に定義されたメソッドを呼び出します。 クライアント側のコードはFlashMediaServerに対して行うものと同様に以下のように書きます。 // ActionScriptコード(一部Flex依存コードがありますのでFlashCS系で利用する場合はeventの部分などを書き換えてください) import mx.events.F
前回作成した動画プレイヤーは再生、停止ボタンしかありませんでしたが、前々回のマーカー移動のボタンと、再生位置を変更するためのシークバーをつけてみようと思います。 動作サンプルは以下のようになります。 今回のサンプル確認 かなり動画プレイヤーっぽくなってきたのではないでしょうか? 前回同様ソースコード全文を掲載します。かなりコードの量も増えてきましたので、さらっと流して以降の解説に目を通すのが良いかもしれません。 まずはxaml。 <UserControl x:Class="new_movie_player_003.Page" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="640" H
久々にRed5について書きます(久々すぎてRed5のバージョンが0.6系から0.8系にあがってました)。 今回はEclipse用のプラグインのインストール方法を紹介します。 以前に紹介してきた方法でも開発は可能ですが、プラグインを用いると自動でファイルの反映、Eclipse上でデバック実行ができるなど開発が便利になります。 (2010/01/26現在 Red5のバージョンは0.8、プラグインのバージョンは0.2です) Eclipseプラグインのインストールは通常、解凍したファイルをpluginsなどに配置するタイプと、ソフトウェアの更新からWeb上のファイルを自動でインストールする方法の2通りあります。 今回は後者、ソフトウェアの更新からのインストールです。 上部メニューの「ヘルプ」→「ソフトウェア更新」をクリックします。 表示されたポップアップメニューの「サイトの追加(A)」をクリック。
前回のエントリからそんなに時間がたったわけではないのですが、Red5 0.9がRCからFINALに変更されました。Windows環境だと現在のところred5-shutdown.batでシャットダウンできないケースがあるので、 その場合はRCバージョンのred5-shutdown.batを上書いてあげると良いようです。 今回はRed5の面白いライブラリxuggleを紹介します。xuggleプラグインを用いるとクライアントから配信されてきた映像をRed5サーバー上で加工することが可能になります。 (2010/02/02現在 Red5のバージョンは0.9です) まずはダウンロードページからxuggle本体(xuggle-xuggler-setup.exe)を落としてきてインストールします。 下記画像にもあるとおりJavaのバージョンは1.5以上が必要なことに注意してください(残念ながらWindo
FlashMediaServerの開発において、心配の一つに改ざんされたswfによる接続があげられると思います。 改ざんされたswfもしくは、意図しない不正なswfクライアントからの接続を拒絶する方法として、許可されたswfしか接続を許さない「swf検証」という機能がFMS3以降に追加されました。 今回はそのswf検証の方法を紹介します。 swf検証はデフォルトでオフになっているので、Application.xmlの設定を変更する必要があります。 <SWFVerification enabled="false"> を以下のように書き換えてあげます <SWFVerification enabled="true"> これでswf検証が機能し始めました。デフォルトでは許可されたswfが登録されていませんので、すべてのswfからの接続が不可になりました。 この状態を楽しむ余裕のある方は、試しにFM
Red5とは、フリーのFlashMediaServer互換アプリケーションです。 FlashMediaServer(以下FMS)はAdobeの提供する、Flashと親和性の高い、サーバーアプリケーションで、ストリーミング動画の配信や、映像付きチャットなどのコンテンツを作成することができます。 しかし、Adobeの該当ページを見てもわかるとおり、FMSは非常に高価なアプリケーションで, 個人で利用できるのは、接続制限やグローバル公開不可のデベロッパー版か、レンタルサーバーのヘテムル など、どうしても制限のある環境になってしまいます。 その点、Red5は無料で利用可能で、サーバーさえ用意すれば(今やサーバーもハード数万、OS無料で用意できる時代です)手軽に動画配信などを楽しむことができます。 資料などが少なく(FMSも十分とはいえませんが)、日本語の情報は更に少ない状態なので、FlashMed
このサイトはcoelacanthがプログラマーとして学んで来たことをまとめるサイトです。 おもにブログに書いたことをアーカイブ化するのが目的なので、興味がある方はブログの方も眺めてやってください。 質問、ご指摘等ございましたら。ブログかmac.nishimura@gmail.comまでご連絡ください。
初めての言語を触る際にまずやるべきは、デバック方法の確認というのが持論です。 エラー内容を知るのが一番ですが、これはエラーに遭遇しながら経験で身に付けていくしか無い部分が多いので、まずは問題箇所の特定のための道具をマスターしましょう。 何はともあれ、Visual Studioの方がExpression Blendと比べて断然、詳細なデバック機能がありますのでVisual Studioでの実行環境を構築しておくのが良いと思います。 本ページもVisual Studioを前提に話を進めていきます。 まずは任意の値や、文字列をコンソールやデバックウィンドウに表示するTraceTraceの方法から。 VisualStudioは便利なデバッカがあるためか以外とこの方法が入門書などにも書いてないので、困りもの。 C#でデスクトップアプリケーションを開発する場合なんかはTrace.Write("hoge
Wowza Media Serverは Flash Media Server(以下、FMS)互換のサーバー製品で、 Flashから接続し、動画のストリーミング再生、ライブ配信、多人数接続でのチャットサービス、テレビ会議など可能にする製品です。 同様の製品としてRed5という無料のサーバーがありますが、 安定性に不安があり、実績面でもWowzaの方が一歩リードしているというのが現状の評価でしょうか。 価格はFMS3のインタラクティブ版が60万、Wowzaが10万、Red5は無料とかなり開きがありますので、開発者としてはしっかり見極めて適切な製品をチョイスしたいところですね。 というわけで、本コーナーではFMS、Red5との比較を行いながらWowzaの開発入門としてサンプルコードを掲載していこうと思います。 まずはWindows環境にDevelop版(開発者向け)のWowza Media Se
めずらしく画像の加工とかやってみました。 Tween所利回りもFlashとFlexで違うクラスを利用するようで面倒くさい。 Flex用のTweenの処理を覚えるのも面倒だったので今回はTweenerライブラリを利用してみました。 サンプルの動作を見てみる サンプルを見てもらえばわかり通り、一枚の画像を四角く分割して、それをアニメーションさせながら一枚の絵にまとめるという、いまどき珍しくも無いFlashです。 ソースコードは以下(全文はswf上で「右クリック」→「ソースの表示」で見ることができます)。 まずは一枚の画像を指定した枚数に分割して返してくれるBitmapImageSlicerクラス。 package As.Model.Image { import flash.display.Bitmap; import flash.display.BitmapData; import flash
swfからFlash Media Serverに接続して動画を配信する場合、Sorensonという形式でエンコードされ配信されます。 その他のコーデックを選べない理由はFlash Media Serverのライブ配信は、クライアント側でエンコード処理を行うため圧縮効率は高いが負荷の高いコーデックなどは適しておらず、 比較的負荷の少ないSorensonが選択されたということのようです。 それではH.264などの高画質でライブ配信する方法が無いかというと、Flash Media Encoder 2.5 という映像、音声配信に特化したソフトウェアがあり、これだとH.264とV6形式のエンコード方式が利用可能で、最大640×480の映像を高ビットレートで配信可能です。 というわけでFlash Media Encoderを利用してみたので、そのメモを残します。 まずはAdobeのサイトからファイルを
Touchless というUSBカメラを用いて操作するツールでFlashを操作するアプリを作ろうと思い立ち、 TouchlessはC#のSDKが公開されているので、そのまま利用。 Flashはセキュリティ等が手間なのでAIRアプリでまずは作ってみる。 実現方法としては、Touchlessを用いたC#アプリがサーバーの役目をして、ソケットを開いた状態で待機。AIRアプリはそこに接続してTouchlessの操作情報を受け取るというので行けそう。 というわけで、まずはソケット通信でAIR、C#間でデータをやり取りするサンプルを作成。 C#のコードはVisual C#.netではじめるネットワークプログラミン (1) を参考に少しだけ変更を加えた。 コードは以下。 using System; using System.Collections.Generic; using System.Linq;
当初Silverlight2βについての紹介記事を書いていた本コーナーですが、Silverlight2もベータが取れて正式版が利用可のとなりました。 遅ればせながら本コーナーもSilverlight2対応として全面リニューアルしていこうと思います。 Expression Blendは試用期間切れなので、開発アプリはVisual Studio 2008、使用言語はC#です。
FlashMediaServerとその互換アプリケーションに接続する場合、通常rtmp://{ドメイン名}/{アプリケーション名}という形で接続先を指定してあげます。 例えば4人一組で立方体に描かれた絵柄を揃えあうようなゲームを2組で同時に行う場合に、アプリケーション名が違った2つの同じプログラムを用意して別々に接続することや、 アプリケーションに接続する際にクライアントから部屋情報になるようなデータを渡して管理する方法もありますが、アプリケーションをインスタンス化する方法が便利です。 インスタンスを分ける方法は簡単で、先ほどの接続先にインスタンス名を追加してあげれば良い。例えばrtmp://coelacanth.heteml.jp/tv_meeting/001記述することで、tv_meetiongというアプリケーションの001というインスタンスに接続したことになる。 内部的な構造がどうな
思い起こせば、ケーキナイフを捨て、キーボードに持ち替えて受けた面接に持ち込んだ作品もFlashでした(その際はデザイナーとして応募して、見事に落選。プログラマーとして同社に拾ってもらいました)。 その作品もあって、業務もFlash、FlashMediaServerを利用する部署に配属され、Adobe漬けな人生を歩んでいます。 HTML+JavaScriptには無い動的な仕掛けができるFlashが(最近ではJavaScriptが表現の幅を増やしていますが)も、 ActionScprit3やFlexでプログラマに近い存在になり、Papervision3Dや物理演算のライブラリが公開されるなど、更に広がりを見せ、 ニコニコ動画などの動画サービスによりFlashMediaServerの注目度も上がってきています。 FlashMediaServerも最近は丸くなってきた(価格、ライセンス数、オリジン
ActionScriptを用いた動画転送と、サーバー側で受け取った動画をffmpegでflvに変換するサンプルです。ですが、最低限動作するだけのコードなので、良い子は絶対にグローバルにあげてはいけない類です。 Flash側のコードは以下のようになります。 package src { import flash.net.FileReference; import flash.events.Event; import flash.net.URLRequest; public class Main { private var _file_reference:FileReference; public function Main():void { this._init(); } /** * @description 初期化処理、browseでファイル選択のウィンドウを出す */ private fu
FlashMediaServer はAdobeが提供する、サーバーアプリケーションで、Flash同士の情報の共有、動画のストリーミング配信、ユーザーのカメラ映像の送信などが可能にります。 今ではCometなどサーバーからクライアントにプッシュする仕組みも普及してきましたが、FlashMediaServerもサーバーからプッシュ可能なアプリケーションです。 いろいろ、面白いことができそうな気がしてきましたね。 難点は個人で利用するには高価という点です・・・ それでもFlashMediaServerを利用できる格安のレンタルサーバー(ヘテムル) も登場し、Adobeから提供される開発者用の試用版なら、制限はあるもののローカル環境でテスト利用することも可能です。 このコンテンツではFlashMediaServer3の情報や、ActionScript3+FMSのサンプルコードなどを掲載していく予定
それでは、これまで解説したことを元に簡単な動画配信機能付きチャットシステムを作成したいと思います。 第一段階として、ハンドルネームを入力してサーバーにログインする仕組みを作成します。今回新たに追加されたRed5側の処理は、同一ハンドルネームのユーザーがログインしてきたら、接続を拒絶する処理です。 サンプルで動作を見てみる Red5側で接続したユーザーを切断する処理は、 rejectClient("same_handle_name"); と書きます。引数は切断した際にクライアントに渡すことのできる値です。切断理由などを渡すのがおもな用途になると思います。 FlashMediaServerで、 application.rejectConnection(Client, reasonObject); のように接続クライアントを拒否した際に第2引数で値を渡せるのと同様ですね。 サーバー側のコードは以
Javaでの開発はEclipseが便利なので、ローカルPC上で開発→サーバーにアップというスタイルで紹介していきます。 まずは、新規でJavaプロジェクトを作成します。 プロジェクト名はTestRed5(任意)としておきます。 TestRed5ディレクトリが作成されますので、その下に「WEB-INF」ディレクトリを作成、 さらにそのWEB-INFの下に「classes」「src」フォルダを作成。 下画像のような構成にします。 次にパッケージ・エクスプローラー(Eclipseデフォルトだと画面左にある)のTestRed5のプロジェクトを右クリック、 メニュー下方の「プロパティ(R)」をクリック 表示された項目から「Javaのビルド・パス」を選択ソース・フォルダーと、ライブラリーの設定を行います。 上部タブの「ソース(s)」を選択、右側のボタン「ソースフォルダーの追加(A)」からWEB-INF
先日ブログで公開した、カメラの映像をストリーミングでflvとして保存するプログラムのコードを掲載します。 サンプル(要カメラなのでリンク先で表示) Red5への接続後は、カメラ映像配信、ストリーミングを録画、録画したflvを再生の全ての手順をFlash側で行えるので、サンプルコードはFlash側のみになります。 FlashMediaServerの利用経験のある方は同じみのコードだと思います。 ポイントはns.publish('recTestRec', 'record');と映像パブリッシュ時の第二引数にrecordを指定すること、 このぐらいですね・・・このままFMSに接続しても動作するコードというのもポイントでしょうか。 動作はサンプルを触ってもらえば説明の必要が無いと思いますので、早速コードを掲載。 ステージ上には、ビデオMCとボタン用のMC、コメント表示用のMCの3つを用意しておきま
このページを最初にブックマークしてみませんか?
『coelacanth.heteml.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く