http://itindex.net/detail/48702-nginx-rtmp-http 1. ストリーミングメディアの再生方法 1. HTTP メソッド このメソッドは、FLV ビデオ ファイルをダウンロードしてローカルで再生します。FLV ビデオ ファイルがダウンロードされると、サーバーのリソースと帯域幅は消費されませんが、ドラッグ機能は RTMP/ ほど強力ではありません。 RTMP ストリーミング方式。YouTube、Tudou、Ku6 など、多くのビデオ Web サイトは HTTP を使用して実装されています。 2. RTMP/RTMP ストリーミング方式 この方法では、FLV ビデオ ファイルをローカルにダウンロードする必要はありません。 flv をリアルタイムで再生できます。 ファイルをドラッグ アンド ドロップしてプログレス バーを再生できますが、より多くのサーバー リソースを消費します。 2. nginx を使用して flv ストリーミング メディア サーバーを構築します 1. git をインストールします yum install git 2. 依存関係パッケージをインストールします -y install gcc glibc glibc-devel make nasm pkgconfig lib -devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 3. ffmpeg とその依存関係パッケージをインストールします (依存関係パッケージは /usr/local/src にインストールされていますが、インストールは場所は個人の習慣に応じて決定できます) 以下のインストールパッケージは yum でインストールできます。そうでない場合は、wget を使用してインストールしてください。 #wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz #tar xzvf yasm-1.2.0.tar.gz #cd yasm-1.2.0#。 #cd x264 #./configure --enable-shared #make #make install #cd .. #wget http://downloads.sourceforge.net/project/ lame/lame/3.99/lame-3.99.5.tar.gz #tar xzvf lame-3.99.5.tar.gz #cd lame-3.99.5 #./configure --enable -nasm #make #make install #cd .. #yum install libogg 注: libogg は、さまざまなオンライン チュートリアルに従って .tar.gz パッケージを使用してインストールされます。インストール後に libvorbis、libvpx などをインストールすると、libogg のインストール場所が見つからず、インストールが失敗します。 #wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz #tar xzvf libvorbis-1.3.3.tar.gz #cd libvorbis- 1.3.3 #./configure #make #make install #cd .. #git clone http://git.chromium.org/webm/libvpx.git #cd libvpx #./configure --enable-shared #make #make install #cd .. #wget http://downloads.sourceforge.net/ project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz #tar zxvf faad2-2.7.tar.gz #cd faad2-2.7 #./configure #make #make install #cd .. #wget http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz #tar zxvf faac-1.28.tar.gz #cd faac-1.28 #./configure #make #make install #cd .. #wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz #tar zxvf xvidcore-1.3.2.tar.gz #cd xvidcore/build/generic # ./configure #make #make install #cd .. #git clone git://source.ffmpeg.org/ffmpeg #cd ffmpeg #./ configure --prefix=/opt/ffmpeg/ --enable-version3 --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-shared --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads #make && make install #cd .. 修改/etc/ld.so.conf如下: include ld.so.conf.d/*.conf /lib /lib64 /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 /opt/ffmpeg/lib 三、インストールnginx模块 #wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar。 gz #tar zxvf nginx_mod_h264_streaming-2.2.7.tar.gz #git clone git://github.com/arut/nginx-rtmp-module.git #yum install pcre ngin ×グラウンドに到達せず、手動でダウンロードしてから上に転送することのみが可能です。#tar zxvf nginx-1.2.6.tar.gz #cd nginx-1.2.6 #./configure --prefix=/usr/local/nginx --add-module=.. /nginx_mod_h264_streaming-2.2.7 --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_mp4_module --add-module=../nginx-rtmp-module --add-module=../nginx-rtmp-module/hls --with-cc-opt=-I/opt/ffmpeg/include --with- ld-opt='-L/opt/ffmpeg/lib -Wl,-rpath=/opt/ffmpeg/lib' #make && make install yamdiをインストールyadmiはflvファイルの追加に使用されます キーフレームを使用してドラッグ アンド プレイを実現できます #yadmi をダウンロード wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download # yadmi をインストールします tar xzvf yamdi-1.4.tar.gz cd yamdi-1.4 make && make install 使用法: yamdi -i input.flv -o out.flv 入力を行ってください。 flv ファイルにキー フレームを追加すると、out.flv ファイルが出力されます IV. nginx のメイン設定ファイルを変更します vi /usr/local/nginx/conf/nginx.conf user www www ; worker_processes 30 ; error_log /usr/local/nginx/logs/nginx.pid; イベント epoll を使用します ワーカー_コネクション 65535; http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] ' $bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$gzip_ratio" '; keepalive_timeout 60; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; access_log off; gzip をオンにします。 gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; Output_buffers 1 32k; 延期_出力 1460; client_header_timeout 3 分; client_body_timeout 3 分; send_timeout 3分; sendfile オン; tcp_nopush オン; tcp_nolay オン; サーバー { 聞いてください 80; サーバー名 192.168.1.105; root /usr/local/nginx/html/; limit_rate_after 5m; ####在 flv ビデオ文件ダウンロード完了 5M 以降開始制限速度 limit_rate 512k; ####速度制限は 512K index index.html; 文字セット utf-8; location ~ .flv { flv; } 場所 ~ .mp4$ { mp4; } 500 502 503 504 /50x.html; location = /50x.html { } } 5. nginx nginx を確認してください。起動前のconfファイル設定 /usr/local/nginx/sbin/nginx -t -c /usr/nginx/conf/nginx.conf または/usr/nginx/sbin/ nginx -t エラーがある場合は、エラー行数に応じて修正してください。 エラーが報告された場合: [エラー]: "/var/run/nginx.pid" の PID 番号 "" が無効です usr/local/nginx/sbin/nginx -c /usr/local/nginx/ conf/nginx .conf nginx 起動 /usr/local/nginx/sbin/nginx -s リロード テスト http://192.168.1.105/player.swf?type=http&file=test1 .flv (player.swf はプレーヤー、test1.flv はビデオ ファイルです) プレーヤーはビデオ ファイルと一緒に配置する必要があります。 ビデオ ファイルの場所は、nginx.conf の設定場所に対応します。 この記事の添付ファイルをダウンロード: play.rar (89 KB)nginx-0.8.55.tar.gz (632.6 KB) 上記では、nginx を使用して rtmp または http に基づいて flv および mp4 ストリーミング メディア サーバーを構築する方法を、関連コンテンツも含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。