WO2018054375A1 - 直播信息的处理方法、装置及存储介质 - Google Patents

直播信息的处理方法、装置及存储介质 Download PDF

Info

Publication number
WO2018054375A1
WO2018054375A1 PCT/CN2017/103202 CN2017103202W WO2018054375A1 WO 2018054375 A1 WO2018054375 A1 WO 2018054375A1 CN 2017103202 W CN2017103202 W CN 2017103202W WO 2018054375 A1 WO2018054375 A1 WO 2018054375A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
frame image
current
information
current frame
Prior art date
Application number
PCT/CN2017/103202
Other languages
English (en)
French (fr)
Inventor
余学亮
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2018054375A1 publication Critical patent/WO2018054375A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Definitions

  • Key frame The first frame data of the video compression coding sequence group is used to play and decode the subsequent compressed frame, which serves as a reference function. If there is no key frame, the playback end decoder cannot decode and restore the subsequent image normally, which will result in decoding the image data. Abnormal, showing the flower screen, and the key frame also plays a role in dragging and positioning the video segment at a certain point in time.
  • H264 encodes the basic data unit output after compression.
  • step S306 when it is detected that the current acquisition direction does not coincide with the predetermined acquisition direction, the data of the current frame image is rotated, and the frame content and the memory representation of the data of the current frame image may be processed.
  • Step S404 Obtain a current collection direction of the current frame image, where the current collection direction is a screen orientation when the live end captures the current frame image.
  • the switching of the shooting direction on the live shooting end and the streaming direction switching of the image data of the playing end achieve the maximum degree of synchronization
  • the video stream stream frame level adjustment is used instead of communicating with the background server for information transmission, because communication with the background is performed.
  • Real-time performance will be greatly reduced, the experience will be very bad, and the live end may switch between horizontal and vertical screens, but due to the server Communication delay, it may take several seconds to reach the playback end to correct the reaction, and the experience is greatly reduced.
  • the video stream frame level adjustment of the present application the data of the frame image can be processed in time, and the shooting direction can be switched on the live end. At the same time, the data of the received current frame image is rotated in time to synchronize the switching between the live end and the play end.
  • the user may input direction information through an input item, such as inputting direction information for setting a predetermined collection direction before starting the live broadcast on the live broadcast end.
  • the live broadcast terminal can send the direction information to the live broadcast server, and the live broadcast server sends the direction information to the corresponding broadcast terminal.
  • the live broadcast end records the collected information according to the memory corresponding to the pre-acquisition direction.
  • the predetermined collection direction is the vertical screen direction
  • the memory representation of the frame image included in the live stream information collected by the live broadcast end is performed. It can be 720*1280*x, where x is the placeholder of one pixel information; if the predetermined acquisition direction is the horizontal direction, the memory representation of the frame image included in the live stream information collected by the live end can be 1280*720* x.
  • the data after encoding and encapsulation no longer exists according to the data form, and is received at the playing end.
  • the information can be stored in the form of the data.
  • the information used to indicate the current collection direction includes: a mark of the screen direction of the live broadcast end, and the mark of the screen direction can use 1 byte, and the current capture direction is indicated by a 1-byte screen direction mark, which can save space. And in the process of information transmission, you can save traffic.
  • the predetermined acquisition direction is the screen vertical screen and the main control key is in the downward direction
  • the determined current acquisition direction is the screen horizontal screen and the main control key is in the right direction
  • it is determined that the current acquisition direction is inconsistent with the predetermined acquisition direction and then The data of the current frame image is rotated.
  • the direction of the screen vertical screen and the main control key is recorded as direction one; the horizontal screen of the screen and the main control key are recorded as the direction 2 in the right direction, and the angle of the angle BAC is determined by the above determination method. It is 90°, wherein the angle of rotation between direction one and direction two is 90°.
  • the decoded information may be rotated according to a rotation angle to obtain data of the rotated image.
  • the method may further include: adjusting the display ratio of the current frame image according to the width and height information of the rotated current frame image and the screen information of the playing end. / or add padding pixels on the screen of the player to adapt the current frame image to the screen of the player.
  • the image is not rotated, directly scaled and/or Fill the pixels to achieve the correct playback of the picture.
  • the method may further include: if the previous acquisition direction of the previous frame image of the current frame image is different from the current acquisition direction of the current frame image, then after the data of the current frame image is rotated, smoothing is adopted.
  • the transition display mode displays the current frame image.
  • the two mobile phone mobile terminals (the live broadcast end and the play view end) switch the horizontal and vertical screens to each other, and the playback experience is consistent, because the image screen selection is involved, and the viewer suddenly sees from the player.
  • the horizontal screen instantly switches to the vertical screen or instantly switches from the vertical screen to the horizontal screen (because the real-time is frame-level control).
  • the user on the play end can maximize the consistent playback of the correct image in any horizontal and vertical screen mode, and of course meet the same direction as the live broadcaster. It will be the best experience for full screen.
  • the above-mentioned filled pixels may be black pixels. According to the above embodiment, by proportional adjustment, the player automatically adds black edges to the left and right to maintain the original video ratio.
  • the vertical end of the live broadcast can determine that the predetermined acquisition direction is the vertical screen direction.
  • the vertical screen is played, and the current acquisition direction and the predetermined acquisition direction of the current frame image detected by the playback end are determined. It has always been consistent.
  • the playback terminal can directly play the received live stream information to the screen of the playback end. For example, when the screen is horizontally displayed, the image can be scaled and filled with pixels, such as directly playing or zooming in the vertical screen.
  • the playback end rotates the data of the received current frame image.
  • the data of the rotated current frame image can be directly played.
  • the image can be scaled and filled with pixels (such as the black edge shown in FIG. 6), such as vertical. Play or zoom play while the screen is playing.
  • FIG. 7 shows a change of the vertical screen playing under the non-adaptive screen adaptation of the playing end in the related art, and related technologies.
  • the change of the horizontal screen playback in the example scheme is as shown in Fig. 7. Only the scheme of the present application, regardless of whether the live end or the playback end adjusts the switching horizontal and vertical screens, is a consistent image picture and a consistent experience.
  • the live broadcast terminal can switch and adjust the screen shooting direction at any time, and the user on the playback end can automatically recognize the correct image screen without adjusting the screen, and when the live broadcast user switches the direction of the live horizontal and vertical screen during the live broadcast, the terminal user still does not need to select Adjust the screen of the phone or adjust its body orientation to adapt to the visual changes in the live stream.
  • the vertical broadcast is used as the example for starting the live broadcast.
  • the principle of the horizontal screen is similar to the description.
  • the live broadcast terminal and the broadcast terminal are mobile phones.
  • VirticalWidth indicates the vertical screen broadcast direction mobile phone acquisition picture width (in this embodiment, VirticalWidth ⁇ VirticalHeight);
  • VirticalHeight indicates that the vertical screen is in the direction of the mobile phone to capture the picture height (in this embodiment, VirticalWidth ⁇ VirticalHeight);
  • YUV Buffer Acquires the image data byte memory buffer.
  • the size in the 420P pixel format is VirticalWidth*VirticalHeight*x.
  • x is 1.5, that is, the information of one pixel occupies 1.5 bits.
  • the pixel information in the embodiment of the present application is YUV information.
  • ScreenFlag The screen orientation mark of the live end is aligned with the frame data information as the incidental information.
  • the corresponding image processing is performed according to the ratio of the flag to the VirticalWidth, the VirticalHeight and the horizontal and vertical screen information of the current player screen during the decoding and playing, when the screen direction represented by ScreenFlag
  • the direction of the live stream is inconsistent, such as the vertical screen button is down to live (ScreenFlag is 1), but the live screen is horizontal (ScreenFlag is 3), and the image rotation process will be entered.
  • the example is parsed in depth from two dimension directions and two target terminals.
  • Dimension 1 The process of the current time of the video frame data stream from left to right in Figure 8, including the live broadcast from the acquisition, encoding, transmission to another user receiving end decoding playback display;
  • the core code of the encoding module receives the image YUV data, and the 264 nalu data is outputted by the mobile phone chip H264, and the nalu data and the ScreenFlag data are packaged and transmitted to the MuxFlv module. Since the ScreenFlag has only 4 possible values, the code stream only needs to use up to one. Bytes, in order to further save space, you can use 2bit data bits to represent 4 cases, for example, 00, 01, 10, 11 respectively represent a direction, which can make full use of its field to retain data bits on the nalu code stream (this The same processing is performed every frame in the time period).
  • the decoding module decodes the H264nalu data in the video tag package, and converts it into YUV uncompressed image data YUVBuffer, the image pixel width is VerticalWidth, the height is VerticalHeight (VerticalWidth ⁇ VerticalHeight), and the image represented by the memory data is an erect 'A' letter.
  • the data is transmitted along with the ScreenFlag field to the display rendering module (the same processing is performed for each frame during this time period).
  • Encoding module Same as the processing logic of the A-time encoding module.
  • MuxFlv package module the same as the processing logic of the MuxFlv package module at time A.
  • the DemuxFlv decapsulation module on the playback side is the same as the processing logic of the DemuxFlv decapsulation module at the moment A.
  • rendering is performed based on the data of the rotated current frame image to correctly display the current frame image on the screen of the playing end.
  • the device may further include: a first acquiring unit, configured to acquire the second live stream information before detecting whether the current collecting direction is consistent with the predetermined collecting direction, where the second live stream information is the stream information received at the beginning of the live broadcast.
  • the second obtaining unit is configured to obtain, from the second live stream information, a starting acquisition direction when the live end collects the start frame image, and the first determining unit is configured to fix the initial acquisition direction to a predetermined acquisition direction.
  • the screen direction includes at least one of the following: a screen vertical screen and a direction in which the main control button is down, a screen vertical screen and a direction in which the main control button is on, a screen horizontal screen and a main control button in the right direction, and a screen horizontal screen.
  • the main control button is in the left direction.
  • the rotation unit is specifically configured to: determine a rotation angle of data of the current frame image based on the current acquisition direction and the predetermined acquisition direction; and perform rotation processing on the data of the current frame image according to the rotation angle.
  • the apparatus may further include: an adapting unit configured to adjust the width and height information of the rotated current frame image and the screen information of the playing end after the data of the current frame image is rotated.
  • the display ratio of the current frame image and/or the padding pixel is added on the screen of the playing end to adapt the current frame image to the screen of the playing end.
  • the live broadcast is used to encapsulate the information of the current acquisition direction of the current frame image and the data of the current frame image into the first live stream information, and the play end is based on the first live stream.
  • the current acquisition direction in the information determines whether the data of the current frame image is rotated. In this embodiment, if the current collection direction is inconsistent with the predetermined collection direction, it is determined that the live broadcast end switches the horizontal and vertical screens during the live broadcast, and then the data of the current frame image carried by the first live broadcast information is rotated to enable playback.
  • the generating the first live stream information based on the data of the current frame image and the information indicating the current collection direction may include: determining a screen direction mark indicating a current collection direction, where the information indicating the current collection direction is used The screen direction mark is included; the screen direction mark and the data of the current frame image are collectively encapsulated into the first live stream information.
  • the foregoing modules are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to the contents disclosed in the foregoing embodiments. It should be noted that the foregoing module may be implemented in a hardware environment as shown in FIG. 2 as part of the device, and may be implemented by software or by hardware.
  • the memory 203 can be configured to store a software program and a module, such as a method for processing live information in the embodiment of the present application and a program instruction/module corresponding to the device, and the processor 201 runs the software program and the module stored in the memory 203. Thereby, various functional applications and data processing are performed, that is, the above-described processing method of the live broadcast information is implemented.
  • Memory 203 can include high speed random access memory, and can also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 203 can further include memory remotely located relative to processor 201, which can be connected to the terminal over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the transmission device 205 described above is arranged to receive or transmit data via a network, and can also be used for data transmission between the processor and the memory. Specific examples of the above network may include a wired network and a wireless network.
  • the transmission device 205 includes a Network Interface Controller (NIC) that can be connected to other network devices and routers via a network cable to communicate with the Internet or a local area network.
  • the transmission device 205 is a Radio Frequency (RF) module configured to communicate with the Internet wirelessly.
  • NIC Network Interface Controller
  • RF Radio Frequency
  • the memory 203 is set to store an application.
  • the processor 201 is further configured to: obtain the second live stream information before detecting whether the current collection direction is consistent with the predetermined collection direction, where the second live stream information is the stream information received at the beginning of the live broadcast; In the second live stream information, the initial acquisition direction when the live end collects the start frame image is obtained; the initial acquisition direction is fixed to the predetermined acquisition direction.
  • the processor 201 is further configured to perform the step of detecting whether the current acquisition direction and the predetermined acquisition direction are one Before that, the preset direction information is acquired, wherein the direction information is used to indicate the predetermined acquisition direction.
  • the processor 201 is further configured to perform the steps of: the screen orientation comprises at least one of: a vertical screen and a direction in which the main control key is down, a screen vertical screen and a direction in which the main control key is on, a screen horizontal screen and a main control key In the right direction, and the screen is horizontal and the main control button is in the left direction.
  • the processor 201 is further configured to perform the following steps: if the previous acquisition direction of the previous frame image of the current frame image is different from the current acquisition direction of the current frame image, the smoothing is performed after the data of the current frame image is rotated.
  • the transition display mode displays the current frame image.
  • the processor 201 may call the application stored in the memory 203 by using the transmission device 205 to perform the following steps: acquiring a current frame image; and acquiring a current acquisition direction of the current frame image, where the current collection direction is when the live terminal collects the current frame image.
  • the screen direction is generated; the first live stream information is generated based on the data of the current frame image and the information indicating the current collection direction; the first live stream information is sent to the playing end, wherein the current collecting direction information is used by the playing end to determine Whether to rotate the data of the current frame image.
  • the rotation unit 95 is configured to rotate the data of the current frame image in a case where it is detected that the current acquisition direction does not coincide with the predetermined acquisition direction.
  • the storage medium is configured to store program code for performing the following steps: acquiring second live stream information, where the second live stream is obtained, before detecting whether the current collection direction is consistent with the predetermined collection direction
  • the flow information is the flow information received at the beginning of the live broadcast; from the second live broadcast information, the initial acquisition direction when the live broadcast end acquires the start frame image is obtained; and the initial acquisition direction is fixed to the predetermined acquisition direction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种直播信息的处理方法、装置及存储介质。其中,该方法包括:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向(S302);检测当前采集方向与预定采集方向是否一致(S304),其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理(S306)。其解决了直播端切换横竖屏幕采集画面,播放端无法相应切换画面的技术问题。

