Adobe Media Server 5 Starter でサーバに f4v 形式で保存する

技術検証のために、やってみた。

構成

インストール

両ソフト共に無料だけど、Adobe IDは必要な模様。 本当はCentOS用のファイルを落として、VirtualBoxでインストールしようと思ったけど、なぜかダウンロード出来ず。。。

Adobe ID取得のためには会社名とかいろいろ入れないといけないみたいだけど、"individual"とかてきとーに書いておいても通った。

Serverのインストールは、ダウンロードしたファイルを解凍し、「windows/AdobeMediaServer_5_LS1_win64.exe」を実行。

サーバの設定

普通にインストールした場合、「C:\Program Files\Adobe\Adobe Media Server 5」にもろもろのファイルが入ってます。

  • samples/applications/livepkgr を、 applications 以下に hoge というフォルダ名にコピー
  • main.asc の98行目の Stream.get の引数を "mp4:" + streamObj.name + ".f4v" に変更

クライアントの設定

  • Flash Media Live Encoder を起動
  • 下記を設定
    • FMS URL : rtmp://192.168.81.2/hoge
    • Stream : livestream?adbe-record-mode=record&adbe-live-event=liveevent
  • 「Start」ボタンを押す

これにより、 hoge/streams/_definst_/livestream.f4v が作成されるので、てきとーなところで「Stop」ボタンを押す。

クライアントから再生してみる

  • サーバ:作成された livestream.f4vapplications/vod/media/hoge/ にコピー
  • サーバ: samples/videoPlayerwebroot 以下にコピー
  • クライアント:ブラウザにて http://192.168.81.2/videoPlayer/videoplayer.html にアクセス
  • STREAM URL:rtmp://192.168.81.2/vod/mp4:hoge/livestream.f4v を入力し、「PLAY STREAM」を押す

その他

以下、未確認。

手動でコピーするのもアレなので、スクリプトを変更する必要がある。
hogeアプリケーションが他のディレクトリを操作できるように、 Application.xml を操作する必要がある。

<FileObject> 
    <VirtualDirectory>/vod;C:\Program Files\Adobe\Adobe Media Server 5\applications\vod</VirtualDirectory> 
</FileObject>

main.asc の111行目で onStatus を定義しているので、そこで info.code == "NetStream.Record.Stop" の場合にファイルの移動を実行する。
ファイルオブジェクトは new File("/streams/_definst_/livestream.f4v") で作成可能。
File.renameTo()/vod/media/hoge/livestream.f4v に移動。

参考リンクなど