首页IT科技vue rtmp视频播放器(vue播放rtsp视频流)

vue rtmp视频播放器(vue播放rtsp视频流)

时间2025-06-15 11:46:40分类IT科技浏览6474
导读:工作有要播放视频监控的需求,最近就自己先了解了一下网页播放rtsp视频流的方法,以下是我的个人经验。 最终选择了vue+webrtc-streamer...

工作有要播放视频监控的需求              ,最近就自己先了解了一下网页播放rtsp视频流的方法                  ,以下是我的个人经验              。

最终选择了vue+webrtc-streamer实现在网页播放rtsp流这种方法进行测试                  。

个人经验

第一次尝试了vue-video-player+videojs的方法       ,发现只适用于支持flash的浏览器           ,但目前所有浏览器的最新版都已不支持flash插件                  ,于是放弃       。

注意vue-video-player有个坑          ,在引入css文件的时候一直报错        ,原因是直接npm install vue-video-player出了问题           。

经过各种百度半天                   ,发现我使用的是vue2             ,不知道为什么没人说    ,vue2版本如果想要使用vue-video-player的话必须下载4.x版本                  。vue3的下载已经更改了插件名                    ,是@videojs-player/vue          。

下载4.0.1版本发现css文件可以正常引入                ,但是浏览器不支持flash所以没有播放成功        。

第二次尝试ffmpeg,发现太复杂了                 ,琢磨了半天无果                   。

第三次尝试webrtc-streamer                   ,终于成功    ,并且相对于前两种方法都更简单!

vue+webrtc-streamer实现在网页播放rtsp视频流

首先下载webtrc-streamer的压缩包              ,在github上有

https://github.com/mpromonet/webrtc-streamer/releases

下载windows版本

双击webrtc-streamer.exe启动服务

将下载包html文件夹下webrtcstreamer.js文件和html/libs文件夹下adapter.min.js文件复制到VUE项目public/stactic目录下                  ,在index.html文件里引入这两个js文件             。

写测试代码

<template> <div class="home"> <video id="video" autoplay width="600" height="400"></video> <video id="video1" autoplay width="600" height="400"></video> </div> </template> //不放心我又引入了一遍 <script type="text/javascript" src="../../public/stactic/webrtcstreamer.js"></script> <script type="text/javascript" src="../../public/stactic/adapter.min.js"></script> <script> export default { name: "HomeView", data() { return { webRtcServer: null, webRtcServer1: null }; }, mounted() { //192.168.1.100是启动webrtc-streamer的服务器IP       ,8000是webrtc-streamer的默认端口号           ,可以在服务端启动的时候更改的 this.webRtcServer = new WebRtcStreamer( "video", location.protocol + "//127.0.0.1:8000" ); //需要看的rtsp视频地址                  ,可以在网上找在线的rtsp视频地址来进行demo实验          ,在vlc中能播放就能用 // this.webRtcServer.connect( // "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4" // ); this.webRtcServer.connect( "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4" ); //第二个视频 //根据不同的video标签来控制 this.webRtcServer1 = new WebRtcStreamer( "video1", location.protocol + "//127.0.0.1:8000" ); this.webRtcServer1.connect( "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4" ); }, methods: {}, beforeDestroy() { this.webRtcServer.disconnect(); this.webRtcServer = null; } }; </script>

此时运行网页已经可以看到视频了    。

但是有缺点(还未解决):

播放的视频没有声音

控制台报错但不影响正常播放

如果有大佬知道如何解决        ,欢迎留言!

以上内容参考http://t.csdn.cn/gj93S

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
迭代器实现for循环的方法(浅谈PHP设计模式的迭代器模式) markdown语法 知乎(markdown语法)