国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

這篇具有很好參考價值的文章主要介紹了Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

場景

Nginx-http-flv-module流媒體服務(wù)器搭建+模擬推流+flv.js在前端html和Vue中播放HTTP-FLV視頻流:

Nginx-http-flv-module流媒體服務(wù)器搭建+模擬推流+flv.js在前端html和Vue中播放HTTP-FLV視頻流_霸道流氓氣質(zhì)的博客-CSDN博客

上面講了Nginx-http-flv-module+flv.js進(jìn)行流媒體服務(wù)器搭建和前端播放視頻流的過程。

但是Nginx-http-flv-module對于Windows的支持以及推流格式的支持優(yōu)先,所以下面推薦

rtsp-simple-server流媒體服務(wù)器的使用。

rtsp-simple-server

https://github.com/aler9/rtsp-simple-server

rtsp-simple-server / MediaMTX是一個隨時可用的零依賴服務(wù)器和代理,

允許用戶發(fā)布、讀取和代理實(shí)時視頻和音頻流。

所支持的協(xié)議格式

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

這里的需求是搭建rtmp的流媒體服務(wù)器,并接收其他攝像頭的推流,然后在前端html或者

vue中進(jìn)行視頻流播放。

HLS協(xié)議

HLS,Http Live Streaming 是由Apple公司定義的用于實(shí)時流傳輸?shù)膮f(xié)議,基于HTTP協(xié)議實(shí)現(xiàn),

傳輸內(nèi)容主要包括兩部分,一是M3U8描述文件,二是TS媒體文件。

1.m3u8文件是一種索引文件,用文本方式對媒體文件進(jìn)行描述,由一系列標(biāo)簽組成。

2.m3u8文件用于解析對應(yīng)的放在服務(wù)器上的視頻網(wǎng)絡(luò)地址,從而實(shí)現(xiàn)在線播放。

3、ts文件是傳輸流文件,是實(shí)際需要播放的內(nèi)容,通常一個大的視頻被分成眾多小的ts實(shí)現(xiàn)分片。

注:

博客:
霸道流氓氣質(zhì)的博客_CSDN博客-C#,架構(gòu)之路,SpringBoot領(lǐng)域博主

實(shí)現(xiàn)

1、這里是本機(jī)Windows電腦,下載zip壓縮包到本地并解壓

Releases · aler9/rtsp-simple-server · GitHub

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

解壓之后根據(jù)自己需要修改其yml配置文件

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

這里只需要修改其rtmp服務(wù)的端口為11935,修改之后保存,雙擊rtsp-simple-server.exe啟動

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

啟動成功之后會提示有哪些格式的視頻流已經(jīng)開啟支持以及對應(yīng)的端口。

如果啟動后沒有成功的頁面或者修改的配置文件不對導(dǎo)致起不來,可以在exe所在的目錄打開cmd,

然后將exe拖入cmd,回車即可看到錯誤輸出

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

2、模擬推送視頻流

模擬推送視頻流可以參考官方使用FFmpeg的方式,或者上文中使用oob進(jìn)行模擬的方式

這里使用編輯ffmpeg的腳本進(jìn)行模擬推送rtmp的視頻流,腳本內(nèi)容為

ffmpeg.exe -re -i D:\WorkSpace\Other\FFmpegDemo\test\1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:11935/hls/123_0
pause

可參考如下

Windows上搭建Nginx RTMP服務(wù)器并使用FFmpeg實(shí)現(xiàn)本地視頻推流:

Windows上搭建Nginx RTMP服務(wù)器并使用FFmpeg實(shí)現(xiàn)本地視頻推流_win nginx-rtmp最新版_霸道流氓氣質(zhì)的博客-CSDN博客

模擬推流之后可以直接在瀏覽器中打開

http://127.0.0.1:8888/hls/123_0/

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

可以看到瀏覽器一直在請求.m3u8的地址,將這個地址復(fù)制出來

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

這個地址也可以在vlc中打開進(jìn)行播放

http://127.0.0.1:8888/hls/123_0/stream.m3u8

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

3、前端Html播放hls/m3u8視頻

前面直接可以將hls的地址在瀏覽器中打開,并且按照官方文檔,也可以直接使用iframe進(jìn)行播放

?<iframe src="http://rtsp-simple-server-ip:8888/mystream" scrolling="no"></iframe>

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

