最近こんなライブ配信を始めたのですが、突然CTOから「🔔マーク押すといいよ」と言われました。牛乳パックとかについてるやつかな、と思ったのですが、どうやらYouTubeの話のようなので調べてみたところ、

  • 🔔マークを押すとライブ配信開始の通知を受け取る設定ができる
  • 実はチャンネル登録しただけだと、ライブ配信開始の通知が来ない

ということがわかりました。詳しくは公式ヘルプもご覧ください。

個人的にはちょっと予想外の動作で、「チャンネル登録=新しい動画の通知」だと思い込んでいたのですが、実際にはチャンネル登録だけだと、「チャンネルのハイライトの通知が届く」状態のようです。(ハイライトはハイライト動画のことかもしれないですが、今の所詳細は不明です。。)

なので、ライブ配信開始の通知を受け取るためには 🔔マークを押す必要があります。このチャンネル登録だけだとPush通知を飛ばさない仕様は、闇雲にPushを打ちたくない思想がありそうです。

ライブ配信の通知を受け取ってリアルタイムに見るメリットとしては、ライブ中に質問するなどインタラクティブに楽しめる、Twitterなどでみんなでワイワイできるなどがあります。また、後から気づいて盛り上がっていたタイムラインを眺めるのはちょっと切ないですよね。

🔔マークは、チャンネル登録ボタンを押すと表示されます。ここで「すべて」を選ぶと、ライブ配信開始の通知を受け取ることが出来ます。

Image for post
Image for post
PC画面の場合

既にチャンネル登録済みの場合はチャンネルのトップページに行くと 🔔マークがあります。登録済みチャンネルの通知設定を一覧で見たい場合はこちらから確認・設定ができます。

通知を「すべて」に設定すると、ライブ配信の30分前と配信開始時に通知が来ます。

Image for post
Image for post
ライブ配信30分前の通知の例(Android端末)
Image for post
Image for post
ライブ配信開始の通知の例(Android端末)

現在コロナの影響で多くのイベントがオンライン開催になっているので、見逃したくないチャンネルがあれば通知設定を見直してみてください。

また、slackに投稿して欲しい、という場合は連携サービスを使うとできそうです。

Image for post
Image for post
Zapierを使った場合のPostの例(見た目は細かくカスタマイズ可能)

最後に勝手におすすめのチャンネルを紹介します。他にもおすすめがあれば教えてください!

ちなみに、 🔔マークを押している人の数は十分な登録数があれば確認できる動画ごとにも確認できる)らしいのですが、弊社のチャンネルではまだ表示されておりません 😢なので、チャンネル登録& 🔔マークを何卒よろしくお願いします!!!


前回の記事で紹介したATEM Miniを使って配信画面のカスタマイズを行ったので紹介します!

実際に配信した動画はこちらです。イベントページはこちら

Customer Support Tech Meetup #1

※ちょうどこの勉強会の日(3/25)に小池都知事の会見があり、3密を避けてほしいとの発表がありました。そのため、登壇者だけ会場に集まってライブ配信する形式でのイベントも暫く休止予定です。今後はZoomなどを使って登壇者もリモートで開催する流れになるので、しばらくはこの記事のノウハウは活かせないのですが、せっかくなので記憶が新しいうちにまとめておきます。

用意した画面について

今回は常に下部にハッシュタグとロゴを表示しながら、
①スライド+登壇者画面
②登壇者へのQ&A画面
③次のスピーカー準備中画面
の3つの画面を切り替えています。

Image for post
Image for post
①スライド+登壇者画面
Image for post
Image for post
②登壇者へのQ&A画面
Image for post
Image for post
③次のスピーカー準備中画面

この3つの画面をATEM Miniだけでスイッチしています。

通常の勉強会であれば懇親会で参加者の方とも交流できるのですが、オンラインイベントだと一方通行になりがちです。いかに動画を見ている方とインタラクティブなやり取りが出来るかを考えて、わかりやすくQ&Aコーナーを作りました。

当日の様子は#mixiCSTechMeetupでも確認できる通り、無事に多くの質問をいただくことができました。できるだけ投稿いただけるように、ハッシュタグを常に表示する、イベント開始時に投稿してみるように促す、つぶやきを見ていることや投稿して欲しいことを各登壇者からも伝えるなど、細かいですが出来る限りの工夫を行いました。

会場の様子

機材や会場の様子などを簡単に紹介します。

Image for post
Image for post
配信中の様子

登壇者

登壇者から見える位置にディスプレイを置いています。ディスプレイにはtwitterのタイムラインやslackを表示していて、slackには投稿された感想や質問を登壇者が見やすいように整形してどんどん投げていました。オンライン配信では視聴者の反応が見えづらく、虚無に向かって話すのは思いの外大変です。登壇者にわかりやすいようにフィードバックを可視化することで、登壇者も落ち着いて話せるようになりました。

中継担当者

私です。ビデオカメラの調整があるのでビデオカメラの近くに陣取ります。オフラインの勉強会だと会場後方にいるのですが、今回は登壇者だけなので一番いい位置で話を聞けました。

※手元に除菌用のアルコールが写っていますが、マイクの使いまわしによるリスクを考え、登壇者が変わる度にマイクを除菌していました。

Q&Aコーナー

背景はカンファレンスブースで使うテーブルクロスをホワイトボードに養生テープで固定しています。突貫で用意したわりには動画で見ると思いの外しっかりした雰囲気が出て良かったです。ちなみに、最後のQ&Aコーナーが終わってすぐ養生テープが外れて崩れ落ちました。ギリギリセーフ・・・?

照明

写真ではわかりづらいですが登壇者のすぐ前にこちらの照明を置いています。

