服务器(公网推rtmp流),网页本地(qq浏览器)播放rtmp流,且可切换rtmp流播放。使用了video.js、videojs-flash.js、jquery-3.4.1.js和我自己写的一个js

article/2025/11/6 17:20:52

问题: 最开始我想在下拉列表的值发生变化时将video标签包含的source标签里面的src中的rtmp流直接替换掉,达到切换rtmp源播放的目的,但是一直无法生效,最后我想每个源直接做一个html页面,发现如果有几百个源就需要做很多,因此直接采用servlet画html,每次请求servlet时拼接好rtmp流,然后再生成页面,就能达到切换rtmp源播放的效果;谷歌浏览器和火狐不支持flash,播放不了rtmp流。最后选择我常用的QQ浏览器成功了。
新问题:测试一个一个的小视频(4s左右时,rtmp推流后,浏览器并不是一定能收到,还不知道如何解决)

  1. 根据拥有的可查看的rtmp流,设计一个下拉列表供选择哪一个rtmp流进行观看。

下拉列表,使用ajax后端访问可查看的rtmp流动态生成选项。

		<!--引入css--><link href="lib/css/video-js.css" rel="stylesheet"><!--引入js--><script src="lib/js/video.js"></script><script src="lib/js/videojs-flash.js"></script><script src="lib/js/jquery-3.4.1.js" type="text/javascript"></script><script src="lib/js/myVideo.js" type="text/javascript"></script>请选择观看的设备<select id="devId" style="width: 150px"></select>

jsp文件和js、css的路径

  1. 根据1选择的值用post方法直接提交到后端servlet,然后返回播放页面和返回主页面。