完整html示例代碼

?
<!DOCTYPE html>
<html>

<head>
??? <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
??? <title>hls demo</title>
??? <style>
??????? .mainContainer {
??????????? display: block;
??????????? width: 1024px;
??????????? margin-left: auto;
??????????? margin-right: auto;
??????? }
??? </style>
</head>

<body>

<p class="mainContainer">
?<iframe src="http://127.0.0.1:8888/hls/123_0" scrolling="no"></iframe>
</p>


<script>

</script>

</body>

</html>

?

運(yùn)行html效果

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

html還可以使用hls播放m3u8視頻

rtsp-simple-server/hls_index.html at main · aler9/rtsp-simple-server · GitHub

官方示例代碼:

?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
html, body {
?margin: 0;
?padding: 0;
?height: 100%;
?overflow: hidden;
}
#video {
?width: 100%;
?height: 100%;
?background: black;
}
</style>
</head>
<body>

<video id="video" muted controls autoplay playsinline></video>

<script src="?></script>

<script>

const create = () => {
?const video = document.getElementById('video');

?// always prefer hls.js over native HLS.
?// this is because some Android versions support native HLS
?// but don't support fMP4s.
?if (Hls.isSupported()) {
??const hls = new Hls({
???maxLiveSyncPlaybackRate: 1.5,
??});

??hls.on(Hls.Events.ERROR, (evt, data) => {
???if (data.fatal) {
????hls.destroy();

????setTimeout(create, 2000);
???}
??});

??hls.loadSource('index.m3u8');
??hls.attachMedia(video);

??video.play();

?} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
??// since it's not possible to detect timeout errors in iOS,
??// wait for the playlist to be available before starting the stream
??fetch('stream.m3u8')
???.then(() => {
????video.src = 'index.m3u8';
????video.play();
???});
?}
};

window.addEventListener('DOMContentLoaded', create);

</script>

</body>
</html>

?

本地示例代碼

?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
html, body {
?margin: 0;
?padding: 0;
?height: 100%;
?overflow: hidden;
}
#video {
?width: 100%;
?height: 100%;
?background: black;
}
</style>
</head>
<body>

<video id="video" muted controls autoplay playsinline></video>

<script src="?></script>

<script>

const create = () => {
?const video = document.getElementById('video');

?// always prefer hls.js over native HLS.
?// this is because some Android versions support native HLS
?// but don't support fMP4s.
?if (Hls.isSupported()) {
??const hls = new Hls({
???maxLiveSyncPlaybackRate: 1.5,
??});

??hls.on(Hls.Events.ERROR, (evt, data) => {
???if (data.fatal) {
????hls.destroy();

????setTimeout(create, 2000);
???}
??});

??hls.loadSource('http://127.0.0.1:8888/hls/123_0/stream.m3u8');
??hls.attachMedia(video);

??video.play();

?} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
??// since it's not possible to detect timeout errors in iOS,
??// wait for the playlist to be available before starting the stream
??fetch('http://127.0.0.1:8888/hls/123_0/stream.m3u8')
???.then(() => {
????video.src = 'http://127.0.0.1:8888/hls/123_0/stream.m3u8';
????video.play();
???});
?}
};

window.addEventListener('DOMContentLoaded', create);

</script>

</body>
</html>

?

運(yùn)行本地示例代碼

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

4、Vue中播放hls/m3u8視頻

Vue+Video.js播放m3u8視頻流(??低晹z像頭+RTMP服務(wù)+FFmpeg):

Vue+Video.js播放m3u8視頻流(??低晹z像頭+RTMP服務(wù)+FFmpeg)_video.js ??礯霸道流氓氣質(zhì)的博客-CSDN博客

前面記錄過,這里只需要修改視頻流地址即可。

還是需要安裝依賴

npm install --save video.js

npm install --save videojs-contrib-hls

完整頁面代碼

?
<template>
? <div class="component-upload-image">
??? <video
????? id="my-video"
????? class="video-js vjs-default-skin"
????? controls
????? preload="auto"
????? width="500px"
??? >
????? <source
??????? src="http://127.0.0.1:8888/hls/123_0/stream.m3u8"
??????? type="application/x-mpegURL"
????? />
??? </video>
? </div>
</template>
<script>
import "video.js/dist/video-js.css";
import videojs from "video.js";
import "videojs-contrib-hls";

