CN111083167A - 一种跨浏览器的h.265视频播放方法 - Google Patents
一种跨浏览器的h.265视频播放方法 Download PDFInfo
- Publication number
- CN111083167A CN111083167A CN201911410426.3A CN201911410426A CN111083167A CN 111083167 A CN111083167 A CN 111083167A CN 201911410426 A CN201911410426 A CN 201911410426A CN 111083167 A CN111083167 A CN 111083167A
- Authority
- CN
- China
- Prior art keywords
- video
- browser
- data
- javascript
- library
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Abstract
本发明公开一种跨浏览器的H.265视频播放方法,将H.265视频的解码器用WebAssembly技术编译成经过实例化后可以被浏览器的JavaScript引擎调用的.wasm格式,使得浏览器可以直接在网页上播放H.265视频,无需另行安装客户端等;而由于浏览器可以播放基于H.265的视频文件,服务端可以直接存储使用H.265编码的视频文件,可以极大的节省服务器的存储空间。
Description
技术领域
本发明涉及视频编码技术领域,具体涉及一种跨浏览器的H.265视频播放方法。
背景技术
H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准,相较于之前的H.264标准有了相当大的改善,仅需原先的一半带宽即可播放相同质量的视频,H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频.鉴于H.265相对于H.264的巨大优势,对基于H.265的视频数据传输的需求越来越大,Android等多种平台都对H.265进行了支持.但是直至现在,作为B/S架构的基石——浏览器,全部都未对H.265进行支持。如何能在浏览器上实现直接播放H.265标准的视频,成为业内亟待解决的技术难题。
发明内容
针对上述提到的现有的浏览器不支持直接播放H.265视频的问题,本发明提供一种跨浏览器的H.265视频播放方法,利用WebAssembly技术对H.265视频的解码器进行加工,使其能够在现有的浏览器上运行。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
本发明解决其技术问题采用的技术方案是:一种跨浏览器的H.265视频播放方法,包括以下步骤:
S1,将H.265视频解码器的源码编译成WebAssembly库,产生.wasm文件;
S2,浏览器和服务器建立网络连接,加载所述.wasm文件;
S3,浏览器的WebAssembly模块对.wasm文件进行编译,得到WebAssembly库;
S4,所述H.265视频解码器的类和方法被暴露给浏览器的JavaScript引擎,并建立一个负责桥接的JavaScript文件,所述JavaScript文件定义一个和WebAssembly库中的H.265视频解码器的类名和方法名一致的JavaScript类;
S5,浏览器的JavaScript引擎建立浏览器到流媒体服务器的网络连接,从流媒体服务器上获取H.265视频的音视频数据;
S6,浏览器的JavaScript引擎对所述JavaScript类进行实例化和调用,同时所述H.265视频解码器也被实例化,并在内存中建立对应的数据缓冲区;
S7,所述H.265视频解码器和所述JavaScript文件通过指定的内存地址交换所述音视频数据,并将所述音视频数据缓存在所述数据缓冲区;
S8,所述H.265视频解码器对所述音视频数据进行解码,输出YUV数据,并将所述YUV数据转换成RGB数据;
S9,所述JavaScript通过解码器回调的方法获取所述RGB数据所在的内存地址,并从所述内存地址获取所述RGB数据;
S10,所述JavaScript引擎调用html中canvas的绘制函数,使用浏览器的渲染引擎将JavaScript引擎读取到的RGB数据渲染到canvas画布上,得到视频。
本发明解决其技术问题采用的技术方案进一步还包括:
所述被实例化的H.265视频解码器有一个以上,每个H.265视频解码器实例独占一块用于缓存视频数据的数据缓冲区。
所述浏览器到流媒体服务器的网络连接为http长连接或websokcet连接。
所述H.265视频的音视频数据使用的视频传输协议为rtmp,rtsp,http-flv或自定义协议。
所述H.265视频解码库采用C/C++语言编写。
所述H.265视频解码器的解码库为ffmpeg解码库、X265解码库或海思H.265解码库中的一个。
所述H.265视频解码器至少包括解码库配置、视频数据的输入和解码后的数据回调三个函数。
每个WebAssembly库中的H.265视频解码器实例包括一个输入线程和一个输出线程,所述输入线程从数据缓冲区中读取待解码的H.265格式的音视频数据,并将解码后的YUV数据放入数据缓冲区,所述输出线程将从数据缓冲区读取到所述YUV数据转换成RGB数据,并通过解码回调返回到JavaScript引擎。
所述H.265视频解码器实例与html页面中的canvas画布一对一绑定。
本发明的有益效果是:本发明的跨浏览器的H.265视频播放方法将H.265视频的解码器用WebAssembly技术编译成经过实例化后可以被浏览器的JavaScript引擎调用的.wasm格式,使得浏览器可以直接在网页上播放H.265视频,无需另行安装客户端等;而由于浏览器可以播放基于H.265的视频文件,服务端可以直接存储使用H.265编码的视频文件,可以极大的节省服务器的存储空间。
下面将结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1为本发明的跨浏览器的H.265视频播放方法实施例的流程图;
图2为本发明的跨浏览器的H.265视频播放方法实施例的数据流向示意图。
具体实施方式
本实施例为本发明优选实施方式,其他凡其原理和基本结构与本实施例相同或近似的,均在本发明保护范围之内。
本发明的跨浏览器的H.265视频播放方法实施例的流程参照图1所示,播放方法的音视频数据流向参照图2所示。本实施例的跨浏览器的H.265视频播放方法包括以下步骤:
S1,将H.265视频解码器的源码编译成WebAssembly库,产生.wasm文件;
S2,浏览器和服务器建立网络连接,加载所述.wasm文件;
S3,浏览器的WebAssembly模块对.wasm文件进行编译,得到WebAssembly库;
S4,所述H.265视频解码器的类和方法被暴露给浏览器的JavaScript引擎,并建立一个负责桥接的JavaScript文件,所述JavaScript文件定义一个和WebAssembly库中的H.265视频解码器的类名和方法名一致的JavaScript类;S5,浏览器的JavaScript引擎建立浏览器到流媒体服务器的网络连接,从流媒体服务器上获取H.265视频的音视频数据;
S6,浏览器的JavaScript引擎对所述JavaScript类进行实例化和调用,同时所述H.265视频解码器也被实例化,并在内存中建立对应的数据缓冲区;
S7,所述H.265视频解码器和所述JavaScript文件通过指定的内存地址交换所述音视频数据,并将所述音视频数据缓存在所述数据缓冲区;
S8,所述H.265视频解码器对所述音视频数据进行解码,输出YUV数据,并将所述YUV数据转换成RGB数据;
S9,所述JavaScript通过加码器回调的方法获取所述RGB数据所在的内存地址,并从所述内存地址获取所述RGB数据;
S10,所述JavaScript引擎调用html中canvas的绘制函数,使用浏览器的渲染引擎将JavaScript引擎读取到的RGB数据渲染到canvas画布上,得到视频。。
本实施例中,用于解码H.265视频的H.265视频解码器的源码采用Emscripten编译器,编译成可以被浏览器的JavaScript引擎调用的WebAssembly库,并生成.wasm文件。需要播放H.265视频的浏览器和服务器连接时,WebAssembly模块会翻译这个.wasm文件,将WebAssembly库加载到内存中,这个库可以被浏览器的JavaScript引擎调用,将在库中的H.265视频解码器实例化。H.265视频解码器的类和方法被暴露给浏览器的JavaScript引擎,JavaScript引擎建立一个负责桥接的JavaScript文件,这个JavaScript文件会定义一个和WebAssembly库中的H.265视频解码器的类名和方法名一致的JavaScript类,这个JavaScript类可以看做是H.265视频解码器在JavaScript引擎中的映射。浏览器的JavaScript引擎建立浏览器到流媒体服务器的网络连接,从流媒体服务器上获取H.265视频的音视频数据。这时JavaScript引擎对之前定义的JavaScript类进行实例化和调用,同时H.265视频解码器也被实例化,并在内存中建立对应的数据缓冲区。负责桥接的JavaScript文件通过指定的内存地址,将JavaScript引擎获取的音视频数据交换给H.265视频解码器,H.265视频解码器将交换得到的音视频数据缓存在之前建立的数据缓冲区。实例化后的H.265视频解码器中有两个工作线程,一个是输入线程,另一个是输出线程。输入线程会从数据缓冲区中读取待解码的H.265格式的音视频数据,并在解码器解码后将得到的YUV数据放入数据缓冲区;输出线程将从数据缓冲区读取到所述YUV数据转换成RGB数据。JavaScript引擎通过解码回调方法获取了转换好的RGB数据所在的内存地址,并从这个指定的地址中或去RGB数据。获取到H.265视频的RGB数据后,JavaScript引擎调用html中canvas的写函数,使用浏览器的渲染引擎,将读取到的RGB数据渲染到对应的canvas画布上,这样视频就可以成功的播放。
由于H.265视频的特性,使得其可以节省大量的带宽和服务器的存储空间,在实际使用中,使用者有可能同时通过浏览器播放多个H.265视频,此时,多个解码不同视频的H.265视频解码器就会被同时实例化。为了避免实例化的H.265视频解码器之间数据的读取相互影响,每个H.265视频解码器实例都会建立一块对应的用于缓存视频数据的数据缓冲区,每个H.265视频解码器实例的输入线程从对应的数据缓冲区中读取H.265视频的音视频数据。
目前大部份浏览器支持只通过http长连接或websokcet连接与流媒体服务器连接,本发明方法中的浏览器也能够使用http长连接或websokcet连接与流媒体服务器。但是由于大多数浏览器对http长连接有连接数限制,为了使浏览器更快更好的从流媒体服务器上获取H.265视频的音视频数据,本实施例中,浏览器通过websokcet连接与流媒体服务器连接。
为了适应更广大的使用需求,本实施例的H.265视频的音视频数据可以采用rtmp,rtsp,http-flv或一些自定义的视频传输协议,只要服务端和浏览器客户端的视频传输协议是统一的即可。
为了保证H.265视频解码器的高解码效率,本实施例中的H.265视频解码器使用的是C/C++语言编写的解码库。C/C++语言编写的解码库成熟度高,应用广泛,能够保证H.265视频解码器具有良好的解码效率。
本发明方法中H.265视频解码器可以使用所有C/C++语言编写的解码库,本实施例中为了方便用户理解,使用了开源库ffmpeg解码库,但是由于ffmpeg解码库本身是一个庞大的解码库,其中几乎包含所有音视频数据处理的方法,在本实施例中,为了方便使用,需要将ffmpeg解码库中针对H.265视频解码的部分代码分离出来封装到解码器中。在实际的使用中,还可以使用开源库X265解码库或商业库海思H.265解码库等针对H.265视频的解码库。
为了要针对H.265视频解码器正确的运行,本实施例中H.265视频解码器应该至少包括解码库配置、视频数据的输入和解码后的数据回调三个函数。这三个函数是开发者自己定义的,其中解码库配置的暂定的函数名称为配置解码库:setConfig(width,height);视频数据的输入的暂定的函数名称为视频数据输入:addHevcFrame(hevcFrame);解码后的数据回调的暂定的函数名称为数据回调:onRGBFrame(rgbFrame)。
同样,为了避免解码的输入和输出相互影响,每个WebAssembly库中的H.265视频解码器实例包括一个输入线程和一个输出线程,所述输入线程从数据缓冲区中读取待解码的H.265格式的音视频数据,并将解码后的YUV数据放入数据缓冲区,所述输出线程将从数据缓冲区读取到所述YUV数据转换成RGB数据,并通过解码回调返回到JavaScript引擎。
为了使输出的H.265视频画面不会由于数据的混乱,而显示到错误的页面上,H.265视频解码器实例与html页面中的canvas画布也是一对一绑定,一个解码器实例对应一个canvas画布,那么解码器输出的数据就只会被渲染在对应的画布上。
本发明的跨浏览器的H.265视频播放方法将H.265视频的解码器用WebAssembly技术编译成经过实例化后可以被浏览器的JavaScript引擎调用的.wasm格式,使得浏览器可以直接在网页上播放H.265视频,无需另行安装客户端等;而由于浏览器可以播放基于H.265的视频文件,服务端可以直接存储使用H.265编码的视频文件,可以极大的节省带宽和服务器的存储空间。
Claims (9)
1.一种跨浏览器的H.265视频播放方法,其特征在于,包括以下步骤:
S1,将H.265视频解码器的源码编译成WebAssembly库,产生.wasm文件;
S2,浏览器和服务器建立网络连接,加载所述.wasm文件;
S3,浏览器的WebAssembly模块对.wasm文件进行编译,得到WebAssembly库;
S4,所述H.265视频解码器的类和方法被暴露给浏览器的JavaScript引擎,并建立一个负责桥接的JavaScript文件,所述JavaScript文件定义一个和WebAssembly库中的H.265视频解码器的类名和方法名一致的JavaScript类;
S5,浏览器的JavaScript引擎建立浏览器到流媒体服务器的网络连接,从流媒体服务器上获取H.265视频的音视频数据;
S6,浏览器的JavaScript引擎对所述JavaScript类进行实例化和调用,同时所述H.265视频解码器也被实例化,并在内存中建立对应的数据缓冲区;
S7,所述H.265视频解码器和所述JavaScript文件通过指定的内存地址交换所述音视频数据,并将所述音视频数据缓存在所述数据缓冲区;
S8,所述H.265视频解码器对所述音视频数据进行解码,输出YUV数据,并将所述YUV数据转换成RGB数据;
S9,所述JavaScript通过解码回调的方法获取所述RGB数据所在的内存地址,并从所述内存地址获取所述RGB数据;
S10,所述JavaScript引擎调用html中canvas的绘制函数,使用浏览器的渲染引擎将JavaScript引擎读取到的RGB数据渲染到canvas画布上,得到视频。
2.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述被实例化的H.265视频解码器有一个以上,每个H.265视频解码器实例独占一块用于缓存视频数据的数据缓冲区。
3.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述浏览器到流媒体服务器的网络连接为websokcet连接。
4.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频的音视频数据使用的视频传输协议为rtmp,rtsp,http-flv或用户自定义协议中的一种。
5.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码库采用C/C++语言编写。
6.如权利要求5所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码器的解码库为ffmpeg解码库、X265解码库或海思H.265解码库中的一个。
7.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码器至少包括解码库配置、视频数据的输入和解码后的数据回调三个函数。
8.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,每个WebAssembly库中的H.265视频解码器实例包括一个输入线程和一个输出线程,所述输入线程从数据缓冲区中读取待解码的H.265格式的音视频数据,并将解码后的YUV数据放入数据缓冲区,所述输出线程将从数据缓冲区读取到所述YUV数据转换成RGB数据,并通过解码回调返回到JavaScript引擎。
9.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码器实例与html页面中的canvas画布一对一绑定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410426.3A CN111083167A (zh) | 2019-12-31 | 2019-12-31 | 一种跨浏览器的h.265视频播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410426.3A CN111083167A (zh) | 2019-12-31 | 2019-12-31 | 一种跨浏览器的h.265视频播放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111083167A true CN111083167A (zh) | 2020-04-28 |
Family
ID=70321046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911410426.3A Pending CN111083167A (zh) | 2019-12-31 | 2019-12-31 | 一种跨浏览器的h.265视频播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111083167A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510744A (zh) * | 2020-07-01 | 2020-08-07 | 北京美摄网络科技有限公司 | 一种处理视音频的方法、装置、电子设备及存储介质 |
CN111629214A (zh) * | 2020-06-05 | 2020-09-04 | 北京百度网讯科技有限公司 | 视频文件的转码方法、装置、设备和介质 |
CN111683293A (zh) * | 2020-05-31 | 2020-09-18 | 杭州视在数科信息技术有限公司 | 一种基于http-flv协议的跨浏览器播放h.265视频的方法 |
CN111787396A (zh) * | 2020-07-28 | 2020-10-16 | 北京金山云网络技术有限公司 | 一种视频流解析方法及装置 |
CN112328941A (zh) * | 2020-11-19 | 2021-02-05 | Oppo广东移动通信有限公司 | 基于浏览器的应用投屏方法及相关装置 |
CN112423100A (zh) * | 2020-10-26 | 2021-02-26 | 深圳市瑞驰信息技术有限公司 | 基于html5的web音视频自定义渲染方法 |
CN112511897A (zh) * | 2020-10-26 | 2021-03-16 | 长沙市到家悠享网络科技有限公司 | 视频封面设置方法、装置、设备和存储介质 |
CN112804543A (zh) * | 2020-12-31 | 2021-05-14 | 武汉兴图新科电子股份有限公司 | 基于云视频融合平台的浏览器点播视音频的终端及方法 |
CN113779168A (zh) * | 2021-08-26 | 2021-12-10 | 广州和辰信息科技有限公司 | 一种基于WebAssembly的矢量空间数据解析方法 |
CN113825016A (zh) * | 2021-09-18 | 2021-12-21 | 北京百度网讯科技有限公司 | 视频渲染方法、装置、设备、存储介质及计算机程序产品 |
CN113840173A (zh) * | 2021-09-18 | 2021-12-24 | 北京百度网讯科技有限公司 | 网页视频播放方法、装置、设备、存储介质及程序产品 |
CN114051161A (zh) * | 2021-11-09 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 网页的视频播放方法及装置 |
CN114095784A (zh) * | 2021-11-19 | 2022-02-25 | 浩云科技股份有限公司 | H.265格式视频流转码播放方法、系统、设备及介质 |
CN114125550A (zh) * | 2021-11-24 | 2022-03-01 | 天翼数字生活科技有限公司 | 一种视频处理方法、装置、设备及可读存储介质 |
CN114390340A (zh) * | 2021-12-30 | 2022-04-22 | 北京鸿合爱学教育科技有限公司 | 视频播放方法、装置和电子设备 |
CN115243102A (zh) * | 2022-09-21 | 2022-10-25 | 天讯瑞达通信技术有限公司 | 基于Web技术的视频播放方法、装置、设备以及存储介质 |
CN115460183A (zh) * | 2021-06-07 | 2022-12-09 | 中移物联网有限公司 | 基于浏览器的流媒体数据播放方法、装置及相关设备 |
CN113825016B (zh) * | 2021-09-18 | 2024-05-07 | 北京百度网讯科技有限公司 | 视频渲染方法、装置、设备、存储介质及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160029002A1 (en) * | 2014-07-26 | 2016-01-28 | Soeren Balko | Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers |
CN109088887A (zh) * | 2018-09-29 | 2018-12-25 | 北京金山云网络技术有限公司 | 一种流媒体解码的方法及装置 |
CN109168031A (zh) * | 2018-11-06 | 2019-01-08 | 杭州云英网络科技有限公司 | 流媒体推送方法及装置、流媒体平台 |
CN110198479A (zh) * | 2019-05-24 | 2019-09-03 | 浪潮软件集团有限公司 | 一种基于webassembly的浏览器音视频解码播放方法 |
-
2019
- 2019-12-31 CN CN201911410426.3A patent/CN111083167A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160029002A1 (en) * | 2014-07-26 | 2016-01-28 | Soeren Balko | Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers |
CN109088887A (zh) * | 2018-09-29 | 2018-12-25 | 北京金山云网络技术有限公司 | 一种流媒体解码的方法及装置 |
CN109168031A (zh) * | 2018-11-06 | 2019-01-08 | 杭州云英网络科技有限公司 | 流媒体推送方法及装置、流媒体平台 |
CN110198479A (zh) * | 2019-05-24 | 2019-09-03 | 浪潮软件集团有限公司 | 一种基于webassembly的浏览器音视频解码播放方法 |
Non-Patent Citations (8)
Title |
---|
360技术: "花椒前端基于webassembly的H.265播放器研究", 《HTTPS://BLOG.CSDN.NET/QIHOO_TECH/ARTICLE/DETAILS/96235896》 * |
HAO ZENG; ZHIYONG ZHANG; LULIN SHI: "Research and Implementation of Video Codec Based on FFmpeg", 《2016 INTERNATIONAL CONFERENCE ON NETWORK AND INFORMATION SYSTEMS FOR COMPUTERS (ICNISC)》 * |
HUNSEOP JEONG; JINWOO JEONG; SANGYONG PARK; KWANGHYUK KIM: "WATT : A novel web-based toolkit to generate WebAssembly-based libraries and applications", 《2018 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE)》 * |
LIVEVIDEOSTACK_: "通过WebAssembly在移动端解码H.265", 《HTTPS://BLOG.CSDN.NET/VN9PLGZVNPS1522S82G/ARTICLE/DETAILS/88802334》 * |
MENGZAIFF: "无插件解码H264&H265播放视频", 《HTTP://WD.ZNDS.COM/29481.HTML》 * |
MICHAEL GRADY: "Functional programming using JavaScript and the HTML5 canvas element", 《JOURNAL OF COMPUTING SCIENCES IN COLLEGES》 * |
WEIXIN_33772645: "wasm + ffmpeg实现前端截取视频帧功能", 《HTTPS://BLOG.CSDN.NET/WEIXIN_33772645/ARTICLE/DETAILS/87940813》 * |
XIAOHUA LEI; XIUHUA JIANG; CAIHONG WANG: "Design and Implementation of a Real-Time Video Stream Analysis System Based on FFMPEG", 《2013 FOURTH WORLD CONGRESS ON SOFTWARE ENGINEERING》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683293A (zh) * | 2020-05-31 | 2020-09-18 | 杭州视在数科信息技术有限公司 | 一种基于http-flv协议的跨浏览器播放h.265视频的方法 |
CN111629214A (zh) * | 2020-06-05 | 2020-09-04 | 北京百度网讯科技有限公司 | 视频文件的转码方法、装置、设备和介质 |
CN111510744B (zh) * | 2020-07-01 | 2020-10-16 | 北京美摄网络科技有限公司 | 一种处理视音频的方法、装置、电子设备及存储介质 |
CN111510744A (zh) * | 2020-07-01 | 2020-08-07 | 北京美摄网络科技有限公司 | 一种处理视音频的方法、装置、电子设备及存储介质 |
CN111787396A (zh) * | 2020-07-28 | 2020-10-16 | 北京金山云网络技术有限公司 | 一种视频流解析方法及装置 |
CN112423100A (zh) * | 2020-10-26 | 2021-02-26 | 深圳市瑞驰信息技术有限公司 | 基于html5的web音视频自定义渲染方法 |
CN112511897A (zh) * | 2020-10-26 | 2021-03-16 | 长沙市到家悠享网络科技有限公司 | 视频封面设置方法、装置、设备和存储介质 |
CN112328941A (zh) * | 2020-11-19 | 2021-02-05 | Oppo广东移动通信有限公司 | 基于浏览器的应用投屏方法及相关装置 |
CN112804543A (zh) * | 2020-12-31 | 2021-05-14 | 武汉兴图新科电子股份有限公司 | 基于云视频融合平台的浏览器点播视音频的终端及方法 |
CN115460183A (zh) * | 2021-06-07 | 2022-12-09 | 中移物联网有限公司 | 基于浏览器的流媒体数据播放方法、装置及相关设备 |
CN113779168A (zh) * | 2021-08-26 | 2021-12-10 | 广州和辰信息科技有限公司 | 一种基于WebAssembly的矢量空间数据解析方法 |
CN113825016A (zh) * | 2021-09-18 | 2021-12-21 | 北京百度网讯科技有限公司 | 视频渲染方法、装置、设备、存储介质及计算机程序产品 |
CN113840173A (zh) * | 2021-09-18 | 2021-12-24 | 北京百度网讯科技有限公司 | 网页视频播放方法、装置、设备、存储介质及程序产品 |
CN113825016B (zh) * | 2021-09-18 | 2024-05-07 | 北京百度网讯科技有限公司 | 视频渲染方法、装置、设备、存储介质及计算机程序产品 |
CN113840173B (zh) * | 2021-09-18 | 2024-05-07 | 北京百度网讯科技有限公司 | 网页视频播放方法、装置、设备、存储介质及程序产品 |
CN114051161A (zh) * | 2021-11-09 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 网页的视频播放方法及装置 |
CN114051161B (zh) * | 2021-11-09 | 2022-11-29 | 腾讯科技(深圳)有限公司 | 网页的视频播放方法及装置 |
CN114095784A (zh) * | 2021-11-19 | 2022-02-25 | 浩云科技股份有限公司 | H.265格式视频流转码播放方法、系统、设备及介质 |
CN114095784B (zh) * | 2021-11-19 | 2024-02-09 | 浩云科技股份有限公司 | H.265格式视频流转码播放方法、系统、设备及介质 |
CN114125550A (zh) * | 2021-11-24 | 2022-03-01 | 天翼数字生活科技有限公司 | 一种视频处理方法、装置、设备及可读存储介质 |
CN114390340A (zh) * | 2021-12-30 | 2022-04-22 | 北京鸿合爱学教育科技有限公司 | 视频播放方法、装置和电子设备 |
CN115243102A (zh) * | 2022-09-21 | 2022-10-25 | 天讯瑞达通信技术有限公司 | 基于Web技术的视频播放方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083167A (zh) | 一种跨浏览器的h.265视频播放方法 | |
US20210136455A1 (en) | Communication apparatus, communication control method, and computer program | |
CN107515759B (zh) | 截屏方法、装置、电子设备及可读存储介质 | |
CN112770188B (zh) | 一种视频播放方法及装置 | |
US9712589B2 (en) | System and method for playing a video on mobile web environments | |
CN104780378A (zh) | 一种用于解码视频的方法、装置和播放器 | |
CA2843766A1 (en) | Script-based video rendering | |
CN109325145B (zh) | 视频缩略图的获取方法、终端及计算机可读存储介质 | |
CN110446114B (zh) | 多媒体数据的处理装置、方法、电子设备及存储介质 | |
CN110750664B (zh) | 图片的显示方法及装置 | |
KR20210088519A (ko) | 미디어 콘텐트 처리를 관리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 | |
CN102693238B (zh) | Widget应用方法、系统及多媒体终端 | |
CN109165357A (zh) | 图片生成方法、服务器、电子设备及可读存储介质 | |
CN111954006A (zh) | 一种用于移动端的跨平台视频播放实现方法及装置 | |
US20130254806A1 (en) | System and Method for Displaying a Media Program Stream on Mobile Devices | |
CN114302176B (zh) | 视频播放方法及装置 | |
CN114598937B (zh) | 动画视频生成、播放方法及装置 | |
CN109670126B (zh) | 一种跨境访问加速方法及装置 | |
CN104468769A (zh) | 进行网络数据内容获取的方法、装置、客户端和系统 | |
KR102417055B1 (ko) | 비디오 스트림의 후속 프로세싱을 위한 방법 및 디바이스 | |
CN108255487B (zh) | 一种支持增强现实功能的Web浏览器系统及其工作方法 | |
CN111246214A (zh) | 一种视频解码方法、装置 | |
KR20230124551A (ko) | 브라우저 내에서 비디오 스트림의 디코딩 | |
EP2983096B1 (en) | Method for the real-time automatic modification on the server side of a web page to the end of visualizing a content superposed to the web page | |
CN114401445B (zh) | 视频处理控制方法、装置、监控设备、客户端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200428 |
|
RJ01 | Rejection of invention patent application after publication |