$(function() {let devId=$("#devId");//下拉列表iddevId.on("change",function () {//post请求转播放页面postRequest(devId.val());})function postRequest(param) {//写一个隐藏表单post提交document.write("<form action='video' method='post' name='myform' style='display:none'>");document.write("<input type='hidden' name='devid' value='"+param+"'/>");document.write("</form>");document.myform.submit();}
  1. 最后servlet跳转播放页面,播放成功。
        response.setContentType("text/html;charset=UTF-8");//设置成返回html页面response.setCharacterEncoding("utf-8");PrintWriter writer = response.getWriter();String devid=request.getParameter("devid");System.out.println("本次设备"+devid+"请求播放");writer.print("<html>\n" +"    <head>\n" +"        <title>设备视频</title>\n" +"        <link href=\"lib/css/video-js.css\" rel=\"stylesheet\">\n" +"        <!--引入播放器js-->\n" +"        <script src=\"lib/js/video.js\"></script>\n" +"        <script src=\"lib/js/videojs-flash.js\"></script>\n" +"        <script src=\"lib/js/jquery-3.4.1.js\" type=\"text/javascript\"></script>\n" +"        <script type=\"text/javascript\">\n" +"            // 设置flash路径,用于在videojs发现浏览器不支持HTML5播放器的时候自动唤起flash播放器\n" +"            videojs.options.flash.swf = 'https://cdn.bootcss.com/videojs-swf/5.4.1/video-js.swf';\n" +"            let player=videojs(\"my-player\"); //my-player为页面video元素的id\n" +"            player.play(); //播放\n" +"        </script>" +"    </head>\n" +"    <body>\n" +"    <a href=\"video.jsp\" style=\"width: 150px\">重新选择观看的设备</a>"+"    <video id=\"my-player\" class=\"video-js vjs-default-skin vjs-big-play-centered\" preload=\"auto\" autoplay=\"autoplay\"\n" +"           data-setup='{}' style=\"position: absolute;margin-left: 0;margin-top: 0;width: 100%;height: 100%\">\n" +"        <!--src: 规定媒体文件的 URL  type:规定媒体资源的类型-->\n" +"        <source id=\"rtmp\" src=\"rtmp://39.105.13.243:18890/live/"+devid+"\" type=\"rtmp/flv\"/>\n" +"    </video>\n" +"    </body>\n" +"</html>");writer.flush();writer.close();

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

相关文章

Android手机RTMP播放工具(APK,支持秒开)

Android手机RTMP播放工具是一款可以在安卓手机播放rtmp流的工具&#xff0c;基于FFmpegopenCV开发。 下载地址&#xff1a;Android手机RTMP播放工具&#xff08;APK&#xff0c;支持秒开&#xff09;-C文档类资源-CSDN下载

rtmp http mp4 网页播放器

对于页面上如何播放rtsp视频时&#xff0c;项目经过查阅资料后最终采用转成rtmp流在进行播放。在播放时调研了一下网页播放器&#xff0c;最终选择ckplayer。还有一款叫萤石云内部调用得也是ckplayer。 1. ckplayer(http://www.ckplayer.com/) ckplayer是国内网页上播放视频的…

QT实现低延迟的RTSP、RTMP播放器

好多开发者在QT环境下实现RTMP或RTSP播放时&#xff0c;首先考虑到的是集成VLC&#xff0c;集成后&#xff0c;却发现VLC在延迟、断网重连、稳定性等各个方面不尽人意&#xff0c;无法满足上线环境需求。本文以调用大牛直播SDK&#xff08;官方&#xff09;的Windows平台播放端…

【技术分享】如何实现功能完备性能优异的RTMP、RTSP播放器?

技术背景 这几年&#xff0c;我们对接了太多有RTSP或RTMP直播播放器诉求的开发者&#xff0c;他们当中除了寻求完整的解决方案的&#xff0c;还有些是技术探讨&#xff0c;希望能借鉴我们播放端的开发思路或功能特性&#xff0c;完善自己的产品。 忙里偷闲&#xff0c;今天我…

高稳定、低延时、高并发RTMP播放器流媒体音视频播放器EasyPlayer-RTMP-iOS器如何将核心代码打包成静态库

背景分析 RTMP是Real Time Messaging Protocol&#xff08;实时消息传输协议&#xff09;的首字母缩写。该协议基于TCP&#xff0c;是一个协议族&#xff0c;包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议&#xff0c;主要用…

Windows平台RTMP、RTSP播放器录像模块精细化控制

技术背景 上篇文章&#xff0c;我们介绍了Unity平台RTMP、RTSP播放器录像功能&#xff0c;这里&#xff0c;我们详细的介绍下&#xff0c;做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点&#xff1f; 在我们常规的考量&#xff0c;RTMP或RTSP流录制&#xff0c;无非就是…

RTMP视频播放器

感谢作者tcking、Bilibili&#xff0c;本项目借鉴了GiraffePlayer项目&#xff0c;项目一开始的灵感来源于GiraffePlayer项目&#xff0c;后期做纯粹做了视频播放器的界面的定制&#xff0c;基于ijkplayer项目进行的播放器界面UI封装。 简介 当前项目是基于ijkplayer项目进行…

从零开发一款Android RTMP播放器

1. 背景介绍 15年移动端直播应用火起来的时候&#xff0c;主要的直播协议是RTMP&#xff0c;多媒体服务以Adobe的AMS、wowza、Red5、crtmpserver、nginx rtmp module等&#xff0c;后面过长RTMP服务SRS开始流行。Android端播放器主要以开始以EXOPlayer播放HLS&#xff0c;但是…

rtsp+rtmp多路网页播放

一、前言 之前博主有写过 一篇博文&#xff0c;讲的是使用videojs在谷歌浏览器网页上播放rtmp流媒体&#xff0c;具体可参考我之前的博客&#xff1a;videojshlsrtmp网页播放 - 蛋片鸡 - 博客园 最近又开始研究了一下网页播放流媒体&#xff0c;在这里我主要补充一些播放rtmp、…

低延时极简RTMP播放器

RtmpPlaySdk简介 近期将项目上RTMP播放相关功能进行打包整理&#xff0c;实现了一款低延时的极简接口RTMP播放器&#xff08;Windows版和Android版&#xff09;。市面上的RTMP播放器较多&#xff0c;有开源的ijkplayer及其衍生品&#xff0c;也有收费的功能繁多的播放器&#…

rtmp 点播系统之播放器篇

rtmp (Real Time Media Protocal) ,是实时流媒体协议,由Adobe公司提出,属于半开放的协议。此协议基于flash平台的音视频点播协议。 音视的点播系统分为两部分,分别为客户端和服务端。在本文中我会先讲解如何实现一个简单的rtmp播放器。至于rtmp服务器的实现,会在下文中分析…

pgsql 使用技巧

1.CASCADE 级联删除&#xff0c;如果表或模式或数据库有序列、分区相关 依赖时&#xff0c;需要修改表或模式或数据库&#xff0c;则使用它 DROP SCHEMA viid_facestatic CASCADE 2.pgsql隐藏字段ctid&#xff0c;一般用于去重 3. pg 表自连接使用场景 3.1 有一张卡口表 求…

pgsql

这里写目录标题 pgpool安装pgsql流复制备份与恢复客户端验证服务器设置及操作服务器配置监控数据活动 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES, Version 4.2为基础的对象关系型数据库管理系统(ORDBMS)。 PostgreSQL是最初伯克利代码的一个开放源码的继承者。…

pgsql基本操作

pgsql基本操作 1. 修改postgresql.conf postgresql.conf存放位置在/etc/postgresql/9.x/main下&#xff0c;这里的x取决于你安装PostgreSQL的版本号&#xff0c;编辑或添加下面一行&#xff0c;使PostgreSQL可以接受来自任意IP的连接请求。 listen_addresses *2. 修改pg_hb…

pgsql常用sql和函数

常用pgsql -- 列出所有schema select * from information_schema.schemata; -- Schema下所有表 select * from pg_tables where schemaname query_db and tablename in(port,device,res_carry_business,hardware,shelf,device_hardware_relation); -- Schema下所有索引 select…

PGSQL大小写敏感总结

PGSQL大小写敏感总结 由于PGSQL使用会出现大小写敏感的问题&#xff0c;所以在设置字段名字的时候&#xff0c;如果字段名需要大写需要加上""号来表示&#xff0c;该字段需要大写 公司业务需要我使用PGSQL创建自增主键&#xff0c;我在使用 nextval() 绑定创建的序列…

PGSQL常用操作

0. 启动pgsl数据库 pg_ctl -D /xx/pgdata start 回到顶部 1. 查看pgsl版本 pg_ctl --version 回到顶部 1. 命令行登录数据库 1 psql -U username -d dbname -h hostip -p port 回到顶部 2. 列出所有数据库 \l 回到顶部 3. 切换数据库 1 \c dbname 回到顶部 …

PL/pgSQL

1.简介 L/pgSQL是一种用于PostgreSQL数据库系统的可载入的过程语言。 可以被用来创建函数和触发器过程对SQL语言增加控制结构可以执行复杂计算继承所有用户定义类型、函数和操作符可以被定义为受服务器信任便于使用 [1]使用PL/pgSQL的优点 SQL 是一种查询语言&#xff0c;可…

Windows 10 安装配置连接PostgreSQL教程

Windows 10 安装配置连接PostgreSQL教程 1.1 PostgreSQL 下载1.2 配置环境变量1.3 PostgreSQL 初始化1.4 创建postgres用户1.5 启动postgresql1.6 客户端连接测试1.6.1 SQL Shell (psql)命令行连接测试1.6.2 客户端 pdAdmin 4 连接测试1.6.3 客户端Navicat Permium 连接测试 1.…

Spring原理-IOC控制反转

spring相关文章 Spring原理-IOC控制反转 Spring框架七大核心模块 Spring Beans原理–bean生命周期 一、Spring概述 1、 定义 Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发复杂性。它是一个分层的JavaSE/Java…