浏览器播放RTSP、RTMP等几种编码格式视频流

article/2025/9/13 10:44:43

项目需求,需要前端页面实时展示摄像头采集的视频,视频啊,之前一点没接触过,经过一番调研、尝试,不得不说,网上文章真的大同小异,踩过许多坑,整理如下。

一、科普一下

1.流程

在这里插入图片描述

2.常见视频流格式

● RTMP(推流端、拉流端)
● RTSP(推流端)
● HLS(拉流端)
● FLV(拉流端)

3.FLV

● 原生video标签只支持Ogg、MPEG4、WebM三种格式
● 默认需要安装flash插件才可以播放
● bilibili开源flv.js插件可直接转码,vue项目直接使用
○ 推流端视频编码必须是H.264

4.HLS

● 把整个流分成一个个小的基于HTTP的文件下载,所以不适用直播,延迟会比其他协议的高,对网络质量要求高
● 前端处理HLS格式视频流,引入video.js

5.RTSP

● 实时传输协议
● 大屏项目大部分视频都是通过安装监测摄像头传输展示的
● 延时低,厂商直接提供,网络负载均衡
● 不支持移动端,浏览器兼容性差,需要低版本浏览器,且安装插件

6.RTMP

● 基于TCP,实时性高、稳定性高,主要用于直播
● 一般是传输的为flv流

二、代码实现

在这里插入图片描述
暂不考虑项目要求,对于现阶段前端可实现的途径进行了具体实现,如下:

1.ie浏览器+vlc插件

  • 本地下载VLC 32位的播放器,ie浏览器自动安装了vlc插件,可直接播放rtsp、rtmp格式的视频,代码如下
    在这里插入图片描述缺点:
  • 需要指定浏览器,安装指定插件
  • vlc插件并不稳定,测试过程中,经常无响应

2.直接播放flv格式vue在这里插入图片描述

在vue项目里,安装了flv.js,可直接播放flv编码格式的视频流

3.直接播放hls格式

在这里插入图片描述

4.webrtc播放

4.1 文档:https://webrtc.org/getting-started/overview

4.2 webrtc可实现的功能特别强大,网上可参考的资料很少,目前尝试的是webrtc-streamer插件,实现了rtsp直接播放

  • 本地下载webrtc-streameran安装包,双击运行,html代码里引入webrtc-streamer相关的文件,即可在浏览器播放,坑是rtsp的地址一定要标准,不然无法播放
  • rtsp地址不标准对应的展示在这里插入图片描述
  • rtsp地址标准后
    在这里插入图片描述
  • 对应代码
    在这里插入图片描述
  • 尝试了rtmp格式,不能播放,没有进一步验证错误原因,猜测可能是webrtc-streamer插件本身不支持rtmp

4.3 vue-webrtc

  • 调研多用于直播类,目前未找到直接播放rtsp、rtmp的对应function

三、小结

从几种方案调研来看,浏览器不支持flash插件已成趋势,不建议ie+vlc插件的方案,至于其他几种直接播放的方法,看项目需求,不过个人看法,主流应该是webrtc(ps:代码截图涉及的很多本地测试地址,都是后台小哥哥用ffmpeg转的😊😊😊)

视频小白,欢迎指正!

持续尝试中,后续更新…


2023-01-28 实现chrome播放rtmp

兔年大吉,复工第一天应项目需求,时隔一年多,再次尝试直接用chrome播放rtmp格式的视频流,在一番调研之后,具体实现如下。

  • vue项目npm安装video.js、videojs-flash依赖
  • 下载flash player(未尝试其他的插件)

具体代码如下

  • package.json对应依赖版本
    在这里插入图片描述
  • vue文件
    在这里插入图片描述
  • import引入
    在这里插入图片描述
  • 初始化data声明变量player
    在这里插入图片描述
  • mounted里代码
    在这里插入图片描述
  • 浏览器设置-允许当前页面的flash播放
    在这里插入图片描述
    截至到发文,rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp此rtmp地址可用,以上代码是最简单的实现,并没有进一步的封装,小伙伴们可根据自身需求进行修改。来一张播放截图
    在这里插入图片描述
    ps:此处未进行实时推流播放测速,后续如果进行相关工作会持续更新。

