FLVの再生時間を取得してみる
なんか、2日分のお金をくれるので、動画アップロードサイトのプロトタイプを作ってみない?、とか言われる。
2日だと厳しいのでせめて3日と答えておく。
まあ、半分はお遊びなプロジェクトなわけですが(・∀・)
っで、休み時間を使って構成管理だとかプロジェクトの雛形あたりを用意。
この本も買ってきて、サーバにffmpegをインスコしたり、とりあえず今日は環境面のチェックまで。
- 作者: 月村潤,本間雅洋,堀田直孝,原一浩,足立健誌,尾花衣美,堀内康弘,寺田学
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/01/29
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 240回
- この商品を含むブログ (26件) を見る
その中から、FLVの再生時間を取得する方法について。
ネットで調べたところ、こんなカンジで良いのかな(・∀・)?
<?php function getFLVDuration($filename) { $duration = false; if ( file_exists( $filename ) ) { $handle = fopen( $filename, 'r' ); $length = filesize( $filename ); if ( $length > 3 ) { $magic = fread( $handle, 3 ); if ( $magic == 'FLV' ) { fseek( $handle, -3, SEEK_END ); $taglen = hexdec( bin2hex( fread( $handle, 3 ) ) ); if ( $length > $taglen ) { fseek( $handle, $length - $taglen, SEEK_SET ); $duration = hexdec( bin2hex( fread( $handle, 3 ) ) ); } } } fclose( $handle ); } return $duration; } ?>
取得できる時間の単位はミリ秒。
テスト用のファイルをいくつか試してみたところ、ちゃんと再生時間らしきものが取れまスタヽ( ・∀・)ノ
で、基本的なことは分かったので、後はWebのソーシャルほげほげサービス的な部分と、FLVプレイヤーの作り込みっと。
ちなみに提案書にYouTubeのパクリとか書くの自重(´・ω・`)