VideoMarket CREATORS BLOGはじめます!

こんにちは。

株式会社ビデオマーケットにて、自社サービスの事業責任者及びVP of Engineeringをしている里山と申します。

弊社ビデオマーケットは、都度課金型VOD(TVOD)のサービスを主事業として展開しています。サービスとしての知名度は低いながらも配信本数は国内トップレベルの22万本以上を配信しております(記事執筆時点)。また、弊社は国内の動画流通総額の最大化を経営目標に掲げ、自社サービスの他にも「music.jp」様、「DMM動画」様、「SHARP COCORO VIDEO」様などとのアライアンスを通じて、弊社が権利元様より配信許諾頂いている動画の再生出面を広げる取り組みも同時に行っています。

弊社でも様々な技術やUI/UXについての知見がたまりつつあり、それを対外的に発表していく場として、CREATORS BLOGを作ることにしました。弊社のプロダクトに関わるメンバー達がいろんな角度から情報を発信していきますのでご期待ください!

第一回目の今回は、私里山から、弊社の開発における取り組みと変化の紹介ということで動画配信システムの概念と直近の技術スタックの移り変わり、エンジニアの意識向上などについてお話していければと思います。

ビデオマーケットの動画配信システム

弊社システムの技術的な特徴は一言で言うと「内製化」につきます。

以下は弊社の動画配信システムの概念図です。

f:id:satoyama_namito:20190704115453p:plain

動画配信システム概念図

まず、権利元様から配信許諾をいただいた動画については、エンコードシステムを介してCDNに配備されます。同時に、メタCMS/メタ取り込みシステムにより、権利元様から頂いた、動画のタイトルやあらすじ、キャストや価格、動画品質などの情報をメタデータDBに登録します。

自社サービスやアライアンスサービスはこのメタデータを利用して、動画サービスとしてのUI/UXを作り込んでいきます。アライアンス先に対しては、メタ連携APIを介し最小限の更新情報だけが日々提供されるようにしております。

弊社ではアプリやWebなどの再生面からの要求に応じて再生APIを介してCDN上にある動画URLを返す仕組みを持っています。動画自体にかけるDRM処理についてもクラウドサービスを利用するのではなく弊社内で自社運用しています。

権利元との交渉から獲得、動画のエンコード、サービスづくり、再生までを一気通貫で行うことによって、単純な自社VODサービスだけではなく、アライアンスサービスをはじめとした多彩なビジネスモデルを構築することができます。

直近では4月に、権利元様の直営による映像配信プラットフォーム「MIRAIL」をリリースさせていただいています。

www.videomarket.co.jp

VODシステムを構築している会社は世の中にそんなに多くないと思っています。そんな中で、許諾獲得から配信まですべてを内製で行っている弊社だからこそ、VODをするにあたっての詳しい知識を持っているメンバーも多数います。今後そういうメンバーから各システムの詳しい話を展開していければと考えています。

会社全体としての技術スタックの変化

昨年までの技術スタックは、オンプレミス上でのLAMP環境によるPHP開発が主軸でした。ただ、ここ一年で技術スタックが大きく変化しはじめました。そこには2つの要素が絡んでいます。

  1. 仙台開発チームによるMIRAILの開発
  2. 自社サービスのリニューアル開発

先述した、コンテンツホルダー直営の映像配信プラットフォーム「MIRAIL」については、弊社仙台オフィスで開発されています。ビジネスモデル的に既存のシステムとの結合度が深くないため、技術選定などにしばりがあまりなく、結果、GCPを利用したクラウド開発に大きく寄せることができました。生産性も非常に高く、弊社の技術スタックを考えるきっかけとしては十分な成果を果たしたといえるでしょう。開発メンバーもGCPUG仙台のコミュニティを立ち上げるなど、積極的な活動を行っています。

また、仙台オフィスのメンバー達がGoogle Cloud Next Tokyo 2019のセッションで登壇することになりました。8/1ですので、ぜひ足をお運びください。

cloud.withgoogle.com

また、別途自社サービスのリニューアル開発においては、現在のレガシーな環境から脱し、グロースハックしやすいようなプロダクト、誇りを持てるプロダクトを作るということを旗印に、1年かけて開発を行っています。

こちらでは2つの大きなチャレンジがありました。

ひとつはGCP+サーバサイドKotlinの採用です。過去のしがらみを解き放ち、マイクロサービスアーキテクチャを構築する上で、モダンな言語を選ぶという英断を現場が行ったことで大きな学びを得ることができました。

もうひとつは、アプリ開発におけるFlutterの採用です。Flutterの採用については、もともとはアプリエンジニアが枯渇している状況があり、AndroidエンジニアとiOSエンジニアが共通で開発できる環境を構築したいということが理由にあったのですが、世の中的にも非常に新しい事例を作れるという価値をメンバーと握り、一部検証を重ねた上で採用するに至りました。

flutter.dev

リニューアル開発は現在8月〜9月にリリースするために最終調整中ですが、UI/UXも含めてすべてを見直してきた甲斐があり、非常にワクワクするものができてきています。(私の一部登壇などで7月と宣言してきましたが、少し伸びています。)

それぞれ、開発メンバーやデザイナーの仲間などからも外部発信していきたい情報がたくさん蓄積されてきていますので、順次、このブログで公開していければと思います。

採用への想いや海外出張、外部発信

直近の開発メンバーの意識向上もあって、技術スタックが変化し、弊社への応募条件は多様化しました。

技術の選択肢が増えることで様々なバックボーンをもった仲間、感度の高い仲間と出会えることを期待しています。

f:id:satoyama_namito:20190703164920p:plain

弊社では今年から、Google I/OやWWDCなどの海外カンファレンス参加にも積極的に行っています。現場で世界のど真ん中の技術を知り、世界から集まったエンジニアの反応をみたり、会話してみたりする経験は、開発メンバーの目線が自然とあがることにもつながると思っています。参加するメンバーには、社内での報告会登壇と、外部勉強会での登壇が条件となっていますが、みんな前向きに外部発信するようになってきています。

f:id:satoyama_namito:20190703181155j:plain

Google I/Oにて

最後に

 150人という会社規模のベンチャー企業ではできること、できないこと、やらなければならないことの判断を日々行ったり、まだまだ未熟な組織状況に向かい合ったり、毎日が変化の連続です。会社のフェーズに合わせてうまく立ち回り、正しいものを作り続けていく覚悟とバイタリティが求められます。

私達がこれから出していくプロダクトもワクワクするものがたくさんあり、これからあらためて新しい一歩を踏み出せる気がしています。

エンタメ業界で新しい技術要素に触れたり、課題解決を志すエンジニアやデザイナーの方はぜひ声をかけていただけたらと思います。