http://chatgpt.dhexx.cn/article/WJpvBS48.shtml

相关文章

【vue】浏览器播放提示音audio

方法一&#xff1a;修改浏览器配置 代码 <audiocontrols"controls"hiddensrc"../../static/alert.mp3"ref"audio" ></audio>this.$refs.audio.currentTime 0; //从头开始播放提示音 this.$refs.audio.play(); //播放chrome配置允…

浏览器播放语音SpeechSynthesisUtterance

目的&#xff1a;因为公司项目需要来浏览器播放语音&#xff0c;看了科大讯飞的产品&#xff0c;后面有发现html5有原生的api&#xff0c;更加方便&#xff0c;所以使用了 一、语音合成和语音识别 “语音识别(Speech Recognition)”目前的就Chrome浏览器和Opera浏览器默认支持…

使用 Nginx 服务器配置 flv、mp4,可以直接浏览器播放

由于需求&#xff0c;需要提供浏览器播放 mp4 和 flv 视频功能。首先浏览器直接支持 flv 和 mp4 格式。只需要在对应的 WEB 服务上完成配置即可。 注意&#xff0c;我的需求是通过浏览器直接播放 MP4&#xff0c;而不是服务器提供 RTMP 功能&#xff0c;使用 RTMP 又是另外一种…

浏览器兼容video视频播放的多种方法

前言&#xff1a; 在 HTML 中播放视频并不容易&#xff01;因为直到现在&#xff0c;仍然不存在一项旨在网页上显示视频的标准。今天&#xff0c;大多数视频是通过插件&#xff08;比如 Flash&#xff09;来显示的。然而&#xff0c;并非所有浏览器都拥有同样的插件。 比如win…

关于浏览器播放视频的些许理解

浏览器地址栏输入服务器端视频的url即可播放。刚开始觉得还有点神奇&#xff0c;追踪network请求&#xff0c;发现视频还没下载完就可以播放&#xff0c;还可以拖动进度条到指定时间。分析了一下网络请求和视频格式&#xff0c;得出些许领悟。 1.服务器端支持文件的分块传输。即…

浏览器中如何让视频倍速播放

浏览器中视频免费倍速播放 文章目录 浏览器中视频免费倍速播放1.打开Edge的扩展页面2.安装global speed 3.安装tampermonkey beta4.打开tampermonkey5.安装某盘视频播放器脚本6.打开播放链接 此篇教程只针对于某盘网页版&#xff0c;浏览器为Edge 1.打开Edge的扩展页面 2.安装g…

rtsp流浏览器播放方案

rtsp流在主流浏览器并不支持直接播放。比如大华的视频流&#xff1a;rtsp://admin:123456 192.168.10.129/cam/realmonitor?channel1&subtype0&#xff0c;用vlc可以直接播放。但在浏览器会报ERR_UNKNOWN_URL_SCHEME。那如何在浏览器中播放呢。 以下列出几种方案。 1、安…

浏览器播放rtsp视频流解决方案

解决获取到海康摄像头的rtsp视频流&#xff0c;在浏览器播放问题。采用ffmpegnginxvideo.js解决方案&#xff08;Windows环境&#xff09; 资源下载 ffmpeg百度云资源&#xff1a;链接&#xff1a;https://pan.baidu.com/s/15pq8ErLZg9UcOgjqTkJZtw 提取码&#xff1a;8kyg…

IAR基础教程之函数跳转

IAR基础教程之函数跳转 一、编译 二、编译过程 三、等待内部链接 在编译完成后&#xff0c;等待绿条读满。 注意&#xff1a; 如果绿条没有完成&#xff0c;部分函数可能无法跳转。 如果工程编译出错&#xff0c;则无法完成如上工作。 四、函数跳转 右键单击 点击“Defini…

