巨大なトラフィックにどう対応するか?
SHOWROOM・AbemaTVのエンジニアの仕事

Abema TV x SHOWROOM 〜ライブ配信サービスの裏側〜 #2/2

BIT VALLEY 2018
に開催
2018年9月10日、渋谷区文化総合センター大和田で、テックカンファレンス「BIT VALLEY 2018」が開催されました。サイバーエージェント、GMOインターネット、DeNA、ミクシィの4社が立ち上げた合同プロジェクト「SHIBUYA BIT VALLEY」。その発足に合わせて、若手エンジニアに向けた、多様な働き方や最新の技術にまつわるさまざまなトークセッションが行われました。トークセッション「Abema TV x SHOWROOM 〜ライブ配信サービスの裏側〜」に登場したのは、株式会社AbemaTVの山中勇成氏とSHOWROOM株式会社の志水理哉氏。日本を代表する2つのライブ配信サービスにおけるエンジニアの働き方について語ります。

パネルディスカッションで掘り下げる2社の仕事

堀良太氏(以下、堀):ここから、パネルはないんですけどパネルディスカッション的な。ちょっと有意義な雑談的なものができればなと思ってるんですけども。とりあえずその前に、壇上の3人の関係性を紹介します(笑)。

山中さんというか、みゆっきと自分がグループ会社で一緒にエンジニアをしてるので、もともと関わりがあって。志水さんと私はこの前、みゆっき主催の「Streaming Conference」というカンファレンスでお会いした、っていう感じなんですけども。おふたりは、もともと面識は?

山中勇成氏(以下、山中):あります。

志水理哉氏(以下、志水):でもStreaming Conferenceからじゃないですか?

山中:いや、1度会社見学に行ってまして(笑)。

志水:あ、DeNAの?

山中:はい。SHOWROOMのオフィスというか、DeNAの中にある会議室みたいなとこで会ったときに1回。

志水:でもそのとき僕まだSHOWROOM入ってないですよ。

山中:いや、いた気がしましたね。

:(笑)。思ったより細かくなってしまったんですけども、一応面識がある感じなので。モデレーターとして質問とかは出していただいて、ネタ帳も用意してきたんですけど、随時お互い質問などしていただいて、雑談ができればなと思っていますので。よろしくお願いいたします。

山中:はい。お願いします。

AbemaTVでの仕事

:自己紹介していただいたんですけれども、自分も動画サービスを運営していて。動画と生放送サービスって、やることがめちゃくちゃ多岐にわたるっていうか、層がすごくいろいろあると思います。

お二人で直近というか、担当しているロールというか役割について、もう少し掘り下げて説明いただいてもよろしいでしょうか。じゃあ、マイク持ってるみゆっきさんからお願いします。

山中:先ほどあったとおり、映像を配信するバックエンドを僕はやっていて。今々の仕事ですと、AbemaTVは1番初めはHLS、HTTP Live Streamingですね。というプロトコル方式で配信してたんですけど、最近、MPEG-DASHでも配信をするようになりまして。

それを使うデバイスが今後いろいろ増えてくるだろうということで、1番最初はそのMPEG-DASHで配信するコンテンツの種類といいますか、リニア放送だけ、とか限定されてたんですけど、いまはいろんな放送、タイムシフトであったりとかいろんな形式の配信をできるような部分の実装を担当しています。。

:ちなみになにか印象に残ったような、「これ大変だったな」とか「おもしろかったな」みたいな仕事って、どういうのがありましたか?

山中:過去ですか?

:過去でも、いまでも。伝わりやすい、自己紹介に使えるような情報というか(笑)。

山中:うーん……、いや。すごくマニアックというか、コアになるんですけど。MPEG-DASHは やっぱり大変だなというか。仕様がきっちり書いてあるんですけど、むしろその仕様に合わせなきゃいけないし、それを読み込まなきゃいけない面が大変だなと思いました。

HLSだともう、ほとんどURLを書くだけなので。ちょっとコアな話になっちゃうんですけど……。どのくらいまでこれ、掘り下げていいんですかね。