Description

直播信息的处理方法、装置及存储介质
本申请要求于2016年09月26日提交中国专利局、优先权号为2016108514695、发明名称为“直播信息的处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信息处理领域,具体而言,涉及一种直播信息的处理方法、装置及存储介质。
背景技术
目前移动手机直播行业内,大部分产品均以竖屏的直播方式拍摄,播放端也以竖屏的方式播放,以达到拍摄和播放在图像画面内容的一致性,但是有些用户在直播途中会变更拍摄方向,例如,某一时刻竖屏拍摄的个人画面换到大场合背景时候,竖屏的显示效果很差,在这种情况下,用户可以切换横屏进行拍摄。而相关技术中,直播端和播放端都是在开始直播前已锁定直播方向,例如,从直播开始到结束都是以固定竖屏流的方式进行传输,而终端播放器播放时也是固定竖屏播放,如果用户在直播过程中,通过切换横竖屏的方式锁定更好的拍摄取景范围,比如在按照竖屏进行直播的过程中,突然横着拍摄产品采用横屏的方式拍摄,则拍摄的画面会发生旋转侧翻,由于图像画面发生旋转侧翻,这就要求播放用户跟着拍摄方的旋转方向观看,体验相当差。
具体地,播放端被固定限制竖屏播放,画面就会随屏幕的旋转而跟着旋转,如图1(a)所示,如果在直播开始时是竖屏采集信息A,在直播中也是按照竖屏采集信息A,在显示侧,显示终端也按照竖屏的方向显示信息A,如果按照横屏的方向显示信息A,则显示信息的方向与用户的观看方向是不一致的;如果直播拍摄端在直播过程中从竖屏改成横屏直播,播放器依然认为视频流的方向为最开始的竖屏流,这样播放端竖屏将无法正常观看图像,图像是被旋转的,终端播放只有跟着直播拍摄端同步旋转同一方向才会正确显示,如图1(b)所示,如果在直播开始时是竖屏采集信息A,在直播中按照横屏采集信息A;在显示侧,显示终端按照横屏的方向显示信息A,如果按照竖屏的方向显示信息A,则显示信息的方向与用户的观看方向是不一致的,也即,在显示侧,终端播放信息的方向需与直播端的拍摄方向保持一致,否则播放画面 会被旋转。从另一角度描述,直播拍摄端用户突然改变了拍摄方位,例如从竖屏拍摄改成横屏拍摄,此时终端播放观看用户从之前正常的观看方向看到的图像就会发生翻转,播放端用户需要向左旋转90度横屏才能播放正常。
为了解决上述问题,相关技术中有一种解决方案,播放端在播放时对图像有所调整,以使其能适配屏幕的方向,在这种方案中,播放端将待播放画面按照固定方向处理,例如,按照竖屏方向处理,如果播放端竖屏播放,则直接播放画面,如果播放端横屏播放,则将待播放画面旋转后播放。如图1(c)所示,如果直播过程中没有调整切换横竖屏信息,也即从开始直播一直是竖屏采集信息,播放端的用户无论是横屏和竖屏播放依然能正常观看流的正确内容A,只是在横屏播放时候多出现了黑边;如图1(d)所示,如果直播拍摄端切换了横竖屏的采集方向时(从直播开始的竖屏切换为直播中的横屏),直播拍摄端用户在直播过程中从竖屏改成横屏,因为播放器一直认为视频流都是竖屏的画面在播放端解码播放时,无论是横屏播放还是竖屏播放都是被旋转的画面。
由上述内容可知,单一匹配一种直播拍摄方式和终端播放方式,任何一端(直播端或是播放端)调整了屏幕方向,都会带来播放图像的翻转变化,要适应播放正常,播放端用户必须手动切换横竖屏方向,体验较差。
针对上述直播端切换横竖屏幕采集画面,播放端无法相应切换画面的问题,目前尚未提出有效的解决方案。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种直播信息的处理方法、装置及存储介质,以至少解决直播端切换横竖屏幕采集画面,播放端无法相应切换画面的技术问题。
根据本申请实施例的一个方面,提供了一种直播信息的处理方法,应用于播放端,包括:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。
根据本申请实施例的另一个方面,提供了一种直播信息的处理方法,应用于直播端,包括:采集当前帧图像;获取当前帧图像的当前采集方向,其中,当前采集方向 为直播端在采集当前帧图像时的屏幕方向;基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。
根据本申请实施例的再一方面,还提供了一种直播信息的处理装置,设置在播放端上,包括:接收单元,设置为接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测单元,设置为检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;旋转单元,设置为在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。
根据本申请实施例的再一方面,还提供了一种直播信息的处理装置,设置在直播端上,包括:采集单元,设置为采集当前帧图像;方向获取单元,设置为获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;生成单元,设置为基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;发送单元,设置为将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。
根据本申请实施例的再一方面,还提供了一种存储介质,该存储介质可以包括存储的程序,其中,程序运行时执行上述的直播信息的处理方法。
在本申请实施例中,在接收到第一直播流信息之后,从该第一直播流信息中提取采集当前帧图像时的当前采集方向,检测当前采集方向与预定采集方向是否一致,以检测直播端在直播过程中是否切换了横竖屏幕采集信息,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,在检测到当前采集方向与预定采集方向不一致的情况下,对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1(a)、图1(b)、图1(c)和图1(d)是根据相关技术中在直播端切换屏幕的情况下,播放端的播放情况示意图;
图2是根据本申请实施例的直播信息的处理方法的硬件环境示意图;
图3是根据本申请实施例的直播信息的处理方法的流程图;
图4是根据本申请实施例的可选的直播信息的处理方法的流程图;
图5是根据本申请实施例的旋转角度确定的示意图;
图6是根据本申请实施例的直播信息的处理方法的处理结果示意图;
图7是根据本申请实施例的直播信息的处理方法和相关技术中的处理方法的处理结果对比图;
图8是根据本申请实施例的直播信息的处理方法的数据流向图;
图9是根据本申请实施例的一种可选的直播信息的处理装置的示意图;以及
图10是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
横屏/竖屏:手机设备拍摄方向,一般以返回按键或Home键作为标的,按键在右边的16:9的屏幕宽高比作为横屏方向,以按键在下边的9:16屏幕宽高比例作为竖屏方向。
黑边:视频画面的非实际有效内容区域,一般自动以黑色像素填充该区域,播放器为了解决不同播放区域比例下适配原始视频比例不被拉伸变形显示的一种手段,多见分为左右黑边和上下黑边,当有效视频内容是横屏16:9,但播放区域是竖屏时候,播放器会在上下同时填充黑边,保留中间有效视频内容的横屏输出,当有效视频内容是竖屏9:16,但播放区域是横屏时候,播放器会在左右同时填充黑边,保留中间有效视频内容的竖屏输出。
编码、解码:从多媒体文件的原始非压缩数据(如,视频YUV像素格式,音频PCM格式)经过复杂的编码压缩算法生产带有一定意义字段组合而成的二进制字节流数据,便于存储或传输,解码是逆过程。其中,YUV是一种颜色编码方法,Y表示亮度信号,U和V表示色度信号。
关键帧:视频压缩编码序列组的第一个帧数据,用于播放解码后续的压缩帧,起到参照作用,如果没有关键帧,播放端解码器无法正常解码还原后续图像,会导致解码图像数据异常,展现花屏,另外关键帧也起到拖拉定位视频段某一时间点作用。
码流字段:一种在字节流中具备特定意义的标志位或标志字段,大小长度不限,用来存放特定用途的信息,方便后续解码该字段获取关键信息进行关键逻辑处理,不同字段对应不同的用途。
H264:视频压缩编码的一种格式,压缩效率高,目前视频主流的压缩编码格式,把非压缩图像YUV数据编码压缩成H264nalu数据,便于网络传输。
nalu:H264编码压缩后输出的基本数据单元。
AAC:音频压缩编码的一个格式,目前音频主流的压缩编码格式,把非压缩音频数据PCM压缩成AAC数据,便于网络传输。
FLV:adobe flash封装格式,主流直播流的输出格式,一般把压缩视频(H264)和压缩音频(AAC)按这种封装格式协议合成在一起,默认在网页web flash播放器上播放,也可以在应用程序app端的播放器上解码播放,是目前最通用的直播流输出格式,其组成的基本单元是FLV tag。
根据本申请实施例的一个方面,提供了一种直播信息的处理方法的方法实施例。
可选地,在本实施例中,上述直播信息的处理方法可以应用于如图2所示的由服务器102、第一终端104和第二终端106所构成的硬件环境中。如图2所示,服务器102通过网络分别与第一终端104和第二终端106进行连接,上述网络包括但不限于:广域网、城域网或局域网,第一终端104和第二终端106并不限定于PC机、手机、平板电脑等。本申请实施例的直播信息的处理方法可以由第一终端104和/或第二终端106来执行,也可以是由服务器102、第一终端104和第二终端106共同执行。其中,第一终端104和第二终端106执行本申请实施例的直播信息的处理方法也可以是由安装在其上的客户端来执行。
具体地,第一终端可以为直播端,第二终端可以为播放端,服务器可以为直播服务器,直播端利用摄像头采集视频画面,将采集的视频画面的信息经过编码和封装得到直播,将该直播发送至直播服务器,直播服务器将该直播的信息发放至共享平台上,播放端可以通过点击该共享平台上的直播链接,发起直播请求,直播服务器接收到直播请求,将对应的直播的流信息发送至播放端,播放端在解封装之后,播放该直播的视频画面。
根据本申请的上述实施例直播信息的处理方法,应用于播放端,该处理方法可以包括如图3所示的如下步骤:
步骤S302:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向。
步骤S304:检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向。需要说明的是,这里的检测操作在播放端对接收到的第一直播流信息进行解码之后执行。
步骤S306:在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,这里的旋转操作在执行显示操作之前对当前帧图像的数据进行旋转处理。
在执行步骤S304之后,上述方法还包括步骤S308:在检测出当前采集方向与预定采集方向一致的情况下,则确定直播端在直播过程中并未进行横竖屏切换,则对当前帧图像的数据按照播放端的屏幕进行适配显示处理。
根据本申请的上述实施例,在接收到第一直播流信息之后,从该第一直播流信息中提取采集当前帧图像时的当前采集方向,检测当前采集方向与预定采集方向是否一 致,以检测直播端在直播过程中是否切换了横竖屏幕采集信息,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,在检测到当前采集方向与预定采集方向不一致的情况下,对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。
上述实施例可以应用在直播端进行直播的过程中,在直播端直播的过程中,直播服务器将直播端发送的直播流信息转发至播放端,播放端接收到直播过程中的第一直播流信息时,从第一直播流信息中获取直播的当前帧图像的数据和用于表示当前帧数据的当前采集方向的信息,该信息为直播端采集当前帧图像时的屏幕方向。
上述实施例中,步骤S306:在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,可以对当前帧图像的数据的帧内容和内存表示进行处理。
具体地,若预定采集方向为竖屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为720*1280*x,其中,x为一个像素信息的占位;若预定采集方向为横屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为1280*720*x。例如,预定采集方向为竖屏方向,当前帧图像的当前采集方向不是竖屏方向,则可以将内存表示由720*1280*x修改为当前采集方向对应的内存表示,并对帧内容进行相应的调整,以旋转当前帧图像的数据。
进一步需要说明的是,在步骤S306之后,再基于旋转后的当前帧图像的数据进行渲染,以将当前帧图像正确显示在播放端的屏幕上。
本申请还提供了一种应用在直播端的直播信息的处理方法,该方法如图4所示可以包括如下步骤:
步骤S402:采集当前帧图像;
步骤S404:获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;
步骤S406:基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;
步骤S408:将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播 放端确定是否对当前帧图像的数据进行旋转处理。
这里需要说明的是,直播端将采集的信息经过视频H264压缩编码、封装后得到的数据发送给服务器。播放端在解码接收到的信息之后、且在显示(或播放)数据之前,播放端确定是否对当前帧图像的数据进行旋转处理。
根据上述实施例,直播在采集当前帧图像之后,将用于表示当前帧图像的当前采集方向的信息和当前帧图像的数据一并封装成第一直播流信息,播放端基于该第一直播流信息中的当前采集方向确定是否对当前帧图像的数据进行旋转处理。通过该实施例,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,则对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。
具体地,基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息可以包括:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。
可选地,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。可以利用屏幕方向标记ScreenFlag表示采集当前帧图像时的屏幕方向,如,ScreenFlag=1表示屏幕竖屏且主控制键在下的方向,ScreenFlag=2表示屏幕竖屏且主控制键在上的方向;ScreenFlag=3表示屏幕横屏且主控制键在右的方向;ScreenFlag=4表示屏幕横屏且主控制键在左的方向。
在上述实施例,直播端和播放端均可以为移动终端,在直播端和播放端上安装直播应用,直播端和播放端上安装的2个直播应用对直播产生的视频码流信息进行实时处理,具体地,直播拍摄端(即直播端)上安装的直播应用可以实时准确监控直播端的使用者旋转屏幕的操作,并把旋转屏幕方向的信息(如,竖屏按键在下,竖屏按键在上,横屏按键在右,横屏按键在左)作为当前采集方向的元信息与采集的原始图像的数据一起携带,传输至播放端,在上述实施例中,为了达到最佳的体验,以使直播拍摄端上拍摄方向的切换与播放端上述图像数据的流方向切换达到最大程度上的同步,利用视频码流帧级调整,而不是通过与后台服务器通讯进行信息的传递,因为与后台通讯,实时性会大大降低,体验会非常糟糕,可能直播端切换横竖屏,但由于服务器 通信时延,到达播放端可能好几秒钟才会纠正反应过来,体验大大降低,利用本申请的视频码流帧级调整,可以对帧图像的数据进行及时处理,可以在直播端切换了拍摄方向的时候,及时旋转接收到的当前帧图像的数据,以将直播端和播放端的切换同步。
具体地,直播端的横竖屏元信息(即上述的屏幕方向标记)同步到编码图像的时候,同步把该信息记录到编码压缩帧上(H264的字段),经过flv mux后传输到网络后台服务器,经过后台服务器(即上述的直播服务器)中转分发到CDN网络后,播放端用户请求CDN获取直播流时候,解码FLV以及H264视频数据,实时从H264数据字段提取附带的横竖屏元信息,此时播放器根据实时获取的横竖屏元信息,判断目前该帧在解码出原始图像数据后,是否进行旋转处理,若判断出需要图像旋转处理,则进行图像旋转处理,直播应用在播放端的播放方向上实时渲染该处理后的图像数据,播放器自适应屏幕方向会在渲染屏幕输出时自动根据视频码流的宽高信息自动添加黑边,从而当直播用户直播过程中切换直播横竖屏方向,终端用户依然不用选择调整手机屏幕或调整自身身体方位来适配这种直播流的画面视觉变化。
上述实施例中的直播端和播放端上安装的直播应用可以为播放器。
根据本申请的上述实施例,播放端接收到第一直播流信息之后,判断当前帧在解码出原始图像数据后,是否进行旋转处理,具体地,检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。
在检测出当前采集方向与预定采集方向一致的情况下,则确定无需旋转图像,则对该当前帧图像的数据按照播放端的屏幕进行适配显示处理,如,对解析出的当前帧图像进行缩放和/或使用填充像素填充,并将适配处理后的图像在播放端的屏幕上播放。
上述实施例中,预定采集方向可以为直播端采集第一帧图像时屏幕的方向,这里的第一帧可以为起始帧,这里的起始帧可以为直播端在开始直播时采集的第一帧图像,起始帧还可以为播放端接收到的直播端发送的第一帧图像,本申请对此不做限定。
具体地,可以在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;将起始采集方向固定为预定采集方向。
该实施例中的直播开始时可以为直播端开始直播的时刻,还可以为播放端开始接收直播端发送的直播流信息的时刻。
在一个可选的实施例中,在检测当前采集方向与预定采集方向是否一致之前,方法还可以包括:获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。
可选地,用户可以通过输入项输入方向信息,如在直播端开始直播前,输入用于设置预定采集方向的方向信息。直播端可以将方向信息一并发送至直播服务器,直播服务器将方向信息发送至对应的播放端。
根据本申请的上述实施例,直播端根据预先采集方向对应的内存表示记录采集的信息,例如,若预定采集方向为竖屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为720*1280*x,其中,x为一个像素信息的占位;若预定采集方向为横屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为1280*720*x。
需要说明的是,在直播端采集到信息之后且在编码之前信息的内存表示可以为上述的720*1280*x,在编码、封装之后的数据则不再按照这个数据形式存在,在播放端接收到信息并对其进行解码之后,信息可以按照该数据形式存放。
通过上述实施例,直播端采用固定的内存表示传输直播流信息,播放端接收到直播流信息之后,检测直播流信息中的当前帧图像的数据与预定采集方向是否一致,若不一致,则表明该直播端采集当前帧图像的采集方向与传输信息的内存表示不一致,也即,如果基于该内存表示记录的信息输出图像,输出的图像是翻转的,播放端将内存表示和帧内容旋转过来,则基于旋转后的当前帧图像的数据输出的图像,是可以正常显示的图像。
具体地,用于表示当前采集方向的信息包括:直播端的屏幕方向的标记,屏幕方向的标记可以使用1个字节,利用1个字节的屏幕方向的标记表示当前采集方向,可以节省空间,并且在信息传输的过程中,可以节省流量。
可选地,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。
根据上述实施例,在检测当前采集方向与预定采集方向是否一致之前,方法还可以包括:检测第一直播流信息中的屏幕方向的标记;确定与屏幕方向的标记对应的当前采集方向。
可以预先保存不同标记和不同屏幕方向的对应关系,例如,屏幕方向的标记ScreenFlag=1表示屏幕竖屏且主控制键在下的方向,ScreenFlag=2表示屏幕竖屏且主控制键在上的方向;ScreenFlag=3表示屏幕横屏且主控制键在右的方向;ScreenFlag=4 表示屏幕横屏且主控制键在左的方向。
在上述实施例中,从数据库中读取与屏幕方向的标记对应的采集方向。例如,检测到的ScreenFlag=3,则确定的当前采集方向为屏幕横屏且主控制键在右的方向。
例如,若预定采集方向为屏幕竖屏且主控制键在下的方向,确定的当前采集方向为屏幕横屏且主控制键在右的方向,则确定当前采集方向和预定采集方向不一致,则需要对当前帧图像的数据进行旋转处理。
在一个可选的实施例中,可以在检测到屏幕方向的标记之后,获取预定采集方向的标记,比较两个标记是否相同,如果不相同,则确定当前采集方向与预定采集方向不一致;如果相同,则确定当前采集方向与预定采集方向一致。
根据上述实施例,对当前帧图像的数据进行旋转处理包括:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。
在一个可选的实施例中,可以预先设置基准方向、基准点(如终端的重点A)和旋转判定点B,将基准点设置为不动点,在终端处于第一个方向(如当前采集方向)时,将按照基准方向旋转,将终端从第一个方向旋转至第二个方向,在该旋转过程中,旋转判定点的初始位置为B点,结束位置为C点,角BAC的角度即为旋转角度。
如图5所示,将屏幕竖屏且主控制键在上的方向记作方向一;将屏幕横屏且主控制键在右的方向记作方向二,利用上述的判定方法,角BAC的角度为90°,其中,方向一与方向二之间的旋转角度为90°。可选地,可以将解码得到的信息按照旋转角度旋转,得到旋转后的图像的数据。
根据本申请的上述实施例,在对当前帧图像的数据进行旋转处理之后,方法还可以包括:根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。在该实施例中,在执行完上述的播放方向一致的判断并执行相应操作之后,无论播放端的屏幕是横屏或者竖屏,均无需对图像进行旋转处理,直接对其进行比例缩放和/或填充像素,即可实现正确播放画面的效果。
具体地,上述的屏幕信息包括横竖屏信息和屏幕的宽高信息,播放端基于播放端的横竖屏信息确定渲染时是否直接渲染,如果,预定采集方向为横屏且主控制键向右的方向,而播放端的屏幕当前处于横屏且主控制键向左的方向,则需要对图像进行旋转、缩放和填充像素之后,再播放处理后的当前帧图像;如果,预定采集方向为横屏且主控制键向右的方向,而播放端的屏幕当前也处于横屏且主控制键向右的方向,则 利用播放端的宽高信息检测是否对图像进行缩放操作,如果需要执行缩放操作,则在缩放之后再播放该当前帧图像;如果不需要缩放操作,则直接播放。
进一步需要说明的是,方法还可以包括:若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。
通过上述实施例,可以解决两个手机移动终端(直播拍摄端以及播放观看端)互相切换横竖屏的情况下播放体验一致的问题,因为涉及到图像画面选择,对于播放器来说观看会突然从横屏画面瞬间切换到竖屏画面或者从竖屏画面瞬间切换到横屏画面(因为实时性是帧级控制),为了进一步地提高用户体验,可以从播放端着手,在遇到切换边界的图像序列的过程中做平滑过渡的显示处理,以达到更好的切换过渡体验。
上述实施例中,无论直播拍摄用户在直播中如何切换横竖屏方向,在播放端的用户在任何横竖屏方式下都能最大限度达到一致的播放正确图像的体验,当然满足和直播拍摄者同一方向下将会是满屏的最佳体验。
上述的填充像素可以为黑色像素,根据上述实施例,通过比例调整,播放器会在左右自动加黑边保持原始视频比例。
如图6和图7所示,采用上述实施例,无论直播端还是播放端怎么调整切换横竖屏幕,都是一致的图像画面,一致的体验。如图6所示,直播端竖屏拍摄,可以确定预定采集方向为竖屏方向,在直播的整个过程中一致是竖屏播放,播放端检测到的当前帧图像的当前采集方向与预定采集方向一直是一致的,这样,播放端直接对接收到的直播流信息适配播放端的屏幕进行播放即可,如横屏播放时,可以将图像缩放并填充像素,如竖屏播放时直接播放或者缩放播放;若在直播过程由竖屏切换成横屏,则播放端检测到的当前帧图像的当前采集方向与预定采集方向发生变化之后,播放端对接收到的当前帧图像的数据进行旋转,在旋转当前帧图像的数据之后,直接对旋转后的当前帧图像的数据进行播放即可,如横屏播放时,可以将图像缩放并填充像素(如图6中示出的黑边),如竖屏播放时直接播放或者缩放播放。
如图7所示,直播端屏幕横竖屏切换变化为横屏变为竖屏,图7中示出了:采用相关技术中播放端非自适应屏幕适配下竖屏播放的变化、相关技术中播放端自适应屏幕适配下竖屏播放的变化、相关技术中播放端自适应屏幕适配下横屏播放的变化、采用本申请上述实施例方案时竖屏播放的变化以及采用本申请上述实施例方案时横屏播放的变化,如图7所示,只有本申请的方案,无论直播端还是播放端怎么调整切换横竖屏幕,都是一致的图像画面,一致的体验。
通过上述实施例,直播端随时切换调整屏幕拍摄方向,播放端用户都不需要调整屏幕就可以自动识别正确的图像画面,并且,当直播用户直播过程中切换直播横竖屏方向,终端用户依然不用选择调整手机屏幕或调整自身身体方位来适配这种直播流的画面视觉变化。
下面结合图8以竖屏直播作为开始采集直播的方向为例,横屏方向原理类似不再描述,在该实施例中直播端和播放端均为手机。
图8中示出的:
VirticalWidth:表示竖屏直播方向手机采集画面宽度(在该实施例中,VirticalWidth<VirticalHeight);
VirticalHeight:表示竖屏直播方向手机采集画面高度(在该实施例中,VirticalWidth<VirticalHeight);
YUV Buffer:采集图像数据字节内存缓存,以420P像素格式表示大小是VirticalWidth*VirticalHeight*x,在该示例中,x为1.5,即,一个像素的信息占据1.5个比特位。在本申请实施例中的像素信息为YUV信息。
ScreenFlag:直播端屏幕方向标记,作为附带信息与帧数据信息对齐,在解码播放环节根据该标志与VirticalWidth,VirticalHeight的比例以及当前播放器屏幕的横竖屏信息进行相应图像处理,当ScreenFlag代表的屏幕方向与直播流所在的方向不一致的时候,如竖屏按键向下直播(ScreenFlag为1),但直播中横屏了(ScreenFlag为3),会进入图像旋转处理流程。
YUV’Buffer:大小与YUV Buffer相同,但是存储图像像素的内容不一样,YUV’Buffer存储经过旋转处理后的图像数据,如果YUV Buffer存储的图像宽和高假设分别为VerticalWidth,VertivalHeight(竖屏宽高),那么经过旋转处理后YUV'Buffer存储的图像宽和高为VerticalHeight,VerticalWidth(横屏宽高)。
如图8所示,该示例从两个维度方向以及两个目标终端深入解析。
维度一:图8中从左到右以视频帧数据流当前时间的走向过程,包括了直播端从采集,编码,传输到另一用户接收端解码播放显示;
维度二:图8中从上到下以时间变化的走向过程,从A时间点到B时间点,竖屏直播拍摄方式变成横屏拍摄方式。
目标终端1:直播拍摄端,代表用户通过手机摄像头采集,编码,上传到后台服务器;目标终端2:播放观看端,代表用户接收直播流播放器解码,后图像处理,渲 染。
A时刻用户竖屏直播:
采集模块采集摄像头内存数据为YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的图像为竖屏正立的‘A’字母,因为A时间段是竖屏拍摄,因此ScreenFlag=1,ScreenFlag数据和YUV图像数据(该时间段内每一帧都进行同样处理)打包往编码模块传输。
编码模块中核心编码接收图像YUV数据,经过手机芯片H264硬件编码输出264nalu数据,出来的nalu数据与ScreenFlag数据打包往MuxFlv模块传输,因为ScreenFlag只有4个可能值,所以码流只需最多使用1个字节,为了进一步节省空间,可以使用2bit数据位来表示4种情况,如,00,01,10,11分别表示一个方向,这在nalu码流上都可以充分利用其字段保留数据位(该时间段内每一帧都进行同样处理)。
MuxFlv封装模块中视频h264nalu数据以及ScreenFlag数据写入Flv Tag数据包,在flv每一帧视频帧上保留(该时间段内每一帧都进行同样处理)。
播放端DemuxFlv解封装模块:MuxFlv封装模块的逆过程,把FLV视频Tag数据包解开,解析出ScreenFlag字段值(该时间段内每一帧都进行同样处理)。
解码模块解码视频Tag包里面的H264nalu数据,转为YUV非压缩图像数据YUVBuffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的图像为正立的‘A’字母,该数据与ScreenFlag字段一起传输到显示渲染模块(该时间段内每一帧都进行同样处理)。
渲染模块根据当前用户播放端是竖屏还是横屏播放,播放器自适应切换,并把YUV Buffer缓冲器根据屏幕方式做匹配显示(例如,竖屏播放直接渲染,横屏播放做相应缩放和加左右黑边填充)。
B时刻用户横屏直播:
采集模块采集摄像头内存数据依然是YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的图像依然是竖屏方式展现,但图像内容已经变成右旋转90度后的‘A’字母,因为此时间段是横屏拍摄,因此ScreenFlag=3,ScreenFlag数据以及图像YUV数据打包往编码模块传输。
编码模块:与A时刻编码模块处理逻辑相同。
MuxFlv封装模块:与A时刻MuxFlv封装模块处理逻辑相同。
播放端DemuxFlv解封装模块:与A时刻DemuxFlv解封装模块处理逻辑相同。
解码模块:解码视频Tag包里面的H264nalu数据,转为YUV非压缩图像数据YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的为横屏拍摄后得到的右旋转90度的‘A’字母,该数据与ScreenFlag字段一起传输到旋转模块。
旋转模块:B时刻解码解释检测到ScreenFlag标志为3,为横屏拍摄,与采集图像内存宽高比例方向不一致(采集图像为竖屏按钮在下的图像展现,VerticalWidht<VerticalHeight),因此需要进入旋转处理逻辑,旋转处理逻辑把YUVBuffer竖屏的图像内存向左旋转90度,与直播拍摄端保持一致,此时得出YUV'Buffer,图像像素宽值变成VerticalHeight,图像像素高值变成VerticalWidth(VerticalHeight>VerticalWidth)。
渲染模块根据当前用户播放端是竖屏还是横屏播放,播放器自适应切换,并把旋转后得到的YUV'Buffer根据屏幕方式做匹配显示(例如,竖屏播放需要做相应缩放加上下黑边填充,横屏播放直接输出渲染)。
在上述实施例中,无论直播端如何旋转屏幕切换拍摄方向和方式,对于用户播放端都是透明的,播放终端用户无需自己切换屏幕,或者从任何角度切换播放方式都可以观看正常的图像画面,大大优化了播放终端的播放体验和简化了用户播放端的播放交互,同时对直播拍摄端用户无需限制要求固定一种拍摄方向,直播拍摄者可自由选择任何时间点用任何他所喜欢的拍摄角度和拍摄方向进行直播。
通过上述实施例,可以从根本上解决两个手机移动终端(直播拍摄端以及播放观看端)互相切换横竖屏的情况下播放体验一致的问题。为了避免播放器侧观看会突然从横屏画面瞬间切换到竖屏画面或者从竖屏画面瞬间切换到横屏画面(因为实时性是帧级控制),而带来的生硬的感觉,可以从播放渲染端着手,在遇到切换边界的图像序列过程中做平滑过渡的显示处理,以达到更好的切换过渡体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但
具体地,若预定采集方向为竖屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为720*1280*x,其中,x为一个像素信息的占位;若预定采集方向为横屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为1280*720*x。例如,预定采集方向为竖屏方向,当前帧图像的当前采集方向不是竖屏方向,则可以将内存表示由720*1280*x修改为当前采集方向对应的内存表示,并对帧内容进行相应的调整,以旋转当前帧图像的数据。
进一步需要说明的是,在旋转当前帧图像的数据之后,再基于旋转后的当前帧图像的数据进行渲染,以将当前帧图像正确显示在播放端的屏幕上。
上述装置还可以包括:第一获取单元,设置为在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;第二获取单元,设置为从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;第一确定单元,设置为将起始采集方向固定为预定采集方向。
根据本申请的上述实施例,装置还可以包括:第三获取单元,设置为在检测当前采集方向与预定采集方向是否一致之前,获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。
在上述实施例中,用于表示当前采集方向的信息包括:直播端的屏幕方向的标记,检测单元还设置为在检测当前采集方向与预定采集方向是否一致之前,检测第一直播流信息中的屏幕方向的标记;装置还包括:第二确定单元,设置为确定与屏幕方向的标记对应的当前采集方向。
其中,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。
在上述实施例中,旋转单元具体设置为:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。
在一个可选的实施例中,装置还可以包括:适配单元,设置为在对当前帧图像的数据进行旋转处理之后,根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。
需要说明的是,装置还可以包括:显示单元,设置为若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。
根据本申请实施例,还提供了一种用于实施上述直播信息的处理方法的处理装置,该装置设置在直播端上,该装置可以包括:
采集单元,设置为采集当前帧图像;
方向获取单元,设置为获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;
生成单元,设置为基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;
发送单元,设置为将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。
根据上述实施例,直播在采集当前帧图像之后,将用于表示当前帧图像的当前采集方向的信息和当前帧图像的数据一并封装成第一直播流信息,播放端基于该第一直播流信息中的当前采集方向确定是否对当前帧图像的数据进行旋转处理。通过该实施例,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,则对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。
具体地,基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息可以包括:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。
可选地,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在上的方向、以及屏幕横屏且主控制键在下的方向。可以利用屏幕方向标记ScreenFlag表示采集当前帧图像时的屏幕方向,如,ScreenFlag=1表示屏幕竖屏且主控制键在下的方向,ScreenFlag=2表示屏幕竖屏且主控制键在上的方向;ScreenFlag=3表示屏幕横屏且主控制键在右的方向;ScreenFlag=4表示屏幕横屏且主控制键在左的方向。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
根据本申请实施例的又一个方面,还提供了一种用于实施上述直播信息的处理方法的服务器或终端。
图10是根据本申请实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图10所示,该终端还可以包括输入输出设备207。
其中,存储器203可设置为存储软件程序以及模块,如本申请实施例中的直播信息的处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的直播信息的处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205设置为经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其设置为通过无线方式与互联网进行通讯。
其中,具体地,存储器203设置为存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。
处理器201还设置为执行下述步骤:在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;将起始采集方向固定为预定采集方向。
处理器201还设置为执行下述步骤:在检测当前采集方向与预定采集方向是否一 致之前,获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。
处理器201还设置为执行下述步骤:直播端的屏幕方向的标记,在检测当前采集方向与预定采集方向是否一致之前,检测第一直播流信息中的屏幕方向的标记;确定与屏幕方向的标记对应的当前采集方向。
处理器201还设置为执行下述步骤:屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。
处理器201还设置为执行下述步骤:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。
处理器201还设置为执行下述步骤:在对当前帧图像的数据进行旋转处理之后,根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。
处理器201还设置为执行下述步骤:若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:采集当前帧图像;获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。
处理器201还设置为执行下述步骤:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述直播信息的处理方法的处理装置。图9是根据本申请实施例的一种可选的直播信息的处理装置的示意图,如图9所示,该装置设置在播放端上,该装置可以包括:
接收单元91,设置为接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;
检测单元93,设置为检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;
旋转单元95,设置为在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。
根据本申请的上述实施例,在接收到第一直播流信息之后,从该第一直播流信息中提取采集当前帧图像时的当前采集方向,检测当前采集方向与预定采集方向是否一致,以检测直播端在直播过程中是否切换了横竖屏幕采集信息,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,在检测到当前采集方向与预定采集方向不一致的情况下,对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。
上述实施例可以应用在直播端进行直播的过程中,在直播端直播的过程中,直播服务器将直播端发送的直播流信息转发至播放端,播放端接收到直播过程中的第一直播流信息时,从第一直播流信息中获取直播的当前帧图像的数据和用于表示当前帧数据的当前采集方向的信息,该信息为直播端采集当前帧图像时的屏幕方向。
上述实施例中,在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,可以对当前帧图像的数据的帧内容和内存表示进行处理。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
在本申请的实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行直播信息的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;将起始采集方向固定为预定采集方向。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在检测当前采集方向与预定采集方向是否一致之前,获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:直播端的屏幕方向的标记,在检测当前采集方向与预定采集方向是否一致之前,检测第一直播流信息中的屏幕方向的标记;确定与屏幕方向的标记对应的当前采集方向。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在对当前帧图像的数据进行旋转处理之后,根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:采集当前帧图像;获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅 为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本申请的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
工业实用性
在本申请实施例中,通过接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,解决了直播端切换横竖屏幕采集画面,播放端无法相应切换画面的技术问题,达到直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面的效果。

