• Save
動画共有ツール
Upcoming SlideShare
Loading in...5
×
 

動画共有ツール

on

  • 5,728 views

 

Statistics

Views

Total Views
5,728
Views on SlideShare
1,038
Embed Views
4,690

Actions

Likes
3
Downloads
0
Comments
0

5 Embeds 4,690

http://mt.orz.at 4634
http://webcache.googleusercontent.com 37
http://translate.googleusercontent.com 12
http://cache.yahoofs.jp 5
http://hrt.happy.nu 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    動画共有ツール 動画共有ツール Presentation Transcript

    • xxxxxxxx動画共有サイト Project名 を1日で構築しよう 本名と所属
    • この資料はBLOGと併せて読んでね @tamtam180http://mt.orz.at/archives/2012/06/3.html
    • アジェンダ• はじめに• システム概要 適当な感じで• デモ 発表していくよ• システム構成• TIPS• 問題点• 次にやること
    • モチベーション• FRAPSで撮った動画を共有したい• モーションチェックやUI確認など• 将来的にはQAの検証報告のエビデンスと して
    • 問題点• ファイルサーバ – 各個人が好き勝手にプロジェクトサーバに置 くと速攻で枯渇する。 – ファイラーがNetAppだと超高い!!• FRAPS – FRAPSで画撮した動画は再生にFRAPSコー デックが必要 • 体験版入れておけばコーデックも入るので見れる けど。
    • 高いってどれくらいよ? ぶっちゃけ おいくら万円?
    • 参考: ファイルサーバのお値段• ローエンドのファイラー(FAS2020) – XXX万円 ¥¥¥¥• HDDのお値段 – XXXX円~XXXX円/1GB (ライセンス料込) ¥¥¥¥ ¥¥¥¥ – RAIDをリアルタイムで2重化 – 50GB追加 → 100GB + パリティ + スペアお金の話なの XX万円 –→で当然カット
    • Xxさんからのお告げ 上司 金を出せばい• 何か良い方法ないかなぁ? くらでも解決 はできる – WIN鯖ならD&Dだけで配信できる • WindowsServerOSは高い – ■■■■の■■■■■■を使う ある部署 ほげシステム • WMVだし、重いし。。• 「1日あれば出来ますよ」と口を滑らす – 本当に1日で作れるか試してみた – プロトタイプは1日で完成 – 色々こだわって作ったら3日はかかった
    • プロトタイプ RED5とかも 検討したよ• 動画ファイルをSambaにコピー – エンコードプロセスがSambaを監視• 動画上にコメントが流れる• 動画上のタイムラインにお絵かきが出来 る• プレイヤーはFLEX Builder3でさくっと作 成
    • これはプロトタイプコードも残ってってな い
    • プロトタイプ問題点• Sambaの監視 – コピー中のファイルを拾ってしまう – アップロードの完了タイミングを拾えない• FLEX BUILDER3 – 個人ライセンスなので誰も保守できない
    • というわけで作り直し
    • システム概要図 AJP Apache Tomcat Queue LDAP ZFS MySQLBrowser Flash Player Samba EncodeServer 動画解析 Process サムネイル生成 エンコード
    • 動作概要• WEBからアップロードする – 共有DISKに出力 – メタデータをDBへ• エンコードサーバ – 動画情報を解析する – サムネイル画像を生成する • 共有DISKへ出力 – エンコードを行う • 共有DISKへ出力
    • エンコードサーバ フィードバック Analyze/Thumbnail Encode Main Thread Thread ThreadMySQL Item Item Item WAIT_THUMBNAIL Item Item Item WAIT_ENCODE Item Item Item SUCCESS
    • デモ 見せられないの で代わりにスク リーンショットを 貼り付けます
    • BLOGに張っておきます
    • システム構成(フロント)• Solaris10, CPU???, Mem2GB• Apache-2.2, Tomcat-6.0.18, JDK6u13• MySQL-5.1.33 余ってる在庫 – InnoDB, MyISAM 機材• Samba, LDAP-Auth• ZFS(500GB ミラーリング) – Sofmapで8000円程度*2
    • システム構成(エンコード鯖)• WindowsXP(SP2) – CPU:Pen4 3.2G, Mem2GB – JDK6u13 余ってる在庫 – FFMPEG(C2D最適化ビルド) 機材 • ※Pen4用にリビルドするの面倒だった!! – FRAPSエンコーダー
    • システム構成 備考• WindowsとSolarisで分けた理由 – WindowsXPはTCP同時接続10本まで(EULA) • WindowsでWEBサーバは無理 • ファイルサーバも当然無理 – FRAPSコーデックはWindowsオンリー• SolarisだとZFSが使える – ミラーリングできる
    • システム構成(ネットワーク) DSに置くと転送量• 172. ■系に配置 やばい。 みんなの作業用 – xx系は■■■■のサーバールーム PCと同じセグメント に – xx系は個人PC – xx系とxx系の間で極端な負荷がかかると自動 で遮断する機能が入っている – 同一ネットワーク内に置いた方が他のプロ ジェクトに迷惑をかけない(はず)
    • 動画について• MP4コンテナ(H264/AAC)• FlashPlayerはMP4(H264)再生可能• H264はマルチスレッドでエンコード可能• FRAPS/1280x720 1411kbps 約3分 546MB – MP4に変換 – 劣化ほぼ無しで13MB FLV(VP6) は諸事情によ りやめた
    • 参考:FFMPEGオプション• -threads 2 -i %{inputFile} -qmin 1 -qmax 20 -bf 3 -crf 21 -sc_threshold 54 -partitions "parti4x4+partp8x8+partp4x4+partb8x8" - level 13 -flags2 "bpyramid+dct8x8+wpred+mixed_refs- fastpskip" -g 30 -keyint_min 1 -b 768k "- maxrate" "2000k" -me_range 64 -trellis 2 - vcodec libx264 -acodec libfaac -ar 44100 - ab 128k -async 1 -y - s %{size} %{outputFile}
    • FLASHの制約• BASIC認証を通すことができない• クッキーを送信する事ができない• ファイルダイアログがユーザークリック をトリガーとすることが必須になった
    • FLASH制約:BASIC認証(1)• ※セッションを使えばいいが、後述する クッキーが使えないのでセッションIDの 渡し方に困る。 – ユーザー名がなりすまし対策済みでプログラ ムに渡せれば良い
    • FLASH制約:BASIC認証(2) Servlet アップロード Servlet JSP(BASIC認証あり) (認証なし) マジックナンバー checkマジックナンバー生成 ユーザー名 DBに入れる DB
    • FLASH制約:COOKIE• COOKIEを送信できない – セッションが使えない – リクエストパラメータにIDを渡せば良い
    • FLASH制約:セキュリティ• JavaScriptから直接ファイルダイアログ が開けなくなった。• ユーザーのクリックイベント必須。 Button• Z-Index指定してかぶせてしまえば良い• もしくはFlashボタンを用意する
    • 社内向けに• 残りのDISK容量がわかる• エンコードサーバのステータスがわかる• ユーザ管理はBASIC認証任せ• 動画の解像度を指定できる• 帯域制限無し• オリジナルの動画も一定期間参照可能• 動画ファイルのダウンロードリンク• エンコードサーバが非力な場合でもパラパラサ ムネイルで早期に概要を確認可能
    • 問題点• Solarisでオールインワンサーバ – ZFSはメモリをもりもり食べる食いしん坊 • デフォルトで総メモリの75%持って行く – MySQLを快適に動かすにはメモリが(ry – Javaプロセスはメモリが(ry 後日、私物の INTEL-NICを• Solarisの蟹NICドライバ 刺しました – ■■さんがなんとかするんだと思います 上司• LDAP認証 – ■■さんがなんとかするんだと思います。 上司
    • 既知の不具合/問題 最終版では 直ってます• ファイルアップロード中に別タブで閲覧 するとanonymousがアップしたことに なってしまう• 動画をHTTPサーバ上に置いているためス トリーム配信ができていない• サムネイル生成に失敗してもエンコード を開始する• AVIファイルが前提になっている
    • 次に向けて コメント流しは 用途的に合 わないので入 れてません• 動画上にコメントを流す機能の復活• 動画上にお絵かきや吹き出しを入れる機 能の復活• RSS• 古い動画を自動で削除する(NO削除フラ グも)• 誰が見たかわかるようにする等
    • 謝辞• ■■のプロジェクトサーバをあさって勝 手に素材を使いました(ノ∀`)(一応デザイナに許可はとったよ)
    • ここから、後から追加した資料
    • 前置き• 本業がタスク量的に死にかけてた時なの で、基本的には対応しない方針だった。 – 数字書くとどこぞに怒られるくらい – 対応するにしても、2,3時間とかでできない とやってはいけない• という前提があります – こんなやっつけ対応はよろしくないです。
    • HDDの容量が!• 無くなる度に、近所のソフマップで購入• ZFSなので追加は楽ちん• その後、スロット不足によりHDDが足り なくなったのでSATAスロットが多いPCへ 変更• この作業は全て上司がやってた。 最後に見たとき には、8000くら い動画があった 気がする
    • タグ機能と検索• タイトルにブラケットを入れるとタグ化 – [VFX][xxx] 新しい魔法のエフェクトだよ • タグ: VFX • タグ: xxx• タグの入力欄を作るのが面倒だった
    • サウンドカット機能• iTuneで音楽流しながら動画撮るとそっち の曲が入ってしまうらしい – やっぱり聞きながら作業したいよね・・?• よろしい。ならばサーバにアップした時 に、サウンドを消しましょう – オプション機能です – オリジナルファイルには当然残ってるので注 意
    • 最終兵器機能• XXXの形式がアップできない! – ffmpegだとコーデックの種類に限界が• ならば最後の手だ – DirectShow経由でエンコードする • Windowsサーバなので出来ること – 一般的な形式ならこのオプションは要らない • いったい何で撮影してるんだろう。。