Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テレビ録画を遠隔視聴する話
Search
ぐるぐる
December 17, 2017
Technology
0
610
テレビ録画を遠隔視聴する話
ぐるぐる
December 17, 2017
Tweet
Share
More Decks by ぐるぐる
See All by ぐるぐる
ROSConJP 2025 発表スライド
f0reacharr
0
230
StudioAquatan Introduction 2024
f0reacharr
0
33
ロボコンのすすめ
f0reacharr
0
49
How to survive campus life at KIT with MacBook
f0reacharr
0
160
Other Decks in Technology
See All in Technology
GopherCon Tour 概略
logica0419
2
160
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
200
BtoBプロダクト開発の深層
16bitidol
0
120
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
170
AI×Data×SaaS×Operation
sansantech
PRO
0
100
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
860
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
580
今日から始めるpprof / Pprof workshop for beginners
ymotongpoo
6
770
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
310
データエンジニアがこの先生きのこるには...?
10xinc
0
400
kaigi_on_rails_2025_設計.pdf
nay3
8
3.9k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Thoughts on Productivity
jonyablonski
70
4.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Producing Creativity
orderedlist
PRO
347
40k
Designing for Performance
lara
610
69k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
How to Ace a Technical Interview
jacobian
280
23k
The Language of Interfaces
destraynor
162
25k
Git: the NoSQL Database
bkeepers
PRO
431
66k
How GitHub (no longer) Works
holman
315
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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非対応→知ったことではない • シークを呼び出す条件とかバッファリングとか→なんとかします!
ご清聴ありがとうございます