CN118214915A - 一种智慧病房宣教视频的封面关键帧自动截取方法 - Google Patents
一种智慧病房宣教视频的封面关键帧自动截取方法 Download PDFInfo
- Publication number
- CN118214915A CN118214915A CN202410456221.3A CN202410456221A CN118214915A CN 118214915 A CN118214915 A CN 118214915A CN 202410456221 A CN202410456221 A CN 202410456221A CN 118214915 A CN118214915 A CN 118214915A
- Authority
- CN
- China
- Prior art keywords
- frame
- frames
- video
- library
- key frame
- 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 23
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种智慧病房宣教视频的封面关键帧自动截取方法,包括以下步骤:S1:使用Emscripten编译FFmpeg指定库;S2:使用emcc命令编译cpp代码,生成经过缩减体积的.wasm和.js文件;S3:定义关键帧策略。本发明支持的视频格式广泛和不再依赖于DOM,其还可以自动截取最具代表性和吸引力的关键帧作为视频封面,提高了宣教视频的视觉吸引力,能够极大提高患者的主动观看积极性,有助于普及医学知识。
Description
技术领域
本发明涉及宣教视频封面关键帧截取技术领域,尤其涉及一种智慧病房宣教视频的封面关键帧自动截取方法。
背景技术
随着医疗信息技术的发展,智慧病房中使用宣教视频向患者传递医疗知识的需求日益增加,然而目前宣教视频封面的传统生成方法一般使用Web截帧、手动上传封面等方法,这些方法存在以下问题:
(1)类型有限:video标签支持的视频格式十分有限,无法处理一些其他常见的视频格式,如FLV、MKV和AVI等;
(2)DOM依赖:该方案依赖于DOM,只能在主线程中完成,这意味着在处理大量截帧任务时,可能会对页面性能产生负面影响;
(3)抽帧策略局限:传统方案无法精确控制抽帧,设置currentTime时会解码寻找最接近的帧,而非关键帧;
针对目前宣教视频封面的传统生成方法所存在的问题,我们提出了一种智慧病房宣教视频的封面关键帧自动截取方法。
发明内容
基于背景技术存在的技术问题,本发明提出了一种智慧病房宣教视频的封面关键帧自动截取方法。
本发明提出的一种智慧病房宣教视频的封面关键帧自动截取方法,包括以下步骤:
S1:使用Emscripten编译FFmpeg指定库:
S100:首先下载emsdk,执行命令配置并激活已安装的Emscripten;
S101:使用Emscripten的emconfigure命令运行FFmpeg的configure脚本,传入自定义参数以便完成兼容;
S102:抽帧只需要读取视频文件或流、解码、对产生的像素格式转换以及通用工具函数,然后将libavformat库、libavcodec库、libswscale库和libavutil库作为产出wasm资源的编译输入文件;
S2:使用emcc命令编译cpp代码,生成经过缩减体积的.wasm和.js文件;
S3:定义关键帧策略:关键帧策略涉及到I帧、P帧和B帧,假设按照需求场景,我们需要对每个视频提取12张图片,对于少于12张关键帧的视频,采取补齐的策略,在两关键帧之间,以2s为时间间隔进行补齐,如果两关键帧间隔时间不足2s间隔分配,那就按照两关键帧的间隔时间需要补的帧数,计算出需要补齐的帧的所在时间,对于超出12帧关键帧的视频,按照相等的间隔进行选取,比如有24张,那么选取0、2、...23索引的帧为输出帧;
S4:首先基于关键帧进行解包,先调用av_read_frame读取压缩帧,avcodec_send_packet发送压缩包到FFmpeg的解码队列,avcodec_receive_frame从解码队列里成功取出,判断pts位于的时间,符合条件的frame信息则被存储,最终输出视频默认封面图片信息。
优选的,所述S1中,FFmpeg是一个开源的强大的音视频处理工具,可以实现视频和音频的录制、转换、编辑。
优选的,所述S102中,libavformat库负责多媒体文件和流的格式处理。
优选的,所述S102中,libavcodec库负责多种格式的音频和视频的编解码。
优选的,所述S102中,libswscale库负责图像的缩放和颜色空间转换。
优选的,所述S102中,libavutil库用于被libavformat库和libavcodec库等所使用,用于辅助处理各种任务。
优选的,所述S3中,I帧也叫关键帧,它是视频序列中的一种独立帧,它不需要参考其它帧进行解码,I帧通常用来作为视频序列的参考点,后续的B帧和P帧都会参考它进行编码,I帧通常具有较高的压缩比和较大的文件大小。
优选的,所述S3中,P帧是通过对前面的I帧或P帧进行运动预测得到的帧,P帧需要参考前面的一个或多个帧进行解码,P帧通常比I帧小一些,但是它的压缩比比I帧高。
优选的,所述S3中,B帧是通过对前面和后面的帧进行运动预测得到的帧,B帧需要参考前面和后面的帧进行解码,B帧通常比P帧更小,它可以更充分地利用前后两个参考帧之间的冗余信息进行编码。
与现有的技术相比,本发明支持的视频格式广泛和不再依赖于DOM,其还可以自动截取最具代表性和吸引力的关键帧作为视频封面,提高了宣教视频的视觉吸引力,能够极大提高患者的主动观看积极性,有助于普及医学知识。
附图说明
图1为本发明提出的一种智慧病房宣教视频的封面关键帧自动截取方法的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步解说。
实施例
参照图1,本实施例提出了一种智慧病房宣教视频的封面关键帧自动截取方法,包括以下步骤:
S1:使用Emscripten编译FFmpeg指定库,其中FFmpeg是一个开源的强大的音视频处理工具,可以实现视频和音频的录制、转换、编辑:
S100:首先下载emsdk,执行命令配置并激活已安装的Emscripten;
S101:使用Emscripten的emconfigure命令运行FFmpeg的configure脚本,传入自定义参数以便完成兼容;
S102:抽帧只需要读取视频文件或流、解码、对产生的像素格式转换以及通用工具函数,然后将libavformat库、libavcodec库、libswscale库和libavutil库作为产出wasm资源的编译输入文件,其中libavformat库负责多媒体文件和流的格式处理,libavcodec库负责多种格式的音频和视频的编解码,libswscale库负责图像的缩放和颜色空间转换,libavutil库用于被libavformat库和libavcodec库等所使用,用于辅助处理各种任务;
S2:使用emcc命令编译cpp代码,生成经过缩减体积的.wasm和.js文件;
S3:定义关键帧策略:关键帧策略涉及到I帧、P帧和B帧,其中I帧也叫关键帧,它是视频序列中的一种独立帧,它不需要参考其它帧进行解码,I帧通常用来作为视频序列的参考点,后续的B帧和P帧都会参考它进行编码,I帧通常具有较高的压缩比和较大的文件大小,P帧是通过对前面的I帧或P帧进行运动预测得到的帧,P帧需要参考前面的一个或多个帧进行解码,P帧通常比I帧小一些,但是它的压缩比比I帧高,B帧是通过对前面和后面的帧进行运动预测得到的帧,B帧需要参考前面和后面的帧进行解码,B帧通常比P帧更小,它可以更充分地利用前后两个参考帧之间的冗余信息进行编码,假设按照需求场景,我们需要对每个视频提取12张图片,对于少于12张关键帧的视频,采取补齐的策略,在两关键帧之间,以2s为时间间隔进行补齐,如果两关键帧间隔时间不足2s间隔分配,那就按照两关键帧的间隔时间需要补的帧数,计算出需要补齐的帧的所在时间,对于超出12帧关键帧的视频,按照相等的间隔进行选取,比如有24张,那么选取0、2、...23索引的帧为输出帧;
S4:首先基于关键帧进行解包,先调用av_read_frame读取压缩帧,avcodec_send_packet发送压缩包到FFmpeg的解码队列,avcodec_receive_frame从解码队列里成功取出,判断pts位于的时间,符合条件的frame信息则被存储,最终输出视频默认封面图片信息。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,包括以下步骤:
S1:使用Emscripten编译FFmpeg指定库:
S100:首先下载emsdk,执行命令配置并激活已安装的Emscripten;
S101:使用Emscripten的emconfigure命令运行FFmpeg的configure脚本,传入自定义参数以便完成兼容;
S102:抽帧只需要读取视频文件或流、解码、对产生的像素格式转换以及通用工具函数,然后将libavformat库、libavcodec库、libswscale库和libavutil库作为产出wasm资源的编译输入文件;
S2:使用emcc命令编译cpp代码,生成经过缩减体积的.wasm和.js文件;
S3:定义关键帧策略:关键帧策略涉及到I帧、P帧和B帧,假设按照需求场景,我们需要对每个视频提取12张图片,对于少于12张关键帧的视频,采取补齐的策略,在两关键帧之间,以2s为时间间隔进行补齐,如果两关键帧间隔时间不足2s间隔分配,那就按照两关键帧的间隔时间需要补的帧数,计算出需要补齐的帧的所在时间,对于超出12帧关键帧的视频,按照相等的间隔进行选取,比如有24张,那么选取0、2、...23索引的帧为输出帧;
S4:首先基于关键帧进行解包,先调用av_read_frame读取压缩帧,avcodec_send_packet发送压缩包到FFmpeg的解码队列,avcodec_receive_frame从解码队列里成功取出,判断pts位于的时间,符合条件的frame信息则被存储,最终输出视频默认封面图片信息。
2.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S1中,FFmpeg是一个开源的强大的音视频处理工具,可以实现视频和音频的录制、转换、编辑。
3.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S102中,libavformat库负责多媒体文件和流的格式处理。
4.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S102中,libavcodec库负责多种格式的音频和视频的编解码。
5.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S102中,libswscale库负责图像的缩放和颜色空间转换。
6.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S102中,libavutil库用于被libavformat库和libavcodec库等所使用,用于辅助处理各种任务。
7.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S3中,I帧也叫关键帧,它是视频序列中的一种独立帧,它不需要参考其它帧进行解码,I帧通常用来作为视频序列的参考点,后续的B帧和P帧都会参考它进行编码,I帧通常具有较高的压缩比和较大的文件大小。
8.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S3中,P帧是通过对前面的I帧或P帧进行运动预测得到的帧,P帧需要参考前面的一个或多个帧进行解码,P帧通常比I帧小一些,但是它的压缩比比I帧高。
9.根据权利要求1所述的一种智慧病房宣教视频的封面关键帧自动截取方法,其特征在于,所述S3中,B帧是通过对前面和后面的帧进行运动预测得到的帧,B帧需要参考前面和后面的帧进行解码,B帧通常比P帧更小,它可以更充分地利用前后两个参考帧之间的冗余信息进行编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410456221.3A CN118214915A (zh) | 2024-04-16 | 2024-04-16 | 一种智慧病房宣教视频的封面关键帧自动截取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410456221.3A CN118214915A (zh) | 2024-04-16 | 2024-04-16 | 一种智慧病房宣教视频的封面关键帧自动截取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118214915A true CN118214915A (zh) | 2024-06-18 |
Family
ID=91456968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410456221.3A Pending CN118214915A (zh) | 2024-04-16 | 2024-04-16 | 一种智慧病房宣教视频的封面关键帧自动截取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118214915A (zh) |
-
2024
- 2024-04-16 CN CN202410456221.3A patent/CN118214915A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102893602B (zh) | 具有使用嵌入在比特流中的元数据的呈现控制的视频显示 | |
US6947485B2 (en) | System, method and apparatus for an instruction driven digital video processor | |
US6353700B1 (en) | Method and apparatus for playing an MPEG data file backward | |
EP1715696B1 (en) | System, method and apparatus for a variable output video decoder | |
US7295757B2 (en) | Advancing playback of video data based on parameter values of video data | |
US20100033484A1 (en) | Personal-oriented multimedia studio platform apparatus and method for authorization 3d content | |
EP1871098A2 (en) | Processing of removable media that stores full frame video & sub-frame metadata | |
US8368813B2 (en) | Generating device, generating method, and program for reproducing subtitles from a file in which subtitle data relating to subtitles is stored | |
CN101535981A (zh) | 用于在将媒体数据转换到不同数据格式时维持其质量的方法和系统 | |
US20080033978A1 (en) | Program, data processing method, and system of same | |
US20060059509A1 (en) | System and method for embedding commercial information in a video bitstream | |
JP2008518516A (ja) | 先進のビデオコーデックファイルフォーマットにおけるFRExt(FIDELITYRANGEEXTENSIONS)のサポート | |
KR20040091689A (ko) | 비디오 품질 | |
US8699846B2 (en) | Reproducing device, reproducing method, program, and data structure | |
EP1024668B1 (en) | Method and apparatus for a motion compensation instruction generator | |
US20100186464A1 (en) | Laundry refresher unit and laundry treating apparatus having the same | |
EP1881693A1 (en) | System and apparatus for a digital audio/video decoder | |
CN118214915A (zh) | 一种智慧病房宣教视频的封面关键帧自动截取方法 | |
CN102047662B (zh) | 编码器 | |
CN101686307A (zh) | 图像处理装置、图像处理方法和程序 | |
JP2005347955A (ja) | 信号処理装置及び信号処理方法 | |
EP3331245B1 (en) | Opportunistic frame caching transcoder and pre-viewer. | |
KR101246596B1 (ko) | 서비스 영상 전송 시스템, 서버 및 방법 | |
US20240163491A1 (en) | Information processing device and method thereof | |
US8208625B2 (en) | Method and apparatus for capturing unencrypted information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |