Fms

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Fms as PDF for free.

More details

  • Words: 442
  • Pages: 43
FxUG@北陸 第一回勉強会

FlashMediaServerを用いた 簡単動画投稿サイト

2009.2.16 株式会社Dooga 西村 誠 

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

アジェンダ

・自己紹介 ・FMSの紹介 ・動画投稿サイトの概要 ・FMS周辺の詳細 ・FFmpegについて ・苦労した点 2009年2月23日月曜日

FxUG@北陸 第一回勉強会

自己紹介

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

ブログ:眠るシーラカンスと新米プログラマー サイト:シーラカンスのまどろみ Twitter:coelacanth

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

プログラマ歴3年 Flash歴2年 Flex歴1年

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

チーズケーキ作成歴5年!!

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

こんなんとか

こんなのを売ってました こんなお店で・・・ 2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FMSの紹介

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FlashMediaServerとは ・Flash間の相互通信を簡単に実現でき ・動画のDRM付き配信や  ストリーミング配信を可能にし ・P2Pなんかも可能にするかもしれない

いまとってもHot(自分の中では)なサーバー製品です 2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FlashMediaServerとは(その2) ・お値段は614.250円ととってもリーズナブル

・今はFlashMediaServerですが昔は   FlashCommunicationServerという名前でした もちろん、コードの中にFCSという昔の呼び名の単語がいっぱいだっ たり、移行途中にFCSなのかFMSなのか等の呼称で混乱したりはして いませんよ・・・いませんとも・・・

・言語はサーバーサイドAS 2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FlashMediaServerとは(その3) それではFMSを用いると何ができるのか?

【代表例】ustream,ニコニコ動画

ビデオカメラやWebカメラを用いたライブ配信 や、動画配信サイトが作れます

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

動画投稿サイトの概要

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

まずはデモ

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

材料

【サーバー側】 ・FreeBSD(OS)

・FFmpeg(おまけ)

・Apache(Webサーバー) ・MySQL(データベース) ・PHP(サーバー側言語)

・FlashMediaServer

【クライアント側】 ・Flash(録画用、再生用各1つ) ・Silverlight(おまけ)

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

 サーバー側は一般のレンタルサーバーなどでは 実現し難い構成ですが、FMSを使えるレンタルサー バー(ヘテムル)などを利用すれば同様のものを作成 可能です。

※材料のFFmpegはSilverlight再生用なので無くても可です 【ヘテムル(月額1500円)】 2009年2月23日月曜日

http://heteml.jp/

FxUG@北陸 第一回勉強会

処理の流れ 録画用FlashでFMSサーバーに接続

FMSで映像を録画、DBに情報を保存

FFmpegでSilverlight用のWMVファイルを作成

クライアントで動画一覧表示&動画再生

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FMS周辺の詳細

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

AS3コード ドメイン:hoge.com アプリ名:hogeApp に接続するswfコードは・・・ var nc:NetConnection = new NetConnection(); nc.objectEncoding = ObjectEncoding.AMF3; nc.addEventListener(NetStatusEvent.NET_STATUS, netStatuEventHandler); nc.connect(“rtmp://hoge.com/hogeApp”);

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

ポイント!! nc.objectEncoding = ObjectEncoding.AMF3;

FlashMediaServer2以前のサーバー製品 に接続する場合はAMF0!! var nc:NetConnection = new NetConnection(); nc.objectEncoding = ObjectEncoding.AMF3; nc.addEventListener(NetStatusEvent.NET_STATUS, netStatuEventHandler); nc.connect(“rtmp://hoge.com/hogeApp”);

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

ポイント2!! nc.addEventListener(NetStatusEvent.NET_STATUS, netStatuEventHandler);

FlashMediaServerとの接続状態の変更 を通知してくれるイベント var nc:NetConnection = new NetConnection(); nc.objectEncoding = ObjectEncoding.AMF3; nc.addEventListener(NetStatusEvent.NET_STATUS, netStatuEventHandler); nc.connect(“rtmp://hoge.com/hogeApp”);

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

代表的なサーバー接続状態を示すNET_STATUSイベント ・NetConnection.Connect.Success   サーバーとの接続成功 ・NetConnection.Connect.Rejected   サーバーは動いているがなんらかの理由で   接続を拒否された。 ・NetConnection.Connect.Failed   サーバーとの接続に失敗 2009年2月23日月曜日

FxUG@北陸 第一回勉強会

動画の配信&録画&再生

・サーバーへの接続はNetConnectionクラス

・サーバーへの映像配信や受信するために ストリームを作成するのはNetStreamクラス

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

NetStreamを用いたコード public function netStatuEventHandler(e:NetStatusEvent):void { // 先ほどのNET_STATUSイベントの値をチェック switch() { case “NetConnection.Connect.Success”: // e.targe = NetConnectionクラス var ns:NetStream = new NetStream(e.target); // 動画の情報取得用のクライアントクラス ns.client = new NetStreamClient(); // 動画を再生 ns.play(“動画ファイル名”); break // その他のNET_STATUSイベントの処理を書く } }

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

ポイント!! ns.client = new NetStreamClient();

動画のサイズ等の情報を取得できる。

class NetStreamClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate); } public function onCuePoint(info:Object):void { trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type); } }

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

ポイント2!!

ns.play(“動画ファイル名”); ・再生する場合はplay(“動画orストリーム名”) ・配信する場合はpublicsh(“ストリーム名”) ・録画する場合はpublicsh(“ストリーム名”, “record”)

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

Swf, FMSの全コードはサイトに公開します シーラカンスのまどろみ http://coelacanth.heteml.jp/site/flash_fms/index

間に合えば・・・

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

おまけ FFmpegについて

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FFmpegとは?

・動画をいろいな形式に変換可能 flv→wmv=Silverlighで再生 mpeg→flv=Flashで再生

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FFmpegとは? ・コマンドラインから操作可能 サーバーサイドスクリプトから利用できる 今回はPHPからFFmpegを用いて 動画を変換しました

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

FFmpegとは?

・動画から画像も切り出し可能

動画のサムネイルを作成するのにいいです

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

サンプルコード

PHPからコマンドラインを操作する

system(”コマンド”);

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

コマンドライン 実際に実行されたコード // 画像を生成 /usr/home/mac/ffmpeg/ffmpeg -y -i

/usr/home/mac/RecordMovie_Red5_Streams/5.flv -f image2 -s 320*240 -ss 3 -t 0:0:0.001 -r 1 -an

/usr/home/mac/public_html/recordMovie/image/5.jpg // 動画を生成 /usr/home/mac/ffmpeg/ffmpeg -y -i

/usr/home/mac/RecordMovie_Red5_Streams/5.flv

-f asf -acodec wmav1 -vcodec wmv2 -b 4096k -ab 128k

/usr/home/mac/public_html/recordMovie/movie/5.wmv

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

参考書籍 FFmpegのコマンドオプ ション等は左書籍を参考に しました。

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

苦労した点

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

トラブル1 映像録画の際に音が無いと、音無のflvが作成され、 FFmpegでエラーになった swfは音声が一定レベル以下だと データ送信量削減のため無音にしてしまう。 Microphone.setSilenceLevel(0, 0); で、無音flvを生成しないように修正。

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

トラブル2 カメラ映像の品質を高くしすぎたために、録画さ れたファイルがとびとびになった

カメラの品質を落とした Camera.camera.setQuality(0, 65);

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

トラブル3 FFmpegがflvの音声コーデック(Nellymoser) に対応していなかった subversionから最新のコミットをDLしてコンパイル 最新のFFmpegでもマイクのHzによっては変換できないものがあるらしいので、 対応していない場合警告を出すように修正

Microphone.rateでチェック

2009年2月23日月曜日

FxUG@北陸 第一回勉強会

最後に

2009年2月23日月曜日

FlashMediaServerの 魅力を実感していただけたでしょうか?

2009年2月23日月曜日

とかいいながら、 今回のデモにはFlashMdiaServerを使っていないのは Adobeさんには内緒です

2009年2月23日月曜日

映像変換+サムネイル作成を用いれば FMSによる録画ではなく、 動画ファイルをアップするような サイトも作れますね

2009年2月23日月曜日

FMSとか、勉強会とか この後の懇親会で色々お話しましょう!!

FMS3.5の最新機能も非常に魅力的ですよー とかお話しましょう

2009年2月23日月曜日

ご清聴ありがとうございました

2009年2月23日月曜日

Related Documents

Fms
June 2020 11
Fms
July 2020 16
Fms
December 2019 20
Fms
December 2019 17
Fms Sop.docx
April 2020 7
Final Fms
May 2020 5