:そうですね……ちょっとこちらから(会場の)顔が見えなくて申しわけないんですけど(笑)。たぶんほどほど掘り下げても、きっとみなさんのほうで調べてくださると思うので。

山中:なるほど、はい(笑)。

:それはMPEG-DASHの仕様から落とし込むっていうところが、業界的にまだあんまり手がついてないというか。

山中:たぶん業界で言うと、NetflixさんとかがMPEG-DASHに対応してると思いますし、けっこう対応しているところは増えてきてはいて。AbemaTVも、「デバイス側がMPEG-DASHで読み込めるよ」とか、「MPEG-DASHじゃないとダメ」っていうことが今後増えてくるんで。それに合わせてこっちも対応しているという感じですね。

:ありがとうございます。

印象に残っている仕事

:では志水さん、お願いいたします。

志水:はい。最近の仕事ですよね。

:そうですね。

志水:僕は主に映像を届けるほうではなくて、映像を楽しく受け取ってもらうように、Webでなにか楽しみを付けるっていうとことか、あとは負荷対策の仕事をしてますね。本当にWebのほうで……。

タイムラインとか見てたんですけど、プロトコルの話とかに興味持ってる人はいるみたいですけど、すいませんそのへんは(笑)。僕はそんなに触ってないですね。そんな感じです。

:ありがとうございます。同じく印象に残った仕事というか。「これヤバかったな」みたいなのってどういうのがありますか?

志水:これ「スタートアップあるある」な気はしてるんですけども。僕はWebが専門なんで、MySQLをデータベースに使ってるんですけど、やはりサービスが成長する前というのはそれほどリクエストもなければデータもないので、「select * from~」で、limitなしで取っちゃうクエリってけっこうあるんです。

成長すると、そいつが問題になってくるんですよね。それがどこにあるのかわからなかったりするので、そういうのが出て急にWebのパフォーマンスが落ちてきて、「どこだどこだ」ってなって探して、それを駆逐して……。

だけど全部取ってくる前提でサービスのコードは書かれてるので、それをうまいこと処理をしなきゃいけなくて。ときには仕様を変更しなきゃいけない。

要は、1ページで全部出てくるんだけども、それはもう無理なのでページングしましょう、みたいな。そういうのを営業の人とかに「仕様変更させてくれ」みたいな相談をするっていうのは、けっこう僕好きです。

:けっこうオールラウンダーな感じでやってるって感じですか?

志水:まぁまぁ。

チームにジョインしたきっかけ

:次の質問なんですけど、そもそもおふたりはどういうきっかけでというか、どういうタイミングで、どういう役割でいまのチームにジョインしたとかって、おうかがいできますか? 同じ順番でいきましょうか。

山中:はい。自己紹介でカメラの写真を見せたと思うんですけど、1番始めはもう小学生くらいから、ずっとテレビをただ見てたとか、そういうテレビっ子から始まったっていう話になるんですけど。

そういう感じで幼少期を過ごすと、すごく映像とかに対して愛着が湧くんですね。そうすると「テレビを放送するのってどうなってるんだろう」みたいなことになってきて。

それは映像を実際にスタジオで作る現場側の話であったりとか、それを例えば電波に乗せるとか、インターネットだったらエンコードして配信するとか。そういうことに興味が湧いてくるんですよ。

そうすると、「動画系の会社に行きたいな」って就職するときに思ってまして。動画系、日本国内だとたぶん思いつく何社かがあると思うんですけど。最近けっこうECとか、そっちまで広げるとすごいたくさん出てくるんですけど、動画を専門にやってる会社っていうとたぶんいくつかしかなくて。その中で選んで、いまのこのタイミングだったらAbemaTVかなって。

リニア型の配信をしてるサービスってたぶん、日本国内にあんまりなくて。その中でできるいまのポジションは、このコンテンツ配信。サーバー側の映像配信をする部分かなっていうので、いまのところにいます。