IAR安装使用教程

仅仅用于学习交流&#xff0c;非用于商业&#xff0c;如有异议&#xff0c;请联系我。 IAR 和谐 和谐工具&#xff1a;IARkg_Unis.exe ---------1.双击打开 IARkg_Unis.exe 文件。点击”Generate”生成序列号&#xff0c;每个电脑生成的不同&#xff0c;将序列号复制保存下来以…

IAR 安装教程

学校的物联网技术实验需要IAR for 51工具&#xff0c;起初一直找不到下载窗口在哪&#xff0c;最后终于找到并下载安装成功&#xff0c;就分享一下 1.官网下载安装包 https://www.iar.com/ 寻找对应设备版本&#xff1a; 不清楚的话可以在下面寻找设备进行查询&#xff0c;像…

IAR教程之IAR安装

IAR安装 1.下载 1.1打开官网 1.2找到要下载的版本 1.3下载 同学们除了可以下载最新版本尝鲜之外&#xff0c;还可以下载之前的版本。低版本IAR打开高版本IAR工程&#xff0c;工程配置会错乱&#xff0c;导致编译报错问题&#xff0c;所以一定要使用比推荐版本高的IAR 单片机I…

Iar新建工程配置使用教程

Iar新建工程配置使用教程 wangxl20180809 新建工程 打开demo目录&#xff0c;重新复制led目录并改成自己的工程名&#xff0c;如:demoled;&#xff08;本模板适合stm32f10X的芯片使用) 运行iar软件&#xff0c;进入demoled\Project目录选project.eww进行打开; 工程配置 修改…

IAR for STM8安装教程

先附上下载链接和提取码哈&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1x5n_nYP2RcN2N_G9p4qz2Q 提取码&#xff1a;h135 1、软件安装 解压完后点击安装包下的&#xff1a;EWSTM8-3104-Autorun.exe文件进行安装 在这我们选择第一个选项&#xff0c;记住有些安装…

IAR for 8051安装教程

安装步骤&#xff1a; 安装前先关闭杀毒软件和360卫士&#xff0c;注意安装路径不能有中文&#xff0c;安装包路径也不要有中文。 安装前请断网。 试装系统&#xff1a;win10 64bit 1.解压安装包。 2.选择你需要安装的IAR for 8051的版本&#xff0c;一般选择安装最新的版…

IAR for STM8的基本使用教程

很多第一次接触硬件的小伙伴们对于如何利用IAR编写程序并烧录到板子上感觉很困扰&#xff0c;今天我们就从IAR的基本使用来讲起&#xff0c;希望能给大家带来一定的帮助。 1. 创建新的工作环境&#xff1a; 2. 在工作环境下创建自己的工程&#xff1a; 如果有已存在的工程&…

Iar工程调试使用教程

Iar工程调试使用教程 wangxl20180809 打开工程 运行iar软件&#xff0c;进入demoled\Project目录选project.eww进行打开; 二、调试 1、设置断点 在代码左边点击要设置断点的语句&#xff0c;或点击要设置断点的语句&#xff0c;按鼠标右键&#xff0c;选择Toggle Breakpoi…

IAR for ARM系列教程(一)_新建软件工程详细过程

推荐 分享一个大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到人工智能的队伍中来&#xff01;http://www.captainbed.net/strongerhuang 我的网站&#xff1a;https://www.strongerhuang.com 我的知乎…

IAR 系列教程

https://www.strongerhuang.com/categories/EWSTM8%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B/ https://blog.csdn.net/ybhuangfugui/article/details/81436533

IAR操作指南

IAR中的参数变量表 __iar_program_start在哪里定义/main之前做了什么 在main()之前&#xff0c;IAR都做了啥 cortex-m3启动代码详解 在IAR中利用AStyle插件格式化代码 IAR配色方案 --styleallman --pad-oper --max-code-length150 --add-braces --align-pointername --max-con…