会場の照明だけだと上部から照らされて顔に影ができがちなので用意しました。このサイズは手軽ですが、かなり近づける必要があるのでオフラインイベントだと使いづらそうです。一つだけだと結局影ができるので本当は2方向から照らせるとベストです。

写真の通り、後ろからだと点灯しているかどうかが分からない(写真は点灯状態)ため、ライブ配信開始時にスイッチをつけ忘れるというトラブルがありました。

ATEM Miniの配信画面カスタマイズ方法

※ここからは前回の記事を先にご確認ください。

まずは「①スライド+登壇者画面」について説明します。この画面ができればほぼ完了です。

この画面は見ての通り、3つの画面で構成されています。ビデオカメラで撮影した登壇者の映像と、スライドの映像、ハッシュタグが載っている画像です。

ざっくり説明すると、最背面にビデオカメラの映像があり、その上にPicture in Picture(ワイプ)でスライドの映像を合わせて、さらにダウンストリームキーでハッシュタグ画像を被せています。

Picture in Pictureの設定

Image for post
Image for post
DVEはDigital Video Effects processorの略

アップストリームキー1のDVEの位置とサイズを変更します。今回は位置を 「X:-3.50 Y:2.00」、サイズを「X: 0.80 Y:0.80」にしています。これで本体のPcture in Pictureをonにすると左上に大きくHDMI 1の映像が流れます。

前回の記事では、ワイプに登壇者を映すので、HDMI 1にはビデオカメラを接続していましたが、今回はワイプにスライドを映すので、HDMI 1には登壇用PCを接続します。

ダウンストリームキーの設定

Image for post
Image for post
20枚まで登録できますが、複数枚同時に表示はできません

先にメディア管理画面で画像を設定しておきます。ご覧の通り、「③次のスピーカー準備中画面」の画像になります。

Image for post
Image for post
ON AIRするってなんだかかっこいい

次にダウンストリームキーを設定します。これにより、下部のハッシュタグが載っている部分だけが最前面に表示されます。

ダウンストリームキーのフィルソースをMedia Player 1にし、マスクをonにして「上:-5.19 下:-9.00」にします。その後DSK 1のON AIRをクリックすると、設定した画像の下部だけが表示されます。

ダウンストリームキーは透過処理した画像を使うことで自由に前面に表示する画像を作れるのですが、今回は長方形なのでマスクだけで十分です。また、透過処理した画像と準備中画像の2枚が必要になると切り替えるのが大変なので、1枚でハッシュタグと準備中の表示の両方に使える画像を用意するのが良さそうでした。(ATEM Miniの場合は1枚しか設定できないが、より高性能な機種であれば2枚同時に設定できる模様)

これで「①スライド+登壇者画面」が完成しました!

マクロの設定

画面を作るのは↑で完了していますが、毎回設定し直すのも辛いですし、配信中にP in Pの位置を変えると設定が戻ってしまうので、マクロを設定しましょう。

Image for post
Image for post
マクロ追加状態

メニューのマクロからマクロ画面を開いて、+をクリックするとマクロ追加状態になります。

この状態で保存したい設定を操作します。DVEの位置を 「X:-3.50 Y:2.00」、サイズを「X: 0.80 Y:0.80」にして、ダウンストリームキーのマスクをon、「上:-5.19 下:-9.00」、DSK 1をON AIRに設定を変更します。追加状態の時の状態が記憶されるのではなく、追加状態の間に変更した設定だけが記憶されるので注意してください。メディアの画像登録だけはマクロで保存できません。

値を変更したら赤丸のストップボタンを押して追加を完了します。

マクロを実行する場合は実行タブから保存したマクロを選ぶと実行されます。これだけだと選択した時の1度しか実行されないので、🔄ボタンを押して再生すれば継続されます。

Image for post
Image for post
継続実行している状態

スイッチ方法

配信中の本体の操作について説明します。以下ではHDMI 1に登壇PC、HDMI 2に登壇者を映すビデオカメラ、HDMI 3にQ&Aコーナーを映す一眼レフを接続している前提になります。

  • 「①スライド+登壇者画面」を表示する場合は、HDMI 2に切り替えてから、Picture in Pictureをonにします。
  • 「②登壇者へのQ&A画面」を表示する場合は、HDMI 3に切り替えます。
  • 「③次のスピーカー準備中画面」を表示する場合は、STILボタンを押します。

Picture in Pictureは画面を切り替えると消えるので、②と③への切り替えはボタン一つで済みます。①の時だけ順番通りにボタンを2つ押す必要があるので注意です。

本体のボタンを押しての操作は簡単なので今回はそれでやりましたが、①に切り替える際のボタンを2つ押す時間差により一瞬だけ映像が乱れるのが少しかっこわるいです。ソフトウェアコントローラーでのスイッチをマスターすべき時が来たのかもしれません。

おわりに

実はいつもどおりスライド+ワイプで配信するつもりだったのですが、本番2日前にCREメンバーとリハーサルを行った際、Q&Aコーナーやハッシュタグ表示などいろいろアイデアが出たので、突貫でいろいろ試した結果こうなりました。リハーサル大事!

初めてのオンラインイベントでしたが、たくさんの質問や感想をいただけたため、今後もいろいろ工夫しながら開催していければと考えています。改めてご参加頂いた皆様ありがとうございました!


※この記事には続きの記事もあるので、合わせてご覧ください。

前回の記事からアップデートがあったので紹介します!

※今回紹介する機材を使うと、スクリーンのキャプチャ+ワイプの配信(配信の例)が簡単にできます。ただし、配信画面をカスタマイズする場合の難易度があがるので、配信画面を大きく変更したい場合は前回の記事の構成の方が良い場合があります。

この記事の内容は『Meetup video shooting Meetup #1』で話した内容の補足と、Meetupにて得た情報を加えたものになっています。

