LoginSignup
63
66

More than 5 years have passed since last update.

PC・スマホ両対応の動画配信サーバーメモ

Last updated at Posted at 2014-11-11

掲題のシステムを構築する仕事があったので、備忘録がわりに。

動画ファイルの形式について

mp4を使うとPC・スマホとも簡単に配信できる感じ。
細かい制御をしたい場合は、PC向けにはRTMPを使ったflv配信、スマホ向けにはHLSによる配信が良さそう。

flv

Flash Video。iPhoneやAndroidの場合、標準では再生できない場合が多い(アプリを導入すれば再生できる)。

mp4

PCブラウザ・スマホ両方で再生できる(Firefoxはバージョン21.0から対応)。

m3u8

HTTP Live Streaming(HLS)形式。PCブラウザではSafariを除いて基本的に未対応。

ストリーミングサーバーについて

Adobe Flash Media Server (FMS)

flv, HLSなどの配信ができる。115,500円。YouTubeやmixiなどで採用されているらしい。

Red5

https://github.com/Red5
フリーのストリーミングサーバー。Java製。mixiやニコニコ動画などで採用されているらしい。

C++ RTMP Server

http://www.rtmpd.com/
未検証。

Wowza

http://www.wowza.com/
未検証。

擬似ストリーミング

http://server-setting.info/centos/apache-pseudo-streaming.html
apache でPseudo streaming(疑似ストリーミング)で動画配信を行ってみる( mod_flvx,mod_h264_streaming モジュールを使ってみた)

http://server-setting.info/centos/nginx-pseudo-streaming.html
nginx でPseudo streaming(疑似ストリーミング)で動画配信を行ってみる(flv、mp4ディレクティブを使ってみた)

シークが少しもたつく場合があるが、非常に簡単に使うことができる。
aptでnginxをインストールして「mp4;」と一行書くだけ。

nginx-rtmp-module

https://github.com/arut/nginx-rtmp-module
nginxのRTMPモジュール。HLSの配信もできる。

おまけ nginx-rtmp-moduleを組み込んだdebパッケージ作成

適当なワークディレクトリ内で行ってください。

ソース展開に必要なパッケージをインストール

apt install dpkg-dev

nginxの最新版ソースを取得する

add-apt-repository -s ppa:nginx/development
apt update
apt-get source nginx
cd nginx-1.7.7/

nginx-rtmp-moduleをクローンする

cd debian/modules/
git clone https://github.com/arut/nginx-rtmp-module.git
cd ../..

ビルドオプションにnginx-rtmp-moduleを追加。

debian/rulesのextras_configure_flagsに以下を追加。その前行に\を入れるのを忘れずに。

--add-module=$(MODULESDIR)/nginx-rtmp-module

ソースパッケージをコンパイルする為に必要なパッケージのインストール

apt-get build-dep nginx-extras

パッケージのビルド

ひとつ上のディレクトリにパッケージ(.deb)が生成される。

dpkg-buildpackage -b

パッケージのインストール

cd ..
dpkg -i nginx-common_1.7.7-1+trusty0_all.deb nginx-extras_1.7.7-1+trusty0_amd64.deb

モジュールの確認

nginx -V
63
66
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
66