当前位置: 首页 > news >正文

视频融合 flv流格式对接(上)

FLV 是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等问题。

发展:

FLV是被众多新一代视频分享网站所采用,是增长最快、最为广泛的视频传播格式。是在sorenson公司的压缩算法的基础上开发出来的。FLV格式不仅可以轻松的导入Flash中,速度极快,并且能起到保护版权的作用,并且可以不通过本地的微软或者REAL播放器播放视频。

历史:

网络宽带的普及使中国网民数量跃升至全球第一,同时也造就了众多的网络神话,GOOGLE斥巨资收购YouTube,似乎将国内外本身已经够火的Web2.0视频网站被广泛关注。随后视频、播客等网站在国内如雨后春笋般兴起,新的网络战役一触即发,这对于FLV视频格式的普及无疑是一个巨大的推动力。

优势:

FLV作为一种新兴的网络视频格式,能得到众多的网站支持并非偶然。除了FLV视频格式本身占有率低、视频质量良好、体积小等特点适合网络发展外,丰富、多样的资源也是FLV视频格式统一在线播放视频格式的一个重要因素。从最新的变形金刚到越狱再到各项体育节目,甚至于网友制作的自拍视频等都可以在网络中轻而易举的找到。
在互联网上提供FLV视频的有两类网站,一种是专门的视频分享网站如美国的YouTube网站、国内的六间房、土豆网等。另一种是门户网站提供了视频播客的板块,提供了自己的视频频道,如新浪视频播客等,也是使用FLV格式的视频。此外,百度也推出了关于视频搜索的功能,里面搜索出来的视频基本都是采用了流行的FLV格式。

下面我们就来讲一讲如何对接吧

首先我们创建视频的载体:

<template><div class="home"><video ref="videoElementRef" id="videoElement" controls muted style="width: 500px; height: 500px; object-fit: fill"></video></div>
</template>

载体出现了
在这里插入图片描述
我们使用的是flv.js npm 包
所以我们先下载npm包(下面两种都可)

npm install hls.js
yarn add hls.js

在这里插入图片描述
等待安装…

安装完后我们需要引入注册