export default {
? components: {

? },
? name: "m3u8Play",
? data() {
??? return {};
? },
? mounted() {
??? let _that = this;
??? setTimeout(() => {
????? _that.getVideo();
??? }, 6000);
? },
? methods: {
??? getVideo() {
????? videojs(
??????? "my-video",
??????? {
????????? bigPlayButton: false,
????????? textTrackDisplay: false,
????????? posterImage: true,
????????? errorDisplay: false,
????????? controlBar: true,
??????? },
??????? function () {
????????? this.play();
??????? }
????? );
??? },
? },
? watch: {},
};
</script>

<style scoped lang="scss">
</style>

?

運(yùn)行效果

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

5、缺點(diǎn)

該種方式視頻延遲較大,本地實(shí)測大概10秒左右。

優(yōu)化延遲大問題可以參考官方Low-Latency variant的配置

Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流文章來源地址http://www.zghlxwxcb.cn/news/detail-430143.html

到了這里,關(guān)于Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用nginx和ffmpeg搭建HTTP FLV流媒體服務(wù)器(攝像頭RTSP視頻流->RTMP->http-flv)

    使用nginx和ffmpeg搭建HTTP FLV流媒體服務(wù)器(攝像頭RTSP視頻流->RTMP->http-flv)

    名詞解釋 ? RTSP (Real-Time Streaming Protocol) 是一種網(wǎng)絡(luò)協(xié)議,用于控制實(shí)時流媒體的傳輸。它是一種應(yīng)用層協(xié)議,通常用于在客戶端和流媒體服務(wù)器之間建立和控制媒體流的傳輸。RTSP允許客戶端向服務(wù)器發(fā)送請求,如播放、暫停、停止、前進(jìn)、后退等,以控制媒體流的播放和

    2024年02月16日
    瀏覽(33)
  • 開源流媒體服務(wù)器ZLMediaKit在Windows上運(yùn)行、配置、按需拉流拉取攝像頭rtsp視頻流)并使用http-flv網(wǎng)頁播放

    開源流媒體服務(wù)器ZLMediaKit在Windows上運(yùn)行、配置、按需拉流拉取攝像頭rtsp視頻流)并使用http-flv網(wǎng)頁播放

    目前市面上有很多開源的流媒體服務(wù)器解決方案,常見的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181. 2、EasyDarwin https://github.com/EasyDarwin/EasyDarwin 3、Monibuca Monibuca ·

    2023年04月16日
    瀏覽(33)
  • linux+nginx-http-flv-module+ffmpeg實(shí)現(xiàn)搭建簡易流媒體服務(wù)器將rtsp流轉(zhuǎn)flv格式在web端和微信小程序?qū)崟r播放監(jiān)控視頻

    linux+nginx-http-flv-module+ffmpeg實(shí)現(xiàn)搭建簡易流媒體服務(wù)器將rtsp流轉(zhuǎn)flv格式在web端和微信小程序?qū)崟r播放監(jiān)控視頻

    一.介紹背景 公司項(xiàng)目開發(fā)需求:將海康攝像頭的rtsp流在web端及微信小程序端進(jìn)行播放。之前我寫過一篇關(guān)于web端使用webtrc+videojs播放rtsp流的文章,確實(shí)能夠解決web端播放rtsp流的需求,但是這次多加了一個微信小程序....所以要考慮小程序的播放問題。本著探索實(shí)踐的精神在

    2024年02月08日
    瀏覽(39)
  • 怎樣從一個新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺?

    怎樣從一個新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺?

    在流媒體日趨成熟的今天,大家每天都會刷大量視頻,又或者擁有一部手機(jī)就能遠(yuǎn)程查看家里的監(jiān)控;那作為新手的你,怎么從無到有打造自己的流媒體平臺呢? 這里我們選用wvp+ZLMediaKit開源平臺,WEB VIDEO PLATFORM(wvp)是一個基于GB28181-2016標(biāo)準(zhǔn)實(shí)現(xiàn)的網(wǎng)絡(luò)視頻平臺,支持NAT穿

    2024年02月02日
    瀏覽(25)
  • 使用gst-rtsp-server搭建rtsp服務(wù)器轉(zhuǎn)發(fā)rtsp

    使用gstreamer中自帶的rtsp服務(wù)器,就能快速的以管道的形式搭建rtsp服務(wù)器推流 下載gst-rtsp-server 查看自己系統(tǒng)gstreamer的版本,在gstreamer官網(wǎng)下載相關(guān)版本.tar.xz源碼包。解壓后進(jìn)入目錄。./configurer 然后make編譯。進(jìn)入examples目錄就能看到已經(jīng)編譯好的各種示例程序以及源碼 推流

    2024年02月10日
    瀏覽(12)
  • 流媒體協(xié)議之RTSP詳解

    流媒體協(xié)議之RTSP詳解

    RTSP(Real Time Streaming Protocol):實(shí)時流媒體協(xié)議,是由Real network 和 Netscape共同提出的如何有效地在IP網(wǎng)絡(luò)上傳輸流媒體數(shù)據(jù)的應(yīng)用層協(xié)議,RTSP提供一種可擴(kuò)展的框架,使能夠提供能控制的,按需傳輸實(shí)時數(shù)據(jù),如音頻流、視頻流、metadata; 遵循規(guī)范IETF RFC 2326,4567,6064,其語法和操作參

    2024年02月05日
    瀏覽(25)
  • 流媒體協(xié)議RTSP初篇(一)

    流媒體協(xié)議RTSP初篇(一)

    今日天氣微涼,小雨稀稀拉拉的落下,寫寫文章開心一點(diǎn)。 一、前情提要之工作流程 RTSP、RTP、RTCP、SDP四個協(xié)議一般是打包使用的,各司其職完成傳輸媒體流的使命。大致流程如下: 身份卡: 老板 : RTSP 秘書 : SDP RTCP : 質(zhì)量經(jīng)理 RTP : 小工 小劇場: 老板A: 有媒體資源 老板

    2024年02月07日
    瀏覽(29)
  • Windows基于Nginx搭建RTMP流媒體服務(wù)器(附帶所有組件下載地址及驗(yàn)證方法)

    Windows基于Nginx搭建RTMP流媒體服務(wù)器(附帶所有組件下載地址及驗(yàn)證方法)

    RTMP服務(wù)時常用于直播時提供拉流推流傳輸數(shù)據(jù)的一種服務(wù)。前段時間由于朋友想搭建一套直播時提供穩(wěn)定數(shù)據(jù)傳輸?shù)姆?wù)器,所以就研究了一下如何搭建及使用。 首先我們要知道一般nginx不能直接配置rtmp服務(wù),在Windows系統(tǒng)上需要特殊nginx版本才能進(jìn)行搭建 : nginx 1.7.11.3 Gryp

    2024年02月02日
    瀏覽(25)
  • 基于Nginx+rtmp搭建支持hls協(xié)議的點(diǎn)播流媒體服務(wù)器(windows/Linux)

    基于Nginx+rtmp搭建支持hls協(xié)議的點(diǎn)播流媒體服務(wù)器(windows/Linux)

    前言:公司最近因?yàn)榭蛻舳艘曨l文件過大導(dǎo)致視頻加載時間很長,讓我將視頻播放做成流媒體點(diǎn)播的形式,于是查閱了幾十篇相關(guān)文章以及文檔,最終將功能實(shí)現(xiàn)。可能是存在版本差異,絕大部分文章介紹的教程并不能成功實(shí)施,尤其是點(diǎn)播功能,所以我把我工作中驗(yàn)證成功

    2024年02月02日
    瀏覽(20)
  • LiveNVR監(jiān)控流媒體Onvif/RTSP功能-服務(wù)接收RTSP推流RTSPServer可以拉轉(zhuǎn)配置到通道中視頻直播

    LiveNVR監(jiān)控流媒體Onvif/RTSP功能-服務(wù)接收RTSP推流RTSPServer可以拉轉(zhuǎn)配置到通道中視頻直播

    目前不是所有的直播推流設(shè)備都支持RTSP取流,有的只能輸出直播流,有的只能支持RTSP的推流。那么,項(xiàng)目中如何把 rtsp推流配置到通道中。 示例:rtsp://192.168.2.135:1554/stream_1 192.168.2.135 是部署LiveNVR服務(wù)器的IP,您自己用的時候換成自己服務(wù)器的IP 1554 是基礎(chǔ)配置配置的RTSP服務(wù)

    2024年02月01日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包