SlideShare a Scribd company logo
1 of 45
Download to read offline
動画配信サービスと CakePHP




        @rytich
     PocketBox LLP.
index
●
    自己紹介
●
    動画配信サービスについて
●
    サーバ構成
●   Cake と俺と iPhone と動画、あと動画
●
    非同期処理
●
    質問タイム
自己紹介
市江竜太
●   rytich
●   ゆとり Web プログラマ
●   PocketBox LLP. 構成員 ( 雑務 )
●   PHP 歴 5 年 CakePHP 歴 4 年
●   ブログ http://d.hatena.ne.jp/rytich ( 資料公開 )
●   twitter http://twitter.com/rytich follow me!
動
画
配信サービス
http://gemediar.com/
 (Powered by BaserCMS)
Gemediar ( ギメディア )

  動画配信サービス
Gemediar ( ギメディア )

  動画配信サービス
Gemediar ( ギメディア )

  動画配信インフラ
終わらないサーバ




       サーバ構成
管理
← 非公開     公開→
          API                           WEB

     DB                  動画ファイル
                             完了リクエスト                 元動画
                                                           投稿ユーザー
                                              HTML
           非同期処理
                                 ファイル
                変換                      動画ファイル
                                                     閲覧ユーザー

監視
← 非公開     公開→
          API                           WEB

     DB                  動画ファイル
                             完了リクエスト                 元動画
                                                           投稿ユーザー
                                              HTML
           非同期処理
                                 ファイル
                変換                      動画ファイル
                                                     閲覧ユーザー

監視
← 非公開     公開→
          API                           WEB

     DB                  動画ファイル
                             完了リクエスト                 元動画
                                                           投稿ユーザー
                                              HTML
           非同期処理
                                 ファイル
                変換                      動画ファイル
                                                     閲覧ユーザー

監視
← 非公開     公開→
          API                           WEB

     DB                  動画ファイル
                             完了リクエスト                 元動画
                                                           投稿ユーザー
                                              HTML
           非同期処理
                                 ファイル
                変換                      動画ファイル
                                                     閲覧ユーザー

監視
CMS フロント
●   PC/ 携帯 / スマートフォン対応
●
    動画ファイルもそれぞれ切り替える
●   厳格な DRM は無理
●   http://up-life.com/contents/ju4c2e895ada8b1
Ktai Library + themed
                  app_controller.php で PC/ 携帯 /
PC views          スマートフォン を判断
                  携帯とスマートフォン特有の ctp
                  ファイルのみ各テーマ内に作成す
     Ktai theme   る


    smartphone
      theme
非理
 同期処
     、
     そして
Cake
G a ma
  er n
Cakeと
GEARMAN?
●   http://gearman.org/
●   Perl
●   非同期処理 -> 列に並べと。
●   クライアント -> ジョブサーバ -> ワーカー
← 非公開     公開→
          API                           WEB

     DB                  動画ファイル
                             完了リクエスト                 元動画
                                                           投稿ユーザー
                                              HTML
           非同期処理
                                 ファイル
                変換                      動画ファイル
                                                     閲覧ユーザー

監視
API サーバ
 $sudo pecl install gearman

APP/models/contents.php
 $client = new GearmanClient();
 $client->addServer();
 $params = array("hash" => $data['Content']['hash'], "file" => $data
 ['Content']['file'], "callback_api_url" => CALLBACK_API_URL);
 $client->doBackground("ffmpeg", json_encode($params));
 if ($client->returnCode() != GEARMAN_SUCCESS) {
         $this->log("bad return code from gearman #" . print_r($data,
 true), LOG_DEBUG);
         echo json_encode(array("res" => false, "msg" => 'bad return
 code from gearman'));
         exit;
 }
【 PR 】 FVM に出展します

フクオカベンチャーマーケット
日時:7月26日 ( 月) 10:00〜17:00
場所:アクロス福岡 7階大会議室  ( 福岡市中央区天神 1-1-1)
参加費:無料  ※交流会ご参加の方は3,000円

@cohtan プレゼンテーション 12:20 - 12:50
参考資料
            エヴァンゲリオンタイトル集




ジョブキューサーバ Gearmand を PHP から使ってみた | tech.kayac.com
ありがとうございました
最後の質問
ショート URL
 ( 短縮 URL)
array(
        'controller' => 'contents',
        'action' => 'view',
        'id' => 'k1LoW',
    );

          http://example.com/contents/view/k1LoW

                             ↓

                 http://example.com/k1LoW

           どうやったらできますか?
レス頂きました! http://twitter.com/hiromi2424/status/17629546094

More Related Content

Viewers also liked

SlCC2007 UIC-CADE CeaseFire Island
SlCC2007 UIC-CADE CeaseFire IslandSlCC2007 UIC-CADE CeaseFire Island
SlCC2007 UIC-CADE CeaseFire Islandguest863790
 
Startups in Fukuoka
Startups in FukuokaStartups in Fukuoka
Startups in Fukuokaryota ichie
 
第1回 社内勉強会
第1回 社内勉強会第1回 社内勉強会
第1回 社内勉強会ryota ichie
 
Cluetrain Ch 2 And 3
Cluetrain Ch 2 And 3Cluetrain Ch 2 And 3
Cluetrain Ch 2 And 3George Howard
 
easy way to startups
easy way to startupseasy way to startups
easy way to startupsryota ichie
 
Hebrew University Debating Society - Promo
Hebrew University Debating Society - PromoHebrew University Debating Society - Promo
Hebrew University Debating Society - Promohuji.debate
 
Lean startups Partial Summary
Lean startups Partial SummaryLean startups Partial Summary
Lean startups Partial SummaryGeorge Howard
 

Viewers also liked (11)

SlCC2007 UIC-CADE CeaseFire Island
SlCC2007 UIC-CADE CeaseFire IslandSlCC2007 UIC-CADE CeaseFire Island
SlCC2007 UIC-CADE CeaseFire Island
 
Startups in Fukuoka
Startups in FukuokaStartups in Fukuoka
Startups in Fukuoka
 
第1回 社内勉強会
第1回 社内勉強会第1回 社内勉強会
第1回 社内勉強会
 
Cluetrain Ch 2 And 3
Cluetrain Ch 2 And 3Cluetrain Ch 2 And 3
Cluetrain Ch 2 And 3
 
entre class 2
entre class 2entre class 2
entre class 2
 
easy way to startups
easy way to startupseasy way to startups
easy way to startups
 
DistributedHoge
DistributedHogeDistributedHoge
DistributedHoge
 
FutureSync LT
FutureSync LTFutureSync LT
FutureSync LT
 
Hebrew University Debating Society - Promo
Hebrew University Debating Society - PromoHebrew University Debating Society - Promo
Hebrew University Debating Society - Promo
 
Caketest
CaketestCaketest
Caketest
 
Lean startups Partial Summary
Lean startups Partial SummaryLean startups Partial Summary
Lean startups Partial Summary
 

Similar to 第2回CakePHP勉強会@福岡

ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料Kentaro Matsumae
 
Thin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamThin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamToshiaki Maki
 
Facebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラーFacebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラーGaryuten
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミングSwapSkills
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーション筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーションlestrrat
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?Daichi Isami
 
The New Rich Text Editor
The New Rich Text EditorThe New Rich Text Editor
The New Rich Text EditorTaku AMANO
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
building HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicbuilding HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicNakano Kyohei
 
Web Technology Meeting
Web Technology MeetingWeb Technology Meeting
Web Technology Meetingdynamis
 
Webシステムとちょっと便利なツール
Webシステムとちょっと便利なツールWebシステムとちょっと便利なツール
Webシステムとちょっと便利なツールMasashi Shinbara
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintentsKensaku Komatsu
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例Yusuke Naka
 

Similar to 第2回CakePHP勉強会@福岡 (19)

ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
 
Thin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamThin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikam
 
Workshop1-03
Workshop1-03Workshop1-03
Workshop1-03
 
BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012
 
Facebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラーFacebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラー
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
 
Workshop1-02
Workshop1-02Workshop1-02
Workshop1-02
 
Workshop1-01
Workshop1-01Workshop1-01
Workshop1-01
 
HTML5最新動向
HTML5最新動向HTML5最新動向
HTML5最新動向
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーション筋肉によるGoコードジェネレーション
筋肉によるGoコードジェネレーション
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?
 
The New Rich Text Editor
The New Rich Text EditorThe New Rich Text Editor
The New Rich Text Editor
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
building HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicbuilding HTML hybrid app
 with ionic
building HTML hybrid app
 with ionic
 
Web Technology Meeting
Web Technology MeetingWeb Technology Meeting
Web Technology Meeting
 
Webシステムとちょっと便利なツール
Webシステムとちょっと便利なツールWebシステムとちょっと便利なツール
Webシステムとちょっと便利なツール
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 

Recently uploaded

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (9)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

第2回CakePHP勉強会@福岡

  • 1. 動画配信サービスと CakePHP @rytich PocketBox LLP.
  • 2. index ● 自己紹介 ● 動画配信サービスについて ● サーバ構成 ● Cake と俺と iPhone と動画、あと動画 ● 非同期処理 ● 質問タイム
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. 市江竜太 ● rytich ● ゆとり Web プログラマ ● PocketBox LLP. 構成員 ( 雑務 ) ● PHP 歴 5 年 CakePHP 歴 4 年 ● ブログ http://d.hatena.ne.jp/rytich ( 資料公開 ) ● twitter http://twitter.com/rytich follow me!
  • 11.
  • 12.
  • 13.
  • 14.
  • 16. Gemediar ( ギメディア ) 動画配信サービス
  • 17. Gemediar ( ギメディア ) 動画配信サービス
  • 18. Gemediar ( ギメディア ) 動画配信インフラ
  • 19. 終わらないサーバ サーバ構成 管理
  • 20. ← 非公開 公開→ API WEB DB 動画ファイル 完了リクエスト 元動画 投稿ユーザー HTML 非同期処理 ファイル 変換 動画ファイル 閲覧ユーザー 監視
  • 21. ← 非公開 公開→ API WEB DB 動画ファイル 完了リクエスト 元動画 投稿ユーザー HTML 非同期処理 ファイル 変換 動画ファイル 閲覧ユーザー 監視
  • 22. ← 非公開 公開→ API WEB DB 動画ファイル 完了リクエスト 元動画 投稿ユーザー HTML 非同期処理 ファイル 変換 動画ファイル 閲覧ユーザー 監視
  • 23. ← 非公開 公開→ API WEB DB 動画ファイル 完了リクエスト 元動画 投稿ユーザー HTML 非同期処理 ファイル 変換 動画ファイル 閲覧ユーザー 監視
  • 24.
  • 25. CMS フロント ● PC/ 携帯 / スマートフォン対応 ● 動画ファイルもそれぞれ切り替える ● 厳格な DRM は無理 ● http://up-life.com/contents/ju4c2e895ada8b1
  • 26. Ktai Library + themed app_controller.php で PC/ 携帯 / PC views スマートフォン を判断 携帯とスマートフォン特有の ctp ファイルのみ各テーマ内に作成す Ktai theme る smartphone theme
  • 27. 非理 同期処 、 そして
  • 28. Cake
  • 29. G a ma er n Cakeと
  • 31.
  • 32.
  • 33.
  • 34. http://gearman.org/ ● Perl ● 非同期処理 -> 列に並べと。 ● クライアント -> ジョブサーバ -> ワーカー
  • 35. ← 非公開 公開→ API WEB DB 動画ファイル 完了リクエスト 元動画 投稿ユーザー HTML 非同期処理 ファイル 変換 動画ファイル 閲覧ユーザー 監視
  • 36. API サーバ $sudo pecl install gearman APP/models/contents.php $client = new GearmanClient(); $client->addServer(); $params = array("hash" => $data['Content']['hash'], "file" => $data ['Content']['file'], "callback_api_url" => CALLBACK_API_URL); $client->doBackground("ffmpeg", json_encode($params)); if ($client->returnCode() != GEARMAN_SUCCESS) { $this->log("bad return code from gearman #" . print_r($data, true), LOG_DEBUG); echo json_encode(array("res" => false, "msg" => 'bad return code from gearman')); exit; }
  • 37.
  • 38. 【 PR 】 FVM に出展します フクオカベンチャーマーケット 日時:7月26日 ( 月) 10:00〜17:00 場所:アクロス福岡 7階大会議室  ( 福岡市中央区天神 1-1-1) 参加費:無料  ※交流会ご参加の方は3,000円 @cohtan プレゼンテーション 12:20 - 12:50
  • 39. 参考資料 エヴァンゲリオンタイトル集 ジョブキューサーバ Gearmand を PHP から使ってみた | tech.kayac.com
  • 42.
  • 43.
  • 44. ショート URL ( 短縮 URL)
  • 45. array( 'controller' => 'contents', 'action' => 'view', 'id' => 'k1LoW', ); http://example.com/contents/view/k1LoW ↓ http://example.com/k1LoW どうやったらできますか? レス頂きました! http://twitter.com/hiromi2424/status/17629546094