import { ref, onBeforeUnmount, onMounted } from 'vue'const videoUrl = ref('https://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv')  // 视频流
// const videoUrl = ref('')  // 视频流
import flvjs from 'flv.js' // 存储体const flvPlayer = ref()
const flvshow = () => {if (flvjs.isSupported()) {const videoElement = document.getElementById('videoElement')  // 获取载体flvPlayer.value = flvjs.createPlayer({type: 'flv',url: videoUrl.value})flvPlayer.value.attachMediaElement(videoElement)flvPlayer.value.load()flvPlayer.value.play()}
}const closeVideo = () => {if (flvPlayer.value) {flvPlayer.value.unload()flvPlayer.value.destroy()flvPlayer.value = null}
}onBeforeUnmount(() => {closeVideo()
})onMounted(() => {flvshow()
})

这样我们的视频就可以正常拉流播放了
在这里插入图片描述

这只是一种对接flv流格式的方法,下期我们会讲第二种方法哦!!!!
敬请期待!!!

相关文章:

视频融合 flv流格式对接(上)

FLV 是FLASH VIDEO的简称&#xff0c;FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快&#xff0c;使得网络观看视频文件成为可能&#xff0c;它的出现有效地解决了视频文件导入Flash后&#xff0c;使导出的SWF文件体积庞大&#xf…...

提问:影视剪辑解说都是怎样配音的,软件合成还是自己配音?

“影视剪辑解说都是怎样配音的&#xff0c;软件合成还是自己配音&#xff1f;”这是一个很好的问题并且困扰着很多人&#xff0c;因为不知道该如何选择。究竟应该使用软件来完成配音工作呢?还是自己动手配音呢&#xff1f;这是一个很难回答的问题。如果你问我的话&#xff0c;…...

基于RK3588的嵌入式linux系统开发(二)——uboot源码移植及编译

由于官方的SDK占用空间较大&#xff08;大约20GB左右&#xff09;&#xff0c;需要联系相关供应商提供&#xff0c;且官方的SDK通过各种脚本文件进行集成编译&#xff0c;难以理解系统开发的详细过程。本章介绍直接从官方Github网站下载源码进行移植&#xff0c;进行uboot移植及…...

excel报表技巧:几个关于汇报演示方面的小功能

年终了&#xff0c;总结汇报避免不了。如果你的PPT还不够好&#xff0c;那就直接用Excel做汇报吧~这里有5条小技巧&#xff0c;可以帮助你最高效地展示自己的成绩报表&#xff01;想象一下&#xff0c;用SHIFTCTRLF1全屏显示你的工作表&#xff0c;配合上CtrlPageDown进行工作表…...

【数据结构与算法】Manacher算法

&#x1f320;作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《数据结构与算法要啸着学》 &#x1f387;座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;…...

【CMake】CMake构建C++代码(一)

在Linux开发过程中&#xff0c;难免会用到CMake来构建你的代码。本文将说明如何构建自己的代码&#xff0c;将自己的代码变为共享库&#xff0c;共其他代码使用。 文章目录在Linux开发过程中&#xff0c;难免会用到CMake来构建你的代码。本文将说明如何构建自己的代码&#xff…...

让我们,从头到尾,通透I/O模型

什么是IO 一句话总结 IO就是内存和硬盘的输入输出 I/O 其实就是 input 和 output 的缩写&#xff0c;即输入/输出。 那输入输出啥呢&#xff1f; 比如我们用键盘来敲代码其实就是输入&#xff0c;那显示器显示图案就是输出&#xff0c;这其实就是 I/O。 而我们时常关心的磁盘…...

Word控件Spire.Doc 【Table】教程(16):C#/VB.NET:在 Word 表格中插入或提取图像

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…...

C++如何实现系统语言切换功能,MessageBox的确认/取消按钮语言显示如何跟程序一致

文章目录前言 一、新建工程二、添加多国语言的资源三、程序语言设置四、语言切换五、字符串处理六、MessageBox的问题七、相关函数和类型参考文章前言 目前很多软件都是要出口到多个国家&#xff0c;多个地区&#xff0c;因此&#xff0c;为软件提供多国语言支持就成为了一个基…...

计算机组成原理学习笔记:循环冗余校验码

循环冗余校验码 CRC 码 循环冗余校验码 (cyclic redundancy Check, CRC) 十进制除法 从熟悉的十进制出发&#xff0c;假设现在你要给另一个人传送882这样的一个10进制数据&#xff0c;为了防止传送数据的过程中某一个数据发生错误你可以和你的另一个小伙伴约定一个除数&…...

Educational Codeforces Round 143 (Rated for Div. 2) A — C

Educational Codeforces Round 143 (Rated for Div. 2) 文章目录A. Two Towers题目大意题目分析codeB. Ideal Point题目大意题目分析codeC. Tea Tasting题目大意题目分析codeA. Two Towers 题目大意 有两个有红蓝两种颜色组成的塔&#xff0c;每次操作可以将其中一个塔顶的色…...

【Unity VR开发】结合VRTK4.0:将浮点数从交互器传递到可交互对象

语录&#xff1a; 愿你熬得过万丈孤独&#xff0c;藏得下星辰大海。 前言&#xff1a; 默认情况下&#xff0c;交互器只能将单个布尔操作传递给可交互对象&#xff0c;后者控制可交互对象上的抓取操作。在其他时候&#xff0c;交互器中的其他操作可能希望传递给可交互对象&…...

【图像分类】基于PyTorch搭建卷积神经网络实现MNIST手写数字识别(附项目完整代码)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 在【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)文章中,我们使用了…...

4.4 MQC

1. 实验目的 熟悉MQC的应用场景掌握MQC的配置方法2. 实验拓扑 实验拓扑如图4-10所示: 图4-10:MQC 3. 实验步骤 (1) IP地址的配置 AR1的配置 <Huawei>system-view...

ClickHouse列存储(十一)—— ClickHouse

文章目录一、重点内容&#xff1a;1.数据库基本概念2.列式存储3.clickHouse存储设计4.clickHouse典型应用场景二、准备工作&#xff1a;1、了解数据库基本概念2、了解列式存储相关概念3、了解ClickHouse存储设计4、了解 ClickHouse典型应用场景三、详细知识点介绍&#xff1a;1…...

公司来了个卷王,真让人奔溃

2022年已经结束结束了&#xff0c;最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备今年的金三银四的面试计划。 在此展示一套学习笔记 / 面试手册&#xff0c;年后跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的…...

什么是refresh?Spring refresh 流程

refresh 是 AbstractApplicationContext 中的一个方法&#xff0c;负责初始化 ApplicationContext 容器&#xff0c;容器必须调用 refresh 才能正常工作。它的内部主要会调用 12 个方法&#xff0c;我们把它们称为 refresh 的 12 个步骤&#xff1a;1. prepareRefresh2. obtain…...

Python登陆系统

前言 #源码见文末公众号哈# 登录系统 一个简单的登录系统包含了登录账户、注册账户、修改密码以及注销账户的操作。 1. 登录账户 登录系统主要需要判断账户是否存在&#xff0c;不存在就注册一个账户&#xff0c;如果第一次登录系统&#xff0c;我们需要先新建一个文件&…...

【新2023】华为OD机试 - 重组字符串(Python)

华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 重组字符串 题目 给定一个非空字符串 S,其被 N 个‘-’分隔成 N+1 的子串,给定正整数 K, 要求除第一个子串外,其余的子串每 K 个字符组成新的子串,并用‘-’分隔。 对于新组成的每一个子串,如果它…...

视频监控流程图

<html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"/> <link rel"stylesheet" type"text/css" href"visio.css"/> <title> 视频监控流程图 </title> <…...

WindowsCleaner终极指南:5分钟解决C盘爆红的开源磁盘清理工具

WindowsCleaner终极指南&#xff1a;5分钟解决C盘爆红的开源磁盘清理工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否也经常被Windows系统弹出的"…...

NEURAL MASK 模型调试技巧:使用IDE进行Python代码跟踪与问题定位

NEURAL MASK 模型调试技巧&#xff1a;使用IDE进行Python代码跟踪与问题定位 调试代码&#xff0c;尤其是涉及复杂模型加载和推理的代码&#xff0c;有时候就像在黑暗的房间里找一颗掉落的螺丝钉。你大概知道它就在那儿&#xff0c;但就是看不见摸不着。对于NEURAL MASK这类模…...

3种高效策略:Legacy iOS Kit 旧设备系统降级与越狱终极方案

3种高效策略&#xff1a;Legacy iOS Kit 旧设备系统降级与越狱终极方案 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit L…...

雪女-斗罗大陆模型案例分享:多种提示词生成不同风格雪女图

雪女-斗罗大陆模型案例分享&#xff1a;多种提示词生成不同风格雪女图 最近在体验“雪女-斗罗大陆-造相Z-Turbo”这个AI绘画模型时&#xff0c;我发现了一个特别有意思的现象&#xff1a;同样一个模型&#xff0c;用不同的提示词描述&#xff0c;能画出风格迥异的雪女形象。有…...

ncmdump:突破NCM格式限制的音频转换解决方案

ncmdump&#xff1a;突破NCM格式限制的音频转换解决方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 问题场景&#xff1a;数字音乐格式的兼容性困境 在流媒体音乐服务普及的今天&#xff0c;网易云音乐采用的NCM加密格式成为了…...

如何快速诊断dynamic-datasource JVM线程问题:JStack实战指南

如何快速诊断dynamic-datasource JVM线程问题&#xff1a;JStack实战指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource …...

**发散创新:策略即代码 —— 用 Rust实现动态权限控制引擎**在现代软件架构中,**权限管理不再是静态配

发散创新&#xff1a;策略即代码 —— 用 Rust 实现动态权限控制引擎 在现代软件架构中&#xff0c;权限管理不再是静态配置的附属品&#xff0c;而是核心业务逻辑的一部分。传统 RBAC&#xff08;基于角色的访问控制&#xff09;虽然成熟&#xff0c;但在微服务、多租户和复杂…...

TinyNAS子网硬件感知编译:针对T4 GPU的CUDA kernel自动调优

TinyNAS子网硬件感知编译&#xff1a;针对T4 GPU的CUDA kernel自动调优 1. 项目概述 1.1 这是什么技术&#xff1f; TinyNAS子网硬件感知编译是一项专门针对NVIDIA T4 GPU优化的深度学习编译技术。它通过智能分析神经网络结构和硬件特性&#xff0c;自动生成最优的CUDA kern…...

惊艳!Pi0具身智能v1动作轨迹可视化:关节控制曲线清晰呈现

惊艳&#xff01;Pi0具身智能v1动作轨迹可视化&#xff1a;关节控制曲线清晰呈现 1. 具身智能的动作可视化革命 在机器人实验室里&#xff0c;工程师小李正盯着屏幕上一堆杂乱的数据点发愁——这是他们最新研发的机械臂在执行抓取任务时生成的关节角度数据。理论上这些数字应…...

设计师不用写代码了?实测TRAE SOLO Builder如何将Figma稿秒变可交互网页

设计师如何用TRAE SOLO Builder实现零代码网页开发 在数字产品设计领域&#xff0c;设计师与开发者之间的协作断层长期存在。设计精美的Figma稿转化为实际网页时&#xff0c;往往面临还原度不足、交互细节丢失等问题。TRAE SOLO Builder的出现&#xff0c;正在重新定义设计到开…...