Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テレビ録画を遠隔視聴する話
Search
ぐるぐる
December 17, 2017
Technology
0
620
テレビ録画を遠隔視聴する話
ぐるぐる
December 17, 2017
Tweet
Share
More Decks by ぐるぐる
See All by ぐるぐる
ROSConJP 2025 発表スライド
f0reacharr
0
260
StudioAquatan Introduction 2024
f0reacharr
0
43
ロボコンのすすめ
f0reacharr
0
57
How to survive campus life at KIT with MacBook
f0reacharr
0
160
Other Decks in Technology
See All in Technology
TypeScript 6.0で非推奨化されるオプションたち
uhyo
15
5.9k
なぜフロントエンド技術を追うのか?なぜカンファレンスに参加するのか?
sakito
8
1.9k
シンプルを極める。アンチパターンなDB設計の本質
facilo_inc
1
910
インフラ室事例集
mixi_engineers
PRO
2
180
【保存版】「ガチャ」からの脱却:Gemini × Veoで作る、意図を反映するAI動画制作ワークフロー
nekoailab
0
130
『星の世界の地図の話: Google Sky MapをAI Agentでよみがえらせる』 - Google Developers DevFest Tokyo 2025
taniiicom
0
460
その設計、 本当に価値を生んでますか?
shimomura
2
130
都市スケールAR制作で気をつけること
segur
0
220
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.1k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
620
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
250
「え?!それ今ではHTMLだけでできるの!?」驚きの進化を遂げたモダンHTML
riyaamemiya
9
3.8k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Scaling GitHub
holman
464
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Fireside Chat
paigeccino
41
3.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Transcript
テレビ録画を遠隔視聴する話 by @f0reachARR
自己紹介 • TypeScriptやC#などをメインに使用 • Twitter/GitHub: @f0reachARR • Web関連や動画配信技術に興味あり
やりたいこと テレビの録画をどこからでも見られるように! 問題点 • エンコードしないとモバイル回線どころか家の中ですら安定しない • エンコードしながら配信するとすればシークがめんどくさい ◦ Chinachuなどはシークされたところからエンコード ◦
でもこれだとすでにエンコードしたところが無駄になる ◦ ↑これをなんとかする
具体的には 複数のエンコーダーが作成したものをいい感じに繋ぐ エンコーダー1 0:00 10:00 ここから見たい! エンコーダー2 停止 この区間を見たいときはそこをエン コードして、いい感じに
(ry 途中からエンコード
使う技術 • Media Source Extension(MSE) ◦ 動画ファイルを分割したセグメントを読み込ませてタイムスタンプに基づき再生できる ◦ エンコーダーごとの始点の調整は timestampOffsetを使用
◦ 分割が容易(多分)なWebMコンテナで渡す • エンコーダー ◦ めんどくさいのでffmpeg ◦ WebM使うのでVP8+Vorbisでエンコード
MSEのAPIで長さを指定する シークしたらその地点からエンコード そしてエンコードされたら読み込み 読み込み時にoffsetを設定する 出来たもの 使用されたエンコーダーたち シーク地点からエンコードされ、既にエンコードされている部分は飛ばす
今後の課題 • たまに止まる、しかもリロードすると普通に見れる問題をなんとかする • VP8のHWエンコーダーは少ない→H.264を使いたい→MP4版作成へ • iOSはMediaSource非対応→知ったことではない • シークを呼び出す条件とかバッファリングとか→なんとかします!
ご清聴ありがとうございます