利用FFMPEG Nginx 搭建 HLS 伺服器

2021-06-23 06:03:13 字數 2473 閱讀 5285

使用ffmpeg 生成m3u8檔案和碼流片段

2.編譯安裝

./configure

make 

make install

3.ts 分割:

ffmpeg -i input.ts -map 0:0 -map 0:1 -c copy -f segment -segment_time 10 -segment_list test.m3u8 -segment_format ts 'filesequence%d.ts'

4.帶轉碼複雜點的應用參考:

ffmpeg -i input.mkv -codec copy -map 0 -f segment -vbsf h264_mp4toannexb -flags -global_header -segment_format mpegts -segment_list sample.m3u8 -segment_time 10 seg-%03d.ts

ffmpeg -i /home/charlie/videos/1080p.mp4 -map 0:0 -map 0:1 -c copy -f segment -segment_time 22-vbsf h264_mp4toannexb-segment_list test.m3u8 -segment_format ts 'filesequence%d.ts'

nginx 伺服器搭建: 

tar -zxvf pcre-8.02.tar.gz 

./configure

make 

sudo make install

1.安裝依賴庫openssl

安裝到/opt/nginx

編譯錯誤解決: 有時候會出現warning treat as error ,導致編譯退出。

解決方案:vi objs/makefile ,將-werror選項去掉

#cflags =  -o -pipe  -o -w -wall -wpointer-arith -wno-unused-parameter -wunused-function -wunused-variable -wunused-value -werror -g 

cflags =  -o -pipe  -o -w -wall -wpointer-arith -wno-unused-parameter -wunused-function -wunused-variable -wunused-value  -g

3.配置nginx

1>  /opt/nginx/sbin/nginx  執行程式

2>  /opt/nginx/conf/nginx.conf 配置檔案

server {

listen       80;    /*配置埠*/

server_name  localhost;

3>  檔案型別問題:編輯 /usr/local/nginx/conf/mime.types 檔案,新增如下型別,我沒有新增也可以

video/mp2t                             ts;   

4>  server 檔案訪問目錄:

/opt/nginx/html/       

4.啟動nginx

export ld_library_path=/usr/local/lib    /*pcre.so 放在這裡,不指定的話會報找不到pcre.so庫錯誤*/

./nginx

上述兩個命令寫在start.sh中

用 sudo ./start.sh  啟動

停止nginx  ,直接kill -9 

5.訪問nginx 服務

執行輸入 http://ip

就可以訪問到      /opt/nginx/html/index.html

/*ffmpeg 轉碼例子*/

將帶2個audio track 的mkv 檔案轉換為mp4格式,編碼格式不變

./ffmpeg -i /home/***/videos/2audiotracke.mkv -strict -2 -codec copy -map 0:0 -map 0:1 -map 0:2 /home/***/videos/2audiotracke_2.mp4

ffmpeg 引數: (詳細解釋清參考

-i filename  輸入檔案

-map file:stream 設定輸入流對映(比如輸入檔案有多路音軌,設定哪路音軌到輸出檔案)

-c codec 設定編碼格式  copy表示不進行重新編碼

-ss position 設定開始編碼的start point

ffmpeg nginx推流服務

新建目錄 用於存放nginx以及nginx rtmp moudle模組 mkdir usr local nginx cd usr local nginx wget wget 如果沒有wget命令的話執行下面的命令安裝 yum y install wget解壓 tar zxvf nginx 1.12....

利用github page搭建部落格

很多人用 wordpress,你為什麼要用 github pages 來搭建?1 github pages有300m免費空間,資料自己管理,儲存可靠 2 學著用 github,享受 github 的便利,上面有很多大牛,眼界會開闊很多 3 順便看看 github 工作原理,最好的團隊協作流程 4 g...

利用Express搭建空白工程

1 官網 中文站點 安裝完成後檢視nodejs版本號和npm版本號 node v npm v 如果能顯示對應的版本號說明node安裝成功 2 全域性安裝express 生成器,命令如下 npm install g express generator npm 是node內建的包管理器。可以放心使用。e...