CN117812388A - 支持HEVC解码的web播放方法及web播放器 - Google Patents
支持HEVC解码的web播放方法及web播放器 Download PDFInfo
- Publication number
- CN117812388A CN117812388A CN202311791066.2A CN202311791066A CN117812388A CN 117812388 A CN117812388 A CN 117812388A CN 202311791066 A CN202311791066 A CN 202311791066A CN 117812388 A CN117812388 A CN 117812388A
- Authority
- CN
- China
- Prior art keywords
- video
- data
- javascript
- web
- hevc
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000007246 mechanism Effects 0.000 claims description 33
- 239000012634 fragment Substances 0.000 claims description 28
- 238000009877 rendering Methods 0.000 claims description 16
- 238000013467 fragmentation Methods 0.000 claims description 13
- 238000006062 fragmentation reaction Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 12
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000006835 compression Effects 0.000 abstract description 8
- 238000007906 compression Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 abstract description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种支持HEVC解码的web播放方法,采用分段下载和实时解码方式,能够减少视频流传输的延迟,实现低延迟的视频播放;通过WebAssembly技术,实现了HEVC视频流在Web播放器中的解封装和解码,使Web播放器能够高效地处理HEVC编码格式的视频流;HEVC编码格式的视频流具有更好的画质和压缩性能,能够提升视频播放质量,提供更好的用户体验。
Description
技术领域
本发明属于视频播放的技术领域,尤其涉及一种支持HEVC解码的web播放方法及web播放器。
背景技术
H.265又称HEVC(全称High Efficiency Video Coding,高效率视频编码),是ITU-T H.264/MPEG-4AVC标准的继任者。相比H.264,H.265拥有更高的压缩率,也就意味着同样码率(又称比特率是指每秒传送的比特(bit)数。单位为bps(Bit Per Second),比特率越高,每秒传送数据就越多,画质就越清晰),H.265的画质会更清晰,更高的压缩率就能使用更低的存储和传输成本。
目前,随着互联网的发展,视频内容的传输和播放需求日益增加。HLS(HTTP LiveStreaming)协议作为一种实时流媒体传输协议,被广泛应用于在线视频的传输。而HEVC作为一种高效的视频编码标准,能够提供更好的视频压缩性能和画质。然而,HLS协议默认支持的视频编码格式并不包括HEVC,因此在Web播放器中实现HLS协议下的HEVC解码成为一项挑战。
目前已有的解决方案包括使用Flash插件、JavaScript解码或转码等。然而,Flash插件已逐渐被淘汰,而JavaScript解码效率有限,导致HEVC格式的视频在Web播放器中播放效果不佳。
发明内容
本发明的目的是提供一种支持HEVC解码的web播放方法及web播放器,实现在web环境下高效、稳定地播放HEVC编码格式的视频流。
为解决上述问题,本发明的技术方案为:
一种支持HEVC解码的web播放方法,包括:
Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL;所述m3u8文件包含视频流的分片信息及相关参数;
根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据;
采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据;
通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
根据本发明一实施例,所述Web播放器通过JavaScript从服务器端下载m3u8文件进一步包括:
Web播放器通过JavaScript的XMLHttpRequest对象或通过fetch API从服务器端下载获取m3u8文件。
根据本发明一实施例,所述解析m3u8文件,得到视频流的分片URL进一步包括:
设置定时器,动态分段下载m3u8文件,实时解析是否存在分片更新,
若是,则发起HTTP请求,下载相应的视频分片数据。
根据本发明一实施例,所述采用WebAssembly技术对视频分片数据进行实时解封装及解码进一步包括:
将下载的视频分片数据传递至WebAssembly中的解封装解码模块,所述解封装解码模块对视频分片数据进行解封装,提取HEVC视频数据,得到相应的视频编码格式、分辨率、帧率、时间基参数信息;同时,提取音频数据,得到相应的音频编码格式、采样率、通道数、时间基参数信息;
基于得到的视频参数信息及音频参数信息,分别对HEVC视频解码器、AAC解码器进行初始化;将HEVC编码格式的视频流数据使用HEVC解码器进行解码,得到YUV格式的视频数据;将AAC编码格式的数据使用AAC解码器解码得到PCM格式的音频数据。
根据本发明一实施例,所述通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript进一步包括:
通过回调机制传递视频分辨率至JavaScript,用于初始化Canvas画布的宽度;将YUV视频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将YUV视频数据通过回调机制传递给JavaScript;
通过回调机制传递采样率、通道数至JavaScript,用于初始化web Audio;将PCM音频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将PCM音频数据通过回调机制传递给JavaScript。
根据本发明一实施例,所述在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放进一步包括:
JavaScript根据回调得到的YUV视频数据,在Canvas进行渲染显示;同时,将PCM音频数据使用web Audio API进行音频播放。
一种支持HEVC解码的web播放器,包括:
下载模块,用于Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL;所述m3u8文件包含视频流的分片信息及相关参数;根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据;
解封装解码模块,用于web播放器采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据;
播放模块,用于web播放器通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
根据本发明一实施例,所述下载模块设置定时器,动态分段下载m3u8文件,实时解析是否存在分片更新,若是,则发起HTTP请求,下载相应的视频分片数据。
根据本发明一实施例,所述解封装解码模块被配置为:
对视频分片数据进行解封装,提取HEVC视频数据,得到相应的视频编码格式、分辨率、帧率、时间基参数信息;同时,提取音频数据,得到相应的音频编码格式、采样率、通道数、时间基参数信息;
基于得到的视频参数信息及音频参数信息,分别对HEVC视频解码器、AAC解码器进行初始化;将HEVC编码格式的视频流数据使用HEVC解码器进行解码,得到YUV格式的视频数据;将AAC编码格式的数据使用AAC解码器解码得到PCM格式的音频数据。
根据本发明一实施例,所述播放模块被配置为:
通过回调机制传递视频分辨率至JavaScript,用于初始化Canvas画布的宽度;将YUV视频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将YUV视频数据通过回调机制传递给JavaScript;JavaScript根据回调得到的YUV视频数据,在Canvas进行渲染显示;
通过回调机制传递采样率、通道数至JavaScript,用于初始化web Audio;将PCM音频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将PCM音频数据通过回调机制传递给JavaScript,将PCM音频数据使用webAudio API进行音频播放。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
本发明一实施例中的支持HEVC解码的web播放方法,采用分段下载和实时解码方式,能够减少视频流传输的延迟,实现低延迟的视频播放;通过WebAssembly技术,实现了HEVC视频流在Web播放器中的解封装和解码,使Web播放器能够高效地处理HEVC编码格式的视频流;HEVC编码格式的视频流具有更好的画质和压缩性能,能够提升视频播放质量,提供更好的用户体验。
附图说明
图1为本发明一实施例中的支持HEVC解码的web播放方法流程图;
图2为本发明一实施例中的动态分段下载的流程图;
图3为本发明一实施例中的解码回调流程图;
图4为本发明一实施例中的支持HEVC解码的web播放器的结构框图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种支持HEVC解码的web播放方法及web播放器作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
由于目前的HLS协议默认支持的视频编码格式并不包括HEVC,使得web播放器不能实现HLS协议下的HEVC解码,不能直接播放HEVC格式的视频。针对该问题,本实施例提供了一种支持HEVC解码的web播放方法,实现在web环境下高效、稳定地播放HEVC编码格式的视频流。
请参看图1,该支持HEVC解码的web播放方法包括以下步骤:
S1:Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL;该m3u8文件包含视频流的分片信息及相关参数;根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据;
S2:采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据;
S3:通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
该web播放方法通过WebAssembly技术,实现了HEVC视频流在Web播放器中的解封装和解码,使Web播放器能够高效地处理HEVC编码格式的视频流;HEVC编码格式的视频流具有更好的画质和压缩性能,能够提升视频播放质量,提供更好的用户体验。
具体的,随着4K视频越来越流行,迎来了HEVC(高效视频编码,也称H.265)这一新的行业标准。与现行的H.264视频压缩标准相比,它的视频压缩率最高可提升40%之多。使用H.265,在保持视频画质不变的情况下,视频流媒体传输效果更好。而在相同码率下,能给质量带来近两倍的提升。
一般来说操作系统借助硬件(显卡)进行H.265编码视频的解码工作,其好处是硬解的功耗低,解码速度快。但目前H.265编码在浏览器中的硬件解码支持情况并不普及。
由于Web端硬解方案目前限于浏览器支持情况无法实现,软件解码便成为了唯一的选择。而H.265视频的解码是一个对性能要求很高的CPU密集任务,Web端脚本语言实现的解码器的性能很难达到要求。
WebAssembly是Web端的字节码技术,它定义了一个通用的、体积紧凑、加载迅捷的二进制格式为编译目标,能发挥通用硬件的性能,以更接近原生应用的速度运行。在浏览器中对H.265编码的视频进行软件解码,是一项对性能非常有挑战的任务,JavaScript等脚本语言无法胜任此项工作。因此可以将C/C++语言编写的高性能解码库编译成字节码,再通过JavaScript调用来运行。
本实施例基于该发明构思,提供了一种支持HEVC解码的web播放方法,通过WebAssembly技术,实现了HEVC视频流在Web播放器中的解封装和解码,使Web播放器能够高效地处理HEVC编码格式的视频流。
本实施例选取m3u8文件作为待播放的视频文件。m3u8是一种视频码流的文件格式,通常用于HLS(HTTP Live Streaming)流媒体传输协议。m3u8其实是一个视频播放列表,它是一种文本文件,里面记录了一系列的视频片段的网络地址。这些视频片段通常是ts格式的,也就是传输流(transport stream)格式。ts格式的视频片段可以很快地在网络上传输和播放,而不需要等待整个文件下载完毕。
在步骤S1中,Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL。
下面介绍一下如何使用JavaScript获取m3u8文件。
1.使用XMLHttpRequest对象获取m3u8文件
我们可以使用JavaScript中封装好的XMLHttpRequest对象获取m3u8文件。具体步骤如下:
(1)创建XMLHttpRequest对象:
var xhr=new XMLHttpRequest();
(2)使用open方法打开m3u8文件:
xhr.open('GET','http://example.com/video.m3u8',true);
(3)注册onload事件,当文件加载完毕时执行回调函数:
xhr.onload=function(){
var m3u8file=xhr.responseText;//处理m3u8文件};
(4)发送请求:
xhr.send();
2.使用fetch方法获取m3u8文件
fetch是ES6提供的一个新API,可以更方便地获取网络资源。因此,也可以使用fetch方法获取m3u8文件,具体操作如下:
(1)使用fetch方法获取m3u8文件:
fetch('http://example.com/video.m3u8')
.then(response=>response.text()).then(m3u8file=>{
//处理m3u8文件});
以上两种方法都可以用于获取m3u8文件,但需要注意的是,浏览器跨域限制可能会导致XHR请求失效。因此,可以使用服务器代理的方式,将m3u8文件下载到服务器上,然后使用JavaScript获取代理服务器上的文件。
3.使用第三方JS库获取m3u8文件
在JavaScript中,有很多第三方JS库可以方便地获取m3u8文件。如HIs js、Video.js等,这些JS库都提供了一套用于处理m3u8文件的API,可以直接调用。
m3u8文件包含视频流的分片信息及相关参数,获取到m3u8文件后,对其进行解析得到分片地址。根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据。
由于m3u8文件其实质是一个播放列表,包含一系列的视频片段,因此,可采用分段下载和实时解码的方式,减少视频流传输的延迟。请参看图2,本实施例通过设置定时器,在获取m3u8文件后,解析m3u8文件,得到其中的最新的视频分片URL以及分片时长t秒,并通过JavaScript发起HTTP请求,下载视频分片文件。设置定时器的间隔t-1秒时长之后下载m3u8文件解析是否有新的分片更新,若有则下载最新分片。如此,通过动态分段下载视频数据的方式,实现低延迟的视频播放。
在步骤S2中,采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据。
获取视频分片数据后,进行实时解封装及解码。为了实现HEVC编码格式的解码,本实施例采用WebAssembly技术实现。通过编写C/C++代码,使用EMScripten等工具将代码编译成WebAssembly二进制文件(.wasm)。在Web播放器中引入WebAssembly模块。在JavaScript中初始化WebAssembly模块,并加载对应的解封装和解码函数。
请参看图3,JavaScript将下载的视频ts分片数据传递给WebAssembly模块中的解封装和解码函数。解封装函数处理ts分片格式,提取其中的HEVC视频数据,得到视频编码格式、分辨率、帧率、时间基等信息;同时提取音频数据,得到音频编码格式比如AAC、采样率、通道数、时间基等信息。基于获取的信息,初始化视频解码器、音频解码器,将HEVC编码格式的视频流数据使用HEVC解码器进行快速、高效的解码操作,解码得到YUV格式的视频数据,将AAC编码格式的数据使用AAC解码器解码得到PCM格式的音频数据,方便后续处理和渲染。
在步骤S3中,通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
即,通过回调机制传递视频分辨率给JavaScript用于初始化Canvas画布的宽高,解码函数将解封装后的YUV视频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机,并通过回调机制将YUV视频数据传递给JavaScript。在JavaScript中使用Canvas渲染YUV视频数据。
同理,对于PCM音频数据通过回调机制传递采样率、通道数给JavaScript用于初始化Web Audio,解码函数将解封装后的PCM音频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机,通过回调机制将PCM音频数据传递给JavaScript。在JavaScript中使用Web Audio API进行PCM音频数据的播放。
上述通过WebAssembly从JavaScript接收视频分片数据,对视频分片数据进行实时解封装解码,然后通过回调的方式将解码后的YUV视频数据及PCM音频数据传送回JavaScript,最终使用Canvas渲染YUV视频数据,同时,使用Web Audio API进行PCM音频数据的播放,实现HLS协议的HEVC视频播放。
基于相同的构思,本实施例还提供了一种支持HEVC解码的web播放器,请参看图4,该web播放器包括:
下载模块1,用于Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL;所述m3u8文件包含视频流的分片信息及相关参数;根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据;
解封装解码模块2,用于web播放器采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据;
播放模块3,用于web播放器通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
其中,下载模块1设置定时器,动态分段下载m3u8文件,实时解析是否存在分片更新,若是,则发起HTTP请求,下载相应的视频分片数据。
解封装解码模块2被配置为:
对视频分片数据进行解封装,提取HEVC视频数据,得到相应的视频编码格式、分辨率、帧率、时间基参数信息;同时,提取音频数据,得到相应的音频编码格式、采样率、通道数、时间基参数信息;
基于得到的视频参数信息及音频参数信息,分别对HEVC视频解码器、AAC解码器进行初始化;将HEVC编码格式的视频流数据使用HEVC解码器进行解码,得到YUV格式的视频数据;将AAC编码格式的数据使用AAC解码器解码得到PCM格式的音频数据。
播放模块3被配置为:
通过回调机制传递视频分辨率至JavaScript,用于初始化Canvas画布的宽度;将YUV视频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将YUV视频数据通过回调机制传递给JavaScript;JavaScript根据回调得到的YUV视频数据,在Canvas进行渲染显示;
通过回调机制传递采样率、通道数至JavaScript,用于初始化web Audio;将PCM音频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将PCM音频数据通过回调机制传递给JavaScript,将PCM音频数据使用webAudio API进行音频播放。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (10)
1.一种支持HEVC解码的web播放方法,其特征在于,包括:
Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL;所述m3u8文件包含视频流的分片信息及相关参数;
根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据;
采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据;
通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
2.如权利要求1所述的支持HEVC解码的web播放方法,其特征在于,所述Web播放器通过JavaScript从服务器端下载m3u8文件进一步包括:
Web播放器通过JavaScript的XMLHttpRequest对象或通过fetch API从服务器端下载获取m3u8文件。
3.如权利要求1所述的支持HEVC解码的web播放方法,其特征在于,所述解析m3u8文件,得到视频流的分片URL进一步包括:
设置定时器,动态分段下载m3u8文件,实时解析是否存在分片更新,若是,则发起HTTP请求,下载相应的视频分片数据。
4.如权利要求1所述的支持HEVC解码的web播放方法,其特征在于,所述采用WebAssembly技术对视频分片数据进行实时解封装及解码进一步包括:
将下载的视频分片数据传递至WebAssembly中的解封装解码模块,所述解封装解码模块对视频分片数据进行解封装,提取HEVC视频数据,得到相应的视频编码格式、分辨率、帧率、时间基参数信息;同时,提取音频数据,得到相应的音频编码格式、采样率、通道数、时间基参数信息;
基于得到的视频参数信息及音频参数信息,分别对HEVC视频解码器、AAC解码器进行初始化;将HEVC编码格式的视频流数据使用HEVC解码器进行解码,得到YUV格式的视频数据;将AAC编码格式的数据使用AAC解码器解码得到PCM格式的音频数据。
5.如权利要求1所述的支持HEVC解码的web播放方法,其特征在于,所述通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript进一步包括:
通过回调机制传递视频分辨率至JavaScript,用于初始化Canvas画布的宽度;将YUV视频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将YUV视频数据通过回调机制传递给JavaScript;
通过回调机制传递采样率、通道数至JavaScript,用于初始化web Audio;将PCM音频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将PCM音频数据通过回调机制传递给JavaScript。
6.如权利要求1所述的支持HEVC解码的web播放方法,其特征在于,所述在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放进一步包括:
JavaScript根据回调得到的YUV视频数据,在Canvas进行渲染显示;同时,将PCM音频数据使用web Audio API进行音频播放。
7.一种支持HEVC解码的web播放器,其特征在于,包括:
下载模块,用于Web播放器通过JavaScript从服务器端下载m3u8文件,解析m3u8文件,得到视频流的分片URL;所述m3u8文件包含视频流的分片信息及相关参数;根据分片URL,通过JavaScript发起HTTP请求,下载相应的视频分片数据;
解封装解码模块,用于web播放器采用WebAssembly技术对视频分片数据进行实时解封装及解码,得到符合HLS分片格式的视频数据,从中提取YUV视频数据及PCM音频数据;
播放模块,用于web播放器通过回调机制,将YUV视频数据和PCM音频数据传递至JavaScript,在JavaScript中完成YUV视频数据的渲染和PCM音频数据的播放。
8.如权利要求7所述的支持HEVC解码的web播放器,其特征在于,所述下载模块设置定时器,动态分段下载m3u8文件,实时解析是否存在分片更新,若是,则发起HTTP请求,下载相应的视频分片数据。
9.如权利要求7所述的支持HEVC解码的web播放器,其特征在于,所述解封装解码模块被配置为:
对视频分片数据进行解封装,提取HEVC视频数据,得到相应的视频编码格式、分辨率、帧率、时间基参数信息;同时,提取音频数据,得到相应的音频编码格式、采样率、通道数、时间基参数信息;
基于得到的视频参数信息及音频参数信息,分别对HEVC视频解码器、AAC解码器进行初始化;将HEVC编码格式的视频流数据使用HEVC解码器进行解码,得到YUV格式的视频数据;将AAC编码格式的数据使用AAC解码器解码得到PCM格式的音频数据。
10.如权利要求7所述的支持HEVC解码的web播放器,其特征在于,所述播放模块被配置为:
通过回调机制传递视频分辨率至JavaScript,用于初始化Canvas画布的宽度;将YUV视频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将YUV视频数据通过回调机制传递给JavaScript;JavaScript根据回调得到的YUV视频数据,在Canvas进行渲染显示;
通过回调机制传递采样率、通道数至JavaScript,用于初始化web Audio;将PCM音频数据按照自身携带的播放时间戳PTS、时间基换算出相对于当前的系统时间,计算出回调时机;当回调时,将PCM音频数据通过回调机制传递给JavaScript,将PCM音频数据使用webAudio API进行音频播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311791066.2A CN117812388A (zh) | 2023-12-25 | 2023-12-25 | 支持HEVC解码的web播放方法及web播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311791066.2A CN117812388A (zh) | 2023-12-25 | 2023-12-25 | 支持HEVC解码的web播放方法及web播放器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117812388A true CN117812388A (zh) | 2024-04-02 |
Family
ID=90426164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311791066.2A Pending CN117812388A (zh) | 2023-12-25 | 2023-12-25 | 支持HEVC解码的web播放方法及web播放器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117812388A (zh) |
-
2023
- 2023-12-25 CN CN202311791066.2A patent/CN117812388A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712654B (zh) | 一种音视频流的转码方法及设备 | |
CN113556579B (zh) | 一种基于HTML5的web无插件播放安防实时视频的方法 | |
US9609340B2 (en) | Just-in-time (JIT) encoding for streaming media content | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
CN112653700A (zh) | 一种基于webrtc网页视频通信的方法 | |
AU2016203706B2 (en) | System and method for dynamic file availability during encoding | |
US20150256600A1 (en) | Systems and methods for media format substitution | |
CN110870282B (zh) | 使用网络内容的文件轨处理媒体数据 | |
CN111355976B (zh) | 一种基于hevc标准的视频直播方法及系统 | |
CN111147947B (zh) | 一种基于websocket的flv视频传输及网页播放的方法 | |
CN111683293A (zh) | 一种基于http-flv协议的跨浏览器播放h.265视频的方法 | |
CN110996160B (zh) | 视频处理方法、装置、电子设备及计算机可读取存储介质 | |
CN113938470B (zh) | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 | |
EP4087266A1 (en) | Playback mode determining method and apparatus | |
CN106375873A (zh) | 一种hls视频文件下载存储及播放的方法 | |
CN113382278B (zh) | 视频推送方法、装置、电子设备和可读存储介质 | |
CN112188150A (zh) | 一种利用重封装实现浏览器播放实时监控视频的方法 | |
KR100909669B1 (ko) | 모바일 단말 및 임베디드 단말의 웹 브라우저 내에서 플래시 기반 비디오 콘텐츠의 재생 방법 | |
WO2024098836A1 (zh) | 视频对齐方法及装置 | |
CN113079386A (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
CN117812388A (zh) | 支持HEVC解码的web播放方法及web播放器 | |
KR101621530B1 (ko) | 무선 네트워크를 통한 플래시 컨텐츠 제공 방법 및 그 시스템과 플래시 컨텐츠 변환 방법 및 그 장치 | |
KR100892433B1 (ko) | 이동통신 단말기를 이용한 영상 중계 시스템 및 그 방법 | |
CN112954396B (zh) | 视频的播放方法、装置、电子设备及计算机可读存储介质 | |
CN108259987A (zh) | 移动端低延时流媒体播放器及播放方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |