flv.js源码分析,flvjs教程

本文目录一览:

vue中播放flv格式视频(b站flv.js的使用)

flv.js 就是由 bilibili 网站开源的 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发(ECMAScript 6 编写) ,没有用到 Flash。它的工作原理是 Flv.js 在 JavaScript 中流式解析 flv 文件流,并实时转封装为 fmp4 ,通过 Media Source Extensions 喂给浏览器,实现了 FLV 格式视频的播放。

具有H.264 + AAC / MP3编解码器播放功能的FLV容器

多段分段视频播放

HTTP FLV低延迟实时流播放

通过WebSocket进行FLV实时流播放

与Chrome,FireFox,Safari 10,IE11和Edge兼容

极低的开销,浏览器可以加速硬件!

1、准备一个flv格式的视频

我的文件,关于分片上传可参考 vue中使用Plupload分片上传

flv.js 1.0 源码学习(三)

整个库的核心部分之一。

参考:

肯定有个什么mp4-demuxer

parseValue 是入口

解析十二选七种二进制数据,将他们序列化格式化:

二进制-对象描述信息

移植自c++的一个库:

可以将一个 TypeArray 二进制数组的内容转成 Unicode 码

flv.js的技术到底是什么水平

Flv.js的几个意义:

1,h5上实现直播的目前已知的最优解决方案,性能不弱于原生app直播:直播延迟控制到1秒内。带宽、存储其实比原生app普遍采用的mp4更优。

2,h5上用js实现高质量音视频解码、并支持h5富媒体标准mse使其得到应用、重视,从而促进h5具备原生应用多媒体能力得以大大提升。

3,这是中国程序员在h5音视频领域的一项杰出成果!考虑到类似成果之前还基本出自非中国程序员,这个价值特别值得一说。

flv.js 中文文档

article class=”_2rhmJa”

本文档使用类似TypeScript的定义来描述接口。

flv.js将所有接口都以flvjs对象暴露在全局上下文window中.

flvjs 还可以通过require或ES6导入来访问对象。

方法:

类:

枚举:

根据中指定的type字段创建一个播放器实例mediaDataSource(可选)config。

如果segments存在字段,则transmuxer会将其MediaDataSource视为多部分源。

在多部分模式下,结构中的duration filesize url字段MediaDataSource将被忽略。

如果基本上可以再您的浏览器上播放则返回true

返回FeatureList具有以下详细信息的对象:

实现Player接口的FLV播放器。可以通过new操作进行创建

Player wrapper for browser’s native player (HTMLVideoElement) without MediaSource src, which implements the Player interface. Useful for singlepart MP4 file playback.

A global interface which include several static getter/setter to set flv.js logcat verbose level.

一个全局接口,其中包括几个用于设置flv.js logcat详细级别的静态getter / setter。

一系列可以和 Player.on() / Player.off() 一起使用的常数. 它们需要前缀 flvjs.Events .

播放期间可能出现的错误。它们需要前缀flvjs.ErrorTypes。

针对网络和媒体错误提供更详细的说明。它们需要前缀flvjs.ErrorDetails。

/article

4人点赞

日记本

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/244417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 13:01
下一篇 2024-12-12 13:02

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • 云智直聘 源码分析

    本文将会对云智直聘的源码进行分析,包括前端页面和后端代码,帮助读者了解其架构、技术实现以及对一些常见的问题进行解决。通过本文的阅读,读者将会了解到云智直聘的特点、优势以及不足之处,…

    编程 2025-04-29
  • Qt雷达探测教程

    本文主要介绍如何使用Qt开发雷达探测程序,并展示一个简单的雷达探测示例。 一、环境准备 在开始本教程之前,需要确保你的开发环境已经安装Qt和Qt Creator。如果没有安装,可以…

    编程 2025-04-29
  • 猿编程python免费全套教程400集

    想要学习Python编程吗?猿编程python免费全套教程400集是一个不错的选择!下面我们来详细了解一下这个教程。 一、课程内容 猿编程python免费全套教程400集包含了从P…

    编程 2025-04-29
  • Python烟花教程

    Python烟花代码在近年来越来越受到人们的欢迎,因为它可以让我们在终端里玩烟花,不仅具有视觉美感,还可以通过代码实现动画和音效。本教程将详细介绍Python烟花代码的实现原理和模…

    编程 2025-04-29
  • 使用Snare服务收集日志:完整教程

    本教程将介绍如何使用Snare服务收集Windows服务器上的日志,并将其发送到远程服务器进行集中管理。 一、安装和配置Snare 1、下载Snare安装程序并安装。 https:…

    编程 2025-04-29

发表回复

登录后才能评论