Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
minneのショート動画基盤の設計と運用改善 カバーとGMOペパボが語る、クリエイターの創作・...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yumu
November 05, 2025
690
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
minneのショート動画基盤の設計と運用改善 カバーとGMOペパボが語る、クリエイターの創作・表現活動を支える技術
yumu
November 05, 2025
More Decks by yumu
See All by yumu
Railsアプリから何を切り出す?機能分離の判断基準 Kaigi on Rails 2025
yumu
2
7.6k
影響を広げる力研修 GMOペパボ2025新卒エンジニア研修
yumu
0
2.3k
分散オブジェクトで遊ぼう!〜dRubyで作るマルチプレイヤー迷路ゲーム〜 関西Ruby会議08
yumu
1
1.8k
Ruby×AWSで作る動画変換システム 東京Ruby会議12
yumu
2
4k
Google Cloudで作るニアリアルタイムアクセス解析基盤 GDG DevFest Tokyo 2024 LT
yumu
0
3.9k
アクセス解析基盤のデータストア選定奮闘記 CloudNative Days Winter 2024 船上LT会
yumu
0
250
minneのShoryuken活用 Kaigi on Rails 2024 スポンサーLT
yumu
3
2.7k
Rubyでも動画変換簡単にできるよ TokyuRuby会議15スポンサーLT
yumu
0
190
文系の私が新卒エンジニアになるまで
yumu
4
1.5k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
230
Tell your own story through comics
letsgokoyo
1
1.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
How to make the Groovebox
asonas
2
2.4k
WCS-LA-2024
lcolladotor
0
830
What's in a price? How to price your products and services
michaelherold
247
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Being A Developer After 40
akosma
91
590k
My Coaching Mixtape
mlcsv
0
310
Exploring anti-patterns in Rails
aemeredith
4
510
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Transcript
minneのショート動画基盤の 設計と運用改善 yumu 2025.11.05 カバーとGMOペパボが語る、クリエイターの創作・表現活動を支える技術 1
2 自己紹介 GMOペパボ minne事業部 プロダクト開発チーム yumu (湯村 美吹香) 新卒3年目、エンジニア5年目、Rubyist5年目 バックエンド > インフラ
>>> フロント 💎 推しの漫画 : メイドインアビス 💎 X : @myumura3
3 minneとは
4 動画投稿機能をリリースしました🎉
5 技術的な課題 大容量ファイルの取り扱い セキュリティリスク 変換処理に時間がかかる
6 1. システム設計のポイント
7 全体アーキテクチャ Shoryuken Shoryuken Shoryuken Shoryuken 署名付きURL 動画アップロード イベント送信 ウイルス
スキャン イベント送信 メッセージ送信 動画を取得 ポーリング 動画にタグを付与 ポーリング 動画を取得 変換後の動画をアップロード 動画の変換 S3 SQS Lambda SQS
8 全体アーキテクチャ Shoryuken Shoryuken Shoryuken Shoryuken 署名付きURL 動画アップロード イベント送信 ウイルス
スキャン イベント送信 メッセージ送信 動画を取得 ポーリング 動画にタグを付与 ポーリング 動画を取得 変換後の動画をアップロード 動画の変換 S3 SQS Lambda SQS ダイレクトアップロードで サーバー負荷軽減・高速
9 全体アーキテクチャ Shoryuken Shoryuken Shoryuken Shoryuken 署名付きURL 動画アップロード イベント送信 ウイルス
スキャン イベント送信 メッセージ送信 動画を取得 ポーリング 動画にタグを付与 ポーリング 動画を取得 変換後の動画をアップロード 動画の変換 S3 SQS Lambda SQS 非同期処理で ユーザーを待たせない
10 2. 運用における改善
11 画面ごとの動画品質調整 • 使用画面と元動画のサイズに応じて、適切なCRFを指定 [ # 作品一覧用 { ffmpeg_options: {
video_codec: 'libx264', custom: ['-crf', small_square_crf.to_s, '-an', '-vf', crop_filter] } }, # 作品詳細用 { ffmpeg_options: { video_codec: 'libx264', audio_codec: 'aac', audio_bitrate: '128k', custom: ['-crf', large_crf.to_s] } } ]
12 モニタリング • デッドレターキューの監視 • メッセージの経過時間の監視
13 インフラリソースの最適化 CPUは3コアくらいが 適度かな メモリは1.5GiBは 必要そう • ユーザーを待たせず、コストも削減
14 まとめ
15 実現したいこと ✨技術でクリエイターの創作・表現活動を支援する✨
16 今後の展望 サムネイルの設定 AI生成動画の活用 長時間動画への対応
17 Thank You! Thank You!