亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享

ffmpeg ffserver 推流服務器

2023-07-14 06:59:45
28
0

fmpeg進行推流,把服務器上的源媒體文件轉換成要發送出去的流媒體文件,
ffserver則負責響應客戶端的流媒體請求,把流媒體數據發送給客戶端。
ffserver.conf,ffserver啟動時的配置文件,在這個文件中主要是對網絡協議,緩存文件feed1.ffm和要發送的流媒體文件的格式參數做具體的設定。
feed1.ffm,可以看成是一個流媒體數據的緩存文件,ffmpeg把轉碼好的數據發送給ffserver,如果沒有客戶端連接請求,ffserver把數據緩存到該文件中。

ffserver.conf示例如下:

Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 30000
CustomLog -
NoDaemon
#NoDefaults
 
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 1M
ACL allow 127.0.0.1
</Feed>
 
<Stream test1.ts>
Feed feed1.ffm
#File btv2.ts 
Format mpegts
#BitExact
#DctFastint
#IdctSimple
VideoFrameRate 25
#VideoBufferSize 4096
#VideoSize 720x576
VideoSize 1920x1080
VideoBitRate 9000
NoAudio
</Stream>
 
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>

主要分為4個部分,服務器端口配置,ffm配置,流配置及stat.html。
可以參考ffmpeg源碼中的doc/ffserver.conf,里邊有詳細的注釋

啟動ffserver和ffmpeg。ffserver先于ffmpeg啟動,它在啟動的時候需要加參數-f指定其配置文件ffserver.conf。ffserver啟動后,feed1.ffm就會被創建,發現feed1.ffm開始的部分已經寫入了內容,可以找到關鍵字ffm以及向客戶端傳送流的配置信息,在feed1.ffm做緩沖用的時候,這些信息是不會被覆蓋掉的,就把它們理解為feed1.ffm文件的頭吧。

ffserver啟動后,ffmpeg啟動,它啟動時加的一個關鍵參數就是“//ip:10535/feed1.ffm”,其中ip是運行ffserver主機的ip,如果ffmpeg和ffserver都在同一系統中運行的話,用localhost也行。ffmpeg啟動后會與ffserver建立一個連接(短暫的連接),通過這第一次的連接,ffmpeg從ffserver那里獲取了向客戶端輸出流的配置,并把這些配置作為自己編碼輸出的配置,然后ffmpeg斷開了這次連接,再次與ffserver建立連接(長久的連接),利用這個連接ffmpeg會把編碼后的數據發送給ffserver。

3.VLC控件
ActiveX VLC Player是基于ActiveX控件的播放器。有VLC作支持,VLC控件播放支持HTTP、RTMP、HLS,而且支持MMS、RTSP以及UDP這些協議(VLC Media Player支持的協議它都支持)。
新版本VLC安裝時,會有vlc activeX控件安裝選項,注意一下就行了。古早版本的vlc控件安裝麻煩點。
但是由于ActiveX控件,除了IE,其他瀏覽器并不支持(自 Chrome 45 起,將不再提供 NPAPI 支持;Google和Adobe將致力于直接內建于新接口(PPAPI)的Flash功能)。

所以網頁播放提供一下幾種播放器,參考大神的文章://blog.csdn.net/leixiaohua1020/article/details/43936415。

4.實現過程
ffserver先啟動起來,

ffserver -f ffserver.conf

其中的參數配置可參照上面,/tmp/feed1.ffm

ffmpeg  -i output.ts //localhost:8090/feed1.ffm

輸出的視頻地址為

//推流機器IP:8090/test1.ts

 

 

 

0條評論
作者已關閉評論
莫****宇
1文章數
0粉絲數
莫****宇
1 文章 | 0 粉絲
莫****宇
1文章數
0粉絲數
莫****宇
1 文章 | 0 粉絲

ffmpeg ffserver 推流服務器

2023-07-14 06:59:45
28
0

fmpeg進行推流,把服務器上的源媒體文件轉換成要發送出去的流媒體文件,
ffserver則負責響應客戶端的流媒體請求,把流媒體數據發送給客戶端。
ffserver.conf,ffserver啟動時的配置文件,在這個文件中主要是對網絡協議,緩存文件feed1.ffm和要發送的流媒體文件的格式參數做具體的設定。
feed1.ffm,可以看成是一個流媒體數據的緩存文件,ffmpeg把轉碼好的數據發送給ffserver,如果沒有客戶端連接請求,ffserver把數據緩存到該文件中。

ffserver.conf示例如下:

Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 30000
CustomLog -
NoDaemon
#NoDefaults
 
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 1M
ACL allow 127.0.0.1
</Feed>
 
<Stream test1.ts>
Feed feed1.ffm
#File btv2.ts 
Format mpegts
#BitExact
#DctFastint
#IdctSimple
VideoFrameRate 25
#VideoBufferSize 4096
#VideoSize 720x576
VideoSize 1920x1080
VideoBitRate 9000
NoAudio
</Stream>
 
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>

主要分為4個部分,服務器端口配置,ffm配置,流配置及stat.html。
可以參考ffmpeg源碼中的doc/ffserver.conf,里邊有詳細的注釋

啟動ffserver和ffmpeg。ffserver先于ffmpeg啟動,它在啟動的時候需要加參數-f指定其配置文件ffserver.conf。ffserver啟動后,feed1.ffm就會被創建,發現feed1.ffm開始的部分已經寫入了內容,可以找到關鍵字ffm以及向客戶端傳送流的配置信息,在feed1.ffm做緩沖用的時候,這些信息是不會被覆蓋掉的,就把它們理解為feed1.ffm文件的頭吧。

ffserver啟動后,ffmpeg啟動,它啟動時加的一個關鍵參數就是“//ip:10535/feed1.ffm”,其中ip是運行ffserver主機的ip,如果ffmpeg和ffserver都在同一系統中運行的話,用localhost也行。ffmpeg啟動后會與ffserver建立一個連接(短暫的連接),通過這第一次的連接,ffmpeg從ffserver那里獲取了向客戶端輸出流的配置,并把這些配置作為自己編碼輸出的配置,然后ffmpeg斷開了這次連接,再次與ffserver建立連接(長久的連接),利用這個連接ffmpeg會把編碼后的數據發送給ffserver。

3.VLC控件
ActiveX VLC Player是基于ActiveX控件的播放器。有VLC作支持,VLC控件播放支持HTTP、RTMP、HLS,而且支持MMS、RTSP以及UDP這些協議(VLC Media Player支持的協議它都支持)。
新版本VLC安裝時,會有vlc activeX控件安裝選項,注意一下就行了。古早版本的vlc控件安裝麻煩點。
但是由于ActiveX控件,除了IE,其他瀏覽器并不支持(自 Chrome 45 起,將不再提供 NPAPI 支持;Google和Adobe將致力于直接內建于新接口(PPAPI)的Flash功能)。

所以網頁播放提供一下幾種播放器,參考大神的文章://blog.csdn.net/leixiaohua1020/article/details/43936415。

4.實現過程
ffserver先啟動起來,

ffserver -f ffserver.conf

其中的參數配置可參照上面,/tmp/feed1.ffm

ffmpeg  -i output.ts //localhost:8090/feed1.ffm

輸出的視頻地址為

//推流機器IP:8090/test1.ts

 

 

 

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0