ただ僕自身としては別に、そういうインターネットテレビ局としての全体というか、映像を配信すること自体に興味があるので。別に僕はカメラマンやってもいいし、現場の設備考えるでもいいし、インフラやってもいいし、みたいな感覚ではいます。なんでも興味あるっていう感じですね。

:ありがとうございます。

SHOWROOMユーザー時代の行動がきっかけに

:では志水さん、お願いいたします。

志水:はい。僕はもともとゲームが好きだったんですよね。ゲームエンジニアを目指してDeNAに入社したわけなんですけども、入社してから趣味が変わりまして。最近はアイドルの追っかけ。アイドルが大好きなわけですよ。もともとSHOWROOMの利用者でして、ある日僕がすごく楽しみにしていた番組が見れなくて。

負荷爆発によってサーバーが死んでいて。そのときにSHOWROOMのエンジニアに対して、Facebookとかのメッセンジャーで「コメントをする機能をなくしていいから早く見せるようにして」とか「アバター全部非表示にしてもいいから早く見せるようにして」ってめっちゃメッセージ送りまくったら、なんか熱量伝わって、お誘いいただいて。

それをきっかけにSHOWROOMで働いて、当然負荷対策をやらされる、って感じですね。

(会場笑)

:めちゃくちゃ耳が痛いクレームが(笑)。ありがとうございます。

社長と話す機会はあるか?

:Twitterを見ている感じ、けっこう「技術の話をしてほしい」みたいな話もあるんですけど、もう少しだけキャリアやサービスの話をさせてください。

開発体制はググればいろいろ出てくるのでわかるとして、両サービスともボス……、ボスって言っていいんですかね(笑)。SHOWROOMで言うところの前田(裕二)さんで、AbemaTVだと藤田(晋)さん。お二人ともキャラが強いと思うんですけど、実際に現場で話したりとかってけっこうできますか?

山中:藤田さんは……、そんなにしょっちゅう会うってことはないんですけど、会社として会う企画というか。ランチを一緒に社長と食べようとか、そういう企画があって。そういうときに話したり、そもそもAbemaTVでも1週間に1回、2週間に1回かな? 社長とのミーティングをやってまして。

そういった機会に、実際にこういう機能を社長に、サイバーエージェント用語で「当てる」って言うんですけど、提案して持っていって。そこで社長が「やろう」って言ったらやるし、「もうちょっと考えてみて」って言ったら考えるし、みたいな。

これはエンジニアがやるっていうより、企画の人のほうなんですけど。そんな感じで実際に社長と話す機会はありますね。

:トップダウンで「こういうことやります」って来るというよりは、下からいって、その意思決定がボスにあるみたいな。

山中:そうですね。意思は社長なんですけど、下から上げて上から下がる、みたいな感じですね。

:なるほど、ありがとうございます。志水さんのほうは?

志水:僕も前田さんとはけっこう話しますね。なんか芸能人みたいになっちゃって、すごい忙しいんですけど。でも週1で全体ミーティングやってるんですけど、そのときには前田さんが顔出しますし。それでミーティング終わったあとに話したりとか。

あとは会社の近くにバーミヤンがあるんですけど、たまたま帰りとか一緒になると「バーミヤン行こうよ」みたいな感じになって、一緒にバーミヤン行ったりとかしますね。

あとはライブ行ったときに、「ライブ行ったよ!」っていう感想をLINEで送ったりとか(笑)。わりとコミュニケーション取ってます。

サービスのフェーズについて

:ありがとうございます。ちなみにいまって、サービス的にどういうこと狙っていて、おふたりが具体的にどんなことを行なおうとしているか、みたいなことはもう少し話せたりしますか? いまどういうことをやろうとしてるフェーズなのかというのを絡めて。

山中:なかなか難しいですね(笑)。たぶんそれエンジニア的な成長、技術的な「こうしたい」「こういう機能入れたい」っていうのと、「AbemaTVとしての事業方針」みたいなのもあると思うので。

