Abemaを作ってみたい
作るならどんな感じになるか考えてみた
スコープ
Androidのabemaアプリのミニ版(機能 超縮小版)を作成する。
基本的にフロント側を簡単に構築する。
実装したいAbemaのアーキテクチャ概要図
バックエンドの構築をすべてやるのは、時間がかかるのでYoutubeを用いる。
Androidのソフトを簡単に実装したい
第一の目標
NHKのサイトから以下動画をお借りする。
https://www2.nhk.or.jp/archives/movies/?id=D0002161720_00000
まずは、この動画をループでYoutubeに乗せ、Android端末で見られるようにするところまでを第一の目標とする。
出来上がるのはほぼYoutubeだが、クライアントアプリ側を自分でいじれて、別でサーバを持ちそこで色々できるみたいにできればいいかなと思った。
たぶん、あまり良くないがYoutubeの広告ブロック系のNewPipeというものがあり、その中にNewPipeExtractorというライブラリがあるので、これを使えばいい感じに動画が取れる気がする。
まずは、Youtubeで配信し続けるところを作る
下の記事を参考にする。
https://qiita.com/uzyexe/items/5452c6853c9bf2bce267
一旦ライブ配信してみる
チャンネルを作った
↓に従ってライブ配信設定をする
NewPipeExtractor
NewPipeExtractorというライブラリについて考えてみる。
Youtubeでライブ配信をするのはいいが、独自のアプリでその配信を見れるようにしたい。
アプリ内ブラウザを使ってみるでもいいけど、埋め込んだYoutubeだとUIを制御できなさそう
Youtube埋め込み
色々調べたけど埋め込みでWebだとUI制御が難しい
どうしてもYoutubeロゴを消せない
どっちにしても音を出して自動再生もできない、、
(なんでも背景に、自動再生で勝手に音が出て困るからmuteでの自動再生のみにしたとか。)
制約が多そうなので、NewPipeExtractorにする。
NewPipeExtractor
Gradleで入れ込んで、各モジュールを使えるようになるみたい。ドキュメントも充実しており、使えそう。
youtubeでの配信
これをラズパイに移行する
図を更新する
以下画像みたいな感じで作っていきたい