首页 > 其他分享 >videojs hls视频流播放器

videojs hls视频流播放器

时间:2024-07-18 15:42:01浏览次数:16  
标签:url 视频流 hls js player video videojs

 

需要用到的包

"video.js": "^8.6.1",
"videojs-contrib-hls": "^5.15.0",

 

给两个测试流地址

			<el-select
				v-model="hlsUrl"
				placeholder="请选择下拉选择下拉选择"
				clearable
				:style="{ width: '100%' }"
			>
				<el-option value="http://220.161.87.62:8800/hls/1/index.m3u8" />
				<el-option value="http://220.161.87.62:8800/hls/0/index.m3u8" />
			</el-select>

组件


<template>
	<video
		ref="myVideo"
		class="video-js vjs-default-skin"
		controls
		preload="auto"
		autoplay
		muted
		style="width: 100%; height: 100%"
	>
		<source :src="hlsUrl" type="application/x-mpegURL" />
	</video>
</template>

<script>
import videojs from 'video.js'
import 'video.js/dist/video-js.css'
import 'videojs-contrib-hls'
export default {
	name: 'HlsPlayer',
	props: {
		hlsUrl: {
			type: String,
			default: ''
		}
	},
	watch: {
		async hlsUrl(url) {
			this.playUrl(url)
		}
	},
	data() {
		return {
			videoInfo: {},
			player: null
		}
	},
	mounted() {
		this.$nextTick(() => {
			this.playerInit()
		})
	},
	methods: {
		playUrl(url) {
			try {
				this.player.src({
					src: url,
					type: 'application/x-mpegurl'
				})
				this.player.play()
			} catch (e) {
				console.log(e)
			}
		},
		playerInit() {
			this.player = videojs(
				this.$refs.myVideo,
				{
					bigPlayButton: true, // 显示播放按钮
					textTrackDisplay: false,
					posterImage: true,
					errorDisplay: false,
					controlBar: true // 显示控件
				},
				function () {
					try {
						this.play()
					} catch (e) {
						console.log(e)
					}
				}
			)
		},
		dispose() {
			try {
				this.player && this.player.dispose()
			} catch (e) {
				console.log(e)
			}
		}
	},

	beforeDestroy() {
		this.dispose()
	}
}
</script>

 

标签:url,视频流,hls,js,player,video,videojs
From: https://www.cnblogs.com/yeminglong/p/18309679

相关文章

  • 盘点视频流协议及其在视频汇聚平台EasyCVR视频监控技术中的应用
    一、视频流协议概述视频流协议是实现视频数据的实时传输和播放的关键技术,广泛应用于网络视频监控、视频会议、在线教育等领域。这些协议定义了数据传输的格式、方式和控制机制,以确保视频数据能够准确、高效地传输到目标终端并进行解码播放。1、RTMP协议RTMP(RealTimeMessaging......
  • FFmpeg开发笔记(三十七)分析SRS对HLS协议里TS包的插帧操作
    ​《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.2 音视频文件的封装格式”介绍了视频流的PS格式和TS格式。由于TS包的长度固定,从TS流的任一片段开始都能独立解码,因此可以把TS当成音视频文件的封装格式。鉴于TS包的独立解码特性,HLS协议引入了TS格式作为传输单元。HLS协......
  • C#使用MJpeg实现视频流发送与显示
    1、发送视频流:usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Drawing;usingSystem.Globalization;usingSystem.IO;usingSystem.Linq;usingSystem.Net.Sockets;usingSystem.Text;usingSystem.Threading.Tasks......
  • Vitis HLS 学习笔记--Vitis Accelerated Libraries介绍
    目录1.简介2.库的组织结构 2.1结构级别L1/L2/L32.2文件内容3.分类介绍3.1 blas3.2codec3.3 data_analytics3.4 data_compression3.5 data_mover3.6 database3.7 dsp3.8graph3.9 hpc3.10 motor_control3.11 quantitative_finance3.12 securi......
  • Vitis HLS 学习笔记--Stream Chain Matrix Multiplication
    目录1.简介2.示例解析2.1示例功能说明2.2函数说明 2.2.1 mmult函数2.2.2 mm2s函数2.2.3 s2mm函数2.2.4总示意图3.总结1.简介这是一个包含使用数据流的级联矩阵乘法的内核。该内核启用了ap_ctrl_chain,以展示如何重叠多个内核调用队列以提供更高的性......
  • Vitis HLS 学习笔记--函数例化(Function Instantiation)
    目录1.简介2.功能分析3.示例分析3.1不使用 FUNCTION_INSTANTIATE3.2使用 FUNCTION_INSTANTIATE4.总结1.简介函数例化(FunctionInstantiation)是VitisHLS中的一个高级优化技术。它允许开发者在保持函数层次结构的同时,对函数的特定实例进行局部优化。如果函......
  • ffmpeg推送音视频流、拉取音视频流 —— Windows
    一、压缩视频文件例如将input.mp4转码成output.avi。在Windows下,打开cmd,执行:ffmpeg-iinput.mp4output.aviffmpeg-iinput.mp4output.avi有很多参数可以指定,见ffmpeg官网。例如:ffmpeg-iinput.mp4-c:vlibx264-presetultrafast-b:v6000koutput.avi 其中,......
  • Vitis HLS 学习笔记--接口存储器布局模型
    目录1.简介2.详解2.1数据对齐2.2 数据结构填充3.总结1.简介软件开发者写的程序会在CPU处理器上运行,而硬件开发者设计的“内核”则会在FPGA上运行。这两部分需要通过一个精心设计的接口来沟通,就像两个人用对讲机来交流一样。为了确保这种沟通顺畅,数据必须以......
  • Vitis HLS 学习笔记--static RAM/ROM
    目录1.简介2.staticRAM2.1无reset的情形2.2含reset的情形3.staticROM4.总结1.简介本文仍然是讨论阵列的初始化与复位问题,区别于《VitisHLS学习笔记--global_array_RAM初始化及复位-CSDN博客》,本文讨论的对象是静态阵列,RAM和ROM。静态阵列可以映射到B......
  • 详细介绍视频汇聚共享平台LntonCVS视频存储平台支持的多种视频流协议
    LntonCVS国标视频综合管理平台是一款以视频为核心的智慧物联应用平台。它基于分布式、负载均衡等流媒体技术进行开发,提供广泛兼容、安全可靠、开放共享的视频综合服务。该平台具备多种功能,包括视频直播、录像、回放、检索、云存储、告警上报、语音对讲、集群、智能AI分析以及平......