前回の記事ではキャプチャーボード2台、ミキサー1台を使う構成を紹介しました。この構成はやりたいこと(スライドをキャプチャーしつつ、登壇者をワイプで表示する)は十分できるのですが、機材が多いため接続が大変だったり、配信ソフトの使い方を把握する必要があったりと運用コストの面で課題がありました。

Image for post
Image for post
機材が多めな前回までの接続図

もう少し簡単に配信できる環境が作れないかと思っていたところ、ある新製品が発表されました。

ATEM Miniの特徴は、なんと言っても値段の安さです。4万円以下でプロ仕様のスイッチャーが購入できます。

入出力端子は以下のとおりです。

  • HDMI in ×4
  • Audio in ×2
  • HDMI out ×1
  • USB Type-C ×1(PC接続用)

十分すぎますね!後述しますが、HDMI outは相性が悪い場合がありますので、必要に応じてHDMI分配器も用意してください。

サクッとATEM Miniで何ができるかを知りたい人は、こちらの動画がおすすめです。動画によると、ATEM Miniの読み方は「エイティムミニ」が正しいようです。

ATEM Miniを利用する場合の接続図は以下のとおりです。登壇用PC、ビデオカメラ、音声出力の3系統をまとめてATEM Miniに繋いでいます。これでもまだHDMI in ×2とAudio in ×1の端子が余っています。

Image for post
Image for post
ATEM Miniを利用した場合の接続図

ATEM Miniを使うことで改善されたポイント

  • Macに対応
  • ブラウザから直接配信
  • PCの事前セットアップ不要

それぞれ簡単に説明します。

Macに対応

前回の構成では配信用PCのOSはWindowsに限定されていたのですが、ATEM Miniを使うことでMacでの配信も可能になりました。

ブラウザから直接配信

ATEM Mini側で画面の切り替えやワイプなどが行えるので、OBSなどの配信ソフトを使わなくてもライブ配信が可能です。もちろん、配信ソフトの機能を使いたい場合は利用することもできます。

PCの事前セットアップ不要

配信ソフトやドライバも不要なので、PCと接続するだけで配信可能です。ただ、後述の通り弊社の配信では公式のソフトウェアコントローラーを利用しているので、必要があればそちらのインストールを行ってください。

ブラウザでの配信方法

ATEM Miniを含めた機材の接続後、youtubeを開いて左上のビデオのアイコン→「ライブ配信を開始」をクリックします。初回はライブ配信を有効にする必要があるので、こちらをご確認ください。

Image for post
Image for post
ビデオアイコン→ライブ配信を開始

ライブ配信の設定画面が開くので、ウェブカメラを選択し、ビデオとマイクをBlackmagic Design(ATEM Mini)に変更します。

Image for post
Image for post
ウェブカメラ→ビデオとマイクをBlackmagic Design(ATEM Mini)に

あとは動画のタイトルなどを入力すればOKです。

ワイプの合成や入力ソースの切り替えなどはATEM Mini上でボタンを押す形になるので、配信用PCで行う操作は最低限だとこれだけです。配信ソフトを利用した経験がある人からすると、拍子抜けするほど簡単に感じるのではないでしょうか。

ATEM Miniの設定Tips

ここでは簡単に設定について紹介します。より詳しい操作方法は公式マニュアルを見てください。公式マニュアルはこちらの「マニュアルをダウンロード」からダウンロードできます。

設定を行うソフトウェアコントローラーはこちらの「ATEMスイッチャーXXXアップデート」からダウンロードできます。ちなみに、画面の切り替えやワイプのon/offは物理ボタンの方が簡単なので物理ボタンで行っています。

また、ソフトウェアコントローラーの設定は保存できるので、一度設定すれば次回以降は設定を読み込むだけで大丈夫です。

休憩中の表示

休憩時間には特に写すものがないのですが、黒い画面だと視聴者が不安になってしまうので、休憩中と書いた画像を表示しています。ソフトウェアコントローラーのメディアウィンドウで画像を設定し、本体のSTILボタンを押せば設定した画像が表示されます。

Image for post
Image for post
休憩中に表示する画像

ちなみにこの画像を表示させるためだけにソフトウェアコントローラーを使っていると言っても過言ではありません。操作が面倒であれば、登壇用PCにて休憩中画像を表示させるという手もありますが、ソフトウェアコントローラーで切り替える方がイケている感じがします。

音量の調整

会場の音響に合わせて音量のデシベル値を設定しています。物理ボタンでも調整はできるので、何回ボタンを押すかを決めるでも良いかと思います。もちろん、会場が変われば操作量も変わるのでご注意ください。

欲を言うと、休憩中画像と音量はATEM Miniの本体側で前回の設定を覚えていてくれると、毎回ソフトウェアコントローラーを使わなくて済むので助かります。実際には本体の電源を切らない限り設定を覚えているので、会場に常設する前提なのかもしれません。

ワイプの調整

ワイプ(Picture in PictureまたはPinPとも言う、情報を検索する際にはPicture in Pictureで調べるのがおすすめ)は、デフォルトのままで大きさなどの変更はしていません。ソフトウェアコントローラーを使えば変更は簡単にできるのですが、ワイプの位置を変更すると何故か設定がデフォルトに戻る現象があり、ひとまずデフォルトで運用しています。

この件については、ソフトウェアコントローラーで簡単にマクロが組めるという話を聞いたので、大きさを変更するマクロを組んで常に実行するとデフォルトに戻らないことを確認しています。次の配信では試してみる予定です。

HDMI outの設定

