一种基于CPU的大屏字幕文字的显示方法及装置制造方法及图纸

技术编号:37871461 阅读:18 留言:0更新日期:2023-06-15 21:00
本发明专利技术涉及一种基于CPU的大屏字幕的显示方法及装置,包括:字幕编辑发送程序选择字幕模式,填写好标题、内容和字幕发送时间后发送到字幕计算程序;字幕计算程序计算标题和内容显示的位置,根据所有内容的长度和字幕时间,计算每一帧画面中文字移动的距离,并将计算的字幕参数发送给字幕显示程序;字幕显示程序在播放媒体窗口上方绘制一个与窗口大小和位置相同的透明窗口,并将接收的字幕计算程序计算的缓冲器显示的透明图片和显示位置绘制到透明窗口上。本发明专利技术基于cpu计算字幕的显示位置,控制字幕的显示时间,不需要独立的高级显卡,而且显示字幕的方式基于独立透明窗口,能够实现视频、图片、ppt和文档等所有以窗口显示的每条播放。条播放。条播放。

【技术实现步骤摘要】
一种基于CPU的大屏字幕文字的显示方法及装置


[0001]本专利技术涉及音视频处理
,尤其涉及一种基于CPU的大屏字幕文字的显示方法及装置。

技术介绍

[0002]目前户外大屏视频播放器只支持ass或者srt字幕或内嵌字幕加载,不利于实时发布通告以字幕的方式显示,另外户外大屏要求支持图片和ppt播放并截图,在这种情况下显示字幕则更为困难,因此,如何解决目前现有户外大屏除了视频外,图片和ppt这类不支持字幕的媒体文字也能进行字幕加载的问题。
[0003]需要说明的是,在上述
技术介绍
部分公开的信息只用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的缺点,提供了一种基于CPU的大屏字幕的显示方法及装置,解决目前现有户外大屏除了视频外,图片和ppt这类不支持字幕的媒体文字也能进行字幕加载的问题。
[0005]本专利技术的目的通过以下技术方案来实现:一种基于CPU的大屏字幕的显示方法,所述显示方法包括:
[0006]字幕编辑发送步骤:在启动播放器后通过任意一台互联网主机启动字幕编辑发送程序,选择字幕模式,填写好标题、内容和字幕发送时间后发送到字幕计算程序;
[0007]字幕计算步骤:字幕计算程序根据接收到的标题和内容,以及播放器分辨率计算标题和内容显示的位置,根据所有内容的长度和字幕时间,计算每一帧画面中文字移动的距离,并将计算的字幕参数发送给字幕显示程序;
[0008]字幕显示步骤:字幕显示程序通过gdi绘图技术在播放媒体窗口上方绘制一个与窗口大小和位置相同的透明窗口,并将接收的字幕计算程序计算的缓冲器显示的透明图片和显示位置绘制到透明窗口上,进而实现播放媒体窗口上显示文字。
[0009]所述字幕计算步骤具体包括:
[0010]获取播放器窗口的宽度w和高度h,根据配置的字体大小计算在窗口中一行字所占高度line_hight,通过h/line_hight计算得到窗口能显示的文字行数line_count,在内存中创建数量为两倍line_count的透明图片,透明图片的宽度为播放器窗口的宽度w,高度为line_hight,将透明图片作为带顺序的缓冲区,以供绘制文字使用;
[0011]当接收到字幕参数后,字幕计算程序从透明图片缓冲区中取出一个透明图片,根据配置的字体大小逐个在取出的透明图片上写入字幕参数中的内容文字,如果写入的文字达到播放器的宽度w,则按照顺序取出缓冲区中的下一个透明图片写入下一行文字,直到缓冲区的透明图片都写满或者字幕内容已经写完,字幕计算程序获取字幕内容,如果在屏幕中完全显示整体字幕内容所占据的行数,则写入宽度为w,高度为line_hight的临时图片,
换行一次并计数一次,直到所有字幕内容写完,得到字幕内容的总行数tocal_count;
[0012]字幕计算程序根据接收到的字幕参数中的显示时间t,以及总行数total_count,屏幕高度h和字幕配置帧率,计算字幕在显示过程中每次刷新字幕时文字移动的位置,并根据文字移动的位置,得到缓冲区中已经绘制文字的透明图片。
[0013]所述字幕显示步骤具体包括:
[0014]字幕显示程序建立一个窗口,采用rgba四通道为背景色,将a通道值设置为0,则在窗口显示效果为透明,根据字幕文字建立一个rgba四通道的图片,将图片的a通道值设置为0,并保存在内存中;
[0015]使用不透明的像素在透明图片上绘制文字,没有绘制文字的地方为透明的,将透明窗口的背景改为带文字的透明图片,实现带文字的透明窗口效果。
[0016]所述显示方法还包括字幕截图步骤,所述字幕截图步骤包括:
[0017]字幕截图程序获取播放器播放视频媒体的图片,收到字幕计算程序计算的每一帧文字和文字位置,并通过gdi绘图技术将文字绘制到获取的透明图片上,得到截图,并将截图传输到监控平台。
[0018]一种基于CPU的大屏字幕的显示装置,它包括部署在播放器中的字幕显示模块和字幕计算模块,以及与互联网任意主机连接的字幕编辑发送模块,所述播放器运行于大屏主机,所述字幕编辑发送模块通过通信协议与字幕计算模块连接;
[0019]所述字幕编辑发送模块用于在启动播放器后通过任意一台互联网主机启动字幕编辑发送程序,选择字幕模式,填写好标题、内容和字幕发送时间后发送到字幕计算程序;
[0020]所述字幕计算模块用于通过字幕计算程序根据接收到的标题和内容,以及播放器分辨率计算标题和内容显示的位置,根据所有内容的长度和字幕时间,计算每一帧画面中文字移动的距离,并将计算的字幕参数发送给字幕显示程序;
[0021]所述字幕显示模块用于通过字幕显示程序根据gdi绘图技术在播放媒体窗口上方绘制一个与窗口大小和位置相同的透明窗口,并将接收的字幕计算程序计算的缓冲器显示的透明图片和显示位置绘制到透明窗口上,进而实现播放媒体窗口上显示文字。
[0022]还包括部署在所述播放器内的字幕截图模块,所述字幕截图模块用于通过字幕截图程序获取播放器播放视频媒体的图片,收到字幕计算程序计算的每一帧文字和文字位置,并通过gdi绘图技术将文字绘制到获取的透明图片上,得到截图,并将截图传输到监控平台。
[0023]本专利技术具有以下优点:一种基于CPU的大屏字幕的显示方法及装置,基于cpu计算字幕的显示位置,控制字幕的显示时间,不需要独立的高级显卡,而且显示字幕的方式基于独立透明窗口,能够实现视频、图片、ppt和文档等所有以窗口显示的每条播放。
附图说明
[0024]图1为本专利技术方法的流程示意图。
具体实施方式
[0025]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下结合附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本专利技术做进一步的描述。
[0026]本专利技术涉及一种基于CPU的大屏字幕文字的显示方法,其能实现在视频播放、图片播放、ppt播放的时候,给播放的媒体窗口添加字幕,并截取带字幕的图片;其包括软件模块,软件模块包括字幕显示程序,字幕计算程序,字幕截图程序,字幕编辑发送程序。整个软件模块是播放器的一部分,要结合播放器一起使用,字幕显示程序,字幕计算程序,字幕截图程序这三个部署在播放器中,播放器运行于大屏主机。字幕编辑发送程序运行在连接互联网的任意主机,通过tcp连接到字幕计算程序。
[0027]如图1所示,本专利技术的具体实现步骤如下:
[0028本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CPU的大屏字幕的显示方法,其特征在于:所述显示方法包括:字幕编辑发送步骤:在启动播放器后通过任意一台互联网主机启动字幕编辑发送程序,选择字幕模式,填写好标题、内容和字幕发送时间后发送到字幕计算程序;字幕计算步骤:字幕计算程序根据接收到的标题和内容,以及播放器分辨率计算标题和内容显示的位置,根据所有内容的长度和字幕时间,计算每一帧画面中文字移动的距离,并将计算的字幕参数发送给字幕显示程序;字幕显示步骤:字幕显示程序通过gdi绘图技术在播放媒体窗口上方绘制一个与窗口大小和位置相同的透明窗口,并将接收的字幕计算程序计算的缓冲器显示的透明图片和显示位置绘制到透明窗口上,进而实现播放媒体窗口上显示文字。2.根据权利要求1所述的一种基于CPU的大屏字幕的显示方法,其特征在于:所述字幕计算步骤具体包括:获取播放器窗口的宽度w和高度h,根据配置的字体大小计算在窗口中一行字所占高度line_hight,通过h/line_hight计算得到窗口能显示的文字行数line_count,在内存中创建数量为两倍line_count的透明图片,透明图片的宽度为播放器窗口的宽度w,高度为line_hight,将透明图片作为带顺序的缓冲区,以供绘制文字使用;当接收到字幕参数后,字幕计算程序从透明图片缓冲区中取出一个透明图片,根据配置的字体大小逐个在取出的透明图片上写入字幕参数中的内容文字,如果写入的文字达到播放器的宽度w,则按照顺序取出缓冲区中的下一个透明图片写入下一行文字,直到缓冲区的透明图片都写满或者字幕内容已经写完,字幕计算程序获取字幕内容,如果在屏幕中完全显示整体字幕内容所占据的行数,则写入宽度为w,高度为line_hight的临时图片,换行一次并计数一次,直到所有字幕内容写完,得到字幕内容的总行数tocal_count;字幕计算程序根据接收到的字幕参数中的显示时间t,以及总行数total_count,屏幕高度h和字幕配置帧率,计算字幕在显示过程中每次刷新字幕时文字移动的位置,并根据文字移动的位置,得到缓冲区中已经绘制文字的透明图片。3.根据权利要求1所述的一种基于CPU的大屏字幕的显示方法,其...

【专利技术属性】
技术研发人员:宋小民杨益红林羽蓝黄颖
申请(专利权)人:四川新视创伟超高清科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1