2008-02-16
PHPでFLVストリーミング,その2,成功したよパパン!の巻き
FLVのファイルフォーマット - Paradigm Shift Design及び
PHPでFLVストリーミング,その1 - Paradigm Shift Designの続き.
結局,FLVのファイルフォーマット仕様書を読んで,ちゃんとメタデータを出力するようにしたところ,ちゃんと再生された.
PHPでFLVをストリーミングするためのスクリプト(get.php)
うーん!長かった.
ただし,まだ再生開始位置や,ファイルサイズについては実装が適当なので,そのうちちゃんとタグを読んで,再生開始位置を決定するようにしたいと思います.
startとendも決められるといいな.
しかし,コードが冗長になってしまった・・・
一応使い方.
- PHP5の入ったサーバーの適当なディレクトリに,上記get.phpを作成する.
- そのディレクトリ内に,flvファイルを置く
- http://server.com/path/to/get.php?file=ファイル名&position=適当な数字でアクセスする
- なんか動いてそうなら問題なし.
Flex側で,
RadioApplication.as
package radio{ import flash.net.NetConnection; import flash.net.NetStream; import flash.media.Sound; import flash.media.Video; import mx.core.Application; import flash.events.MouseEvent; import flash.system.Security; import flash.media.SoundTransform; import flash.events.StatusEvent; import flash.events.NetStatusEvent; public class RadioApplication{ protected var nc:NetConnection = new NetConnection(); protected var stream:RadioNetStream; protected var video:Video; public function RadioApplication():void{ flash.system.Security.allowDomain("*"); this.nc.connect(null); this.stream = new RadioNetStream(this.nc); this.stream.play("http://server.com/path/to/get.php?file=0001.flv&position=1000"); } } }
RadioNetStream.as
package radio { import flash.net.NetStream; import flash.net.NetConnection; public class RadioNetStream extends NetStream { public function RadioNetStream(nc:NetConnection){ super(nc); } public function onMetaData(infoObject:Object):void { for (var propName:String in infoObject) { trace(propName + " = " + infoObject[propName]); } } public function onCuePoint(infoObject:Object):void { trace("cue point"); } } }
radio.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initApp();" xmlns:media="flash.media.*"> <mx:Script> <![CDATA[ import radio.RadioApplication; protected var application:RadioApplication; private function initApp(): void{ this.application = new RadioApplication(); } ]]> </mx:Script> </mx:Application>
のようなアプリケーションを作って実行してみて,音が鳴れば問題なく稼動しているということです.
- PHPでFLVストリーミング,その1 - Paradigm Shift Design
- PHPでFLVストリーミング,その2,成功したよパパン!の巻き - Paradigm Shift Design
- PHPでFLVストリーミング,その3 - Paradigm Shift Design
- FLVのファイルフォーマット - Paradigm Shift Design
- PHPでストリーミング,その4 - Paradigm Shift Design
- User Documentation for Flash Streaming via PHP, FlvStreamProvider - Paradigm Shift Design
トラックバック - http://d.hatena.ne.jp/kent013/20080216/1203192430
- Paradigm Shift Design - PHPでFLVストリーミングその3
- Paradigm Shift Design - PHPでFLVストリーミング
- Paradigm Shift Design - PHPでFLVストリーミング,その2,成功した...
- Paradigm Shift Design - PHPでストリーミング,その4
- Paradigm Shift Design - FLVのファイルフォーマット
- Paradigm Shift Design - User Documentation for Flash Streaming ...
- はちぽち だいあり - [http://d.hatena.ne.jp/kent013/20080216/12...
リンク元
- 19 http://mixi.jp/view_diary.pl?url=http://d.hatena.ne.jp/kent013/20080216/1203142793&owner_id=112701
- 3 http://d.hatena.ne.jp/httpmobile?http=//d.hatena.ne.jp/kotorikotoriko/20080213/1202904458
- 2 http://d.hatena.ne.jp/keyword/井上祐美子
- 2 http://mixi.jp/show_friend.pl?id=112701
- 2 http://www.google.co.jp/reader/view/user/12273478470861834411/label/it-news
- 1 http://72.14.235.104/search?q=cache:400-icrLPL4J:d.hatena.ne.jp/kent013/20080210/1202637700+fms+lighttpd&hl=ja&ct=clnk&cd=1&gl=jp&lr=lang_ja&client=firefox-a
- 1 http://d.hatena.ne.jp/deepfolte/20070204
- 1 http://d.hatena.ne.jp/deepfolte/20080204/1202065781
- 1 http://d.hatena.ne.jp/diarylist?of=50&mode=rss&type=public
- 1 http://d.hatena.ne.jp/kotorikotoriko/20080213/1202904458