HDMI outをプロジェクターに繋げる場合、デフォルトの設定ではProgramになっていて、ATEM Miniで切り替えたりワイプを表示した内容がそのまま表示されます。プロジェクターは登壇用PCの内容だけを表示したいので、出力設定をHDMI2に変更します。(HDMI2に登壇用PCをつないでいる場合)

ただし、後述の通り弊社の配信ではHDMI outは使わずにHDMI分配器で繋いでいます。

その他の機材の話

どんな機材を使っているか具体的に聞かれることが増えてきたので、実際に利用している機材のリンクを載せます。もちろん、会場機材との相性もあるので、参考までにご利用ください。

HDMI 分配器

HDMI分配器を使う理由は2つあります。1つ目がHDMIケーブルの延長で、2つ目がHDMI outの相性問題です。

HDMIケーブルは仕様上10mほどしか伸ばせないのですが、弊社の会場では生放送機材を後方に配置するため、前方の登壇PCから10m以上HDMIケーブルを伸ばす必要がありました。そこで間にHDMI分配器を入れて延長しています。

また、HDMI outをプロジェクターに繋ぐと綺麗に表示されない現象が発生しました。HDMI outは本来、配信担当者の手元のディスプレイなどの表示確認に使うものなので、会場のプロジェクターのような大規模なものには向かないのかもしれません。このような場合もHDMI分配器があれば、HDMI outを使わずにプロジェクターに映像信号を渡すことができます。

Image for post
Image for post
ATEM Mini + HDMI分配器を利用した場合の接続図

実際に使っているHDMI分配器はこちらです。値段が安くて助かるのですが、電源がコンセントではなくUSBになっています。ちなみに、分配器(splitter)を検索すると切替器(selector)もヒットすることが多いので、購入時に間違えないように注意してください 。

ビデオカメラがない場合

ビデオカメラがない場合についても記載しておきますが、細かい検証はしていないのでご注意ください。

一眼レフなど手持ちのカメラでもHDMI出力があれば利用可能です。f値などの撮影情報も表示される場合があるので、その際は情報表示の設定を変更してください。

iPhoneを使う場合はHDMIへの変換アダプタを利用し、充電しながら撮影してください。

デフォルトのカメラアプリは撮影ボタンや設定など不必要な要素が表示されるので、おすすめのアプリを紹介します。

Live:Air Soloは松井 隆幸さんに教えていただいたアプリで、無料アプリにも関わらず豊富な機能があります。ズーム機能もあるので、撮影場所の自由度も確保できます。

Shootはカメラの映像を表示させるだけの非常にシンプルなアプリで、簡単に利用することができます。有料でズーム機能もない点がデメリットですが、ズーム機能を使わないのであれば十分です。

Androidは有線でHDMI出力できる機種が非常に限られるのであまりおすすめできません。

ケーブル類

HDMIケーブルはこちらの7.6mのものを使っています。長さは良いのですが、ちょっとケーブルが太めでかさばるので、より細いものがあれば教えてください。

オーディオケーブルはこちらの20mのものを使っています。HDMIと違ってアナログデータなので、かなり長いものもたくさん売られています。こちらはかなり細いケーブルなので取り回しがしやすく助かっています。

おわりに

昨今の情勢によりライブ配信の需要が各所で高まっているので、この記事がお役に立てると嬉しいです。今回は配信機材の説明がメインでしたが、下記の記事では進行のノウハウも書かれているので是非参考にしてみてください。

個人的にはただ配信するだけだと一方的な情報伝達になりがちなので、よりリモートの参加者とカジュアルに交流できるようにしていきたいと考えています。現実的には通話アプリやtwitterなどでの交流になるかと思われますが、理想を言うとオフラインの懇親会のように、参加者同士がアドホックに交流できるような仕組みが作れないかと妄想しています。テック企業の人間としては、技術的なアプローチで課題を解決していきたいですね!


日本初のSREをテーマにした大型カンファレンス『SRE NEXT 2020』にスポンサーとして参加してきたので、弊社の登壇や会場の様子をレポートします!

会場は豊洲フロントでした。

Image for post
Image for post
めっちゃ広くて綺麗な基調講演会場。この後シュッとRoom AとBに分けれる柔軟さも◎

【早期来場者特典】SRE NEXT 特別ヨガプログラム

なんと早く来た人には特典として特別ヨガプログラムがありました。椅子に座ったままできる簡単な動きでしたが、運動不足の私には良い刺激で朝から体がスッキリしました。

Image for post
Image for post
みんなで伸びるの図。腕をずっと上げるのが地味にしんどい。

ヨガで体と呼吸を整えたら、SRE NEXTの始まりです。

弊社からはスポンサーセッションの佐藤(@jtwp470)に加えて、公募セッションでCFPが通った清水(@isaoshimizu)の2名が登壇しました。

グループウォレットアプリ、6gramの運用をはじめてみた

佐藤のセッションでは昨年11月にAndroid版をリリースしたばかりの新サービス、6gramの開発・運用についてお話しました。

PCI DSSに準拠する決済システムを自前で構築するための工夫という非常にニッチな内容でしたが、登壇後のブースではPCI DSS準拠に関わったことのある方が数名訪れて、PCI DSS準拠の苦労話で盛り上がっていました。

SREがセキュアなWebシステムを構築、維持するためにやれることはなにか

清水のセッションでは長年の経験を元に、セキュアなWebシステムを構築、維持するためのノウハウをお話しました。

Image for post
Image for post
実はみてねのロゴ入りパーカーを着ているが、マイクを持つ手でロゴが完全に隠れているの図。

登壇については後日動画でも公開される予定なので、楽しみにお待ち下さい。

スポンサーブース

ミクシィブースではピックアップした各サービスのシステム構成図を展示しました。

Image for post
Image for post
たまたま3つともAWSを利用していますが、GCPを利用しているサービスもあります。

