CN110191298A - 移动终端及其录屏中的视频旋转方法、计算机存储介质 - Google Patents

移动终端及其录屏中的视频旋转方法、计算机存储介质 Download PDF

Info

Publication number
CN110191298A
CN110191298A CN201910310405.8A CN201910310405A CN110191298A CN 110191298 A CN110191298 A CN 110191298A CN 201910310405 A CN201910310405 A CN 201910310405A CN 110191298 A CN110191298 A CN 110191298A
Authority
CN
China
Prior art keywords
video
component
storage address
video frame
rotation
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.)
Granted
Application number
CN201910310405.8A
Other languages
English (en)
Other versions
CN110191298B (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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information Technology 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201910310405.8A priority Critical patent/CN110191298B/zh
Publication of CN110191298A publication Critical patent/CN110191298A/zh
Application granted granted Critical
Publication of CN110191298B publication Critical patent/CN110191298B/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种移动终端及其录屏中的视频旋转方法、计算机存储介质,该视频旋转方法包括:获取录屏产生的视频帧;基于视频帧,获取视频分量以及每个视频分量的存储地址;在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址。通过上述方法,实现了移动终端的横竖屏旋转功能,画面能无缝跟随终端的屏幕方向旋转,为视频录制、网络直播等产品提供底层技术支持。

Description

移动终端及其录屏中的视频旋转方法、计算机存储介质
技术领域
本申请涉及视频处理技术领域,特别是涉及一种移动终端及其录屏中的视频旋转方法、计算机存储介质。
背景技术
IOS(原名iPhone OS,自IOS 4后改名为IOS)是为一些移动设备所开发的专有移动操作系统,所支持的设备包括iPhone、iPod touch和iPad。
Replaykit是IOS对屏幕进行直播推出的框架,ReplayKit框架作用是从屏幕录制或流式传输视频,以及来自应用和麦克风的音频。使用ReplayKit框架,用户可以从屏幕录制视频,从应用程序和麦克风录制音频。
由于Replaykit返回的视频帧都是采用CVPixelBuffer封装的方式,无论终端屏幕方向是否改变,Replaykit返回的视频帧都是处于竖屏状态。Replaykit工具箱中无法对视频帧做任何旋转。
发明内容
为解决上述问题,本申请提供了一种移动终端及其录屏中的视频旋转方法、计算机存储介质,能够解决录屏中产生的视频帧无法旋转的问题。
本申请采用的一个技术方案是:提供一种录屏中的的视频旋转方法,所述视频旋转方法包括:获取录屏产生的视频帧;基于所述视频帧,获取视频分量以及每个所述视频分量的存储地址;在所述视频帧旋转时,根据预设规则更新每个所述视频分量的存储地址,并将所述视频分量拷贝到更新后的存储地址。
本申请采用的另一个技术方案是:提供一种移动终端,所述移动终端包括:获取模块,用于获取录屏产生的视频帧;处理模块,用于基于所述视频帧,获取视频分量以及每个所述视频分量的存储地址;还用于在所述视频帧旋转时,根据预设规则更新每个所述视频分量的存储地址,并将所述视频分量拷贝到更新后的存储地址。
本申请采用的另一个技术方案是:提供一种移动终端,所述移动终端包括处理器、存储器以及显示屏;其中,所述显示屏用于显示画面,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的视频旋转方法。
本申请采用的另一个技术方案是:提供一种计算机存储介质,所述计算机存储介质存储有程序数据,程序数据在被处理器执行时,用以实现如上述的视频旋转方法。
本申请提供的录屏中的视频旋转方法包括:移动终端获取录屏产生的视频帧;基于视频帧,获取视频分量以及每个视频分量的存储地址;在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址;移动终端在需要旋转视频帧时,根据旋转的角度将每个视频分量的存储地址更新到旋转后的存储地址,然后将视频分量拷贝到更新后的存储地址,从而实现移动终端的横竖屏旋转功能,为视频录制、网络直播等产品提供底层技术支持。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的录屏中的视频旋转方法第一实施例的流程示意图;
图2是本申请提供的录屏中的视频旋转方法第二实施例的流程示意图;
图3是本申请提供的录屏中的视频旋转方法第三实施例的流程示意图;
图4是本申请提供的录屏中的视频旋转方法第四实施例的流程示意图;
图5是本申请移动终端第一实施例的结构示意图;
图6是本申请移动终端第二实施例的结构示意图;
图7是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
参阅图1,图1是本申请提供的录屏中的视频旋转方法第一实施例的流程示意图。图1的视频旋转方法应用于一种具有视频帧收发功能和处理功能的移动终端或者电子设备,其中,移动终端或者电子设备可以搭载IOS操作系统。
本实施例的视频旋转方法包括:
步骤101:获取录屏产生的视频帧。
在IOS操作系统中,ReplayKit开发工具箱的数据返回主要包括音频帧和视频帧。
其中,音频帧包括RP Sample Buffer Type Audio App,即App(application,应用程序)内部音频数据内容,以下简称App音频,和RP Sample Buffer Type Audio App,即麦克风音频数据内容,以下简称Mic音频。
其中,视频帧,即RP Sample Buffer Type Video,为裸视频帧数据内容。
可以理解的,ReplayKit框架是用于进行录屏的一个框架,在录屏的过程中,一方面有来自App的音频,如视频App、游戏App、音乐App等,另一方面又来自麦克风接收的音频,如用户说话。
可选的,初始化时分别创建App音频线程安全列表、Mic音频线程安全列表和视频线程安全列表。在收到ReplayKit音频帧时,在各自的线程中将其插入线程安全列表,使得Replaykit能够迅速返回,尽可能地做到不阻塞ReplayKit的线程。
可以理解的是,ReplayKit的线程只用于读取和写入应用音频、麦克风音频以及视频帧。
可以理解的,App音频、Mic音频以及视频帧读取时,如果出现阻塞情况,则会导致音频停顿与跳跃问题,视频帧不连续与画面来回跳问题,所以应当确保不阻塞ReplayKit的线程。
可选的,在一实施例中,在接收到App音频时,插入至App音频线程安全列表;在接收到Mic音频时,插入至Mic音频线程安全列表;在接收到视频帧时,插入至视频线程安全列表。
具体地,在初始化时创建视频线程安全列表,在收到ReplayKit的视频帧时,在接收线程中将视频帧插入视频线程安全列表,使得Replaykit能够迅速返回,尽可能地做到不阻塞ReplayKit的线程。
可以进一步理解的为,获取到录屏产生的应用音频、麦克风音频和视频帧,将录屏产生的应用音频和麦克风音频交给独立的第一线程,将录屏产生的视频帧交给独立的第二线程。
进一步地,ReplayKit工具箱中返回的视频帧中存在一个标记位,移动终端读取标记位的值,并转换为对应的横竖屏值。
由于ReplayKit工具箱中返回的视频帧采用CVPixelBuffer的封装方式,大小为终端屏幕分辨率按照16对齐后的数值,数据格式为YUVNV12(420f)。不管移动终端屏幕方向如何,ReplayKit工具箱中返回的视频帧永远处于竖屏状态,即由ReplayKit工具箱返回的视频帧的标记位转换的横竖屏值为一固定值。
因此,在获取ReplayKit工具箱中返回的视频帧后,移动终端可以根据横竖屏值判断终端屏幕的状态。若终端屏幕的状态与视频帧的横竖屏值对应的屏幕状态不同,则基于终端屏幕的状态调整视频帧的横竖屏值,并根据调整后的横竖屏值设置视频帧的横竖屏状态。
步骤102:基于视频帧,获取视频分量以及每个视频分量的存储地址。
其中,移动终端对每个视频帧进行分析,得到每个视频帧的视频分量以及每个视频分量对应的存储地址。
具体地,每个视频帧的视频分量包括明亮度(Luminance或Luma)分量Y、第一色度(Chrominance或Chroma)分量U以及第二色度分量V。其中,明亮度分量即灰度值;第一色度分量和第二色度分量作用是描述影像色彩及饱和度,用于指定像素的颜色。
视频帧的明亮度分量、第一色度分量以及第二色度分量按照顺序存储到存储地址中,具体请参见以下地址表:
Y1 Y2 Y3 Y4 Y5 Y6
Y7 Y8 Y9 Y10 Y11 Y12
Y13 Y14 Y15 Y16 Y17 Y18
Y19 Y20 Y21 Y22 Y23 Y24
U1 U2 U3 U4 U5 U6
V1 V2 V3 V4 V5 V6
步骤103:在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址。
其中,当视频帧需要旋转时,移动终端根据预设规则调整明亮度分量、第一色度分量以及第二色度分量的存储地址,并将明亮度分量、第一色度分量以及第二色度分量拷贝到调整后的存储地址。在本实施例中,调整的方式可以为旋转、平移、置换、翻转等方式。例如,当移动终端将明亮度分量、第一色度分量以及第二色度分量的存储地址对称翻转时,明亮度分量、第一色度分量以及第二色度分量拷贝到翻转后的存储地址。其中,地址表可以由上表更新为:
Y6 Y5 Y4 Y3 Y2 Y1
Y12 Y11 Y10 Y9 Y8 Y7
Y18 Y17 Y16 Y15 Y14 Y13
Y24 Y23 Y22 Y21 Y20 Y19
U6 U5 U4 U3 U2 U1
V6 V5 V4 V3 V2 V1
在上述实施例中,移动终端获取录屏产生的视频帧;基于视频帧,获取视频分量以及每个视频分量的存储地址;在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址;移动终端在需要旋转视频帧时,根据旋转的角度将每个视频分量的存储地址更新到旋转后的存储地址,然后将视频分量拷贝到更新后的存储地址,从而实现移动终端的横竖屏旋转功能,为视频录制、网络直播等产品提供底层技术支持。
对于图1所示实施例中的步骤101之后,本申请进一步提出了另一种具体的方法。具体请参阅图2,图2是本申请提供的录屏中的视频旋转方法第二实施例的流程示意图。
具体在上述实施例中,ReplayKit工具箱中返回的视频是采用CVPixelBuffer封装的YUV NV12(420f)格式,这种格式中明亮度分量连续存储,第一色度分量以及第二色度分量交替存储。但是420f格式的视频帧由于采用第一色度分量以及第二色度分量交替存储的存储方式,这种格式的视频帧不便于旋转处理。因此在对视频帧进行旋转处理之前,移动终端需要对视频帧的格式进行转换,以利于视频帧旋转处理。
为了对ReplayKit工具箱返回的视频帧进行格式转换,本实施例的视频旋转方法具体提出了以下方法:
步骤201:判断视频帧的视频格式是否与预设视频格式相同。
其中,移动终端设置一预设视频格式。预设视频格式可以为I420(f420)格式,I420(f420)格式中连续存储明亮度分量,而后连续存储第一色度分量,最后连续存储第二色度分量。在旋转时,只需要对连续存储的明亮度分量、第一色度分量以及第二色度分量分别应用算法进行旋转。
具体地,I420(f420)格式中三个视频分量均为平面格式,即分别存在三个Byte型数组中。在其它实施例中,移动终端设置的预设视频格式也可以为其它平面格式,例如YV12等。
移动终端获取需要进行旋转处理的视频帧后,判断视频帧的视频格式是否与预设视频格式相同。若是,则移动终端可以直接对该视频帧进行旋转处理;若否,则进入步骤S202。
步骤202:基于预设视频格式对视频帧的视频格式进行转换。
其中,移动终端可以将ReplayKit工具箱中返回的视频帧的视频格式由NV12(420f)格式转换为预设视频格式,即I420(f420)格式。
具体地,移动终端将NV12格式的Y通道转换为I420格式的Y通道;将NV12格式的U通道拆分出来,转换为I420的U通道;将NV12的V通道拆分出来,转换为I420的V通道,从而将视频帧的格式转换为I420格式。
在其它实施例中,移动终端可以同时对ReplayKit工具箱中返回的视频帧进行格式转换和旋转处理。例如,移动终端将NV12的Y通道旋转为I420的Y通道;将NV12的U通道拆分出来,旋转为I420的U通道;将NV12的V通道拆分出来,旋转为I420的V通道。
上述算法和优化处理均可以通过Objective-C或C语言代码直接实现,也可以通过移动终端中ARM指令集中的NEON指令集按照8位块进行处理。
在本实施例中,移动终端将ReplayKit工具箱中返回的视频帧转换为预设视频格式,预设视频格式中连续存储明亮度分量,而后连续存储第一色度分量,最后连续存储第二色度分量;在旋转时,只需要对连续存储的明亮度分量、第一色度分量以及第二色度分量分别应用算法进行旋转,便于对视频帧做旋转处理。
对于图1所示实施例中的步骤S103,本申请进一步提出了另一种具体的方法。具体请参阅图3,图3是本申请提供的录屏中的视频旋转方法第三实施例的流程示意图。
本实施例的视频旋转方法具体提出了以下方法:
步骤301:在视频帧顺时针旋转90°或270°时,根据90°或270°更新明亮度分量、第一色度分量以及第二色度分量的存储地址。
其中,当视频帧需要顺时针旋转90°时,移动终端根据顺时针90°更新明亮度分量、第一色度分量以及第二色度分量的存储地址。
具体地,移动终端分别定位到明亮度分量、第一色度分量和第二色度分量,旋转处理前的三种视频分量的存储地址的原始地址表如下:
Y1 Y2 Y3 Y4 Y5 Y6
Y7 Y8 Y9 Y10 Y11 Y12
Y13 Y14 Y15 Y16 Y17 Y18
Y19 Y20 Y21 Y22 Y23 Y24
U1 U2 U3 U4 U5 U6
V1 V2 V3 V4 V5 V6
移动终端基于上述原始地址表对三种视频分量的存储地址进行顺时针90°旋转,旋转后的地址表由上表更新为:
若需要将视频帧顺时针旋转270°时,移动终端基于上述原始地址表对三种视频分量的存储地址进行顺时针270°旋转,旋转后的地址表由上表更新为:
Y1 Y7 Y13 Y19 U1 V1
Y2 Y8 Y14 Y20 U2 V2
Y3 Y9 Y15 Y21 U3 V3
Y4 Y10 Y16 Y22 U4 V4
Y5 Y11 Y17 Y23 U5 V5
Y6 Y12 Y18 Y24 U6 V6
进一步地,若需要将视频帧顺时针旋转180°时,移动终端基于上述原始地址表直接对三种视频分量的存储进行上下置换,以更新明亮度分量、第一色度分量以及第二色度分量的存储地址,旋转后的地址表由上表更新为:
V1 V2 V3 V4 V5 V6
U1 U2 U3 U4 U5 U6
Y19 Y20 Y21 Y22 Y23 Y24
Y13 Y14 Y15 Y16 Y17 Y18
Y7 Y8 Y9 Y10 Y11 Y12
Y1 Y2 Y3 Y4 Y5 Y6
步骤302:将明亮度分量、第一色度分量以及第二色度分量拷贝到更新后的存储地址。
其中,旋转后的地址表更新完成后,移动终端基于更新后的存储地址,重新将明亮度分量、第一色度分量以及第二色度分量拷贝到更新后的存储地址。
实现上述旋转处理步骤,移动终端可以通过Objective-C或C语言代码直接实现,也可以通过移动终端中ARM指令集中的NEON指令集按照8位块进行处理。
在本实施例中,移动终端基于不同的视频旋转角度更新存储地址的地址表,并基于更新后的地址表将明亮度分量、第一色度分量以及第二色度分量拷贝到更新后的存储地址,以完成对于视频帧的旋转处理。
对于图1所示实施例中的步骤S103之后,本申请进一步提出了另一种具体的方法。具体地请参阅图4,图4是本申请提供的录屏中的视频旋转方法第四实施例的流程示意图。
具体在上述实施例中,在ReplayKit工具箱中,如果屏幕画面完全静止,则不会返回视频帧。此时,移动终端只需要重复发送上一个视频帧。而由于是重复发送上一个视频帧,所以移动终端默认会对上一个视频帧进行编码。重复发送同一视频帧时,若每次发送移动终端都需要对视频帧进行格式转换和旋转处理,处理器需要重复多次相同的工作,这就会造成资源浪费。
为了提高资源利用率,本实施例的视频旋转方法具体提出了以下方法:
步骤401:在预设时间内判断是否获取新的视频帧。
其中,移动终端在预设时间内判断是否接收到ReplayKit工具箱返回的新的视频帧。若没有,则进入步骤S402。
步骤402:重复发送经过旋转处理后的视频帧。
其中,在上述视频旋转方法中,移动终端可以存储经过旋转处理后的视频帧。若出现终端屏幕处于完全静止状态时,移动终端采用重复发送内存缓存列表的列表头中的视频帧的补帧策略。此时,移动终端重复发送经过旋转处理后的视频帧,而不同对列表头的视频帧重新进行格式转换和旋转处理。
在本实施例中,当移动终端检测到终端屏幕画面完全静止时,移动终端采用重复发送内存缓存列表的列表头中的视频帧的补帧策略;此时,移动终端可以重复发送已经经过旋转处理的视频帧,避免重复的格式转换和旋转处理工作,减少处理器运算量和资源浪费。
为实现上述实施例的视频旋转方法,本申请提供了一种移动终端,具体请参阅图5,图5是本申请移动终端第一实施例的结构示意图。该移动终端50的包括获取模块51和处理模块52。
其中,获取模块51,用于获取录屏产生的视频帧。
处理模块52,用于基于视频帧,获取视频分量以及每个视频分量的存储地址;还用于在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址。
请继续参阅图6,图6是本申请移动终端第二实施例的结构示意图,该移动终端60包括处理器61、存储器62以及显示屏63。
该移动终端60可以是以IOS为操作系统的终端,如手机、平板电脑、智能穿戴设备等等,其中,该显示屏63可以是液晶显示屏(LCD),也可以是有机发光二极管显示屏(OLED),其用于显示视频画面,如移动终端60中App的操作界面,或者系统的操作界面。
其中,存储器62中存储有程序数据,处理器61用于执行该程序数据以实现以下的方法步骤:获取录屏产生的视频帧;基于视频帧,获取视频分量以及每个视频分量的存储地址;在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址。
请继续参阅图7,图7是本申请提供的计算机存储介质一实施例的结构示意图,该计算机存储介质70中存储有程序数据71,该程序数据71在被处理器执行时,用以实现以下的方法步骤:
获取录屏产生的视频帧;基于视频帧,获取视频分量以及每个视频分量的存储地址;在视频帧旋转时,根据预设规则更新每个视频分量的存储地址,并将视频分量拷贝到更新后的存储地址。
本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种录屏中的视频旋转方法,其特征在于,所述视频旋转方法包括:
获取录屏产生的视频帧;
基于所述视频帧,获取视频分量以及每个所述视频分量的存储地址;
在所述视频帧旋转时,根据预设规则更新每个所述视频分量的存储地址,并将所述视频分量拷贝到更新后的存储地址。
2.根据权利要求1所述的视频旋转方法,其特征在于,
所述视频分量包括明亮度分量、第一色度分量以及第二色度分量;
所述获取视频分量以及每个所述视频分量的存储地址的步骤,进一步包括:
按照顺序将所述视频帧的所述明亮度分量、所述第一色度分量以及所述第二色度分量存储到所述存储地址。
3.根据权利要求2所述的视频旋转方法,其特征在于,所述在所述视频帧旋转时,根据预设规则更新每个所述视频分量的存储地址,并将所述视频分量拷贝到更新后的存储地址的步骤,进一步包括:
在所述视频帧顺时针旋转90°或270°时,根据90°或270°更新所述明亮度分量、所述第一色度分量以及所述第二色度分量的存储地址;
将所述明亮度分量、所述第一色度分量以及所述第二色度分量拷贝到更新后的存储地址。
4.根据权利要求2所述的视频旋转方法,其特征在于,所述根据预设规则将每个所述视频分量拷贝到对应旋转的所述存储地址的步骤,进一步包括:
若要将所述视频帧顺时针旋转180°时,将所述明亮度分量、所述第一色度分量以及所述第二色度分量的存储地址上下置换,以更新所述明亮度分量、所述第一色度分量以及所述第二色度分量的存储地址;
将所述明亮度分量、所述第一色度分量以及所述第二色度分量拷贝到更新后的存储地址。
5.根据权利要求1所述的视频旋转方法,其特征在于,所述获取录屏产生的视频帧的步骤之后,还包括:
判断所述视频帧的视频格式是否与预设视频格式相同;
若否,则基于所述预设视频格式对所述视频帧的视频格式进行转换;其中,所述预设视频格式的视频帧中,每个所述视频分量按照顺序分别连续存储在对应的所述存储地址。
6.根据权利要求1所述的视频旋转方法,其特征在于,所述在所述视频帧旋转时,根据预设规则更新每个所述视频分量的存储地址的步骤,进一步包括:
判断所述视频帧的视频格式是否与预设视频格式相同;
若否,则分别提取每个所述视频分量的存储地址,并基于所述预设视频格式和所述预设规则更新每个所述视频分量的存储地址,以使每个所述视频分量分别连续存储在对应的所述存储地址。
7.根据权利要求1所述的视频旋转方法,其特征在于,所述获取录屏产生的视频帧之后,还包括:
获取所述视频帧的标记位,并将所述标记位转换为对应的横竖屏值;
基于终端屏幕状态调整所述横竖屏值,并根据调整后的所述横竖屏值设置所述视频帧的横竖屏状态。
8.根据权利要求1所述的视频旋转方法,其特征在于,所述将所述视频分量拷贝到更新后的存储地址的步骤之后,所述视频旋转方法还包括:
在预设时间内判断是否获取新的视频帧;
若否,则重复发送经过旋转处理后的所述视频帧。
9.一种移动终端,其特征在于,所述移动终端包括:
获取模块,用于获取录屏产生的视频帧;
处理模块,用于基于所述视频帧,获取视频分量以及每个所述视频分量的存储地址;还用于在所述视频帧旋转时,根据预设规则更新每个所述视频分量的存储地址,并将所述视频分量拷贝到更新后的存储地址。
10.一种移动终端,其特征在于,所述移动终端包括处理器、存储器以及显示屏;其中,所述显示屏用于显示画面,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如权利要求1-8任一项所述的视频旋转方法。
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序数据,所述程序数据在被处理器执行时,用于实现如权利要求1-8任一项所述的视频旋转方法。
CN201910310405.8A 2019-04-17 2019-04-17 移动终端及其录屏中的视频旋转方法、计算机存储介质 Active CN110191298B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910310405.8A CN110191298B (zh) 2019-04-17 2019-04-17 移动终端及其录屏中的视频旋转方法、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910310405.8A CN110191298B (zh) 2019-04-17 2019-04-17 移动终端及其录屏中的视频旋转方法、计算机存储介质

Publications (2)

Publication Number Publication Date
CN110191298A true CN110191298A (zh) 2019-08-30
CN110191298B CN110191298B (zh) 2022-05-17

Family

ID=67714685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910310405.8A Active CN110191298B (zh) 2019-04-17 2019-04-17 移动终端及其录屏中的视频旋转方法、计算机存储介质

Country Status (1)

Country Link
CN (1) CN110191298B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002084414A (ja) * 2000-07-05 2002-03-22 Canon Inc 画像処理方法及び装置及びプログラム並びに記憶媒体
JP2006211699A (ja) * 2006-02-28 2006-08-10 Megachips Lsi Solutions Inc 画像入力装置における信号処理回路
US20100104221A1 (en) * 2008-10-29 2010-04-29 Clifford Yeung Method and system for frame rotation within a jpeg compressed pipeline
CN102054264A (zh) * 2009-11-03 2011-05-11 三星电子株式会社 图像处理器和电子装置以及图像处理方法
CN102572432A (zh) * 2010-12-23 2012-07-11 马维尔国际贸易有限公司 用于视频帧旋转的方法和装置
CN103679630A (zh) * 2012-09-03 2014-03-26 三星电子(中国)研发中心 一种视频旋转方法
CN106817545A (zh) * 2016-12-30 2017-06-09 成都傅立叶电子科技有限公司 一种快速多分辨率视频图像镜像旋转处理系统
CN106846255A (zh) * 2017-02-23 2017-06-13 北京普及芯科技有限公司 图像旋转实现方法及装置
CN108076303A (zh) * 2016-11-11 2018-05-25 中兴通讯股份有限公司 一种视频图像显示方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002084414A (ja) * 2000-07-05 2002-03-22 Canon Inc 画像処理方法及び装置及びプログラム並びに記憶媒体
JP2006211699A (ja) * 2006-02-28 2006-08-10 Megachips Lsi Solutions Inc 画像入力装置における信号処理回路
US20100104221A1 (en) * 2008-10-29 2010-04-29 Clifford Yeung Method and system for frame rotation within a jpeg compressed pipeline
CN102054264A (zh) * 2009-11-03 2011-05-11 三星电子株式会社 图像处理器和电子装置以及图像处理方法
CN102572432A (zh) * 2010-12-23 2012-07-11 马维尔国际贸易有限公司 用于视频帧旋转的方法和装置
CN103679630A (zh) * 2012-09-03 2014-03-26 三星电子(中国)研发中心 一种视频旋转方法
CN108076303A (zh) * 2016-11-11 2018-05-25 中兴通讯股份有限公司 一种视频图像显示方法和装置
CN106817545A (zh) * 2016-12-30 2017-06-09 成都傅立叶电子科技有限公司 一种快速多分辨率视频图像镜像旋转处理系统
CN106846255A (zh) * 2017-02-23 2017-06-13 北京普及芯科技有限公司 图像旋转实现方法及装置

Also Published As

Publication number Publication date
CN110191298B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
US10636113B2 (en) Method and apparatus for displaying picture content in application, and storage medium
JP4782828B2 (ja) 表示におけるz−順序エレメントの精密なグレイン制御
CN104079652B (zh) 一种html 广告文件的制作和播放方法
CN103339595A (zh) 用于显示图像的无线源与汇点装置之间的数据交换
CN107690074A (zh) 视频编码和还原方法、视频播放系统以及相关设备
JP2008542919A5 (zh)
CN106339061A (zh) 一种移动终端及其运行应用程序的方法
CN102044058B (zh) 一种在电子设备中处理图片的方法、系统及电子设备
CN105701165A (zh) 浏览器模式切换方法及切换装置
JP5792326B2 (ja) 読取サービスの提供方法、コンテンツ提供サーバ及びシステム
JP2008233134A (ja) 表示制御プログラムおよび表示制御装置
CN110191298A (zh) 移动终端及其录屏中的视频旋转方法、计算机存储介质
CN101127847A (zh) 一种在屏显示的合成方法及合成装置
CN112347049A (zh) 文件信息显示方法、终端设备以及计算机可读存储介质
CN103324740B (zh) 一种图片显示方法、装置及机顶盒
EP4206898A1 (en) Mirroring method, apparatus and system
EP2530640B1 (en) Image copying method and device
CN116700943A (zh) 一种视频播放系统、方法以及电子设备
CN105378645A (zh) 用于多监视器环境的虚拟化应用
CN104125492A (zh) 视频播放方法及装置
CN101656851B (zh) 一种节目信息的显示方法和装置
JP2011033850A (ja) 画像閲覧装置
CN104991933A (zh) 一种图片显示方法及装置
KR20150032059A (ko) 반응형 컨텐츠 제공 시스템 및 방법
JP2007025526A (ja) イメージコンテンツの提供とイメージの描画を行うシステム、および方法

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