事業のほうはなかなかわからないんですけど。エンジニアのほうで言うと、ずっと昔からそうですが「どんどんエンジニアを増やしていきたい」というフェーズです。機能とかもすごいいろいろ、いま作ってたりして、映像配信だけで言ったら、「映像配信できれば終わりだろ」って思うかもしれないんですけど、低遅延だったりとかいろいろやりたいことはあるっていう感じですね。すごく濁した回答になってますけど(笑)。

:ありがとうございます。志水さんは?

志水:ここだけの話っぽいやつで言うと、視聴環境を増やしたいなっていう気持ちはあって。それこそ「バーチャルの視聴環境をもっと良くしたいな」っていうこととか。あとはSHOWROOMであるサービスを、別のサービスで使いたい。SHOWROOMのデータを別のサービスで使いたい。もう本当に、プラットフォーム化していきたいなっていう気持ちはありますね。あの……、近いうちに発表するので、はい(笑)。

:(笑)。ありがとうございます。

ライブ配信サービスを支える技術的側面

:時間も押してきて、技術的な話をしていきたいんですけど。Twitter見たら低遅延の話が出てたんですけど、SHOWROOMのほうってHLSとRTMP使い分けてるということだったんですけど、どういう使い分けをしているとかって具体的にありますか? 低遅延がよければ全部RTMP、みたいな話もあるかなって。

志水:そうですね、基本的にやっぱり低遅延だとRTMPが強いので、RTMP推奨なところはあるんですけども。どうしても負荷がかかってきたときに対策が取りづらいというか、サーバーを横に並べるだけになってしまってるんですよね。

先日Streaming Conferenceで発表させていただいたんですけども、「なんで低遅延狙ってるんだっけ?」ってところに立ち返ったときに、「コミュニケーションを取るためだ」ってなったんですよ。

コミュニケーションを取りたいんだけどコメントが「わーっ」ていっぱい来て、「ぜんぜんコミュニケーション取れないよ!」みたいな配信に対して、がんばってサーバー横に並べてRTMPで低遅延やっても、意味がないなってなって。そういうときにはむしろ、「見れないよ」っていう文句が出ないように、安定する何かをCDMにはめて配信、みたいな使い方をしてますね。

あとはやっぱりAppleさんの規定で、RTMPで配信できないときもあるので。そういうのはしょうがなくHLSで、っていうときもあります。

:AppleさんのHLS縛り、なかなかツラいですよね(笑)。

(一同笑)

ちなみにAbemaTVでは、低遅延は形態に合うかわからないですが、導入する予定とかってあったりするんですか?

山中:そんなにすぐという考えはしてないんですけど。AbemaTVはそもそも双方向のサービスがメインではないので、あんまり気にしてはいないんですけど。とはいえニュースとか地震が起きて、報道してから、それが1分後に伝わるっていうのは、けっこうニュースだと致命的なので。

一対多に配信するので、HLSとかMPEG-DASHとか。エンド側のプロトコルとしては改善に限りがあるというか、スケールさせることになるんですけど。

例えばいま、ニュースだと六本木のテレビ朝日から、GCPのデータセンターに送ってるんですけど。その間のプロトコルの改善だったりとか、そこをもとより短くすれば、もうちょっとは短くなるんじゃないか、というところで。そういうところのスタジオから……、「打ち上げ」って言うんですけど、データセンターに行くまでを、もうちょっと低遅延にしよう、SRTとか新しいプロトコルを使ってやろう、みたいなことは検討してます。

大きなトラフィックにどう対処するか?

:ありがとうございます。AbemaTVだと配信側の安定性もあると思うんですけど、番組名言っていいのかわからないですが、すごいデカいトラフィックが出るような番組のとき、視聴側のCDNとかのほうまで気にしなきゃいけないことが増えると思うんですけど。そのへんの対策って、技術的にどういうことを行なったりしますか?

山中:『72時間ホンネテレビ』とかですと、動画視聴するユーザーが多いんですけど、動画はCDNに乗っける。それでそれ以外の例えばAPIに対するリクエストはオリジンに行くんですけど、そういうのは頻度を下げるっていうのがやっぱりキモですね。

