タグ

ブックマーク / tech.mirrativ.stream (13)

  • 内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog

    インフラストリーミングチームの近藤 (@udzura) です。今回は、ミラティブで内製しているオブジェクトストレージサーバ「b3」の紹介記事を書きたいと思います。 今回の記事は、6月にGopher Talkというイベントで発表した「Go製ミドルウェアを実践投入するにあたりやったこと」をベースに、内容を詳細にしたり直近の開発状況に合わせて更新したものです。一部内容はこの発表と重複していますがご了承ください。 オブジェクトストレージサーバを内製した背景 1. 大量オブジェクトの操作や増え続ける転送量に対応したい 2. 一定期間しかファイルの保持をしない 3. オンメモリ/SSD/HDDを組み合わせたチューニングがしたい オブジェクトストレージb3の特徴 S3 互換の基的なAPIを実装 LSM-Tree index+WALなDB/マージ操作に対応 I/O 帯域を制限可能 非同期レプリケーション

    内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog
  • 1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog

    こんにちは ハタ です。 今回は以前iOSのクライアントサイドで実装していた通知ぼかし機能をサーバサイド(配信サーバ)上に再実装した事を書きたいなと思います 今回はかなり内容を絞りに絞ったのですが、長くなってしまいました、、 目次機能があったのでつけてみました、読み飛ばして読みやすくなった(?)かもしれません 目次 目次 通知ぼかし機能とは サーバサイド通知ぼかし プロトタイプの実装 苦労の始まり その1 画像処理速度 苦労の始まり その2 データ量 さらなる計算量の削減を求めて さらなる最適化へ Halide の世界へ 簡単な halide の紹介 苦労の始まり その3 いざ リリース リリースその後 We are hiring! 通知ぼかし機能とは 通知ぼかし機能は、ミラティブ上での配信中に写り込んでしまったiOSの通知ダイアログをダイアログの中身を見えないようにぼかし処理をしてあげる

    1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog
  • ミラティブ おすすめ配信の仕組みについて解説 - Mirrativ Tech Blog

    こんにちは、エンジニアのタテノです。 ミラティブアプリを起動するとおすすめ配信の一覧が表示されます。 今回はこのおすすめ配信の仕組みについて解説しつつ、おすすめ配信の運用・改善を行う上でのポイントなどをまとめてみました。 システム面では機械学習などのトピックも含みますが、今回はサーバサイドの設計周り、特にパフォーマンスを考慮している部分にフォーカスしています。 おすすめ配信一覧 おすすめ配信の役割 ユーザはすでにお気に入りの配信があれば、フォロータブから配信に入室しますが、ミラティブをはじめて初期の段階やお気に入りの配信がない場合は、そのほとんどはおすすめ配信から配信に入室します。おすすめ配信はユーザが配信に興味を持つきっかけとしてその役割を果たしており、とても重要です。 ミラティブでは常時、多数の配信が行われており一度に全ての配信を表示することはできません。たくさんある配信の中からそのユ

    ミラティブ おすすめ配信の仕組みについて解説 - Mirrativ Tech Blog
  • Mirrativにおけるプッシュ通知ぼかしへの挑戦 - Mirrativ Tech Blog

    こんにちは Mirrativ CTOの夏です 今回は先日iOSでリリースした通知ぼかし機能について、裏でどういうことをしているのかについて軽く紹介したいと思います。 MirrativではOSから提供されるAPI( ReplayKit・MediaProjection )を用いて、スマホ画面を直接収録・配信することで、配信用のSDKを各ゲームやアプリに埋め込んでもらう必要がなく、ユーザさんが色々なアプリを気軽に切り替えながら友達と雑談を楽しんだり、ゲームを通じて新しい友達を作ることができます。 その反面、配信者が適切な設定を行っていない場合、意図しないプッシュ通知が視聴者に表示されてしまう場合もあります。 Mirrativでは配信準備画面に注意文言と啓蒙動画を載せていますが、どうしても設定が漏れたりする場合があるため、配信者が注意しなくても、プッシュ通知が視聴者に見えない仕組みを以前から検討し

    Mirrativにおけるプッシュ通知ぼかしへの挑戦 - Mirrativ Tech Blog
  • Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog

    こんにちは。ストリーミングチームの松です。 Mirrativのストリーミングチームは、低遅延配信や、通知ぼかしというような機能を追加するため、配信のorigin serverの前段にtranscoder serverというものを導入してきました。 tech.mirrativ.stream tech.mirrativ.stream transcoder serverはGoによる内製のミドルウェアであり、主に映像の変換を行う目的で作られました。現在は配信プロトコルの変換(既存プロトコル -> 低遅延プロトコル)などを行っています。また、実際にはサーバー上のDockerコンテナ内で動作しています。 transcoder serverを展開していくにあたり、メモリ使用量が常に増え続ける問題が起きていたため、その際に直面したGoの実メモリ使用量に関する話を書きたいと思います。 メモリ使用量の増加問

    Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog
  • 【インフラ】Mirrativのデータベースを最小限の影響で切り替える運用の紹介 - Mirrativ Tech Blog

    こんにちは、ミラティブのインフラを担当している清水です。 今回はミラティブのデータベースのマスタをどのようにフェイルオーバさせているかノウハウをお伝えしようかと思います。 ミラティブではデータベースにMySQLを利用しており、マスタ・スレーブ構成で冗長化しています。 マスタ・スレーブ構成の優れている点はデータをフルダンプすればデータベースを完全に複製でき、マルチマスタ構成で発生しうるデータ不整合を気にかけなくて良い点です。 データベースのクラスタリングには MySQL Cluster や GaleraCluster などもありますが、マスタ・スレーブ構成はストレージエンジンに依存せず素のMySQLで運用できるので、クラスタ固有の制約にハマったりせずシンプルに運用できるのも強みです。 ただし、マスタ・スレーブ構成の鬼門となるのがマスタのフェイルオーバです。 スレーブは参照のみリクエストを処理

    【インフラ】Mirrativのデータベースを最小限の影響で切り替える運用の紹介 - Mirrativ Tech Blog
  • 【Unity】MirrativのEmbedding Unityを更新した話: 実践 Unity as a Library - Mirrativ Tech Blog

    こんにちは皆様いかがお過ごしでしょうか、10ヶ月ぶりくらいのポストになります、よこてです。今日は「Mirrativ の Unity は進化してるんだぞ」という記事を書いていきます。 tech.mirrativ.stream Mirrativ は Swift/Kotlin によるネイティブアプリですが、3D/アバター部分は Unity で実現しています。いわゆる embedding unity で、 Unity 2018.3 からは Unity as a Library として公式サポートされています。前回記事で触れたように、Unity をネイティブアプリに組み込むこと自体は公式サポート以前にもできて、ミラティブでは Unity 2018.2(2018年8月頃)から使っています。 Mirrativ では今 Unity 2019.4 LTS を使っていて、8月から Mirrativ の機能とし

    【Unity】MirrativのEmbedding Unityを更新した話: 実践 Unity as a Library - Mirrativ Tech Blog
  • Androidアプリの技術的負債を返済する - Mirrativ Tech Blog

    Mirrativ Androidエンジニアのmorizoooです。 Mirrativのエンジニアは週4日をプロダクト開発に、週1日を開発体験の向上に時間を割いおり、CTOによる旗振りのもと、エンジニア主導で技術的負債の返済に取り組んでます。 今回は、Androidチームで取り組んだ技術的負債の返済のために行った取り組みについて紹介します。 背景 以前、2019/04に 突撃!!隣のアーキテクチャ - connpass でもお話したのですが、Androidアプリが主に以下の理由でつらい状態なっておりました。 ロジックが散在 今ではあまり使われないライブラリへの依存 JavaKotlinの共存 speakerdeck.com これに対してAndroidチームで以下の取組みを行いました。 ActivityとCustomViewの再設計 ライブラリの最新化 Kotlin化の推進 それぞれのトピッ

    Androidアプリの技術的負債を返済する - Mirrativ Tech Blog
    alcus
    alcus 2020/01/14
  • 【Unity】Mirrativのアバターがなんで動いているのか誰にもわからないので説明する - Mirrativ Tech Blog

    こんにちは、よこてです。Mirrativ のアバターUnity で動いているという話をします。Mirrativ は iOS/Android の ライブ配信アプリですが、機能の一つとしてエモモ(アバター)があります。 これは Unity で動いているのですが Mirrativ そのものはネイティブのモバイルアプリです。意味がわかりませんね。具体的には オレンジの部分がネイティブで実装されていて、青い部分がUnityで実装されています。わかりにくいですね。要するに 基的にはネイティブ実装されていて、アバターの部分だけがUnityで実装されています 。 このように Mirrativ は ネイティブ実装とUnity実装のハイブリッド構成 になっています。これは歴史的経緯があるのですが、Mirrativ はモバイルのライブ配信サービスとして開発され運用されてきました。最初はアバターという機能は

    【Unity】Mirrativのアバターがなんで動いているのか誰にもわからないので説明する - Mirrativ Tech Blog
  • 【保存版】スタートアップがユーザビリティテストを3日ですべて終わらす方法 - Mirrativ Tech Blog

    こんにちは、分析チームの坂です。 テックブログ3回めの登場です。 ミラティブの分析チームは、もちろんBigQueryや機械学習を用いた定量的なデータ分析も行いますが、ユーザーを理解するための定性分析も行う「分析チーム」であることを掲げています。 ※最近では、データアナリストとUXリサーチャーの境界が溶けつつあるという議論があると思いますが、弊社もその流れを採用しています。 突然ですが、ユーザビリティテスト = お金と時間がかかる という認識の方もいらっしゃると思います。 ミラティブでは、ユーザビリティテストをやろう!と言ってから3日間&謝礼実費のみでユーザビリティテストが完了しました(被験者3名)。 どんなことをやったのかという内容を書きながら、ハマりどころををシェアしようと思います。 ユーザビリティテストの一般論 まずは、ユーザビリティテストってなんやねんという話を書いて行きます。とい

    【保存版】スタートアップがユーザビリティテストを3日ですべて終わらす方法 - Mirrativ Tech Blog
  • 日本最大級のプロダクトマネージャーコミュニティのオフ会#16 に潜入レポ - Mirrativ Tech Blog

    はじめまして。 ミラティブの坂としふみです。 先日、日最大級のプロダクトマネージャーコミュニティである pmjp のオフ会に行ってきました。 今回のブログではそのレポをお送りします。 pmjpとは いきなり 公式サイト からの引用なのですが、pmjpとは下記のようなコミュニティです。 Product Managers Japan (PMJP)は、主にWeb業界のプロダクトマネジメント・オーナーシップに興味を持つ人々が集まるコミュニティです。現職のプロダクトマネジャーはもとより、エンジニア・デザイナー・プランナーなどなど、様々なバックグラウンドを持つ人々が集っています。 プロダクトマネージャーという言葉が定着するはるか前である、2015年ごろから始まっているコミュニティです。いまでこそプロダクトマネージャーのコミュニティはいくつか存在しますが、その先駆けとなったコミュニティです。年に数回

    日本最大級のプロダクトマネージャーコミュニティのオフ会#16 に潜入レポ - Mirrativ Tech Blog
  • 「ミラティブを他の人に勧めますか?」というNPS調査をプロダクト改善に活かす方法 - Mirrativ Tech Blog

    はじめまして。 分析チームの坂としふみです。 今日は、「ミラティブを他の人に勧めますか?」というアンケートをどう分析し、プロダクト開発に活かしていくのかということを記事にしてみたいと思います。 NPS(Net Promoter Score)とは? NPS調査の例 アプリやWEBサービスを使っているときに、上記のような質問をどこかで見たことあるのではないでしょうか? これは、Net Promoter Score(NPS)と言われる指標を計測するための質問です。 NPSは、ユーザーの利用継続意向を測るための指標で、多くのアプリやWEBサービスで採用されています。 NPSの計算方法は、点数を下記のように分類し、推奨者の割合から批判者の割合を減算したものをNPSとします。たとえば、推奨者が40%・批判者が8%だった場合、NPSは +32 となります。 点数 評価 10 - 9 推奨者(Promo

    「ミラティブを他の人に勧めますか?」というNPS調査をプロダクト改善に活かす方法 - Mirrativ Tech Blog
  • 機械学習で配信中の映像からゲームを推定する機能をリリースしました - Mirrativ Tech Blog

    おはようございます、機械学習エンジニアのハヤシです。 稿は前回紹介した 機械学習で配信中の映像からゲームを推定する機能を開発しています🎮 - Mirrativ tech blog の続きとなります。そのため、背景や機能の紹介については最小限に留めさせていただきます。 背景 前回 の記事に開発の背景や想いを書いています。そちらをご覧ください。 機能の紹介 配信中の映像から「今なんのゲームをやっているのか?」を推定する機能です。 機械学習にて画像認識モデルを作り、どのゲームで遊んでいるかを推定するクラス分類機を作りました。 今遊んでいるゲームを推定しています。 A/B テストとその結果 Mirrativでは、新機能をリリースするときには必ずといっていいほどA/Bテストを行います。A/Bテストを行うことで、機能の目的がどれくらい達成されたかを定量的に確認します。その効果を確認した後、リリー

    機械学習で配信中の映像からゲームを推定する機能をリリースしました - Mirrativ Tech Blog
  • 1