點播與直播的實現——Niginx流媒體服務器(推流,拉流)


一、准備環境

1.1 下載

yum install -y wget
yum install -y lrzsz

1.2 配置阿里雲yum源

wget -o /etc/yum.repos.d/CentOS-Base.repo.aliyun http://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup //備份
mv /etc/yum.repos.d/CentOS-Base.repo.aliyun  /etc/yum.repos.d/CentOS-Base.repo

1.3安裝依賴

yum install -y gcc-c++ zlib pcre openssl openssl-devel 

1.4 創建文件夾

mkdir /opt/nginx 
mkdir /opt/software

二、流媒體搭建流程

2.1 rz上傳所有相關軟件包

上傳mp4的擴展模塊:nginx_mod_h264_streaming_2.2.7.tar.gz

上傳flv的擴展模塊:yamdi-1.9.tar.gz

上傳m3u8的擴展模塊【hls模塊】:nginx-rtmp-module-master.zip

上傳視頻處理所需軟件包:ffmpeg-4.2.2.tar.bz2

上傳ffmpeg所需依賴包:yasm-1.3.0.tar.gz

2.2 安裝FLV模塊

tar -zxvf  yamdi-1.9.tar.gz
cd yamdi-1.9
mark && make install

2.3 解壓MP4模塊 

tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz 

2.4解壓HLS模塊(m3u8、流媒體)

yum install -y unzip #解壓用的
unzip nginx-rtmp-module-master.zip 

2.5解壓nginx軟件

tar -zxvf nginx-1.8.1.tar.gz

2.6在安裝之前  mp4模塊有一個bug 要把它處理一下

cd nginx_mod_h264_streaming-2.2.7/src
vim ngx_http_streaming_module.c 
157行-161行  對WINDOW系統的檢查注釋掉:
命令模式下157gg跳轉到157行

注釋完畢后保存並退出

2.7開始安裝

在安裝nginx的時候 一起把mp4模塊 以及HLS模塊一起裝上去

C語言中 ./configure 向導 預配置

--add-module 安裝擴展插件
--prefix 安裝在哪里
--with- 使用系統內置的模塊 已經安裝完畢 關聯

 cd nginx-1.8.1
./configure --add-module=/opt/nginx/nginx_mod_h264_streaming-2.2.7   --add-module=/opt/nginx/nginx-rtmp-module-master  --with-http_ssl_module   --prefix=/opt/software/nginx   --with-http_flv_module  --with-http_stub_status_module

修改 objs下的文件Makefile:

vim objs/Makefile

將第3行  -Werror 刪除掉 

 保存並退出后:

make && make install 

2.8 修改nginx中的nginx.conf文件

命令:vim /opt/software/nginx/conf/nginx.conf

2.9 測試點播

mv 涼涼.mp4 /opt/software/nginx/html/ #將上傳的測試的涼涼.mp4移動到nginx目錄下的html中

   cd /opt/software/nginx/sbin/ #進入nginx的sbin目錄下

    ./nginx #啟動nginx 

   測試:網址:http://192.168.1.63:80/涼涼.mp4 

2.10 windows下切片

解壓該軟件:ffmpeg-20200309-608b8a8-win64-static.zip

進入bin目錄下,並將測試文件放入該目錄下,然后新建一個文件夾out

命令:shift + 鼠標右鍵:打開命令窗口

   輸入:ffmpeg.exe -i test.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 out\output.m3u8【前提先建一個out目錄】

 

三、安裝直播服務器

按步驟執行如下命令:

yum install -y bzip2 #用於bz2包的解壓【ffmpeg的解壓】

   tar -zxvf yasm-1.3.0.tar.gz #用於解壓yasm,ffmpeg的依賴包

   cd yasm-1.3.0 #進入yasm的解壓目錄下

   ./configure #預處理

   make && make install #開始按轉發yasm

   tar -jxvf ffmpeg-4.2.2.tar.bz2 #用於解壓ffmpeg

   cd ffmpeg-4.2.2 #進入ffmpeg的解壓路徑

   ./configure --prefix=/opt/software/ffmpeg #將軟件安裝在XXX

   make && make install #開始安裝ffmpeg

3.1 修改nginx的配置文件nginx.conf

     vim /opt/software/nginx/conf/nginx.conf #修改該配置文件

   cd /opt/software/nginx/sbin/ #進入sbin目錄下

   ./nginx #啟動nginx

   netstat -nltup | grep nginx #查看nginx啟動了那些端口

80端口:點播

1935端口:直播

 

3.2 下載應用

 來源==》“+”添加

 黑屏解決:

右鍵 -> 設備管理器

 

 3.3 EV錄屏

 

rtmp地址:rtmp://192.168.1.63:1935/hls/123456

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM