CN106303661B - 一种直播客户端实现自适应屏幕旋转的方法及系统 - Google Patents

一种直播客户端实现自适应屏幕旋转的方法及系统 Download PDF

Info

Publication number
CN106303661B
CN106303661B CN201610754218.5A CN201610754218A CN106303661B CN 106303661 B CN106303661 B CN 106303661B CN 201610754218 A CN201610754218 A CN 201610754218A CN 106303661 B CN106303661 B CN 106303661B
Authority
CN
China
Prior art keywords
image
media
data flow
resolution ratio
image data
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
CN201610754218.5A
Other languages
English (en)
Other versions
CN106303661A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610754218.5A priority Critical patent/CN106303661B/zh
Publication of CN106303661A publication Critical patent/CN106303661A/zh
Application granted granted Critical
Publication of CN106303661B publication Critical patent/CN106303661B/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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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
    • 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/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/70Media network packetisation
    • 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/75Media network packet handling
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA

Abstract

本发明公开了一种直播客户端实现自适应屏幕旋转的方法及系统,涉及直播客户端应用技术领域。该方法包括:推流端获取屏幕或摄像头的图像数据;根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码,并将编码后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流并推送至服务器端;播放端从服务器端获取媒体数据流后,对媒体数据流中的媒体描述信息进行解析,获取其中图像分辨率的属性的值,并根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码;最终,根据解析的媒体描述信息配置相应的播放器,并在播放器中播放解码后的图像数据。本发明能实现直播客户端的自适应屏幕旋转,满足了用户实际使用需求,用户体验佳。

Description

一种直播客户端实现自适应屏幕旋转的方法及系统
技术领域
本发明涉及直播客户端应用技术领域,具体来讲是一种直播客户端实现自适应屏幕旋转的方法及系统。
背景技术
随着互联网技术的迅速发展,越来越多的用户可以使用电脑、手机等终端通过网络观看在线视频直播。在线视频直播是指利用互联网网络资源进行的现场视频直播服务,主播通过现场的视频拍摄同步发布到网络上,观众可以同一时间在网络上看到实时的现场情况。
但目前,直播客户端(包括主播端也称推流端,和用户端也称播放端)在进行推流和播放时经常会遇到智能终端设备的屏幕旋转问题。具体来说,旋转后的设备屏幕和设备摄像头会涉及横竖屏的切换,从而使得采集的图像分辨率也会发生变化。目前,常见的处理方式是直播客户端在采集和推流时禁止屏幕旋转(即无法实现屏幕旋转),但这将造成所推送出的图像方向与播放端所观看的图像方向不一致的问题,使得用户体验较差。
因此,如何在直播客户端中实现自适应屏幕旋转,提高用户体验是本领域亟待解决的问题。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种直播客户端实现自适应屏幕旋转的方法及系统,能在直播客户端中实现自适应屏幕旋转,满足了用户的实际使用需求,提高了用户体验。
为达到以上目的,本发明采取的技术方案是:提供一种直播客户端实现自适应屏幕旋转的方法,该方法包括以下步骤:
步骤S1:推流端获取屏幕或摄像头的图像数据,该图像数据与当前屏幕方向相关;
步骤S2:推流端根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码处理;并将编码处理后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流,所述媒体描述信息中包括图像分辨率的属性;
步骤S3:推流端将媒体数据流按照指定的格式和指定的流媒体协议推送至服务器端;
步骤S4:播放端按照指定的流媒体协议从服务器端获取媒体数据流;
步骤S5:播放端对媒体数据流中的媒体描述信息进行解析,获取其中图像分辨率的属性的值;并根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码;
步骤S6:播放端根据解析的媒体描述信息配置相应的播放器,并在配置的播放器中播放解码后的图像数据,结束。
本发明还提供一种直播客户端实现自适应屏幕旋转的系统,该系统包括直播客户端和服务器端,直播客户端分为推流端和播放端;所述推流端包括屏幕/摄像头采集模块、编码及数据流生成模块、数据流推送模块;所述播放端包括数据流接收模块、图像数据解码模块和图像播放模块。
其中,所述屏幕/摄像头采集模块用于:获取屏幕或摄像头的图像数据,该图像数据与当前屏幕方向相关;所述编码及数据流生成模块用于:根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码处理;并将编码处理后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流,所述媒体描述信息中包括图像分辨率的属性;所述数据流推送模块用于:将媒体数据流按照指定的格式和指定的流媒体协议推送至服务器端;所述数据流接收模块用于:按照指定的流媒体协议从服务器端获取媒体数据流;所述图像数据解码模块用于:对媒体数据流中的媒体描述信息进行解析,获取其中图像分辨率的属性的值;并根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码;所述图像播放模块用于:根据解析的媒体描述信息配置相应的播放器,并在配置的播放器中播放解码后的图像数据。
本发明的有益效果在于:
本发明的推流端能根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码,并将编码后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流并推送至服务器端。也就是说,在推流时,能传送不同的分辨率的图像数据和对应的媒体描述信息。而播放端能根据解析的媒体描述信息配置相应的播放器,并在播放器中播放解码后的图像数据,从而可以在基本不增加推流端数据处理的基础上实现直播客户端的自适应屏幕旋转,而无需担心所推送出的图像方向与播放端所观看的图像方向不一致的问题。与现有技术中在采集和推流时禁止屏幕旋转的方式相比,本发明可以实现客户端的自适应屏幕旋转,满足了用户的实际使用需求,提高了用户体验。
附图说明
图1为本发明实施例中直播客户端实现自适应屏幕旋转的方法的流程图;
图2为本发明实施例中步骤S2的具体流程图;
图3为本发明实施例中媒体数据流格式的示意图;
图4为本发明实施例中步骤S5的具体流程图;
图5为本发明实施例中直播客户端实现自适应屏幕旋转的系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种直播客户端实现自适应屏幕旋转的方法,该直播客户端分为推流端(通常为主播所在端)和播放端(通常为观众所在端),具体包括以下步骤:
步骤S1、屏幕/摄像头采集:推流端利用设备系统提供的图像采集接口函数获取屏幕或摄像头的图像数据(包括图片数据或视频数据),该图像数据是与当前屏幕方向相关的。
步骤S2、图像编码及媒体数据流的生成:推流端根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码处理;并将编码处理后的图像数据与当前最新的媒体描述信息onMetaData混合,形成媒体数据流,所述媒体描述信息onMetaData中包括图像分辨率的属性(width宽属性和height高属性)。
具体来说,参见图2所示,步骤S2具体包括以下操作:
步骤S201:通过调用推流端设备系统的分辨率获取接口函数获取当前图像的分辨率,转入步骤S202。
步骤S202:判断当前图像的分辨率是否发生变化,若是,转入步骤S204;否则,转入步骤S203;具体来说,判断当前图像的分辨率是否发生变化的依据为:将当前图像的分辨率与当前已有的编码器所使用的分辨率进行对比,若相同,则判定为未发生变化,若不相同,则判定为发生变化。
步骤S203:利用已有的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码,转入步骤S205。
步骤S204:根据新的分辨率重新初始化已有的编码器,并利用重新初始化后的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码;同时,按照新的分辨率更新媒体描述信息onMetaData中的图像分辨率的属性,转入步骤S205。
步骤S205:将编码处理后的图像数据与当前的媒体描述信息onMetaData混合,形成媒体数据流。
可以理解的是,本实施例的步骤S203和步骤S204中,指定的编码格式为H264压缩格式。进一步地,实际操作时,步骤S205中形成的媒体数据流中还包括有外部采集到的音频数据,所形成的媒体数据流格式如图3所示,包括媒体描述信息onMetaData、图像数据videoData和音频数据audioData。
步骤S3、媒体数据流推送:推流端将媒体数据流按照指定的格式和指定的流媒体协议推送至服务器端。可以理解的是,本实施例中,媒体数据流是以FLV(FLASH VIDEO)格式,按照RTMP(Real Time Messaging Protocol,实时消息传输协议)协议推送至直播服务器端的,实际操作中,可根据具体应用的场景需要自行指定格式、选择流媒体协议和服务器端。
步骤S4、媒体数据流接收:播放端按照指定的流媒体协议从服务器端获取媒体数据流。
步骤S5、媒体描述信息解析及图像数据解码:播放端对媒体数据流中的媒体描述信息onMetaData进行解析,获取其中图像分辨率的属性的值;根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码。
具体来说,参见图4所示,步骤S5具体包括以下操作:
步骤S501:播放端从获取到的媒体数据流中查找到媒体描述信息onMetaData,并从中解析出图像分辨率的属性值,width和height,转入步骤S502。
步骤S502:判断图像的分辨率是否发生变化,若是,转入步骤S504;否则,转入步骤S503;具体来说,判断图像的分辨率是否发生变化的依据为:根据解析出的图像分辨率的属性值得到当前的图像分辨率;将当前的图像分辨率与当前解码器使用的分辨率进行对比,若相同,则判定为未发生变化,若不相同,则判定为发生变化。
步骤S503:利用已有的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码。
步骤S504:根据新的分辨率重新初始化已有的解码器,并利用重新初始化后的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码。
步骤S6、图像播放:播放端根据解析的媒体描述信息onMetaData配置相应的播放器,并在配置的播放器中播放解码后的图像数据,结束。
参见图5所示,本发明还提供了一种直播客户端实现自适应屏幕旋转的系统,包括直播客户端和服务器端,该直播客户端分为推流端和播放端。其中,推流端包括屏幕/摄像头采集模块、编码及数据流生成模块和数据流推送模块;播放端包括数据流接收模块、图像数据解码模块和图像播放模块。
具体来说,屏幕/摄像头采集模块用于:获取屏幕或摄像头的图像数据,该图像数据与当前屏幕方向相关;编码及数据流生成模块用于:根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码处理,并将编码处理后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流,所述媒体描述信息中包括图像分辨率的属性;数据流推送模块用于:将媒体数据流按照指定的格式和指定的流媒体协议推送至服务器端;数据流接收模块用于:按照指定的流媒体协议从服务器端获取媒体数据流;图像数据解码模块用于:对媒体数据流中的媒体描述信息进行解析,获取其中图像分辨率的属性的值,并根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码;图像播放模块用于:根据解析的媒体描述信息配置相应的播放器,并在配置的播放器中播放解码后的图像数据。
本实施例中,所述数据流推送模块是将媒体数据流以FLV格式,按照RTMP协议推送至服务器端的;所述数据流接收模块是按照RTMP协议从服务器端获取媒体数据流的。
进一步地,所述编码及数据流生成模块包括分辨率获取子模块、分辨率判断子模块、第一编码子模块、第二编码子模块和数据流生成子模块。所述分辨率获取子模块用于:通过调用推流端设备系统的分辨率获取接口函数获取当前图像的分辨率,向分辨率判断子模块发送判断信号;所述分辨率判断子模块用于:收到判断信号后,判断当前图像的分辨率是否发生变化,若是,向第一编码子模块发送第一编码信号;否则,向第二编码子模块发送第二编码信号;所述第一编码子模块用于:收到第一编码信号后,根据新的分辨率重新初始化已有的编码器,并利用重新初始化后的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码;同时,按照新的分辨率更新媒体描述信息中的图像分辨率的属性,向数据流生成子模块发送生成信号;所述第二编码子模块用于:收到第二编码信号后,利用已有的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码,向数据流生成子模块发送生成信号;所述数据流生成子模块用于:收到生成信号后,将编码处理后的图像数据与当前的媒体描述信息混合,形成媒体数据流。
本实施例中,所述第一编码子模块、第二编码子模块均是按照H264的编码格式进行数据压缩;所述数据流生成子模块形成的媒体数据流中还包括有外部采集到的音频数据。
更进一步地,所述图像数据解码模块包括媒体描述信息解析子模块、分辨率变化判断子模块、第一解码子模块和第二解码子模块。所述媒体描述信息解析子模块用于:从获取到的媒体数据流中查找到媒体描述信息,并从中解析出图像分辨率的属性值,向分辨率变化判断子模块发送变化判断信号;所述分辨率变化判断子模块用于:收到变化判断信号后,判断图像的分辨率是否发生变化,若是,向第一解码子模块发送第一解码信号;否则,向第二解码子模块发送第二解码信号;所述第一解码子模块用于:收到第一解码信号后,根据新的分辨率重新初始化已有的解码器,并利用重新初始化后的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码;所述第二解码子模块用于:收到第二解码信号后,利用已有的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码。
需要说明的是:上述实施例提供的系统在进行操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可根据需要将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (6)

1.一种直播客户端实现自适应屏幕旋转的方法,所述直播客户端分为推流端和播放端,其特征在于,该方法包括以下步骤:
步骤S1:推流端获取屏幕或摄像头的图像数据,该图像数据与当前屏幕方向相关;
步骤S2:推流端根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码处理;并将编码处理后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流,所述媒体描述信息中包括图像分辨率的属性;
步骤S3:推流端将媒体数据流按照指定的格式和指定的流媒体协议推送至服务器端;
步骤S4:播放端按照指定的流媒体协议从服务器端获取媒体数据流;
步骤S5:播放端对媒体数据流中的媒体描述信息进行解析,获取其中图像分辨率的属性的值;并根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码;
步骤S6:播放端根据解析的媒体描述信息配置相应的播放器,并在配置的播放器中播放解码后的图像数据,结束;
其中,步骤S2的具体流程包括:
步骤S201:通过调用推流端设备系统的分辨率获取接口函数获取当前图像的分辨率,转入步骤S202;
步骤S202:判断当前图像的分辨率是否发生变化,若是,转入步骤S204;否则,转入步骤S203;
步骤S203:利用已有的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码,转入步骤S205;
步骤S204:根据新的分辨率重新初始化已有的编码器,并利用重新初始化后的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码;同时,按照新的分辨率更新媒体描述信息中的图像分辨率的属性,转入步骤S205;
步骤S205:将编码处理后的图像数据与当前的媒体描述信息混合,形成媒体数据流;
步骤S5的具体流程包括:
步骤S501:播放端从获取到的媒体数据流中查找到媒体描述信息,并从中解析出图像分辨率的属性值,转入步骤S502;
步骤S502:判断图像的分辨率是否发生变化,若是,转入步骤S504;否则,转入步骤S503;
步骤S503:利用已有的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码;
步骤S504:根据新的分辨率重新初始化已有的解码器,并利用重新初始化后的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码。
2.如权利要求1所述的直播客户端实现自适应屏幕旋转的方法,其特征在于:步骤S203和步骤S204中,所述指定的编码格式为H264压缩格式;步骤S205中形成的媒体数据流中还包括有外部采集到的音频数据。
3.如权利要求1和2中任一项所述的直播客户端实现自适应屏幕旋转的方法,其特征在于:步骤S3中,推流端是将媒体数据流以FLV格式,按照RTMP协议推送至服务器端的;步骤S4中,播放端按照RTMP协议从服务器端获取媒体数据流。
4.一种直播客户端实现自适应屏幕旋转的系统,包括直播客户端和服务器端,所述直播客户端分为推流端和播放端,其特征在于:所述推流端包括屏幕/摄像头采集模块、编码及数据流生成模块、数据流推送模块;所述播放端包括数据流接收模块、图像数据解码模块和图像播放模块;
所述屏幕/摄像头采集模块用于:获取屏幕或摄像头的图像数据,该图像数据与当前屏幕方向相关;
所述编码及数据流生成模块用于:根据当前屏幕方向所对应的分辨率情况,对采集的图像数据进行编码处理;并将编码处理后的图像数据与当前最新的媒体描述信息混合,形成媒体数据流,所述媒体描述信息中包括图像分辨率的属性;
所述数据流推送模块用于:将媒体数据流按照指定的格式和指定的流媒体协议推送至服务器端;
所述数据流接收模块用于:按照指定的流媒体协议从服务器端获取媒体数据流;
所述图像数据解码模块用于:对媒体数据流中的媒体描述信息进行解析,获取其中图像分辨率的属性的值;并根据图像分辨率的变化情况对媒体数据流中的图像数据进行解码;
所述图像播放模块用于:根据解析的媒体描述信息配置相应的播放器,并在配置的播放器中播放解码后的图像数据;
所述编码及数据流生成模块包括分辨率获取子模块、分辨率判断子模块、第一编码子模块、第二编码子模块和数据流生成子模块;
所述分辨率获取子模块用于:通过调用推流端设备系统的分辨率获取接口函数获取当前图像的分辨率,向分辨率判断子模块发送判断信号;
所述分辨率判断子模块用于:收到判断信号后,判断当前图像的分辨率是否发生变化,若是,向第一编码子模块发送第一编码信号;否则,向第二编码子模块发送第二编码信号;
所述第一编码子模块用于:收到第一编码信号后,根据新的分辨率重新初始化已有的编码器,并利用重新初始化后的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码;同时,按照新的分辨率更新媒体描述信息中的图像分辨率的属性,向数据流生成子模块发送生成信号;
所述第二编码子模块用于:收到第二编码信号后,利用已有的编码器将采集的图像数据按照指定的编码格式进行数据压缩,实现图像数据的编码,向数据流生成子模块发送生成信号;
所述数据流生成子模块用于:收到生成信号后,将编码处理后的图像数据与当前的媒体描述信息混合,形成媒体数据流;
所述图像数据解码模块包括媒体描述信息解析子模块、分辨率变化判断子模块、第一解码子模块和第二解码子模块;
所述媒体描述信息解析子模块用于:从获取到的媒体数据流中查找到媒体描述信息,并从中解析出图像分辨率的属性值,向分辨率变化判断子模块发送变化判断信号;
所述分辨率变化判断子模块用于:收到变化判断信号后,判断图像的分辨率是否发生变化,若是,向第一解码子模块发送第一解码信号;否则,向第二解码子模块发送第二解码信号;
所述第一解码子模块用于:收到第一解码信号后,根据新的分辨率重新初始化已有的解码器,并利用重新初始化后的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码;
所述第二解码子模块用于:收到第二解码信号后,利用已有的解码器按照图像编码对应的格式对媒体数据流中的图像数据进行解码。
5.如权利要求4所述的直播客户端实现自适应屏幕旋转的系统,其特征在于:所述第一编码子模块、第二编码子模块均是按照H264的编码格式进行数据压缩;所述数据流生成子模块形成的媒体数据流中还包括有外部采集到的音频数据。
6.如权利要求4或5所述的直播客户端实现自适应屏幕旋转的系统,其特征在于:所述数据流推送模块是将媒体数据流以FLV格式,按照RTMP协议推送至服务器端的;所述数据流接收模块是按照RTMP协议从服务器端获取媒体数据流的。
CN201610754218.5A 2016-08-29 2016-08-29 一种直播客户端实现自适应屏幕旋转的方法及系统 Active CN106303661B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610754218.5A CN106303661B (zh) 2016-08-29 2016-08-29 一种直播客户端实现自适应屏幕旋转的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610754218.5A CN106303661B (zh) 2016-08-29 2016-08-29 一种直播客户端实现自适应屏幕旋转的方法及系统

