2014.01.09
ストリーミング動画を配信してみよう ~nginxとC++ RTMP Server(crtmpserver)の構築~
C++ RTMP Server(crtmpserver)のインストールと設定
「C++ RTMP Server(crtmpserver)」のインストールといっても、解凍したフォルダを配置するだけです。
1 2 | mv crtmpserver-1.1_beta-i686-CentOS_6.2 /usr/local/lib/crtmpserver-1 .1 chown -R root.root /usr/local/lib/crtmpserver-1 .1 |
最後に、「C++ RTMP Server(crtmpserver)」のストリーミング配信のための必要最小限の設定を行います。
「flvplayback.lua」を変更していきます。
1 2 3 | cd /usr/local/lib/crtmpserver-1 .1 cp -p configs /flvplayback .lua configs /flvplayback .lua.org vi configs /flvplayback .lua |
「flvplayback.lua」ファイルの変更箇所は次の通りです。
・変更前
85 86 87 88 89 90 91 92 | validateHandshake= false , keyframeSeek= true , seekGranularity=1.5, -- in seconds, between 0.1 and 600 clientSideBuffer=12, -- in seconds, between 5 and 30 --generateMetaFiles= true , --this will generate seek /meta files on application startup --renameBadFiles= false , mediaFolder= "./media" , --[[authentication= |
・変更後
85 86 87 88 89 90 91 92 93 | validateHandshake= false , keyframeSeek= true , seekGranularity=1.5, -- in seconds, between 0.1 and 600 clientSideBuffer=12, -- in seconds, between 5 and 30 --generateMetaFiles= true , --this will generate seek /meta files on application startup --renameBadFiles= false , --mediaFolder= "./media" , mediaFolder= "/usr/local/nginx/html/rtmp" , --[[authentication= |
※「–」は、コメントを意味します。
最後に、起動の確認を行います。
C++ RTMP Server(crtmpserver)の起動
「C++ RTMP Server(crtmpserver)」を起動してみます。
1 2 | cd /usr/local/lib/crtmpserver-1 .1 . /run_flvplayback .sh |
デーモンプロセスで起動する場合には、次のコマンドとなります。
1 | . /run_flvplayback_daemon .sh |
「run_flvplayback.sh」で起動すると次のようなメッセージが表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # ./run_flvplayback.sh /crtmpserver/src/crtmpserver .cpp:210 C++ RTMP Media Server (www.rtmpd.com) version 1.1_beta build 784 - Gladiator - (built for CentOS-6.2-i686 on 2013-01-20T13:27:40.000) /crtmpserver/src/crtmpserver .cpp:212 Initialize I /O handlers manager: epoll without timerfd_XXXX support /crtmpserver/src/crtmpserver .cpp:215 Configure modules /crtmpserver/src/crtmpserver .cpp:221 Plug in the default protocol factory /crtmpserver/src/crtmpserver .cpp:228 Configure factories /crtmpserver/src/crtmpserver .cpp:234 Configure acceptors /thelib/src/netio/epoll/iohandlermanager .cpp:120 Handlers count changed: 0->1 IOHT_ACCEPTOR /thelib/src/netio/epoll/iohandlermanager .cpp:120 Handlers count changed: 1->2 IOHT_ACCEPTOR /thelib/src/netio/epoll/iohandlermanager .cpp:120 Handlers count changed: 2->3 IOHT_ACCEPTOR /crtmpserver/src/crtmpserver .cpp:240 Configure instances /crtmpserver/src/crtmpserver .cpp:246 Start I /O handlers manager: epoll without timerfd_XXXX support /crtmpserver/src/crtmpserver .cpp:249 Configure applications /thelib/src/configuration/module .cpp:177 Application flvplayback instantiated /thelib/src/application/baseclientapplication .cpp:95 mediaFolder is obsolete. Please use mediaStorage /thelib/src/mediaformats/readers/streammetadataresolver .cpp:95 meta folder for storage __obsolete__mediaFolder not specified. seek /meta files will be created inside the media folder /crtmpserver/src/crtmpserver .cpp:255 Install the quit signal /crtmpserver/src/crtmpserver .cpp:266 +-----------------------------------------------------------------------------+ | Services| +---+---------------+-----+-------------------------+-------------------------+ | c | ip | port| protocol stack name | application name | +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 1935| inboundRtmp| flvplayback| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 6666| inboundLiveFlv| flvplayback| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 9999| inboundTcpTs| flvplayback| +---+---------------+-----+-------------------------+-------------------------+ /crtmpserver/src/crtmpserver .cpp:267 GO! GO! GO! (3733) |
次回は、「動画プレイヤーのインストールと動画の確認」について説明していきたいと思います。