サービスごとの特徴が構成にも出ているので、じっくり見比べる方が多くいらっしゃいました。特にEKSなどのコンテナ環境の利用を検討している方が多い印象でした。EKSへの移行に関しては、清水のこちらの資料も御覧ください。

また、今回のSRE NEXTに合わせて作成した6gramステッカーも配布しました。カンファレンスバッグにも封入したので、来場した方は是非招待コードを使ってご利用ください。

Image for post
Image for post
招待コード付きステッカー。ガチでクレカっぽく作った結果ステッカーだとわかりづらい。

当日はまだAndroid版のみのリリースだったため、iOSの方にはご迷惑をおかけしましたが、無事iOS版もリリースされました!

おわりに

初開催のカンファレンスのため非常に楽しみにしていましたが、登壇だけではなく運営もスムーズで驚きました。基調講演後の部屋移動の導線や、各セッション毎の待機列の誘導、安定したWi-Fi、電源の用意、ブースの荷物の梱包資材の用意など、初めてとは思えない素晴らしい運営でした。運営の皆様ありがとうございました。


Image for post
Image for post
Photo by NordWood Themes on Unsplash

2019年もついに最後の営業日となりました。皆さまにとって2019年はどんな年だったでしょうか。

この記事では年末の振り返りを兼ねて、mixi developers blogの人気ランキングを発表します。

閲覧数ランキング

※ここでは2019年に執筆された記事を対象にしています。

🥉第三位

第三位は Isao Shimizu の『Amazon EKSとECSの最新事例を聞いてきた』です。会場で出た質問など、後から資料を見るだけではわからない所がまとめられているのは嬉しいですね。また、実際にEKSの導入を進めている清水さんが感じた発表のまとめが載っているので、EKSやECSについて知りたい方にとって学べることが多い記事となっています。

🥈第二位

第二位は IWASE, Yasuhiko の『機械学習による「不適切コンテンツ検出」の実装と成果』です。こちらはSNS mixiの膨大な投稿の中からSageMakerを利用した機械学習により、不適切なコンテンツを検出する方法について詳しく書かれています。機械学習の導入を検討されている方はぜひ御覧ください。

🥇第一位

第一位は H. Kurokawa の『動的計画法によるDVDのディスク分割の改善』です。競技プログラミングで学んだ知識を実際のサービスに導入し、改善に繋げた話が詳しく載っており、競プロ界隈で話題になりました。

AtCoderのちょくだいさんにも取り上げていただきました!

番外編:はてぶ数ランキング

こちらから確認できます。年度で絞れないですが、ぱっと確認したい時は便利ですね 😃閲覧数ランキングと比較すると、2位に『IP制限を減らす取り組み』がランクインしています。

こちらはよくあるIP制限されたツールに対して、利便性とセキュリティの両方を向上させる取り組みについて紹介しています。

おわりに

というわけで、2019年の閲覧数一位は『動的計画法によるDVDのディスク分割の改善』でした!他の人気記事はarchiveから確認できます。なぜか管理画面の閲覧数通りにソートされないので大目に見てください 😢

それでは、本年も大変お世話になりました。良いお年を!


プロダクトマネージャーカンファレンス 2019』(通称pmconf 2019)に弊社豊川が登壇し、スポンサーとしても参加してきました。

Image for post
Image for post

会場は渋谷のベルサール渋谷ファースト。弊社オフィスも同じビルなのでありがたかったです😁

B1Fと2Fを使用し、大小様々なセッションが行われました。

登壇について

CREグループマネージャーである豊川からは『プロダクトマネージャーが陥るカスタマーサポートの盲点』について話しました。CSはコストなのか、ユーザーに提供するサービスなのかといった考え方から、CREチームを置くことで自走可能なCS組織を作る話に、たくさんの方が聞き入っていました。

Image for post
Image for post
久しぶりの登壇で緊張しながらも滑らかに話す豊川

当日のセッションだけでは話せなかった補足も豊川のブログにあるのでぜひそちらもご覧ください。

また、登壇後にブースにてAsk the Speakerを実施し、PMの方々からCSについていくつか相談を受けていました。

Image for post
Image for post
身振り手振りを交えて考えを伝える豊川

会場について

広い会場にも関わらず多くの人で賑わっていて、世の中にはこんなにPMがいるんだ!と実感しました。ブースでも、どんなプロダクトがあるのかや、PMになる人の特徴、苦労話など、様々なお話をすることができました。

Image for post
Image for post
ブースの様子

また、会場内では各所に参加型の展示があり、結果を見ながら知らない人同士が意見を交換するなど、PM同士の交流に役立っていました。

Image for post
Image for post
開発者・ユーザー・ビジネスのバランスの良いPMが多いが、Developers寄りのPMも多い
Image for post
Image for post
質問コーナーも活発

以上、プロダクト開発の最前線に立つPMの方々が大集合したpmconf 2019参加レポートでした。


7/20(土)に子ども向けワークショップイベント『キッズエキスポ in ATC』でワークショップを開催したので、その様子をご紹介します!

開催場所は大阪南港のATC。めちゃくちゃ大きい建物です。ATCのITM棟のショッピングモールの1角をお借りして開催されました。当日は他にも様々なワークショップやイベントが開催されており、大勢の家族連れで賑わっていました。

Image for post
Image for post
ITM棟だけでこの大きさ ATC全体だと奥にまだ建物が続く

弊社のワークショップでは、モンスターストライク(以下モンスト)のゲーム開発エンジニアである角より、ゲームプログラミング体験を実施しました。(角の仕事内容については、XFLAG Tech Note vol.01vol.02をご覧ください)

