PLAY DEVELOPERS BLOG

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

OAuth 2.0 クライアントID作成から Gmail API 呼び出しまで

皆さん、こんにちは。 プラットフォーム技術部の林と申します。 前回の投稿から気づけば2年が経ってしまいました。 しばらくご無沙汰しておりましたが、また記事を書いてみようと思います。 もし以前の記事の Playwright にご興味がある方は、こちらもぜひご…

AWSのランニングコストを削減しよう! opswitchを使った定期停止・起動について

OTT サービス技術部の赤澤です。 前回のブログではAWSリソースのコスト削減のためにAmazon EventBridgeを利用した定期的なリソースの停止、起動の方法を紹介しました。 developers.play.jp 約2年前に執筆したブログですが、現在はCloudFormationテンプレート…

AWS Elemental LinkからMediaLiveへ打ち上げてライブ配信する

こんにちは。2024年度に入社しました、PLAY CLOUD本部プラットフォーム技術部 開発第1グループ所属の朱です。 本記事では、AWS Elemental Linkを用いてMediaLiveにライブ映像を入力し、最終的にMediaPackageを経由してHLSストリーム(.m3u8)を配信する基本…

チーム開発におけるGitHubのおすすめ設定

こんにちは、4月にPLAYに入社した原田です。 入社してすぐに、前職で活用していたGitHubの設定を思い出し、現在の案件リポジトリにもいくつか適用してみました。 その結果、開発チームの生産効率が向上しました! この記事では、私が実際に設定して効果を感…

Figma で実現!チームコミュニケーションを高めるルール作り

こんにちは、デザイングループの荒木です。去年、育休から復帰した一児の母デザイナーです。家事や育児の合間に仕事の効率やチームとのやり取りを考えながら、毎日バタバタしています。最近の悩みは、運動する時間がなかなか取れないことです。 デザイナーも…

AWS Lambda のログの S3 出力が簡単になりました

AWS

今年の5月よりLambdaのログ出力に仕様変更がありました。料金計算の際に Vended Logs として計上されるようになったほか、Vended Logs として S3 や Data Firehose へ出力できるようになりました。CloudWatch Logs 以外でのログ管理がしやすくなった他、S3 …

Node.js 組み込みテストランナー「node:test」の使用方法について

メディアサプライチェーン技術部開発第2グループの長谷川です。 2023年4月にリリースされた Node.js v20 から、組み込みのテストランナーとして node:test が安定版機能となりました。新しく開発に取り組んだバックエンドのNode.jsのプロジェクトでユニット…

動画配信技術を実装して理解する〜HLS配信編〜

こんにちは、PLAY CLOUD本部 技術推進室 の石川です。「動画配信技術を実装して理解する」シリーズも4回目の記事となりました。 前回の記事はこちらになります。 developers.play.jp 今回は、前回のRTMPからHTTP-TS配信を行うプログラムを、インターネット配…

【 AWS GameDay イベントレポート】PLAY、HJホールディングス、日本テレビ、TVer 初の合同開催!

2025年7月17日(木)にエンジニアの技術力向上を目的として開催した AWS GameDay の様子を余すことなくレポートします! AWS GameDayとは AWS GameDay は、チームベースの環境で、AWS ソリューションを利用して現実世界の技術的問題を解決することを参加者に…

社内 LT 会「てっくじゃむ」7月24日のイベントレポート

2025年7月24日(木)に、PLAY 社内で 「てっくじゃむ」を開催しました。 このイベントは PLAY の技術情報交流を活発化させるため不定期で開催している社内の LT 会です。 ジャムセッション(即興で行われる演奏会)のように、普段はあまり関わりがない人たち…

動画配信技術を実装して理解する〜MPEG-TS トランスマックス編〜

こんにちは、PLAY CLOUD本部 技術推進室 の石川です。「動画配信技術を実装して理解する」も3回目の記事となりました。 前回の記事はこちらになります。 developers.play.jp 今回は、前回のHTTP-FLV配信のベースに対して、MPEG-TSにトランスマックスし、HTTP…

AWS Summit Japan 2025 に現地参加してきました!

2025年6月25,26日は AWS Summit Japan 2025 の開催日。前日に台風が接近したので心配でしたが無事に開催され、私も幕張現地まで出向いて2日間参加しました。 クラウドベースのコンタクトセンターを構築できる Amazon Connect は、日本国内では東京リージョン…

Storybook を MCP サーバ化したらフロントエンド開発が自動化される未来が見えた

こんにちは。テックリードの丸山 @maruyamaworks です。最近は Claude Code に全部賭けています。 前回、GitHub Copilot を使って Storybook を作った話を書きました。 developers.play.jp 今回はその応用編として、Storybook を MCP サーバ化して LLM に提…

GitHub Copilot を活用して社内 UI コンポーネントの Storybook カタログを作った話

こんにちは。テックリードの丸山 @maruyamaworks です。最近は Claude Code に全部賭けています。 弊社も生成 AI を活用することで開発効率を圧倒的に高めるべく、さまざまなツールの検証や導入、社内ルールの整備などを急ピッチで進めています。また、実際…

AWS のコスト可視化ツール「Budget Falcon」を公開しました

クラウドサービスを使う上でコスト管理は避けて通れない課題です。今回、AWS のコスト状況をグラフ画像にして Slack に投稿する社内ツール「Budget Falcon」を作りましたので、作った際に考えたことなどを書いていきます。弊社 Slack には元々、コストを通知…

動画配信技術を実装して理解する〜HTTP-FLV 配信編〜

こんにちは、技術推進室の石川です。「動画配信技術を実装して理解する」も2回目の記事となりました。不定期連載ですので、気ままに連載していこうと思います。 前回(第1回目)の記事はこちらになります。developers.play.jp 前回はRTMPを受信してFLVファイル…

LocalStack を用いてローカルに AWS 環境を構築する

AWS

こんにちは。2024年度に入社しました、PLAY CLOUD本部プラットフォーム技術部 開発第2グループ所属の成瀬です。 業務でAWS上にシステムを構築する機会があり、その開発において LocalStack を利用することで、失敗を恐れずに開発を進めることができました。 …

@nestjs/swagger を活用して NestJS 製 API の仕様書を作る

こんにちは、OTTサービス技術部 開発第1グループの清瀬です。 主にフロントエンドエンジニアを担当しております。 とあるプロダクトで、NestJSを触る機会がありました。 そのプロダクトではAPIドキュメントがなかったので、NestJSのdecoratorを利用してSwagg…

型リポジトリの運用と GitHub Actions による自動化の取り組み

こんにちは、OTTサービス技術部開発第一グループの麻田です。 今回は、案件で実施した型リポジトリの導入および運用効率化の取り組みについてご紹介します。 導入背景と課題 開発時の運用 GitHub Actions による CI/CD パイプライン構築 自動化の流れ 現状の…

AWS SAM でアプリケーションのデプロイと変更管理を効率化

AWS

こんにちは。24年度に入社しました、PLAY CLOUD本部プラットフォーム技術部開発第3グループに所属しています、大城と申します。 業務でSAM (Serverless Application Model) を利用してサーバレスのAPIを構築する機会があり、その過程でSAM で利用する CloudF…

動画配信技術を実装して理解する〜RTMP 1.0 受信編〜

こんにちは、2025年度から技術推進室に異動しました、石川です。以前はフルスタックエンジニアとして動画配信における字幕に関わっていました。システムプログラミングから様々なプレイヤーの字幕表示まで、字幕に関わる問題をワンストップで一貫して対応す…

React 17 から React 19 への段階的なバージョンアップと Legacy Context の話

皆様はじめまして。 24卒で新卒入社いたしました、OTTサービス技術部の篠原です。 本稿では、React 17 から React 19 へのバージョンアップに伴い実施した対応について紹介します。 前提 React 19 への移行のポイント 全体の移行方針 この移行方法を採用した…

エンジニアが Figma のデザインを実装するときに見るべきポイント

デザイナーの白川です。 主にプロダクトのUIをデザインしています。 前回はデザイナー向けに「Figma で実装イメージを効果的に伝えるためのデザインのコツ」という記事を書きました。 developers.play.jp 今回の記事ではエンジニアさん向けにFigmaのデザイン…

AWS GameDay イベントレポート

2025年3月27日(木)に 社内のエンジニアの技術力向上を目的として、 AWS 様と合同で開催したイベントについてのレポートです! AWS 様から5名、PLAYオフィスにお越しいただき、セミナールームで実施しました。 AWS GameDayとは AWS GameDay は、チームベー…

ブラウザ上で HTML 要素を画像化してテロップ画像を作る

24卒で新卒入社いたしました。メディアサプライチェーン技術部開発第1グループの山口です。 私は業務の中で、動画に任意のテキストをテロップとして重ねられる機能を実装しました。 その際、テロップ画像をサーバーサイドで生成すると、ブラウザでプレビュ…

Android Studio で標準搭載された Gemini の紹介

こんにちは、Androidアプリの開発を担当しているOTTサービス技術部の山田です。 2024年4月以降、「Gemini (ジェミニ)」がAndroid Studioで標準搭載されているということで、使用感について紹介させていただきます。 Geminiとは? 導入してみる 事前準備 構築…

社内 LT 会「てっくじゃむ」3月7日のイベントレポート

こんにちは、運営です。 2025年3月7日(金)に、PLAY 社内で 「てっくじゃむ」を開催しました。 このイベントは PLAY の技術情報交流を活発化させるため不定期で開催している社内の LT 会です。 ジャムセッション(即興で行われる演奏会)のように、普段はあ…

キーボードにこだわってみませんか

みなさんこんにちは。 OTTサービス技術部 開発第一グループの諸岡です。 今回は少し毛色を変えて、身近な入力機器であるキーボードについて書いていこうと思います。 左右分割キーボードの利点 自作キーボードの利点 快適に作業する為のキーマップカスタマイ…

デザインパターンでコード改善! ストラテジーパターンの紹介と適用事例

こんにちは、PLAY CLOUD本部 プラットフォーム技術部開発第1Gのキムテヒョンです。 入社してから早くも3ヶ月が経ちました。新しい環境で様々な技術に触れながら、多くのことを学んでいます。 特に、良いコードについての考えが深まってきましたが、今回の記…

Apple Intelligence は私たちの生活をどう変えるか

iOS

株式会社PLAYでiOSエンジニアをしております鈴木斗夢と申します。 WWDCのApple Intelligenceに関する発表がかなり刺激的だったのでご紹介いたします。 Apple Intelligenceとは何か Apple Intelligenceは私たちの生活をどう変えるか 画面の内容を認識する 免…