Claims (21)

  1. 一种直播信息的处理方法,应用于播放端,包括:
    接收第一直播流信息,其中,所述第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,所述当前采集方向为直播端采集所述当前帧图像时的屏幕方向;
    检测所述当前采集方向与预定采集方向是否一致,其中,所述预定采集方向为预先确定的直播端采集图像时的屏幕方向;
    在检测出所述当前采集方向与所述预定采集方向不一致的情况下,对所述当前帧图像的数据进行旋转处理。
  2. 根据权利要求1所述的方法,其中,在检测所述当前采集方向与预定采集方向是否一致之前,所述方法还包括:
    获取第二直播流信息,其中,所述第二直播流信息为在所述直播开始时接收到的流信息;
    从所述第二直播流信息中,获取所述直播端采集起始帧图像时的起始采集方向;
    将所述起始采集方向固定为所述预定采集方向。
  3. 根据权利要求1所述的方法,其中,在检测所述当前采集方向与预定采集方向是否一致之前,所述方法还包括:
    获取预先设置的方向信息,其中,所述方向信息用于指示所述预定采集方向。
  4. 根据权利要求1所述的方法,其中,所述用于表示当前采集方向的信息包括:所述直播端的屏幕方向的标记,在检测所述当前采集方向与预定采集方向是否一致之前,所述方法还包括:
    检测所述第一直播流信息中的所述屏幕方向的标记;
    确定与所述屏幕方向的标记对应的所述当前采集方向。
  5. 根据权利要求4所述的方法,其中,所述屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。
  6. 根据权利要求1所述的方法,其中,对所述当前帧图像的数据进行旋转处理包括:
    基于所述当前采集方向和所述预定采集方向确定所述当前帧图像的数据的旋转角度;
    按照所述旋转角度对所述当前帧图像的数据执行旋转处理。
  7. 根据权利要求1所述的方法,其中,在对所述当前帧图像的数据进行旋转处理之后,所述方法还包括:
    根据所述旋转后的当前帧图像的宽高信息和所述播放端的屏幕信息,调整所述当前帧图像的显示比例和/或在所述播放端的屏幕上添加填充像素,以使所述当前帧图像适配所述播放端的屏幕。
  8. 根据权利要求1所述的方法,其中,所述方法还包括:
    若所述当前帧图像的上一帧图像的上一采集方向与所述当前帧图像的当前采集方向不同,则在对所述当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示所述当前帧图像。
  9. 一种直播信息的处理方法,应用于直播端,其中,包括:
    采集当前帧图像;
    获取所述当前帧图像的当前采集方向,其中,所述当前采集方向为所述直播端在采集所述当前帧图像时的屏幕方向;
    基于所述当前帧图像的数据和用于表示所述当前采集方向的信息,生成第一直播流信息;
    将所述第一直播流信息发送至播放端,其中,所述当前采集方向的信息用于所述播放端确定是否对所述当前帧图像的数据进行旋转处理。
  10. 根据权利要求9所述的方法,其中,基于所述当前帧图像的数据和用于表示所述当前采集方向的信息,生成第一直播流信息包括:
    确定用于表示所述当前采集方向的屏幕方向标记,其中,所述用于表示所述当前采集方向的信息包括所述屏幕方向标记;
    将所述屏幕方向标记和所述当前帧图像的数据一并封装为所述第一直播流信息。
  11. 一种直播信息的处理装置,设置在播放端上,包括:
    接收单元,设置为接收第一直播流信息,其中,所述第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,所述当前采集方向为直播端采集所述当前帧图像时的屏幕方向;
    检测单元,设置为检测所述当前采集方向与预定采集方向是否一致,其中,所述预定采集方向为预先确定的直播端采集图像时的屏幕方向;
    旋转单元,设置为在检测出所述当前采集方向与所述预定采集方向不一致的情况下,对所述当前帧图像的数据进行旋转处理。
  12. 根据权利要求11所述的装置,其中,所述装置还包括:
    第一获取单元,设置为在检测所述当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,所述第二直播流信息为在所述直播开始时接收到的流信息;
    第二获取单元,设置为从所述第二直播流信息中,获取所述直播端采集起始帧图像时的起始采集方向;
    第一确定单元,设置为将所述起始采集方向固定为所述预定采集方向。
  13. 根据权利要求11所述的装置,其中,所述装置还包括:
    第三获取单元,设置为在检测所述当前采集方向与预定采集方向是否一致之前,获取预先设置的方向信息,其中,所述方向信息用于指示所述预定采集方向。
  14. 根据权利要求11所述的装置,其中,所述用于表示当前采集方向的信息包括:所述直播端的屏幕方向的标记,
    所述检测单元还设置为在检测所述当前采集方向与预定采集方向是否一致之前,检测所述第一直播流信息中的所述屏幕方向的标记;
    所述装置还包括:第二确定单元,设置为确定与所述屏幕方向的标记对应的所述当前采集方向。
  15. 根据权利要求14所述的装置,其中,所述屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。
  16. 根据权利要求11所述的装置,其中,所述旋转单元具体设置为:
    基于所述当前采集方向和所述预定采集方向确定所述当前帧图像的数据的旋转角度;
    按照所述旋转角度对所述当前帧图像的数据执行旋转处理。
  17. 根据权利要求11所述的装置,其中,所述装置还包括:
    适配单元,设置为在对所述当前帧图像的数据进行旋转处理之后,根据所述旋转后的当前帧图像的宽高信息和所述播放端的屏幕信息,调整所述当前帧图像的显示比例和/或在所述播放端的屏幕上添加填充像素,以使所述当前帧图像适配所述播放端的屏幕。
  18. 根据权利要求11所述的装置,其中,所述装置还包括:
    显示单元,设置为若所述当前帧图像的上一帧图像的上一采集方向与所述当前帧图像的当前采集方向不同,则在对所述当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示所述当前帧图像。
  19. 一种直播信息的处理装置,设置在直播端上,其中,包括:
    采集单元,设置为采集当前帧图像;
    方向获取单元,设置为获取所述当前帧图像的当前采集方向,其中,所述当前采集方向为所述直播端在采集所述当前帧图像时的屏幕方向;
    生成单元,设置为基于所述当前帧图像的数据和用于表示所述当前采集方向的信息,生成第一直播流信息;
    发送单元,设置为将所述第一直播流信息发送至播放端,其中,所述当前采集方向的信息用于所述播放端确定是否对所述当前帧图像的数据进行旋转处理。
  20. 根据权利要求19所述的装置,其中,所述生成单元具体设置为:
    确定用于表示所述当前采集方向的屏幕方向标记,其中,所述用于表示所述当前采集方向的信息包括所述屏幕方向标记;
    将所述屏幕方向标记和所述当前帧图像的数据一并封装为所述第一直播流信息。
  21. 一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至8中任一项或权利要求9至10中任一项中所述的方法。