プログラミング体験では小学校高学年のお子さまをメインターゲットとして、慣れ親しんだモンストのキャラを使ってゲーム開発の楽しさに触れていただくことを目標としました。また、現場でゲームを開発しているエンジニアが実際に使うPCとツール(Unity)を使うことで、リアリティのあるエンジニアの仕事を体験できる場を用意しました。プログラミングは難しいですが、それでも自分で書いたコードが動く面白さを体験してもらいたい、との想いで実施しました。

Image for post
Image for post
Unity(ゆにてぃ)使います!!!!

ワークショップで作るのは、味方キャラから敵キャラに弾を撃って当てる部分です。実際の流れは下記のとおりです。

  • アイスブレイクも兼ねて簡単な講義
  • Unityの起動
  • Visual Studioで弾を撃つ処理の実装(関数呼び出し)
  • スペースを押したら弾を撃つように変更(if文)
  • 味方キャラを配置
  • 敵キャラを配置
  • キャラの移動
  • 弾の発射角度の変更

ここまでは基本的な流れで、時間が余ればキャラの配置を自由に増やしたり、作ってみたい機能について意見を聞いたりしました。敵キャラにあたったら倒したい、という声が上がったので、その場で角が弾が当たると消えるようにライブコーディングも行いました。

Image for post
Image for post
こちらはスペースキーの判定をライブコーディングする角

プログラミングに関しては簡単な説明にとどめて、スクリーンに写したコードを写経してもらう形にしました。頑張ってキーボードを打つお子さんの姿を親御さんが写真に収めたりしていて微笑ましかったです。

Image for post
Image for post
角「このコードを足してください。ゆっくりで大丈夫です。」

正直始まるまでは小学生がパソコンを使いこなせるのか不安でしたが、実際にはトラックパッドの操作に多少手こずりながらも、アルファベットは問題なく打つことができ、大文字小文字や括弧も一度shiftキーを教えれば使いこなしていました。プログラミングに関しても、慣れればどの子もVisual Studioで値の変更→ビルド→Unityで再生までできるようになっていて、子どもたちの集中力と適応力に驚かされました。

Image for post
Image for post
プログラミングする子どもたち

講師を努めた角は以前にも子ども向けのイベントの経験があり、最初は何もない画面から弾を発射する処理を作り、弾が出たら敵に当たって欲しいよねと言って敵キャラの配置を行い、敵も真正面にいるとは限らないから角度を決めたいよねと、子どもたちに次はこれを作らなきゃ!と思わせてからその作り方を説明するスタイルで、子どもたちがどんどんゲーム開発の楽しさに取り込まれていました。

Image for post
Image for post
Unityを使いこなす子どもたち

実際に遊んだことのあるゲームのキャラを自由に配置したり操作できるのは珍しい体験なので、最後は楽しみながら思い思いに配置して遊んでいました。

Image for post
Image for post
独創的な作品たち

弾に当たると消える処理も実装したり。

Image for post
Image for post
配置も完璧

たくさん置くことに拘る子も。

Image for post
Image for post
こんなに置けるなんてすごい

子どもたちの熱気に圧倒されてあっという間の一日でしたが、今回参加した子どもたちの中から、将来のゲーム開発エンジニアが生まれるかもと思うと今から楽しみです。


Image for post
Image for post

7/6(土)に開催されたUnder30エンジニアによるUnder30エンジニアのためのカンファレンス『Battle Conference Under30 2019』(以下BCU30)に参加してきたので、弊社エンジニアの登壇や会場の様子をご紹介します!

会場は去年と同じ、芸能花伝舎です。芸能花伝舎はもともと小学校だった建物を再利用しているので、イベントの開始時には懐かしいチャイムが鳴り響き、体育館で基調講演が行われました。

基調講演では株式会社AppBrew代表取締役の深澤さんが、『技術にまつわる戦略思考』と題してお話をしていただきました。

Image for post
Image for post
体育館の基調講演の様子

BCU30ではトークバトル、プログラミングバトル、インタラクティブブースの3つのコンテンツがあり、弊社からはトークバトルに3名が登壇し、インタラクティブブースにも出展しました。

トークバトル

最初の登壇は解析グループの佐野が『行動ログを元にコンテンツを自動分類するための機械学習基盤とデータ整形』について話しました。モンスターストライク(以下モンスト)の大量のデータを扱う方法にみなさん興味津々でした。

Image for post
Image for post
いつもスライドに本人撮影のオシャレな画像を使う佐野

SREの神谷からは『モンスターストライクのリアルタイム通信を支える技術』について話しました。TURNサーバーやIPv6対応についてなど、モンストの醍醐味であるマルチプレイの裏側について説明しました。

Image for post
Image for post
Ask the Speaker で質問に答える神谷

インフラ開発グループの馬渕からは『転びながらもネットワーク処理をソフトウェアで自作していく話』について話しました。来場者がアプリケーション側の人が多いため、興味を持ってくれる方がいるかどうかしきりに不安がっていましたが、堂々とした発表でした。

Image for post
Image for post
身振り手振りを入れながらお話する馬渕
Image for post
Image for post
発表後に笑顔で質問に答える様子

インタラクティブブース

インタラクティブブースでは『U30エンジニアが取り組むミクシィにおける機械学習詰め合わせ』と題して、みてねの1秒動画の作り方、ファイトリーグのゲームAI、CREの問い合わせ分類の話をポスターセッション形式で行いました。

Image for post
Image for post
インタラクティブブースの様子

隣のGMOさんの紙芝居の人気に圧倒されながらも、それぞれ取り組んだ内容について熱心に語っていました。実際に現場で使われているAIについて気になっている方が多いようで、発表したメンバーも非常に興味を持ってくれる方が多く嬉しかったとのことでした。

スポンサーブース

スポンサーブースでは、ステッカーなどのノベルティ配布に加えて、モンスト、みてね、ココサイズの技術スタックと、その選定理由についての展示を行いました。

Image for post
Image for post
サービスごとの技術スタックまとめ

選定理由を熱心に読み込む方も多く、ミクシィグループの技術について触れていただく良い機会となりました。Under30と聞いていましたが、実際には20代前半の方が多い印象で、モンストで遊んでいただいている方も多かったです。

懇親会

懇親会も体育館で行われました。学校ということで、揚げパンやナポリタンスパゲティなどの懐かしの給食メニューもありました!(食べるのに夢中で写真を取り忘れました😢

また、スポンサーということでトークバトルのプレゼンターもさせていただきました。

ひと仕事終えてホッとしたのも束の間、なんとFブロックの投票1位で、馬淵が表彰されました!!ネットワークの話が刺さるのか不安がっていましたが、そのプレッシャーに負けずに結果を残しました。

Image for post
Image for post
表彰されてさらに笑顔の馬渕

その後プログラミングバトルの表彰や、抽選会などもあり、会場は大盛り上がりでした。

まとめ

キーノートの深澤さんもUnder30で、トークバトルではなんと小学生エンジニアの発表もあるなど、若いエンジニアのパワーを感じた1日でした。参加された皆さんの今後のさらなる活躍が楽しみです!


※この記事には続きの記事もあるので、合わせてご覧ください。

弊社で開かれる勉強会では、一部生放送で配信しているものがあります。今でこそ安定して配信ができるようになってきましたが、最初は何もかもが手探りで、少しづつ改善を重ねてきました。どうやっているのか?と興味を持たれることも増えたので、簡単に紹介します。

生放送について

こちらのチャンネルにアーカイブ動画があります。youtubeの場合は生放送すれば自動的にアーカイブが作成されるので、後から見直すことができます。

一部生放送ではないカンファレンスのレポート動画がありますが、そちらについては別の記事で紹介しているので興味があればそちらも御覧ください。

言うまでもないですが、勉強会を生放送することで、都内のイベントに参加できない地方の方にも参加いただくことができるようになります。また、後から動画を見れるので、もし都合が合わずに当日参加できなかったとしても内容を学べるようになりました。もちろん、イベント参加後に内容を復習することもできます。

当初想定していなかった使い方としては、画面をそのまま配信できるようになった結果、ペアプロでコーディングする作業をそのまま配信する形式の勉強会が開かれるようにもなりました。

機材について

最初に接続図を載せます。図の赤丸や青丸は、配線が難しいので目印として貼っているシールを指します。シールについては後ほど詳しく説明します。

Image for post
Image for post

ビデオカメラ

ソニーのFDR-AX45を利用しています。

当初はビデオカメラでスライドも撮影する予定だったので、性能にこだわって電気屋さんで相談して購入しました。最近はワイプで写すだけなので、ここまでの性能はなくても良いのでは、とも感じています。また、この機種は手ぶれ補正が非常に強力なのですが、勉強会では三脚に固定して使うので、手ぶれ補正は不要でした。むしろ、撮影範囲を調整する際に手ぶれ補正のせいで少し動いてしまって邪魔だったので、手ブレ補正機能は切ってしまいました。また、デフォルトの設定では録画していない状態で数分置いておくとパワーセーブにより電源が落ちてしまうので、パワーセーブも切りました。(準備中に電源が落ちると、そのたびにズームなどの調整が必要になるため。)

そして、このビデオカメラの最大のトラップは、変更した設定の保存に、電源を落としてから15秒かかるという謎仕様でした。そのため、電源を落としてから15秒はバッテリを外さず待つ必要があります。まさかバッテリを外す時間に依存するとは思っていなかったので、この仕様に気づくまで、設定が保存されたり保存されなかったりという謎現象に困っていました。

ちなみに、ビデオ撮影も可能なデジタル一眼をお持ちの方も多いと思いますが、多くのデジタル一眼は撮影時間が30分以内に制限されているので勉強会では使えません。(30分ごとに撮影し直したり、動画を撮影しなくて良いなら使えます。)もともとヨーロッパでの関税の影響だったのですが、調べたところ最近関税が撤廃されたようなので、最近の機種は大丈夫かもしれません。

ビデオカメラの映像キャプチャ

AVerMediaのCV710を使っています。

こちらはMac対応で手頃な値段のものを選びました。しかし、いざ試してみるとMacBook ProのUSB type-Cでは動きませんでした。(変換コネクタの問題かもしれません。)仕方なくWindowsの共用PCを用意しましたが、後に述べるように配信用PCを用意したのは正解でした。

スライド投影画面のキャプチャ

ElgatoのHD60 Sを使っています。

HD60 Sにはパススルー機能があり、HD60 Sに入れた映像をそのままHDMIで取り出せます。そのため、投影用PCからプロジェクターまでの間にHD60 Sを経由することで、投影画面をキャプチャできるようになりました。また、投影用PCの音声も拾えるので、動画など音を流す際にも対応できます。

音声のミキサー

ヤマハのAG-06を使っています。

AG-06は各種入力端子があるので、オーディオ出力のある会場であれば幅広く対応できると思います。注意点としては、マイクの音声のみを拾うため、質問コーナーなどでは質問者にもマイクを使っていただく必要があります。

ミキサーを使わない場合はビデオ会議用のマイクなどでも代用できるとは思いますが、その場合はタイピング音など、周りのノイズが入らないように注意する必要がありそうです。

動画配信用PC

レッツノートCF-SZ5を使っています。

CPUがCore i7、メモリ16GBのモデルになります。キャプチャーボードが2台とも負荷の大きいソフトウェアエンコードのため、同じ構成の場合はCPU性能がこれより低いと支障がでるかもしれません。インターフェースとしてはUSB3.0が2口、USB2.0が1口あれば配信可能です。

その他

他に必要な機材としては、ビデオカメラ用の三脚、HDMIケーブル2本、オーディオケーブル、各種変換端子(ビデオカメラ用のMicro HDMIなど)になります。

配信ソフトについて

配信ソフトはOSSのOBSを使用しています。生放送手順はググればたくさん出るので、ここでは特徴的なところを紹介します。

シーン作成

必要な画面の構成をシーンとして保存しています。用意しているのは次の4種類です。

①スライド投影画面のみ
②ビデオ撮影画面のみ
③スライド投影画面+ビデオ撮影画面のワイプ
④休憩中画面

③が通常使う画面です。登壇者の入れ替わり時など、スライドを表示していない時には②のビデオ撮影画面に切り替えたりしています。④の休憩中画面は、休憩中ですと書かれた画像をGoogleスライドでサクッと作ったものを利用しています。

万が一、投影用PCと相性が悪いなど、スライドのキャプチャができない場合は、ビデオカメラでスクリーンを撮影し、②のビデオ撮影画面にすれば、最低限の配信を行えます。

モノラル化

弊社の設備ではマイクの音声がステレオ対応していないので、初期設定のままだと片側しか音が出ない状態でした。ミキサーの歯車アイコン→オーディオの詳細プロパティ→モノラルにダウンミックスにチェックを入れて、LR両側で音を流すようにしました。

生放送TIps

共用PC

もともとは誰でも生放送できるように、各自のPCで動画配信できたほうが便利だと思っていたのですが、結果としては共有PCがあったほうが良かったです。各自のPCを使おうとすると、個別で必要なドライバを入れたり、配信ソフトの設定をしたりする必要が出てくるので、あまり現実的ではありません。

目印のシール

接続図の通り、各機器とケーブルには目印のシールを貼っています。誰でも配信できるように配信マニュアルも作ったのですが、やはり資料では配線を伝えることが難しく、結局↓のようにシールを貼るのが一番でした。

Image for post
Image for post
色と番号で直感的に接続できる

ケーブルの長さ

勉強会の規模や座席の配置が会によって異なるため、生放送機材やビデオカメラを置く場所を臨機応変に変える必要が出てきました。自由に生放送機材を配置したい場合、結局の所ケーブルの長さがネックになります。そのため、できるだけ長いケーブルを用意するに越したことはありません。参考までに弊社では、HDMIケーブルは7.5m、オーディオケーブルは30mのものを使っています。もちろん、参加者が躓かないように養生テープでケーブルを保護することも大切です。

持ち運び用カバン

ハクバ写真産業のSLD-RG2-SBLBKを使っています。前述の通り長いケーブルもあるので、大きめのものを用意するのがおすすめです。

動画の埋め込みを許可

初期状態では生放送動画をwebページ上に埋め込むことができません。勉強会の内容をブログで書いていただける場合も多いので、動画の埋め込みができないのは痛いです。生放送終了後であれば許可できるのですが、会場の片付けなどもある中での設定変更はついつい忘れがちです。実は、AdSenseアカウントと紐づけを行えば生放送動画も埋め込みを許可することができます。配信収益受け取りに向けた機能ですが、AdSenseアカウントと紐づけただけでは収益受け取りは無効のままなので、アカウントの紐づけだけ行うのをおすすめします。

まとめ

弊社の生放送事情を紹介しました。これまでの試行錯誤が少しでもお役に立てば幸いです。

ちなみに、値段は張るけど↓を使うと良いという話も聞いたので、もしこれから生放送に挑戦する方は検討してみてください。


Image for post
Image for post

6/1(土)に開催された『Erlang & Elixir Fest 2019』に参加してきたので、弊社エンジニアの登壇や会場の様子をご紹介します!

今回の会場は永田町のJA共済ビルで、メインホールのみで次々に発表が行われました。メインホールのすぐとなりがスポンサーブースだったので、ブースに立ちながら気になる発表には聞き耳を立てていました。キーノートの任天堂 渡邉さんの発表を聞けたのは非常にありがたかったです。

ブースでは各種ステッカーや技術書典で頒布したTech Noteの電子版QRコードを配ったり、長時間発表を聞くと不足する糖分補給としてお菓子を配りました。また、ミクシィのスポーツ事業に関する登壇があったので関連したスペシャルムービーも流しました。

Image for post
Image for post

ミクシィからは山口と村山の2名が登壇しました。

Image for post
Image for post
聞きやすいいい声で落ち着いて話す山口

山口からは現在開発中の新規事業でPhoenixとVue.jsを利用しているので、そこで得られた知見をお話しました。同様にPhoenixとVue.jsを利用している方が多いようで、うちでも使ってるよとの声がいくつもtwitterに上がっていました。

村山からはスポーツ事業での技術選定についてお話しました。

Image for post
Image for post
久しぶりに人前で話すので少し緊張気味の村山

Elixirの選定理由から始まり、Protocol Buffersの話を中心に、Kubernetesを使ったインフラの話と盛りだくさんの内容でした。質問時間には「ミクシィで最初にElixirを選んだ時の理由は?」と参加者から質問が。村山の代わりに、当時実際に選定に携わり、今回のイベントの運営メンバーも務める古城が「楽しそうだったから」と答えて会場から拍手があがっていました。他にもElixir導入時の工夫などの質問もあがり、実際のプロダクトでどうElixirを導入するか試行錯誤している人が多い印象を受けました。

ミクシィグループでは今回登壇した事業の他にも、いくつかのプロダクトでElixirを使った開発・運用が行われています。Elixirを実際の業務で使ってみたい!という仲間も募集中です!

About

Koji Kita

ディベロッパーリレーションズチーム

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store