當前位置:首頁 » 網頁前端 » webrtmp
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

webrtmp

發布時間: 2022-04-20 17:51:54

㈠ 如何在網頁端和移動端播放rtmp和hls視頻流

安卓設備上的播放——Vitamio
安卓設備3.0以上原生支持hls,但是不支持rtmp,為了統一以及低版本兼容,可以使用第三方的一個播放器庫——vitamio。
hls播放
如果僅需要在移動設備的WebView上播放,可以選擇使用html中嵌入hls播放。如下html能夠在所有Safari或者安卓3.0以上的WebView上播放。這樣就不需要使用第三方的播放器。
VideoJS
如果要讓網頁支持在所有瀏覽器上播放,就需要使用第三方的播放器。VideoJs是一個較好的播放器庫,完全免費,不像JWPlayer一樣需要付費才能使用一些高級功能。

㈡ 如何利用VLC或FFMPEG將HTTP的串流轉換成RTMP

這個應用主要是將HTTP的串流(非HLS或DASH)轉換成RTMP協議傳送到Adobe Flash Media Server或Wowza Media Server的媒體伺服器。

根據維基網路: 「Real Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. Macromedia is now owned by Adobe, which has released an incomplete version of the specification of the protocol for public use.」

RTMP的協議有以下的參數:

RTMP: 其原始採用TCP port 1935
RTMPS: 將RTMP載入到SSL的安全機制,就類似HTTPS。
RTMPE: 採用Adobe所提供給RTMP所發展的加密版本。
RTMPT: 在RTMP上加掛he RTMP protocol 封裝在HTTP請求中,可以穿越防火牆。這是一個很不錯的協議,使用TCP埠80和443繞過公司對防火牆。封裝的會話可能攜帶純RTMP,RTMPS或RTMPE包內。
RTMP 串流
VLC 在 2.0.x版本里可以支持RTMP協議。不過,有些環境卻沒法執行,例如2.0.2, 2.0.3, 2.0.4, 2.0.6在Windows 2008 Server 64的伺服器上確實沒法執行。可以開啟VLC然後開啟網路串流,如「RTMP://aaa.bbb.com:1935/live/串流源「,看看可否開啟。主要是VLC 2.0.x採用 ffmpeg/libav的程序庫,但是, 有的包裝卻沒法支持。所以必須先做確認。當 librtmp 的支持被啟動於 ffmpeg/libav 則RTMPS才可以有功用。

VLC和RTMP的情形主要是用來捕獲和轉碼應用程序生成一個單一的流。是通過另一個應用程序分配給多個客戶端。這在Wowza是非常重要的。雖然,Wowza也支持VLC採用UDP/RTP/RTSP方式接收串流,但是,很多情況下是很不穩定的。

LC直接連接到一個的RTMP串流,如WOWZA,不聽傳入的請求。因此,它是不可能的,以查看的RTMP流直接從VLC。您需要連接到WOWZA,觀看流。這是可以用VLC做到的:

$ vlc rtmp://rtmp.server.com:1935/path/to/stream有件事必須提醒的。從VLC將RTMP串流傳送給Wowza伺服器並不是都很穩定的。有一些時間關系的「蟲」會造成Wowza關閉連線。 這樣的問題都是與「音頻」與」視頻「時間戳(Timestamp)有關系的。採用「audio-desync」 選項來整合RTMP也不是個好點子,但是, 可以不斷調整與修改。

Webcam RTMP streaming
以下是有關webcam的應用。其他的有採集裝置、設備、視頻文檔等應用。

Windows 的範例
在windows的採集裝置都是利用DirectShow這個界面的。在VLC的模塊也是用這樣的界面,成為「DirectShow「或」dshow」。以下是範例:

$ vlc dshow://"" --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,acodec=mp4a,ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmp.server.com:1935/path/to/stream}'DirectShow選項也可在QT界面里採用

Linux 的範例
通常在Linux的採集裝置上都是採用「video for linux」 (v4l2)這個界面。使用指令方式來採集webcam裝置(或稱為」v4l2 裝置」)送出RTMP串流的範例如下:

$ vlc v4l2:// --v4l2-fps=25 --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,acodec=mp4a,ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmp.server.com:1935/path/to/stream}'這個例子可以自動偵測 v4l2 裝置並且選擇第一個裝置來採集訊號。其他的參數選項如視頻標准(PAL, NTSC)、Chroma、寬度、長度等等可以自行設置。必須要注意的是,這些參數設置跟本身的設備有關。 當我門使用debug模式 (-vvv),VLC自身的video for linux (v4l2) 模塊會顯示出執行時所出現的數值訊息。v4l2 模塊提供以下可作為優化的選項:

–v4l2-dev=: 指定所要採集的特定裝置
–v4l2-standard=: 使用哪種視頻標准,例如: SECAM, PAL, NTSC and more
–v4l2-width=: 視頻呈現的寬度(in pixels)
–v4l2-height=: 視頻呈現的長度度(in pixels)
以上是描述有關v4l2的參數選項。完整的v4l2模塊訊息,可以利用下面的指令查詢。

$ vlc -H -p v4l2 --advanced以下是另一個將http串流轉碼(transcode)到RTMP給Adobe Flash Media Server或Wowza Media Server等視頻伺服器

cvlc -I mmy http://orginalstreamIPaddress:50014 --sout-mux-caching=5000 --sout='#transcode{venc=x264{keyint=60},vcodec=h264,vb=800}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://destinationIPaddress:1935/live/StreamFile}}' &這是用ffmpeg的方法:

ffmpeg -i http://OriginalIPAddress:50010 -vcodec libx264 -vb 800k -acodec libfaac -ab 64k -f flv rtmp://DestinationIPAddress:1935/live/StreamFile

㈢ rtmpt和rtmp為什麼一個加埠號,一個不加

這個應用主要是將HTTP的串流(非HLS或DASH)轉換成RTMP協議傳送到Adobe Flash Media Server或Wowza Media Server的媒體伺服器。

根據維基網路: 「Real Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. Macromedia is now owned by Adobe, which has released an incomplete version of the specification of the protocol for public use.」

RTMP的協議有以下的參數:

RTMP: 其原始採用TCP port 1935
RTMPS: 將RTMP載入到SSL的安全機制,就類似HTTPS。
RTMPE: 採用Adobe所提供給RTMP所發展的加密版本。
RTMPT: 在RTMP上加掛he RTMP protocol 封裝在HTTP請求中,可以穿越防火牆。這是一個很不錯的協議,使用TCP埠80和443繞過公司對防火牆。封裝的會話可能攜帶純RTMP,RTMPS或RTMPE包內。
RTMP 串流
VLC 在 2.0.x版本里可以支持RTMP協議。不過,有些環境卻沒法執行,例如2.0.2, 2.0.3, 2.0.4, 2.0.6在Windows 2008 Server 64的伺服器上確實沒法執行。可以開啟VLC然後開啟網路串流,如「RTMP://aaa.bbb.com:1935/live/串流源「,看看可否開啟。主要是VLC 2.0.x採用 ffmpeg/libav的程序庫,但是, 有的包裝卻沒法支持。所以必須先做確認。當 librtmp 的支持被啟動於 ffmpeg/libav 則RTMPS才可以有功用。

VLC和RTMP的情形主要是用來捕獲和轉碼應用程序生成一個單一的流。是通過另一個應用程序分配給多個客戶端。這在Wowza是非常重要的。雖然,Wowza也支持VLC採用UDP/RTP/RTSP方式接收串流,但是,很多情況下是很不穩定的。

LC直接連接到一個的RTMP串流,如WOWZA,不聽傳入的請求。因此,它是不可能的,以查看的RTMP流直接從VLC。您需要連接到WOWZA,觀看流。這是可以用VLC做到的:

$ vlc rtmp://rtmp.server.com:1935/path/to/stream有件事必須提醒的。從VLC將RTMP串流傳送給Wowza伺服器並不是都很穩定的。有一些時間關系的「蟲」會造成Wowza關閉連線。 這樣的問題都是與「音頻」與」視頻「時間戳(Timestamp)有關系的。採用「audio-desync」 選項來整合RTMP也不是個好點子,但是, 可以不斷調整與修改。

Webcam RTMP streaming
以下是有關webcam的應用。其他的有採集裝置、設備、視頻文檔等應用。

Windows 的範例
在windows的採集裝置都是利用DirectShow這個界面的。在VLC的模塊也是用這樣的界面,成為「DirectShow「或」dshow」。以下是範例:

$ vlc dshow://"" --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,acodec=mp4a,ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmp.server.com:1935/path/to/stream}'DirectShow選項也可在QT界面里採用

Linux 的範例
通常在Linux的採集裝置上都是採用「video for linux」 (v4l2)這個界面。使用指令方式來採集webcam裝置(或稱為」v4l2 裝置」)送出RTMP串流的範例如下:

$ vlc v4l2:// --v4l2-fps=25 --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,acodec=mp4a,ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmp.server.com:1935/path/to/stream}'這個例子可以自動偵測 v4l2 裝置並且選擇第一個裝置來採集訊號。其他的參數選項如視頻標准(PAL, NTSC)、Chroma、寬度、長度等等可以自行設置。必須要注意的是,這些參數設置跟本身的設備有關。 當我門使用debug模式 (-vvv),VLC自身的video for linux (v4l2) 模塊會顯示出執行時所出現的數值訊息。v4l2 模塊提供以下可作為優化的選項:

–v4l2-dev=: 指定所要採集的特定裝置
–v4l2-standard=: 使用哪種視頻標准,例如: SECAM, PAL, NTSC and more
–v4l2-width=: 視頻呈現的寬度(in pixels)
–v4l2-height=: 視頻呈現的長度度(in pixels)
以上是描述有關v4l2的參數選項。完整的v4l2模塊訊息,可以利用下面的指令查詢。

$ vlc -H -p v4l2 --advanced以下是另一個將http串流轉碼(transcode)到RTMP給Adobe Flash Media Server或Wowza Media Server等視頻伺服器

cvlc -I mmy --sout-mux-caching=5000 --sout='#transcode{venc=x264{keyint=60},vcodec=h264,vb=800}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://destinationIPaddress:1935/live/StreamFile}}' &這是用ffmpeg的方法:

ffmpeg -i -vcodec libx264 -vb 800k -acodec libfaac -ab 64k -f flv rtmp://DestinationIPAddress:1935/live/StreamFile

㈣ rtmp除了flash之外還有其他方式播放嗎

使用canvas逐幀渲染。不要擔心聲音,聲音也是支持的。自己實現比較簡單,也可以用類似WebGL等的方式。

㈤ 如何通過RTMP將流推送給Wowza Stream Engine 4

這個部分描述了建立一個直播應用的過程以及Application.xml文件中的相關配置。

創建一個應用文件夾[install-dir]/applications/live。

創建一個配置文件夾[install-dir]/conf/live,並將[install-dir]/conf/Application.xml拷貝到這個新的文件夾下。

打開並編輯這個新拷貝的Application.xml文件,按下面的描述修改配置(可能有些配置已經是配置好的):

注意: 點擊這里可以下載一個已經有默認配置的Application.xml。

將Streams/StreamType屬性設置為:

Code:
<StreamType>live</StreamType>

將HTTPStreamers屬性設置為:

Code:
<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>

將Streams/LiveStreamPacketizers屬性設置為:

Code:
<LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>

將RTP/Authentication/PlayMethod屬性設置為:

Code:
<PlayMethod>none</PlayMethod>

打開並編輯[install-dir]/conf/publish.password文件,添加一個username和password,用來控制RTSP/RTP推送時對wowza的訪問(下面是一個username為myuser,password為mypassword的文件例子):

Code:
# Publish password file (format [username][space][password])
# username password
myuser mypassword

啟動Wowza Stream Engine 4

推送

在你的編碼器上輸入下面的信息,然後再點擊Publish或Start按鈕:

Host Address: [wowza-ip-address]:1935
Stream Name: live/myStream.sdp

注意: 關於在編碼器上向Wowza Media Server推送直播流的具體操作依據編碼器的不同而不同。要了解更多如何在編碼器上推送直播流,請聯系你的編碼器廠家。

播放

注意:在下面的例子中,[wowza-ip-address] 是運行Wowza Stream Engine 4的IP地址或域名。

Adobe Flash Player (RTMP)

針對Wowza Media Server 3.5.0及更高版本,用瀏覽器打開[install-dir]/examples/LiveVideoStreaming/FlashRTMPPlayer/player.html,輸入下面的信息,再點擊Connect按鈕。

Server: rtmp://[wowza-ip-address]/live
Stream: myStream

如果要從遠程電腦上播放這個直播流,你只要將FlashRTMPPlayer文件夾拷貝到一個web server上,然後用瀏覽器訪問: http://<webserver>/FlashRTMPPlayer/player.html即可。

Adobe Flash Player (San Jose/Adobe HDS)

針對Wowza Media Server 3.5.0及更高版本,用瀏覽器打開[install-dir]/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html,輸入下面的信息,再點擊Connect按鈕。

如果要從遠程電腦上播放這個直播流,你只要將FlashHTTPPlayer文件夾拷貝到一個web server上,然後用瀏覽器訪問: http://<webserver>/FlashHTTPPlayer/player.html即可。

注意: 要使用HDS播放這個直播流,你必須採用一個基於OSMF的Flash播放器。

Apple iOS device (Cupertino/Apple HLS)

在蘋果設備上的Safari®web瀏覽器上打開下面的URL:

URL: http://[wowza-ip-address]:1935/live/myStream/playlist.m3u8

注意: The Apple®iPhone®3GS (及更早的設備) 以及iPod touch®終端需要視頻的編碼格式為H.264 format (Baseline profile level 3 或更低) 以及音頻編碼格式為AAC或MP3立體聲。

注意:你也可以在一台Mac OS® X Snow Leopard 10.6 或更高版本的電腦上用Safari web 瀏覽器或QuickTime 10.x播放這個直播流。

Microsoft Silverlight (Smooth Streaming)

針對Wowza Media Server 3.5.0及更高版本,用瀏覽器打開[install-dir]/examples/LiveVideoStreaming/SilverlightPlayer/player.html,輸入下面的信息,再點擊Connect按鈕。

Stream: http://[wowza-ip-address]:1935/live/myStream/Manifest

如果要從遠程電腦上播放這個直播流,你只要將SilverlightPlayer文件夾拷貝到一個web server上,再訪問: http://<webserver>/SilverlightPlayer/player.html。

注意: The Microsoft® Silverlight® 播放器需要音頻和視頻同時存在。針對直播流,關鍵幀的頻率(可以在編碼器上設置或者叫做gop/fps)必須在1到4秒之間(推薦採用2秒)。只要超過4秒播放就會停止。

RTSP/RTP player

在RTSP/RTP播放器中輸入下面的URL:

URL: rtsp://[wowza-ip-address]:1935/live/myStream

㈥ WEB伺服器,FTP伺服器和流媒體服務各自主要功能及其主要配置平台

通俗的說,WEB伺服器--網站發布,FTP伺服器--上傳下載,流媒體服務--流媒體發布。
windows 2003 windows 2008都可以配置,對硬體要求不高的

㈦ 在微信瀏覽器裡面播放rtmp 是怎麼實現的

基本原理是通過websocket連接伺服器,在websocket中傳輸rtmp協議的二進制數據,微信瀏覽器裡面使用javascript解析rtmp協議。
1、通過Boardway.js 和speex.js來解析音視頻數據;
2、通過webgl或者rgb渲染畫面,AudioContext播放聲音。

㈧ 流媒體和普通web伺服器有什麼區別

  1. 流媒體和伺服器是兩個概念

  2. web伺服器提供了流媒體播放所需要的環境,這樣流媒體就可以實現點播與直播

  3. web伺服器能播放不是伺服器可以播放,而是伺服器支持了如flash這樣視頻解碼,就是有客戶端!流媒體,簡單的包括播放客戶端、通信協議、伺服器基本這三塊

  4. tomcat是支持並發量的,可以支持多少客戶端同時取文件播放,一般利用live555支持流的傳輸,並且web也不是必須用http!的看具體的情況,支持的協議rtsp http rtmp都可以

㈨ webrtc支持rtmp協議嗎

一) sipdroid 1)架構 sip協議棧使用JAVA實現,音頻Codec使用skype的silk(Silk編解碼是Skype向第三方開發人員和硬體製造商提供免版稅認證(RF)的Silk寬頻音頻編碼器)實現。NAT傳輸支持stun server. 2)優缺點: NAT方面只支持STUN,無ICE框架,...

㈩ 如何用c++開發rtmp流媒體伺服器

RTMP直播協議,是Adobe公司推出的以flash播放器為客戶端的實時直播流協議,是一種應用非常廣泛的通信協議。而flash直播,也是到目前為止,web頁面上最成熟的直播技術。不過,因為flash主要是嵌入到web頁面中,因此,RTMP直播,通常也就局限在B/S形式的直播應用。