録画してエンコードして良い感じに見る
概要
表題の通り。
この記事ブログカード多用しまくった結果scriptタグ多すぎてめっちゃ重いと思いますごめんなさい。
環境
使ってるプロダクト多すぎてよく分からんけど2015年中旬時点で最新っぽいのです。 OSはDebian jessieのnetinstで統一。
やること
準備
- 諸々買う
録画サーバ
- Chinachuインストール
Chinachuのインストールで詰まるので適当に直す
気づいたら直ってました、kanreisaさんThx!
jessieはsystemd採用してますがinitスクリプトをチュートリアル通りに突っ込んでserviceコマンドを叩くと普通に動いてくれます
ストレージサーバ
エンコードサーバ
- ffmpeg入れる
この記事のスクリプト最高なんだけど若干古かったり環境依存だったりするので適当に直す
参考: qiita.com
- ffmpegの設定はこれを参考に
- 一部オプションが移行してたりするので適宜直す
配信サーバ
実はストレージサーバの上に動いてるKVMだったりする
- pig-media-server入れる
- ruby-devとかpkg-configとか諸々入れるのを忘れない
- RMagickが鬼門
# apt-get install ruby-dev nodejs npm pkg-config Imagemagick libmagickcore-dev libmagickwand-dev
作者のGitHubを漁るとそれっぽいのがあるので参考にする
転けるポイントが2つあって、
- pig-media-serverをgemで入れようとするとsinatraがdevelopで起動してしまう
これに該当してしまって、リッスンするのが127.0.0.1:PORTだけになってしまうので、gitからcloneしてくるのが良いと思う。
自分はフロントのwebサーバが配信サーバ以外に置きたかったので躓いたが、別に127.0.0.1からなら普通にアクセス出来るので、ミドルサーバとして配信サーバにApacheとかNginxを置くのもまあ解決策としてはアリだと思う。
- /volume/ 以下はフロントサーバを噛ますときに注意する
上記のkariaさんの記事でも触れられているのだけど、/volume/ 以下は実ファイルパスを返す必要がある。 フロントのwebサーバを噛ます時にmp4ファイル群が /volume/ 以下にくるようにフロントサーバの設定を書くと良い。
総括
「適当に直す」とか書いてたスクリプトに関しては以下に纏めた。その他の課題もIssueとして書いていくことにする。 github.com
かなり良い感じに録画を見る事が出来るようになって、録画の消化が更に捗る。更なる録画環境の構築に向けて良い方向にしていきたい。