搜尋
首頁後端開發php教程如何使用Thinkphp製作網頁直播
如何使用Thinkphp製作網頁直播Sep 14, 2017 am 09:25 AM
phpthinkphp網頁

此專案利用TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole 的架構方案

優點介紹

後台nginx-rtmp 安裝講解

#現在主要有兩種rtmp server,商業的和開源的。商業的比開源的支援的功能多,個人根據需要選擇吧

商業的有FMS Wowza

開源RTMP server

  1. red5 java java用的較多,性能還是不錯的!

  2. crtmpserver c++ 支援多種rtmp協議,行動裝置以及IPTV相關網路協定 http://www.rtmpd.com/ Erlyvideo erlong 有開源和商業版本https//github.com /erlyvideo/erlyvideo h

  3. aXeVideo haXe 一個實驗性的,輕量級的伺服器 http://code.google.com/p/haxevideo/

  4. #FluorineFx .Net To be defined http://www/fluorinefx.com

  5. nginx-rtmp c nginx模組支援rtmp和HLS https://github.com/ arut/nginx-rtmp-module

本人採用的則為第5個Nginx-rtmp ,接下來講解安裝過程。

安裝Nginx-rtmp

1、下載nginx-rtmp-module: nginx-rtmp-module的官方github位址:https://github.com/arut/nginx-rtmp-module

使用指令:

 git clone https://github.com/arut/nginx-rtmp-module.git

將nginx-rtmp-module下載到linux中。

2、安裝nginx: nginx的官方網站為:http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install

本次預設安裝目錄為:/root, add-module為下載的nginx-rtmp-module檔案路徑。 安裝時候可能會報錯沒有安裝openssl,需要執行指令:

yum -y install openssl openssl-devel

3、修改nginx設定檔:

vi /usr/local/nginx/conf/nginx.conf

加入以下內容:

rtmp {
server {    
    listen 1935;  #监听的端口  
    chunk_size 4000;    
      
       
    application hls {  #rtmp推流请求路径  
        live on;    
        hls on;    
        hls_path /usr/share/nginx/html/hls;    
        hls_fragment 5s;    
    }    
}    
}

hls_path需要可讀可寫的權限。 修改http中的server模組:

server {listen 81;server_name localhost;
#charset koi8-r;  
#access_log  logs/host.access.log  main;  
location / {  
    root   /usr/share/nginx/html;  
    index  index.html index.htm;  
}  
#error_page  404              /404.html;  
# redirect server error pages to the static page /50x.html  
#  
error_page   500 502 503 504  /50x.html;  
location = /50x.html {  
    root   html;  
}

當然了,root可以跟根據自己的需求來改的。 然後啟動nginx:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

4、開始推流 做好以上的設定後,就可以開始推流了,我們可以使用obs來推流。

在設定->流中填寫資訊:URL為rtmp://xxx:1935/hls,xxx為你的伺服器的IP位址,hls是用來存放串流媒體的。 秘鑰可以隨便填寫一個,用來播放的時候識別播放哪個串流媒體的,例如填寫test等。 填寫完畢後,點選開始串流,就表示我們的串流伺服器搭建成功了。

5、觀看直播(拉流) 觀看直播就比較簡單了,可以​​簡單的使用h5的vedio標籤就可以觀看了。 可以訪問http://xxx:81/hls/mystream.m3u8來觀看直播,其中xxx為你的伺服器IP位址, 或使用

Your browser does not support HTML5 video.

#同上, xxx寫的是你伺服器IP位址。 然後使用手機造訪這個網站就能夠觀看直播了。延遲大概在20S左右。 (在iOS的safari瀏覽器中可以正常觀看) 寫在最後 為什麼延遲 那麼高呢?這是因為伺服器將視訊串流切斷成一個小的以.ts結尾的檔案。

而我們訪問的是.m3u8文件,這個文件內容是將一個個ts文件串聯起來的,這就達到了一個播放的效果,所以看起來會有很大的延遲

如果降低延遲也不是沒有方法,可以設定切片產生的大小以及存取的速度,但是這大大增加了伺服器的壓力。 當然,我們也可以用rtmp拉流工具(VLC等)來看該直播,延遲大概在2-5S左右,拉流地址與推流地址一致。

後台一鍵安裝 直接訪問入口即可 初始admin admin

採用Bootstrap3精確定制的lyui除了擁有100%bootstrap體驗外,融合了更多適合國人使用的前端組建。且一套代碼適應多種螢幕大小。

以上是如何使用Thinkphp製作網頁直播的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
thinkphp是不是国产框架thinkphp是不是国产框架Sep 26, 2022 pm 05:11 PM

thinkphp是国产框架。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。

一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列Apr 20, 2022 pm 01:07 PM

本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了关于使用think-queue来实现普通队列和延迟队列的相关内容,think-queue是thinkphp官方提供的一个消息队列服务,下面一起来看一下,希望对大家有帮助。

thinkphp的mvc分别指什么thinkphp的mvc分别指什么Jun 21, 2022 am 11:11 AM

thinkphp基于的mvc分别是指:1、m是model的缩写,表示模型,用于数据处理;2、v是view的缩写,表示视图,由View类和模板文件组成;3、c是controller的缩写,表示控制器,用于逻辑处理。mvc设计模式是一种编程思想,是一种将应用程序的逻辑层和表现层进行分离的方法。

实例详解thinkphp6使用jwt认证实例详解thinkphp6使用jwt认证Jun 24, 2022 pm 12:57 PM

本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了使用jwt认证的问题,下面一起来看一下,希望对大家有帮助。

thinkphp 怎么查询库是否存在thinkphp 怎么查询库是否存在Dec 05, 2022 am 09:40 AM

thinkphp查询库是否存在的方法:1、打开相应的tp文件;2、通过“ $isTable=db()->query('SHOW TABLES LIKE '."'".$data['table_name']."'");if($isTable){...}else{...}”方式验证表是否存在即可。

thinkphp扩展插件有哪些thinkphp扩展插件有哪些Jun 13, 2022 pm 05:45 PM

thinkphp扩展有:1、think-migration,是一种数据库迁移工具;2、think-orm,是一种ORM类库扩展;3、think-oracle,是一种Oracle驱动扩展;4、think-mongo,一种MongoDb扩展;5、think-soar,一种SQL语句优化扩展;6、porter,一种数据库管理工具;7、tp-jwt-auth,一个jwt身份验证扩展包。

一文教你ThinkPHP使用think-queue实现redis消息队列一文教你ThinkPHP使用think-queue实现redis消息队列Jun 28, 2022 pm 03:33 PM

本篇文章给大家带来了关于ThinkPHP的相关知识,其中主要整理了使用think-queue实现redis消息队列的相关问题,下面一起来看一下,希望对大家有帮助。

thinkphp3.2怎么关闭调试模式thinkphp3.2怎么关闭调试模式Apr 25, 2022 am 10:13 AM

在thinkphp3.2中,可以利用define关闭调试模式,该标签用于变量和常量的定义,将入口文件中定义调试模式设为FALSE即可,语法为“define('APP_DEBUG', false);”;开启调试模式将参数值设置为true即可。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具