PCT/CN2017/103202 2016-09-26 2017-09-25 直播信息的处理方法、装置及存储介质 WO2018054375A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610851469.5A CN106484349A (zh) 2016-09-26 2016-09-26 直播信息的处理方法和装置
CN201610851469.5 2016-09-26

Publications (1)

Publication Number Publication Date
WO2018054375A1 true WO2018054375A1 (zh) 2018-03-29

Family

ID=58268841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/103202 WO2018054375A1 (zh) 2016-09-26 2017-09-25 直播信息的处理方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN106484349A (zh)
WO (1) WO2018054375A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110913161A (zh) * 2018-09-17 2020-03-24 成都鼎桥通信技术有限公司 一种竖屏录制横幅视频的方法和装置
CN111031359A (zh) * 2019-12-24 2020-04-17 北京奇艺世纪科技有限公司 视频播放方法、装置、电子设备和计算机可读存储介质
CN111694530A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 一种屏幕适配的方法、装置、电子设备及存储介质
CN112514358A (zh) * 2018-09-26 2021-03-16 深圳市欢太科技有限公司 一种游戏页面的切换方法及相关产品
CN113438436A (zh) * 2020-03-23 2021-09-24 阿里巴巴集团控股有限公司 一种视频播放方法、视频会议方法、直播方法及相关设备
CN113741842A (zh) * 2021-08-26 2021-12-03 腾讯科技(深圳)有限公司 屏幕刷新延迟的确定方法和装置、存储介质及电子设备
CN114390310A (zh) * 2022-01-13 2022-04-22 广州繁星互娱信息科技有限公司 数据推送方法和装置、存储介质及电子设备

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484349A (zh) * 2016-09-26 2017-03-08 腾讯科技(深圳)有限公司 直播信息的处理方法和装置
CN106506554A (zh) * 2016-12-29 2017-03-15 广州华多网络科技有限公司 直播编码的方法、装置、终端、联动编码服务器及系统
CN106973331A (zh) * 2017-03-17 2017-07-21 福建中金在线信息科技有限公司 一种视频播放方法及装置
CN107147927B (zh) * 2017-04-14 2020-04-03 北京小米移动软件有限公司 基于直播连麦的直播方法及装置
CN108093268B (zh) * 2017-12-29 2020-11-10 广州酷狗计算机科技有限公司 进行直播的方法和装置
CN108964979B (zh) * 2018-06-07 2021-05-18 成都深思科技有限公司 一种网络数据流显示系统及其工作方法
CN110602440A (zh) * 2018-06-13 2019-12-20 视联动力信息技术股份有限公司 一种音视频数据流的传输方法、装置及终端
CN108965711B (zh) * 2018-07-27 2020-12-11 广州酷狗计算机科技有限公司 视频处理方法及装置
CN110062252A (zh) * 2019-04-30 2019-07-26 广州酷狗计算机科技有限公司 直播方法、装置、终端及存储介质
TWI708986B (zh) * 2019-05-15 2020-11-01 華碩電腦股份有限公司 電子裝置
CN110262765B (zh) * 2019-06-17 2020-11-10 深圳市炬力北方微电子有限公司 直立影像全屏显示方法、相关设备及系统
CN110572722B (zh) * 2019-09-26 2021-04-16 腾讯科技(深圳)有限公司 视频剪辑方法、装置、设备及可读存储介质
CN110956106B (zh) * 2019-11-20 2023-10-10 广州方硅信息技术有限公司 一种直播开播的处理方法、装置、存储介质及设备
CN110933494A (zh) * 2019-11-29 2020-03-27 维沃移动通信有限公司 一种画面共享方法及电子设备
CN110839174A (zh) * 2019-12-02 2020-02-25 广州酷狗计算机科技有限公司 图像处理的方法、装置、计算机设备以及存储介质
CN111010588B (zh) * 2019-12-25 2022-05-17 成都酷狗创业孵化器管理有限公司 直播处理方法、装置、存储介质及设备
CN111290725B (zh) * 2020-03-13 2023-07-14 深圳市腾讯信息技术有限公司 一种投屏方法、设备及存储介质
CN111711833B (zh) * 2020-07-28 2022-04-26 广州方硅信息技术有限公司 直播视频流推送控制方法、装置、设备及存储介质
CN112135057B (zh) * 2020-09-28 2021-09-21 北海天下为星科技有限公司 一种视频图像处理方法及系统
CN112422871B (zh) * 2020-11-12 2023-05-16 广东保伦电子股份有限公司 一种基于ios平台的双流视频会议方法及处理终端
CN112711390B (zh) * 2020-12-31 2022-07-26 联想(北京)有限公司 一种连续多帧图像显示输出控制方法及电子设备
CN115379246A (zh) * 2021-05-21 2022-11-22 北京字节跳动网络技术有限公司 直播视频流播放方法、装置、电子设备及存储介质
CN113452935B (zh) * 2021-08-31 2021-11-09 成都索贝数码科技股份有限公司 横屏和竖屏直播视频生成系统及方法
CN116546333B (zh) * 2023-04-03 2023-10-31 华光影像科技合肥有限公司 同时输出不同拍摄模式的视频画面的方法、系统和摄像机

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120033046A1 (en) * 2010-08-06 2012-02-09 Sony Corporation Image processing apparatus, image processing method, and program
CN103763505A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 一种在视频通话中适应屏幕方向切换的方法和装置
CN105068774A (zh) * 2015-07-24 2015-11-18 福州瑞芯微电子股份有限公司 一种基于wfd的影像分享方法和系统
CN105227963A (zh) * 2015-08-31 2016-01-06 北京暴风科技股份有限公司 对终端进行流媒体采集自动识别方向并调整的方法及系统
CN105607835A (zh) * 2015-12-21 2016-05-25 惠州Tcl移动通信有限公司 图片方向自动调整的移动终端及其显示方法
CN106484349A (zh) * 2016-09-26 2017-03-08 腾讯科技(深圳)有限公司 直播信息的处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718227A (zh) * 2014-12-04 2016-06-29 中国移动通信集团公司 一种传屏方法及相关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120033046A1 (en) * 2010-08-06 2012-02-09 Sony Corporation Image processing apparatus, image processing method, and program
CN103763505A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 一种在视频通话中适应屏幕方向切换的方法和装置
CN105068774A (zh) * 2015-07-24 2015-11-18 福州瑞芯微电子股份有限公司 一种基于wfd的影像分享方法和系统
CN105227963A (zh) * 2015-08-31 2016-01-06 北京暴风科技股份有限公司 对终端进行流媒体采集自动识别方向并调整的方法及系统
CN105607835A (zh) * 2015-12-21 2016-05-25 惠州Tcl移动通信有限公司 图片方向自动调整的移动终端及其显示方法
CN106484349A (zh) * 2016-09-26 2017-03-08 腾讯科技(深圳)有限公司 直播信息的处理方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110913161A (zh) * 2018-09-17 2020-03-24 成都鼎桥通信技术有限公司 一种竖屏录制横幅视频的方法和装置
CN110913161B (zh) * 2018-09-17 2023-06-23 成都鼎桥通信技术有限公司 一种竖屏录制横幅视频的方法和装置
CN112514358A (zh) * 2018-09-26 2021-03-16 深圳市欢太科技有限公司 一种游戏页面的切换方法及相关产品
CN111031359A (zh) * 2019-12-24 2020-04-17 北京奇艺世纪科技有限公司 视频播放方法、装置、电子设备和计算机可读存储介质
CN111031359B (zh) * 2019-12-24 2023-01-10 北京奇艺世纪科技有限公司 视频播放方法、装置、电子设备和计算机可读存储介质
CN113438436A (zh) * 2020-03-23 2021-09-24 阿里巴巴集团控股有限公司 一种视频播放方法、视频会议方法、直播方法及相关设备
CN113438436B (zh) * 2020-03-23 2023-12-19 阿里巴巴集团控股有限公司 一种视频播放方法、视频会议方法、直播方法及相关设备
CN111694530A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 一种屏幕适配的方法、装置、电子设备及存储介质
CN111694530B (zh) * 2020-06-09 2023-05-23 阿波罗智联(北京)科技有限公司 一种屏幕适配的方法、装置、电子设备及存储介质
CN113741842A (zh) * 2021-08-26 2021-12-03 腾讯科技(深圳)有限公司 屏幕刷新延迟的确定方法和装置、存储介质及电子设备
CN113741842B (zh) * 2021-08-26 2023-05-12 腾讯科技(深圳)有限公司 屏幕刷新延迟的确定方法和装置、存储介质及电子设备
CN114390310A (zh) * 2022-01-13 2022-04-22 广州繁星互娱信息科技有限公司 数据推送方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN106484349A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
WO2018054375A1 (zh) 直播信息的处理方法、装置及存储介质
TWI595777B (zh) 透過hdmi發送顯示管理元數據
US11245939B2 (en) Generating and transmitting metadata for virtual reality
JP4877852B2 (ja) 画像符号化装置、および画像送信装置
US20160050368A1 (en) Video processing apparatus for generating paranomic video and method thereof
CN107040794A (zh) 视频播放方法、服务器、虚拟现实设备以及全景虚拟现实播放系统
CN108076364A (zh) 自适应媒体流传输设备和媒体服务设备
WO2018010662A1 (zh) 视频文件的转码方法,装置及存储介质
CN111416989A (zh) 视频直播方法、系统及电子设备
WO2018214698A1 (zh) 一种视频信息的呈现方法和装置
US11438645B2 (en) Media information processing method, related device, and computer storage medium
CN104954633A (zh) 一种直播导播的方法、客户端及系统
CA3018600C (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
CN104954812A (zh) 一种视频同步播放的方法、装置及系统
WO2021218573A1 (zh) 视频播放方法、装置及系统、计算机存储介质
CN110913278A (zh) 视频播放方法、显示终端及存储介质
Podborski et al. Virtual reality and DASH
WO2015123861A1 (zh) 处理视频的方法、终端和服务器
KR101280443B1 (ko) 영역 영상을 처리하는 장치 및 그 제어방법
JP5808485B2 (ja) 移動端末の録画方法、関連装置及びシステム
JP5383316B2 (ja) 送信機と電子装置間の信号ストリームの簡略化された伝送方法
JP2010011287A (ja) 映像伝送方法および端末装置
CN108449600A (zh) 电影数据的传输方法及装置
WO2017180439A1 (en) System and method for fast stream switching with crop and upscale in client player
KR101440131B1 (ko) 모바일 클라이언트 단말기에서 다채널 CCTV 관제를 위한 Qos 영상처리 시스템 및 Qos 영상 처리 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17852442

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17852442

Country of ref document: EP

Kind code of ref document: A1