CN114095784B - H.265格式视频流转码播放方法、系统、设备及介质 - Google Patents

H.265格式视频流转码播放方法、系统、设备及介质 Download PDF

Info

Publication number
CN114095784B
CN114095784B CN202111408435.6A CN202111408435A CN114095784B CN 114095784 B CN114095784 B CN 114095784B CN 202111408435 A CN202111408435 A CN 202111408435A CN 114095784 B CN114095784 B CN 114095784B
Authority
CN
China
Prior art keywords
multiplexed
video
video data
audio
played
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.)
Active
Application number
CN202111408435.6A
Other languages
English (en)
Other versions
CN114095784A (zh
Inventor
郑建峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haoyun Technologies Co Ltd
Original Assignee
Haoyun Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haoyun Technologies Co Ltd filed Critical Haoyun Technologies Co Ltd
Priority to CN202111408435.6A priority Critical patent/CN114095784B/zh
Publication of CN114095784A publication Critical patent/CN114095784A/zh
Application granted granted Critical
Publication of CN114095784B publication Critical patent/CN114095784B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种H.265格式视频流转码播放方法、系统、设备及介质,所述方法包括预先将解码器部署于FFmpeg程序;通过WebAssembly框架,运行FFmpeg程序加载所述解码器;响应于解码器加载完成,获取待播放视频流;通过FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;将待播放音视频数据传输到播放器进行播放。本发明实现无插件转码播放H.265格式视频流,摆脱浏览器对插件的禁用问题,打破目前浏览器不支持播放H.265格式视频流的技术瓶颈,为一体化的安防方案提供更多维度、更多层次的技术支撑,为安防项目接入物联网提供更加丰富的拓展性。

Description

H.265格式视频流转码播放方法、系统、设备及介质
技术领域
本发明涉及视频编解码技术领域,特别是涉及一种H.265格式视频流无插件转码播放方法、系统、计算机设备及存储介质。
背景技术
H.265是新的编码协议,作为H.264的升级版,其因在保留H.264原来的某些技术的基础上,使用新技术很好地改善码流、编码质量、以及延时和算法复杂度之间的关系,且提供了更多不同的工具来降低码率,以达到最优化设置等优势,而备受欢迎。
目前,H.265格式的视频流被广泛应用于安防项目的摄像头,为安防行业提供有力的技术支持,但由于H.265格式视频流的解码需要更高的性能换取更高的压缩率,大部分浏览器播放H.265视频都会出现音画不同步,屏幕黑屏无画面或只有声音没有图像等一系列问题,可以说,基本没有能够原生支持H265(HEVC)播放的浏览器,即H.265格式的视频流在浏览器端播放时都需要依赖浏览器插件,如,IE浏览器使用ActiveX插件,Chrome和Firefox浏览器使用NPAPI插件。然而,浏览器插件安全问题频发导致许多浏览器开始禁用第三方插件,就导致了H.265格式视频流不能在浏览器正常播放,当前的解决方案就是调整摄像头的视频码流格式,改用更占带宽,清晰度更低的H.264格式视频流,或者后端将采集的H.265格式视频流转码为H.264格式再进行展示,显然,无法满足现阶段安防先进性要求,不符合目前安防项目的需求。
发明内容
本发明的目的是提供一种H.265格式视频流转码播放方法,以使视频转码播放的功能脱离浏览器插件,真正实现无插件转码播放H.265格式的视频流,摆脱浏览器对插件的禁用问题,为各浏览器正常播放H.265格式视频流提供了强有力的技术支持,打破了目前浏览器不支持播放H.265格式视频流的技术瓶颈,进而解除了H.265格式视频流的应用限制。
为了实现上述目的,有必要针对上述技术问题,提供了一种H.265格式视频流转码播放方法、系统、计算机设备及存储介质。
第一方面,本发明实施例提供了一种H.265格式视频流转码播放方法,所述方法包括以下步骤:
预先将解码器部署于FFmpeg程序;
通过WebAssembly框架,运行所述FFmpeg程序加载所述解码器;
响应于所述解码器加载完成,获取待播放视频流;所述待播放视频流为H.265格式视频流;
通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;
将所述待播放音视频数据传输到播放器进行播放。
进一步地,所述通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据的步骤包括:
将所述待播放视频流进行碎片化处理,得到待解复用视频流;
对所述待解复用视频流进行解复用,得到对应的音频数据和视频数据;
分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据;
将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据。
进一步地,所述将所述待播放视频流进行碎片化处理,得到待解复用视频流的步骤包括:
通过FFmpeg命令对所述待播放视频流进行分解,得到对应的图片序列,并将所述图片序列作为所述待解复用视频流。
进一步地,所述分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据的步骤包括:
对所述音频数据进行PCM音频采样编码,得到所述待复用音频数据;
采用所述解码器对所述视频数据进行解码处理,得到所述待复用视频数据。
进一步地,所述采用所述解码器对所述视频数据进行解码处理,得到所述待复用视频数据的步骤包括:
通过所述解码器对所述视频数据进行视频帧提取,得到视频帧图片;
将所述视频帧图片进行合并,得到所述待复用视频数据。
进一步地,所述将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据的步骤包括:
将所述待复用音频数据与待复用视频数据进行音画同步对齐处理,得到所述待播放音视频数据。
进一步地,所述将所述待复用音频数据与待复用视频数据进行音画同步对齐处理,得到所述待播放音视频数据的步骤包括:
获取所述待复用视频数据的帧率,并判断所述待复用视频数据是否存在有效显示时间戳;
若所述待复用视频数据不存在有效显示时间戳,则将所述待复用视频数据按照所述帧率播放;
若所述待复用视频数据存在有效显示时间戳,则判断所述待复用视频数据与待复用音频数据的同步延迟差是否在预设范围内;
若所述待复用视频数据与待复用音频数据的同步延迟差在预设范围内,则判断所述待复用视频数据的码率是否大于所述待复用音频数据的音频时钟;
若所述待复用视频数据的码率大于所述待复用音频数据的音频时钟,则按照所述同步延迟差播放所述待复用视频数据,反之,则直接播放。
第二方面,本发明实施例提供了一种H.265格式视频流转码播放系统,所述系统包括:
预设模块,用于预先将解码器部署于FFmpeg程序;
加载模块,用于通过WebAssembly框架,运行所述FFmpeg程序加载所述解码器;
获取模块,用于响应于所述解码器加载完成,获取待播放视频流;所述待播放视频流为H.265格式视频流;
转码模块,用于通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;
播放模块,用于将所述待播放音视频数据传输到播放器进行播放。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述本申请提供了一种H.265格式视频流转码播放方法、系统、计算机设备及存储介质,通过所述方法,实现了使用WebAssembly技术,使用JavaScript编程语言编写代码且能在浏览器上运行,把转码功能交给JavaScript调用FFMpeg程序,从而使视频转码播放的功能脱离浏览器插件的技术方案。与现有技术相比,本发明实现无插件转码播放H.265格式的视频流,摆脱浏览器对插件的禁用问题,为各浏览器正常播放H.265格式视频流提供了强有力的技术支持,打破了目前浏览器不支持播放H.265格式视频流的技术瓶颈,进而解除了H.265格式视频流的应用限制,为视频流格式和码率要求高的安防等视频类项目提供更加有效的解决方案,为一体化的安防方案提供更多维度、更多层次的技术支撑,为安防项目接入物联网提供更加丰富的拓展性。
附图说明
图1是本发明实施例中H.265格式视频流转码播放方法的应用流程示意图;
图2是本发明实施例中H.265格式视频流转码播放方法的流程示意图;
图3是图2中步骤S14获取对待播放视频流进行解析转码得到待播放音视频数据的流程示意图;
图4是本发明实施例中H.265格式视频流转码播放系统的结构示意图;
图5是本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案和有益效果更加清楚明白,下面结合附图及实施例,对本发明作进一步详细说明,显然,以下所描述的实施例是本发明实施例的一部分,仅用于说明本发明,但不用来限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的一种H.265格式视频流转码播放方法,适用于大部分浏览器,如IE8以后版本、Chrome 85版本以后版本和Firefox75以后,能无缝支持PC端和移动端,可通过视频播放器IO层从前线连接的摄像头或从某个视频流地址获取视频流,并采用如图1所示的视频流数据处理方法进行正常播放。下述实施例将对H.265格式视频流转码播放方法进行详细说明。
在一个实施例中,如图2所示,提供了一种H.265格式视频流转码播放方法,包括以下步骤:
S11、预先将解码器部署于FFmpeg程序;
其中,解码器用于后续对H.265格式视频流解码使用,将其源码变编译成WebAssembly库,打包在FFmpeg程序内,并部署于服务器端,该FFmpeg程序通过WebAssembly框架将其对应的类和方法提供给浏览器引擎使用,运行完成相应的程序功能。
S12、通过WebAssembly框架,运行所述FFmpeg程序加载所述解码器;
其中,WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果,其为C、C++和Rust等低级源语言提供一个高效的编译目标。通过将WebAssembly的模块导入到一个网络app(或Node.js)中,且暴露对应的WebAssembly函数给JavaScript使用,可获得巨大的性能优势。本实施例中通过WebAssembly框架运行在服务器端的FFmpeg程序时,首先要完成解码器的加载,并在解码器加载完成后,开始进行FFmpeg程序其他功能的初始化,以及在完成相应的初始化后,即可获取需要播放的H.265格式的视频流进行转码播放。
S13、响应于所述解码器加载完成,获取待播放视频流;所述待播放视频流为H.265格式视频流;
其中,待播放视频流可以为某个视频服务器上的视频,也可以是通过视频播放器前端IO层获取到的摄像机拍摄所得的视频流,如直接对接输出H.265格式视频流的安防摄像头获取需要播放的视频流。
S14、通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;
其中,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,其包括了领先的音/视频编码库,并提供了相关的通用接口,如用于打开多媒体文件并取得一些码流信息的avformat_open_input函数、关闭多媒体文件avformat_close_input()函数等,可直击调用对应功能的通用接口对视频流进行处理。本实施例中,通过FFmpeg程序的通用接口,执行avformat_open_input命令获取对应的视频流数据,并对获取到的视频流数据进行Demux解复用,从待播放视频流(音视频信号源)中获得单独的音频数据和视频数据,再进行相应的转码处理后,得到可供浏览器播放的待播放音视频数据。具体地,如图3所示,所述通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据的步骤S14包括:
S141、将所述待播放视频流进行碎片化处理,得到待解复用视频流;其中,待解复用视频流可通过利用FFmpeg命令:ffmpeg-i video.mpg image%d.jpg,将待播放视频流分解得到对应的图片序列,如image1.jpg.image2.jpg....等一系列的图片数据,即完成了对待播放视频流的碎片化处理,并将得到的图片序列作为后续用于解复用的待解复用视频流。
S142、对所述待解复用视频流进行解复用,得到对应的音频数据和视频数据;
S143、分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据;
其中,音频数据和视频数据通过上述demux解复用得到后,分别进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据,具体包括以下步骤:
对所述音频数据进行PCM音频采样编码,得到所述待复用音频数据;
采用所述解码器对所述视频数据进行解码处理,得到所述待复用视频数据。
其中,待复用视频数据是通过WebAssembly+FFmpeg运行解码器对视频数据解码得到,具体地,所述采用所述解码器对所述视频数据进行解码处理,得到所述待复用视频数据的步骤包括:
通过所述解码器对所述视频数据进行视频帧提取,得到视频帧图片;
将所述视频帧图片进行合并,得到所述待复用视频数据。其中,待复用视频数据为通过执行ffmpeg-f image2-i image%d.jpg video.mpg命令将采用解码器从视频数据提取得到的视频帧图片合并视频。
S144、将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据。
其中,复用整合的关键是将待复用音频数据与待复用视频数据进行音画同步对齐处理,得到无卡顿无时延,可流畅播放的待播放音视频数据。具体实现音画同步的步骤包括:
获取所述待复用视频数据的帧率,并判断所述待复用视频数据是否存在有效显示时间戳;
若所述待复用视频数据不存在有效显示时间戳,则将所述待复用视频数据按照所述帧率播放;
若所述待复用视频数据存在有效显示时间戳,则判断所述待复用视频数据与待复用音频数据的同步延迟差是否在预设范围内;
若所述待复用视频数据与待复用音频数据的同步延迟差在预设范围内,则判断所述待复用视频数据的码率是否大于所述待复用音频数据的音频时钟;
若所述待复用视频数据的码率大于所述待复用音频数据的音频时钟,则按照所述同步延迟差播放所述待复用视频数据,反之,则直接播放。
S15、将所述待播放音视频数据传输到播放器进行播放。
其中,播放器可以理解为浏览器上的视频播放器,其主要是负责对视频数据转码后的画面和音频的监控处理,并通过封装的回放控制条、音量控制、截屏、加载速度和时长等常规参数等用户操作待播放音视频数据的逻辑,以实现与用户的人机互动。
本申请实施例通过将H.265格式视频流解码器集成于部署在服务器端的FFMpeg程序内,使用WebAssembly技术结合JavaScript编程语言实现在浏览器上运行,把转码功能交给JavaScript调用FFMpeg程序,从而使视频转码播放的功能脱离浏览器插件,真正实现了无插件转码播放H.265格式的视频流,摆脱浏览器对插件的禁用问题,为各浏览器正常播放H.265格式视频流提供了强有力的技术支持,打破了目前浏览器不支持播放H.265格式视频流的技术瓶颈,进而解除了H.265格式视频流的应用限制,为视频流格式和码率要求高的安防等视频类项目提供更加有效的解决方案,为一体化的安防方案提供更多维度、更多层次的技术支撑,为安防项目接入物联网提供更加丰富的拓展性。
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
在一个实施例中,如图4所示,提供了一种H.265格式视频流转码播放系统,所述系统包括:
预设模块1,用于预先将解码器部署于FFmpeg程序;
加载模块2,用于通过WebAssembly框架,运行所述FFmpeg程序加载所述解码器;
获取模块3,用于响应于所述解码器加载完成,获取待播放视频流;所述待播放视频流为H.265格式视频流;
转码模块4,用于通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;
播放模块5,用于将所述待播放音视频数据传输到播放器进行播放。
需要说明的是,关于H.265格式视频流转码播放系统的具体限定可以参见上文中对于H.265格式视频流转码播放方法的限定,在此不再赘述。上述H.265格式视频流转码播放系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图5示出一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终端或服务器。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种H.265格式视频流转码播放方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域普通技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比途中所示更多或更少的部件,或者组合某些部件,或者具有同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
综上,本发明实施例提供的一种H.265格式视频流转码播放方法、系统、计算机设备及存储介质,其H.265格式视频流转码播放方法实现了通过预先将解码器部署于FFmpeg程序,通过WebAssembly框架运行FFmpeg程序加载解码器,并在解码器加载和初始化完成后,获取待播放视频流,以及通过FFmpeg程序的通用接口和解码器对待播放视频流进行解析转码,依次经过碎片化、解复用、信号编解码以及复用整合处理得到可供浏览器直接播放使用的待播放音视频数据的技术方案,真正实现了无插件转码播放H.265格式的视频流,摆脱浏览器对插件的禁用问题,为各浏览器正常播放H.265格式视频流提供了强有力的技术支持,打破了目前浏览器不支持播放H.265格式视频流的技术瓶颈,进而解除了H.265格式视频流的应用限制,为视频流格式和码率要求高的安防等视频类项目提供更加有效的解决方案,为一体化的安防方案提供更多维度、更多层次的技术支撑,为安防项目接入物联网提供更加丰富的拓展性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。

Claims (6)

1.一种H.265格式视频流转码播放方法,其特征在于,所述方法包括以下步骤:
预先将解码器部署于FFmpeg程序;
通过WebAssembly框架运行所述FFmpeg程序加载所述解码器;
响应于所述解码器加载完成,获取待播放视频流;所述待播放视频流为H.265格式视频流,包括视频服务器上的视频,和通过视频播放器前端IO层获取到的安防摄像机拍摄的视频流;
通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;
将所述待播放音视频数据传输到播放器进行播放;所述播放器用于对所述待播放音视频数据进行画面和音频监控处理,并通过封装用户操作待播放音视频数据的逻辑,与用户进行人机互动;所述用户操作待播放音视频数据的逻辑包括回放控制条、音量控制、截屏、加载速度和时长;
其中,所述通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据的步骤包括:
将所述待播放视频流进行碎片化处理,得到待解复用视频流;所述待解复用视频流为通过FFmpeg命令将所述待播放视频流分解得到对应的图片序列;
对所述待解复用视频流进行解复用,得到对应的音频数据和视频数据;
分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据;
将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据;
所述分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据,包括:
通过所述解码器对所述视频数据进行视频帧提取,得到视频帧图片,以及将所述视频帧图片进行合并,得到所述待复用视频数据;
所述将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据的步骤包括:
将所述待复用音频数据与待复用视频数据进行音画同步对齐处理,得到所述待播放音视频数据,包括:
获取所述待复用视频数据的帧率,并判断所述待复用视频数据是否存在有效显示时间戳;
若所述待复用视频数据不存在有效显示时间戳,则将所述待复用视频数据按照所述帧率播放;
若所述待复用视频数据存在有效显示时间戳,则判断所述待复用视频数据与待复用音频数据的同步延迟差是否在预设范围内;
若所述待复用视频数据与待复用音频数据的同步延迟差在预设范围内,则判断所述待复用视频数据的码率是否大于所述待复用音频数据的音频时钟;
若判断所述待复用视频数据的码率是大于所述待复用音频数据的音频时钟,则按照所述同步延迟差播放所述待复用视频数据,反之,则直接播放。
2.如权利要求1所述的H.265格式视频流转码播放方法,其特征在于,所述将所述待播放视频流进行碎片化处理,得到待解复用视频流的步骤包括:
通过FFmpeg命令对所述待播放视频流进行分解,得到对应的图片序列,并将所述图片序列作为所述待解复用视频流。
3.如权利要求1所述的H.265格式视频流转码播放方法,其特征在于,所述分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据的步骤,还包括:
对所述音频数据进行PCM音频采样编码,得到所述待复用音频数据。
4.一种H.265格式视频流转码播放系统,其特征在于,所述系统包括:
预设模块,用于预先将解码器部署于FFmpeg程序;
加载模块,用于通过WebAssembly框架运行所述FFmpeg程序加载所述解码器;
获取模块,用于响应于所述解码器加载完成,获取待播放视频流;所述待播放视频流为H.265格式视频流,包括视频服务器上的视频,和通过视频播放器前端IO层获取到的安防摄像机拍摄的视频流;
转码模块,用于通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据;
播放模块,用于将所述待播放音视频数据传输到播放器进行播放;所述播放器用于对所述待播放音视频数据进行画面和音频监控处理,并通过封装用户操作待播放音视频数据的逻辑,与用户进行人机互动;所述用户操作待播放音视频数据的逻辑包括回放控制条、音量控制、截屏、加载速度和时长;
其中,所述通过所述FFmpeg程序的通用接口和解码器对所述待播放视频流进行解析转码,得到待播放音视频数据,包括:
将所述待播放视频流进行碎片化处理,得到待解复用视频流;所述待解复用视频流为通过FFmpeg命令将所述待播放视频流分解得到对应的图片序列;
对所述待解复用视频流进行解复用,得到对应的音频数据和视频数据;
分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据;
将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据;
所述分别对所述音频数据和所述视频数据进行对应的信号编解码处理,得到对应的待复用音频数据和待复用视频数据,包括:
通过所述解码器对所述视频数据进行视频帧提取,得到视频帧图片,以及将所述视频帧图片进行合并,得到所述待复用视频数据;
所述将所述待复用音频数据和待复用视频数据进行复用整合,得到待播放音视频数据,包括:
将所述待复用音频数据与待复用视频数据进行音画同步对齐处理,得到所述待播放音视频数据,包括:
获取所述待复用视频数据的帧率,并判断所述待复用视频数据是否存在有效显示时间戳;
若所述待复用视频数据不存在有效显示时间戳,则将所述待复用视频数据按照所述帧率播放;
若所述待复用视频数据存在有效显示时间戳,则判断所述待复用视频数据与待复用音频数据的同步延迟差是否在预设范围内;
若所述待复用视频数据与待复用音频数据的同步延迟差在预设范围内,则判断所述待复用视频数据的码率是否大于所述待复用音频数据的音频时钟;
若判断所述待复用视频数据的码率是大于所述待复用音频数据的音频时钟,则按照所述同步延迟差播放所述待复用视频数据,反之,则直接播放。
5.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一所述方法的步骤。
CN202111408435.6A 2021-11-19 2021-11-19 H.265格式视频流转码播放方法、系统、设备及介质 Active CN114095784B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111408435.6A CN114095784B (zh) 2021-11-19 2021-11-19 H.265格式视频流转码播放方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111408435.6A CN114095784B (zh) 2021-11-19 2021-11-19 H.265格式视频流转码播放方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN114095784A CN114095784A (zh) 2022-02-25
CN114095784B true CN114095784B (zh) 2024-02-09

Family

ID=80304579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111408435.6A Active CN114095784B (zh) 2021-11-19 2021-11-19 H.265格式视频流转码播放方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN114095784B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598920B (zh) * 2022-03-04 2023-05-23 北京百度网讯科技有限公司 一种视频播放控制方法、装置、设备以及存储介质
CN114827751B (zh) * 2022-03-28 2023-01-17 慧之安信息技术股份有限公司 基于wasm的web端无插件监控录像播放方法
CN115243102B (zh) * 2022-09-21 2023-02-28 天讯瑞达通信技术有限公司 基于Web技术的视频播放方法、装置、设备以及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873821A (zh) * 2005-06-02 2006-12-06 恩益禧电子股份有限公司 用于同步回放的装置和方法
CN103338386A (zh) * 2013-07-10 2013-10-02 航天恒星科技有限公司 基于简化时间戳的音视频同步方法
CN109088887A (zh) * 2018-09-29 2018-12-25 北京金山云网络技术有限公司 一种流媒体解码的方法及装置
CN109660805A (zh) * 2017-10-10 2019-04-19 武汉斗鱼网络科技有限公司 解码播放中音视频同步优化方法、存储介质、设备及系统
CN110198479A (zh) * 2019-05-24 2019-09-03 浪潮软件集团有限公司 一种基于webassembly的浏览器音视频解码播放方法
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法
CN111324378A (zh) * 2020-03-18 2020-06-23 浩云科技股份有限公司 自定义h5页参数配置应用于视频监控设备在app的播放
CN111355976A (zh) * 2020-03-31 2020-06-30 北京东方国信科技股份有限公司 一种基于hevc标准的视频直播方法及系统
CN111787396A (zh) * 2020-07-28 2020-10-16 北京金山云网络技术有限公司 一种视频流解析方法及装置
CN112423100A (zh) * 2020-10-26 2021-02-26 深圳市瑞驰信息技术有限公司 基于html5的web音视频自定义渲染方法
CN112954457A (zh) * 2019-12-11 2021-06-11 西安诺瓦星云科技股份有限公司 视频播放显示方法、装置和系统
CN113490029A (zh) * 2021-06-21 2021-10-08 深圳Tcl新技术有限公司 视频播放方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10177958B2 (en) * 2017-02-07 2019-01-08 Da Sheng Inc. Method for synchronously taking audio and video in order to proceed one-to-multi multimedia stream

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873821A (zh) * 2005-06-02 2006-12-06 恩益禧电子股份有限公司 用于同步回放的装置和方法
CN103338386A (zh) * 2013-07-10 2013-10-02 航天恒星科技有限公司 基于简化时间戳的音视频同步方法
CN109660805A (zh) * 2017-10-10 2019-04-19 武汉斗鱼网络科技有限公司 解码播放中音视频同步优化方法、存储介质、设备及系统
CN109088887A (zh) * 2018-09-29 2018-12-25 北京金山云网络技术有限公司 一种流媒体解码的方法及装置
CN110198479A (zh) * 2019-05-24 2019-09-03 浪潮软件集团有限公司 一种基于webassembly的浏览器音视频解码播放方法
CN112954457A (zh) * 2019-12-11 2021-06-11 西安诺瓦星云科技股份有限公司 视频播放显示方法、装置和系统
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法
CN111324378A (zh) * 2020-03-18 2020-06-23 浩云科技股份有限公司 自定义h5页参数配置应用于视频监控设备在app的播放
CN111355976A (zh) * 2020-03-31 2020-06-30 北京东方国信科技股份有限公司 一种基于hevc标准的视频直播方法及系统
CN111787396A (zh) * 2020-07-28 2020-10-16 北京金山云网络技术有限公司 一种视频流解析方法及装置
CN112423100A (zh) * 2020-10-26 2021-02-26 深圳市瑞驰信息技术有限公司 基于html5的web音视频自定义渲染方法
CN113490029A (zh) * 2021-06-21 2021-10-08 深圳Tcl新技术有限公司 视频播放方法、装置、设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"基于WebAssembly的H.265播放器";阿里巴巴终端技术;《https://developer.aliyun.com/article/747663》;第5-8页 *
"通过WebAssembly在移动端解码H.265";LiveVideoStack;《https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/88802334》;全文 *
A method for synchronization of audio and video signals;Toni Livaja 等;《2018 IEEE 8th International Conference on Consumer Electronics》;全文 *
支持Web直播的视频监控系统的研究与开发;薛粤桂;《CNKI优秀硕士学位论文全文库》;全文 *
移动流媒体客户端的研究与实现;郑培元;《万方学位论文》;全文 *

Also Published As

Publication number Publication date
CN114095784A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN114095784B (zh) H.265格式视频流转码播放方法、系统、设备及介质
JP2006014282A (ja) マルチメディア処理情報をマルチメディアビットストリームに埋め込むシステムおよびその方法
JP2006081146A (ja) シーンチェンジ情報をビデオビットストリーム中に埋め込むシステムおよびその方法
CN110784750B (zh) 视频播放方法、装置及计算机设备
JP6475228B2 (ja) コンテナフォーマットでのメディアファイルの構文を意識した操作
US20060078288A1 (en) System and method for embedding multimedia editing information in a multimedia bitstream
EP2332046A2 (en) Improved audio and video testing methodology
US20060059509A1 (en) System and method for embedding commercial information in a video bitstream
US8619873B2 (en) Media processing method and media processing program
KR101219923B1 (ko) 오디오 비디오 코덱을 추상화하기 위한 시스템
WO2024098836A1 (zh) 视频对齐方法及装置
JP2010268420A (ja) モバイル端末及びインベッド端末のウェブブラウザ内でフラッシュ基盤のビデオコンテンツの再生方法
KR20140117889A (ko) 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법
JP2005347955A (ja) 信号処理装置及び信号処理方法
US9185378B2 (en) Method and apparatus for generating multimedia data having decoding level, and method and apparatus for reconstructing multimedia data by using the decoding level
US20180167665A1 (en) Electronic apparatus and controlling method thereof
JPWO2005043901A1 (ja) レジューム再生システム
CN115103215A (zh) 直播的质检方法、系统、Web服务器及存储介质
KR20100029010A (ko) 멀티미디어 데이터를 처리하기 위한 다중 프로세서 시스템들 및 그것의 방법들
US20060056506A1 (en) System and method for embedding multimedia compression information in a multimedia bitstream
US20060271650A1 (en) Framework for establishing application system
CN111447490A (zh) 流媒体文件处理方法及装置
KR20050096625A (ko) 동영상 재생 시스템
CN116610823B (zh) 一种统一访问多媒体资源的方法和系统
CN115114150A (zh) 一种pp插件和spliter插件测试的方法、装置、设备及可读介质

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
GR01 Patent grant
GR01 Patent grant