Publications (2)

Publication Number Publication Date
CN106303661A CN106303661A (zh) 2017-01-04
CN106303661B true CN106303661B (zh) 2019-11-12

Family

ID=57674359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610754218.5A Active CN106303661B (zh) 2016-08-29 2016-08-29 一种直播客户端实现自适应屏幕旋转的方法及系统

Country Status (1)

Country Link
CN (1) CN106303661B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106791903B (zh) * 2016-12-29 2019-07-26 广州爱九游信息技术有限公司 直播处理系统、设备、装置及方法
CN107454457B (zh) * 2017-06-28 2020-01-03 武汉斗鱼网络科技有限公司 切换录屏直播分辨率的方法及装置
CN108200447B (zh) * 2018-01-15 2020-08-28 北京金山云网络技术有限公司 直播数据传输方法、装置、电子设备、服务器及存储介质
CN110139128B (zh) * 2019-03-25 2022-10-21 北京奇艺世纪科技有限公司 一种信息处理方法、拦截器、电子设备及存储介质
CN111711833B (zh) * 2020-07-28 2022-04-26 广州方硅信息技术有限公司 直播视频流推送控制方法、装置、设备及存储介质
CN111988671B (zh) * 2020-09-07 2022-06-03 北京达佳互联信息技术有限公司 图像处理方法及图像处理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959763A (zh) * 2011-12-09 2014-07-30 惠普发展公司,有限责任合伙企业 基于定向来生成图像
CN105227963A (zh) * 2015-08-31 2016-01-06 北京暴风科技股份有限公司 对终端进行流媒体采集自动识别方向并调整的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959763A (zh) * 2011-12-09 2014-07-30 惠普发展公司,有限责任合伙企业 基于定向来生成图像
CN105227963A (zh) * 2015-08-31 2016-01-06 北京暴风科技股份有限公司 对终端进行流媒体采集自动识别方向并调整的方法及系统

Also Published As

Publication number Publication date
CN106303661A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106303661B (zh) 一种直播客户端实现自适应屏幕旋转的方法及系统
CN103561279B (zh) 一种多媒体文件播放的方法、系统及云转码服务设备
CN105472477B (zh) 一种数据传输方法、装置及设备
US8760492B2 (en) Method and system for switching between video streams in a continuous presence conference
CN100568966C (zh) 一种音/视频数据的网络传输方法
CN100531298C (zh) 用于执行画中画功能的多媒体信号匹配系统和方法
CN105635636B (zh) 一种视频会议系统及其实现视频图像传输控制的方法
CN106406789A (zh) 一种实现单个pc屏幕向多个不同设备屏幕投屏的方法
CN107113460A (zh) 针对空中广播媒体数据的会话描述信息
CN1380795A (zh) 多点播放会议装置及多点播放会议程序
TW200822758A (en) Scalable video coding and decoding
CN109089129B (zh) 一种稳健的多视频捆绑直播系统及其方法
CN102202210B (zh) 手机播放实时监控视频的方法及播放实时监控视频的手机
CN102547375A (zh) 一种快速实现预览h.264编码帧的传输方法
CN101778285B (zh) 一种音视频信号无线传输系统及其方法
CN106303682B (zh) 频道切换的方法、装置、终端及服务器
CN101998116A (zh) 一种多视角视频业务的实现方法、系统和设备
CN105978926A (zh) 一种数据传输的方法和装置
CN105142009A (zh) 音视频播放控制方法及装置
CN105430453B (zh) 媒体数据采集方法、媒体终端及在线音乐教学系统
CN110602522A (zh) 一种多路实时直播WebRTC流合成方法
CN103024441B (zh) 一种移动终端播放电视节目的方法
CN105430510A (zh) 一种视频点播方法、网关、智能终端及视频点播系统
CN111510720A (zh) 实时流媒体数据的传输方法、电子装置及服务器
CN103826084A (zh) 一种音频编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant