http://itindex.net/detail/48702-nginx-rtmp-http
1. Streaming-Medienwiedergabemethode
1. HTTP-Methode Diese Methode lädt die FLV-Videodatei herunter und spielt sie lokal ab. Sobald die FLV-Videodatei heruntergeladen ist, verbraucht sie keine Serverressourcen und Bandbreite, die Drag-Funktion jedoch Nicht die RTMP/RTMP-Streaming-Medienmethode ist leistungsstark, viele Video-Websites werden mit der HTTP-Methode implementiert, wie zum Beispiel: YouTube, Tudou, Ku6 usw. 2. RTMP/RTMP-Streaming-Medienmethode Bei dieser Methode muss die FLV-Videodatei nicht lokal heruntergeladen werden, sie kann die FLV-Datei in Echtzeit abspielen und Sie können den Wiedergabefortschrittsbalken nach Belieben ziehen und ablegen, verbraucht jedoch mehr Serverressourcen . 2. Verwenden Sie Nginx, um einen FLV-Streaming-Medienserver zu erstellen 1. Installieren Sie Git yum install git 2. Abhängigkeitspakete installieren yum -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. Installieren Sie ffmpeg und seine abhängigen Pakete (meine abhängigen Pakete werden unter /usr/local/src installiert, aber der Installationsort kann nach persönlichen Gewohnheiten bestimmt werden) Die folgenden Installationspakete können mit yum installiert werden. Versuchen Sie, sie mit yum zu installieren. Wenn nicht, verwenden Sie wget, um sie zu erhalten. #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 #./configure #make #make install #cd .. #git clone git://git.videolan.org/x264 #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 Hinweis: libogg wird mithilfe des .tar.gz-Pakets gemäß verschiedenen Online-Tutorials installiert. Wenn Sie jedoch nach der Installation libvorbis, libvpx usw. installieren, werden Sie feststellen, dass libogg Der Installationsort kann nicht gefunden werden, was dazu führt, dass die Installation fehlschlägt. #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 nginx没有找到地址, 只能手动下载, 然后上传了.#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 Installieren yamdi Die Funktion von yadmi besteht darin, Schlüsselbilder zu FLV-Dateien hinzuzufügen, um Drag & Play zu erreichen #Download yadmi wget http : //sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download #Install yadmi tar xzvf yamdi - 1.4.tar.gz cd yamdi-1.4 make && make install Verwendung: yamdi -i input.flv - o out.flv Fügen Sie Schlüsselbilder zur Datei input.flv hinzu, und die Ausgabe ist die Datei out.flv 4. Ändern Sie die Nginx-Hauptkonfigurationsdatei vi /usr/local/nginx/conf/nginx.conf user www www worker_processes 30 error_log /usr/local/nginx/logs/error.log crit pid /usr/local/nginx/logs/nginx.pid; 🎜>events { use epoll; worker_connections 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 on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; Output_buffers 1 32k; verschieben_output 1460; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; sendfile on; tcp_nopush on; tcp_nodelay on; server { hören 80; Servername 192.168.1.105; root /usr/local/nginx/html/; limit_rate_after 5m; ####在flv视频文件下载了5M以后开始限速 limit_rate 512k; ####速度限制为512K index index.html; Zeichensatz utf-8; Standort ~ .flv { flv; } location ~ .mp4$ { mp4; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; 🎜> }
}
}
5. Nginx starten
Erkennung starten Konfiguration der Datei nginx.conf vor der Überprüfung
/usr/nginx/sbin/nginx -t
Wenn ein Fehler vorliegt, korrigieren Sie ihn entsprechend der Anzahl der Fehlerzeilen .
Wenn ein Fehler gemeldet wird: [Fehler]: ungültige PID-Nummer „“ in „/var/run/nginx.pid“
usr/local/nginx/ sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx-Startup
/usr/local/nginx/sbin/nginx -s reload
Test
http://192.168.1.105/player.swf?type=http&file=test1.flv
(wo Spieler .swf ist Player, test1.flv ist eine Videodatei)
Der Player sollte zusammen mit der Videodatei platziert werden.
Der Speicherort der Videodatei entspricht dem in nginx.conf konfigurierten Speicherort.
Anhänge zu diesem Artikel herunterladen:
play.rar (89 KB)nginx-0.8.55.tar.gz (632,6 KB)
Das Obige stellt vor, wie man mit Nginx FLV- und MP4-Streaming-Medienserver basierend auf RTMP oder http erstellt, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.