動画に関してもCDNに乗っけるんですけど、それだけで終わりっていうよりも、CDN側もトラフィックの制限だったりとかあるかもしれないので。日本の帯域を食いつぶさないように(笑)。

例えば、今回は使わなかったんですけど、すごいトラフィックがいったら、配信する解像度は1080が最高なんですけど、それを1個落として720を最高にする。そうすると1080分の帯域を新しく見る人に充てることができるので、そういった非常線と言うか。もしこういうときにはこういう運用にする、みたいなことも検討してます。

:ありがとうございます。気になったんですけど、「日本のトラフィックを使い切る」っていうのはどのくらいのオーダーの話なんですか?

山中:総務省が出してるのは、今日本の総トラフィックが10Tbpsとかなんですけど。ちょっと数字を言っていいのかわからないので言わないですけど、そのうちの、何パーセントも占めないですけど、AbemaTVが占める可能性があったとかそういう感じですね。なのでそのあたりも頭に置いている、みたいな感じですね。

:ありがとうございます。SHOWROOMで言うと、ボトルネックになりそうなインフラ的なところって、どういうところになるんですか?

志水:そうですね、SHOWROOMだと640とかなんで、映像のほうはそんなですかね。でもむしろ、チャンネルの数が多いんですよね。先ほど「20万チャンネル超えた」って言いましたけど、今のところ同時配信数は多くて1000超えるか超えないかです。ですがこれがどんどん拡大していったときに「怖いな」と思っています。そのあたりは追々対策していかなきゃなっていう。でも、まだ日本規模では感じてないですね(笑)。

今後どんなことをやっていきたいか?

:なるほど、ありがとうございます。そろそろ時間が終わりに近づいてきたんですけど、最後の質問として、たぶんサービスの成長に邁進している日々とは思うんですけど、個人的に今後やっていきたいこと。チームに関わることでもいいですし、関係ないことでもいいですし。狙いとか、思っていることとかってありますか?

山中:僕はいま新卒の2年目で、1年半とか2年くらいAbemaTVにいて、サーバー側の知識はわりと付いてきて。たぶん僕の強みとしては現場側の配信技術の知識とかもあるところだと思うので。そういうところも踏まえて、いまはいろんなオペレーターが現地にいたりするんですけど、例えばこれ自動化したら1人減るんじゃないかとか。そういうコスト面の検討だったりとか。

わりといま、いろんな負荷対策とかをして一応安定している時期だとは思うんで。そういうところで自分の使える・持ってる技術を使って、コストパフォーマンスだったりとか、より良い安定した配信とかをできるようにしていきたいなとは個人的に思います。

:ありがとうございます。志水さんは?

志水:そうですね、これは前田も言ってることなんですけども、「テレビに勝ちたいな」と思ってます。SHOWROOMでテレビに勝つっていうのももちろん目指したいと思うんですけど、ネット配信でテレビに勝ちたいなと思っていて。そういうこともあってAbemaTVさんとは仲良くしたいな、とか(笑)。

(会場笑)

山中:「仲良く」なんですね(笑)。仲良くできればぜひ。

志水:うちの前田とか、しょっちゅうAbemaTV出てるんで。

山中:はい、ありがとうございます(笑)。

:(笑)。では短い時間でしたがお時間になってしまったのでここで締めさせていただきたいと思います。このあと質疑応答の時間が取れるようなので、技術的なところで聞きたいことがあれば、ぜひ質問しに来てくださるとうれしいです。

それでは、本日はありがとうございました。

(会場拍手)

Occurred on , Published at

このログの連載記事

1 AbemaTV×SHOWROOM ライブ配信サービスを支えるエンジニアの働き方
2 巨大なトラフィックにどう対応するか? SHOWROOM・AbemaTVのエンジニアの仕事

スピーカー

関連タグ

人気ログ

ピックアップ

編集部のオススメ

ログミーTechをフォローして最新情報をチェックしよう!

人気ログ

ピックアップ

編集部のオススメ

そのイベント、ログしないなんて
もったいない!

苦労して企画や集客したイベント「その場限り」になっていませんか?