CN108093268B - 进行直播的方法和装置 - Google Patents

进行直播的方法和装置 Download PDF

Info

Publication number
CN108093268B
CN108093268B CN201711482284.2A CN201711482284A CN108093268B CN 108093268 B CN108093268 B CN 108093268B CN 201711482284 A CN201711482284 A CN 201711482284A CN 108093268 B CN108093268 B CN 108093268B
Authority
CN
China
Prior art keywords
terminal
live
live broadcast
audio data
server
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
CN201711482284.2A
Other languages
English (en)
Other versions
CN108093268A (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 Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer 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 Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN201711482284.2A priority Critical patent/CN108093268B/zh
Publication of CN108093268A publication Critical patent/CN108093268A/zh
Priority to PCT/CN2018/117506 priority patent/WO2019128592A1/zh
Priority to EP18895114.9A priority patent/EP3624457A4/en
Priority to US16/618,065 priority patent/US11153609B2/en
Application granted granted Critical
Publication of CN108093268B publication Critical patent/CN108093268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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
    • 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/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/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • 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/25858Management of client data involving client software characteristics, e.g. OS identifier
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/2665Gathering content from different sources, e.g. Internet and satellite
    • 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/27Server based end-user applications
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4182External card to be used in combination with the client device, e.g. for conditional access for identification purposes, e.g. storing user identification data, preferences, personal settings or data
    • 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
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages

Abstract

本发明公开了一种进行直播的方法和装置,属于互联网技术领域。所述方法包括:第一终端在直播过程中,采集直播音频数据和第一直播图像数据;所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;所述第一终端将所述直播音频数据,发送给第二终端;所述第二终端采集第二直播图像数据;所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。采用本发明,可以合理利用屏幕的显示空间。

Description

进行直播的方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种进行直播的方法和装置。
背景技术
随着互联网技术的发展,手机、计算机等终端得到了广泛的应用,相应的终端上的应用程序的种类越来越多、功能越来越丰富。网络直播类应用程序即是一种很常用的应用程序。
以唱歌直播为例,目前的直播方式是,主播可以打开手机或计算机等设备上的应用程序,选择自己想唱的歌曲,应用程序会播放相应歌曲的伴奏,主播可以跟随伴奏进行演唱。在这个过程中,应用程序可以对主播进行视频采集以及音频采集,并将采集到的视频、采集到的人声音频以及播放的伴奏音频实时发送到流媒体服务器。通过流媒体服务器,用户可以通过手机或计算机等设备上的应用程序观看直播。在主播使用不同设备的情况下,应用程序可能发送横屏模式(宽大于高的显示模式)的视频流到流媒体服务器,也可能发送竖屏模式(宽小于高的显示模式)的视频流到流媒体服务器。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当主播发送的是横屏模式的视频流时,用户的手机应用程序可能以半屏的方式呈现给用户,使用手机观看直播的用户可能观看体验较差;当主播发布的是竖屏模式的视频流时,用户的计算机应用程序可能以竖屏的方式呈现给用户,使用计算机观看直播的用户可能观看体验较差。因此,直播在屏幕中的显示比例不适合屏幕,因此,浪费了屏幕的显示空间。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种进行直播的方法和装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种进行直播的方法,所述方法包括:
第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
所述第一终端将所述直播音频数据,发送给第二终端;
所述第二终端采集第二直播图像数据;
所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。
可选地,所述第一终端在直播过程中,采集直播音频数据和第一直播图像数据之前,还包括:
所述第一终端广播配对请求;
所述第二终端接收所述第一终端广播的配对请求;
所述第二终端向所述第一终端发送配对响应消息;
当接收到所述第二终端发送的配对响应消息时,所述第一终端显示将所述第二终端设置为配对终端的提示框;
当接收到通过所述提示框发送的确认指令时,所述第一终端记录所述第二终端为发送直播音频数据的配对终端。
可选地,所述第一终端在直播过程中,采集直播音频数据和第一直播图像数据之前,还包括:
当所述第一终端接收到开播指令时,进行开播处理,并向所述第二终端发送开启直播消息,其中,所述开启直播消息中携带所述服务器的链接信息,所述链接信息中包括地址信息和直播间标识;
所述第二终端根据所述服务器的链接信息,进行开播处理。
可选地,所述方法还包括:
所述第二终端统计所述第一终端发送的直播音频数据的传输丢包率;
所述第二终端将所述传输丢包率发送给所述第一终端;
如果所述传输丢包率大于预设阈值,所述第一终端则停止向所述第二终端发送直播音频数据。
可选地,所述开启直播消息中还携带有所述直播音频数据的采样率,所述第二终端将所述第二直播图像数据和所述直播音频数据发送给所述服务器,包括:
所述第二终端根据所述采样率,确定所述直播音频数据的每个音频帧的帧时长;
每当接收到所述直播音频数据的一个音频帧时,所述第二终端将接收到的音频帧的时间戳,调整为当前时刻减去所述帧时长得到的时刻;
所述第二终端将所述第二直播图像数据和调整时间戳后的直播音频数据发送给所述服务器。
根据本发明实施例的第二方面,提供一种进行直播的方法,所述方法包括:
服务器接收第一终端发送的第一直播图像数据、直播音频数据和所述第一终端的第一设备标识,并接收所述第二终端发送的第二直播图像数据、所述直播音频数据和所述第二终端的第二设备标识;
所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端;
所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
可选地,所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端,包括:
基于预先建立的设备标识组,在直播间的其它终端中,确定设备标识与所述第一设备标识属于相同设备标识组的终端,以及设备标识与所述第二设备标识属于相同设备标识组的终端,其中,所述设备标识组包括第一设备标识组和第二设备标识组,所述第一设备标识组中的设备标识对应的终端的视频模式为横屏模式,所述第二设备标识组中的设备标识对应的终端的视频模式为竖屏模式;
所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据,包括:
所述服务器向设备标识与所述第一设备标识属于相同设备标识组的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向设备标识与所述第二设备标识属于相同设备标识组的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
根据本发明实施例的第三方面,提供一种进行直播的方法,所述方法包括:
第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
所述第一终端将所述直播音频数据,发送给第二终端;
所述第二终端采集第二直播图像数据;
所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识;
所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端,其中,所述视频模式包括横屏模式和竖屏模式;
所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
根据本发明实施例的第四方面,提供一种进行直播的装置,所述装置包括:
采集模块,用于第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
第一发送模块,用于所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
第二发送模块,用于所述第一终端将所述直播音频数据,发送给第二终端。
可选地,所述装置还包括:
广播模块,用于第一终端在直播过程中,获取当前的直播音频数据和第一直播图像数据之前,所述第一终端广播配对请求;
显示模块,用于当接收到所述第二终端发送的配对响应消息时,所述第一终端显示将所述第二终端设置为配对终端的提示框;
记录模块,用于当接收到通过所述提示框发送的确认指令时,所述第一终端记录所述第二终端为发送直播音频数据的配对终端。
可选地,所述装置还包括:
处理模块,用于第一终端在直播过程中,采集直播音频数据和第一直播图像数据之前,当所述第一终端接收到开播指令时,进行开播处理,并向所述第二终端发送开启直播消息,其中,所述开启直播消息中携带所述服务器的链接信息,所述链接信息中包括地址信息和直播间标识。
可选地,所述装置还包括:
接收模块,用于所述第一终端接收到所述第二终端发送的直播音频数据的传输丢包率;
停止模块,用于如果所述传输丢包率大于预设阈值,所述第一终端则停止向所述第二终端发送直播音频数据。
根据本发明实施例的第五方面,提供一种进行直播的装置,所述装置包括:
采集模块,用于第二终端在直播过程中,采集第二直播图像数据;
第一发送模块,用于所述第二终端将所述第二直播图像数据和所述直播音频数据,同步发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。
可选地,所述装置还包括:
接收模块,用于第二终端在直播过程中,采集第二直播图像数据之前,所述第二终端接收所述第一终端广播的配对请求;
第二发送模块,用于所述第二终端向所述第一终端发送配对响应消息。
可选地,所述装置还包括:
处理模块,用于所述第二终端根据所述服务器的链接信息,进行开播处理。
可选地,所述方法还包括:
统计模块,用于所述第二终端统计所述第一终端发送的直播音频数据的传输丢包率;
第三发送模块,用于所述第二终端将所述传输丢包率发送给所述第一终端。
可选地,所述开播通知消息中还携带有所述直播音频数据的采样率,所述第一发送模块,用于:
所述第二终端根据所述采样率,确定所述直播音频数据的每个音频帧的帧时长;
每当接收到所述直播音频数据的一个音频帧时,所述第二终端将接收到的音频帧的时间戳,调整为当前时刻减去所述帧时长得到的时刻;
所述第二终端将所述第二直播图像数据和调整时间戳后的直播音频数据,同步发送给所述服务器。
根据本发明实施例的第六方面,提供一种进行直播的装置,所述装置包括:
接收模块,用于服务器接收第一终端发送的第一直播图像数据、直播音频数据和所述第一终端的第一设备标识,并接收所述第二终端发送的第二直播图像数据、所述直播音频数据和所述第二终端的第二设备标识;
确定模块,用于所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端;
发送模块,用于所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
可选地,所述确定模块用于:
基于预先建立的设备标识组,在直播间的其它终端中,确定设备标识与所述第一设备标识属于相同设备标识组的终端,以及设备标识与所述第二设备标识属于相同设备标识组的终端,其中,所述设备标识组包括第一设备标识组和第二设备标识组,所述第一设备标识组中的设备标识对应的终端的视频模式为横屏模式,所述第二设备标识组中的设备标识对应的终端的视频模式为竖屏模式;
所述发送模块用于:
所述服务器向设备标识与所述第一设备标识属于相同设备标识组的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向设备标识与所述第二设备标识属于相同设备标识组的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
根据本发明实施例的第七方面,提供一种系统,所述系统包括第一终端、第二终端和服务器,其中:
所述第一终端,如第四方面所述的第一终端;
所述第二终端,如第五方面所述的第二终端;
所述服务器,如第六方面所述的服务器。
根据本发明实施例的第八方面,提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面或第三方面所述的进行直播的方法。
根据本发明实施例的第九方面,提供一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第二方面或第三方面所述的进行直播的方法。
根据本发明实施例的第十方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面或第二方面或第三方面中所述的进行直播的方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,第一终端在直播过程中,采集直播音频数据和第一直播图像数据;所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;所述第一终端将所述直播音频数据,发送给第二终端;所述第二终端采集第二直播图像数据;所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。这样,主播可以同时发送横屏模式的视频流和竖屏模式的视频流,因此,无论是使用横屏模式的终端观看直播,还是使用竖屏模式的终端观看直播,用户都可以在终端屏幕上看到显示比例适合屏幕的直播视频,用户的观看体验较好,因此,合理利用了屏幕的显示空间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种进行直播的方法的流程图;
图2是本发明实施例提供的一种进行直播的方法的示意图;
图3是本发明实施例提供的一种进行直播的方法的传输示意图;
图4是本发明实施例提供的一种进行直播的方法的传输示意图;
图5是本发明实施例提供的一种进行直播的装置的结构示意图;
图6是本发明实施例提供的一种进行直播的装置的结构示意图;
图7是本发明实施例提供的一种进行直播的装置的结构示意图;
图8是本发明实施例提供的一种进行直播的装置的结构示意图;
图9是本发明实施例提供的一种进行直播的装置的结构示意图;
图10是本发明实施例提供的一种进行直播的装置的结构示意图;
图11是本发明实施例提供的一种进行直播的装置的结构示意图;
图12是本发明实施例提供的一种进行直播的装置的结构示意图;
图13是本发明实施例提供的一种进行直播的装置的结构示意图;
图14是本发明实施例提供的一种终端结构示意图;
图15是本发明实施例提供的一种服务器结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种进行直播的方法和装置,该方法可以由服务器和终端共同实现,终端可以是能够进行直播的终端。
服务器可以包括处理器、存储器、收发器等部件。处理器,可以为CPU(CentralProcessing Unit,中央处理单元)等,可以用于确定与第一终端具有相同视频模式的终端、确定与第二终端具有相同视频模式的终端等处理。存储器,可以为RAM(Random AccessMemory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如设备标识和视频模式的对应关系、第一终端和第二终端的设备标识等。收发器,可以用于与终端或其它服务器进行数据传输,例如,接收第一终端发送的第一直播图像数据、直播音频数据和第一终端的第一设备标识、接收第二终端发送的第二直播图像数据、直播音频数据和第二终端的第二设备标识、接收观众的终端发送的观看直播请求、向观众的终端发送直播图像数据和直播音频数据等,收发器可以包括天线、匹配电路、调制解调器等。
终端可以包括处理器、存储器、收发器、屏幕、图像检测部件、音频输出部件和音频输入部件等部件。处理器,可以为CPU(Central Processing Unit,中央处理单元)等,可以用于控制屏幕显示将第二终端设置为配对终端的提示框、执行提示框的确认指令、等处理。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如开启直播消息、直播音频数据、设备标识等。收发器,可以用于与其它设备进行数据传输,例如,接收配对请求、接收配对响应消息、发送开启直播消息、向服务器发送直播音频数据和直播图像数据等,可以包括天线、匹配电路、调制解调器等。屏幕可以是触控屏,可以用于显示接收到的第一数据等。图像检测部件可以是摄像头等。音频输出部件可以是音箱、耳机等。音频输入部件可以是麦克风等。
如图1所示,该方法的处理流程可以包括如下的步骤:
在步骤101中,第一终端广播配对请求;第二终端接收第一终端广播的配对请求,然后,向第一终端发送配对响应消息。当第一终端接收到第二终端发送的配对响应消息时,显示将第二终端设置为配对终端的提示框;当接收到通过提示框发送的确认指令时,第一终端记录第二终端为发送直播音频数据的配对终端。
在实施中,在主播进行直播的时候,可以使用两个终端进行同时直播,这两个终端的屏幕是不同的模式的屏幕,例如,第一终端可以是计算机终端,这样,第一终端的视频模式为横屏模式;第二终端可以是智能手机,这样,第二终端的视频模式为竖屏模式。在进行直播前,主播需要将两个终端进行配对,使第一终端可以向第二终端发送直播音频数据。
第一终端创建设备配对套接字,并为该套接字设置广播属性。然后,第一终端使用配对套接字向N个网络地址发送配对请求。其中,N的取值范围可以是[5,10],这些网络地址的IP地址可以是广播地址255.255.255.255,这样,第一终端通过广播地址广播出去的配对请求,在该局域网中的所有终端,都可以接收到该配对请求。
第二终端创建N个配对UDP套接字,该N个与第一终端向N个网络地址发送配对请求中的N个数值相同,这样是为了规避其中部分套接字与第二终端上其它程序的套接字绑定的网络地址冲突,进而造成第二终端无法使用配对UDP套接字接收配对请求,N的取值范围可以是[5,10]。第二终端为这N个配对UDP套接字设置广播属性,并分别绑定网络地址A1、A2、……、AN。为了提高第二终端接收配对请求的接收效率,可以将这些网络地址对应的IP地址设置为主机任意IP地址0.0.0.0。将这N个配对UDP套接字对应的端口号P1、P2、……、PN,设置为预设端口号数值,例如,P1可以是8181,P2可以比P1的数值大1,即P2为8182,以此类推。
第二终端设置好这N个配对UDP套接字后,会在其中一个配对UDP套接字上接收到第一终端发送的配对请求,记录来源网络地址为Asource,并关闭其它UDP套接字。第二终端可以获取自身的设备信息,例如,设备信息可以是设备名称、电话号码等信息,将这些信息与接收到配对请求的UDP套接字对应的端口号封装成配对响应消息,通过接收到配对请求的UDP套接字,向网络地址为Asource的设备(即第一终端)发送该配对响应消息。第二终端也可以只将上述的端口号封装成配对响应消息,通过接收到配对请求的UDP套接字,向网络地址为Asource的设备(即第一终端)发送该配对响应消息,本发明在此不做限定。
当第一终端接收到第二终端发送的配对响应消息时,可以在屏幕上弹出提示框,如图2所示,该提示框中可以显示第二终端的设备信息,并询问主播是否将第二终端设置为配对终端。也可以直接显示是否将第二终端设置为配对终端。主播确认第二终端是自己想要设置的终端时,可以点击提示框中的确认选项,第一终端接收到确认指令后,可以将第二终端记录为发送直播音频数据的配对终端。至此,第一终端与第二终端配对成功。
需要说明的是,如果第一终端没接收到第二终端发送的配对响应消息,则第一终端继续广播配对请求。当第一终端广播配对请求的次数超过预设次数,且还没接收到第二终端发送的配对响应消息,则显示无法发现第二终端的提示框,并向主播显示无法发现第二终端可能的原因,例如第二终端未安装直播相关的应用程序,并附带该应用程序的下载地址或二维码。
需要说明的是,在这一过程中,第一终端还需创建音频发送套接字,第二终端还需创建音频接收套接字,并将音频接收套接字绑定到本机IP地址与端口P1,如果绑定失败,则将音频接收套接字绑定到本机IP地址与端口P2,以此类推,直至绑定成功。这是为了给第一终端向第二终端发送直播音频数据做准备,在此不做赘述。
在步骤102中,当第一终端接收到主播输入的开播指令时,进行开播处理,并向第二终端发送开启直播消息,其中,开启直播消息中携带服务器的链接信息,链接信息中包括地址信息和直播间标识。
在实施中,通过上述步骤101第一终端与第二终端配对成功后,主播可以点击第一终端上的开播选项进行直播了。当第一终端接收到主播输入的开播指令时,可以进行开播处理,并向第二终端发送开启直播消息,指示第二终端同步开播。该开启直播消息中携带服务器的链接信息,链接信息中包括地址信息和直播间标识,地址信息用于指示第二终端与该服务器建立网络连接,直播间标识用于指示第二终端与第一终端在同一直播间中进行直播。
在步骤103中,第一终端在直播过程中,采集直播音频数据和第一直播图像数据。
在实施中,第一终端在直播过程中,采集直播音频数据和第一直播图像数据,采集的直播音频数据可以是人声音频,即主播的说话声音音频,或主播演奏乐器的声音音频等;采集的直播音频数据也可以是人声音频和伴奏音频合成之后的音频,伴奏音频是第一终端获取并播放的。
在步骤104中,第二终端接收第一终端发送的开启直播消息,其中,开启直播消息中携带有服务器的链接信息,链接信息中包括地址信息和直播间标识;第二终端根据服务器的链接信息,进行开播处理。
在实施中,上述步骤102中第一终端向第二终端发送开启直播消息后,第二终端接收第一终端发送的开启直播消息,该开启直播消息中携带有服务器的链接信息,链接信息中包括地址信息和直播间标识。第二终端判断是否是首次收到该开启直播消息,如果是首次收到,则第二终端根据地址信息,与服务器建立网络连接,建立网络连接成功后,触发第二终端开始直播。如果不是首次收到,则忽略该消息。
需要说明的是,该开启直播消息中还携带有第一终端采集的直播音频数据的采样率、声道数、采样位数等信息,第二终端根据采样率、声道数、采样位数创建音频编码率器,为接收第一终端发送的直播音频数据做准备。
在步骤105中,第二终端在直播过程中,采集第二直播图像数据。
其中,第一终端和第二终端具有不同的视频模式,其中,视频模式包括横屏模式和竖屏模式。
在实施中,第二终端在直播过程中,采集第二直播图像数据。
需要说明的是,第一终端与第二终端具有不用的视频模式,该视频模式包括横屏模式和竖屏模式,例如,第一终端是计算机终端,则第一终端具有横屏模式的视频模式;第二终端可以是智能手机,则第二终端具有竖屏模式的视频模式。这样可以保证两个终端可以采集到不同模式的视频,这样,使用不同视频模式的终端观看直播的观众可以看到适合正在使用的终端的模式的视频,提高了观众的体验度。
在步骤106中,第一终端将直播音频数据和第一直播图像数据,同步发送给服务器,并向服务器发送第一终端的第一设备标识。
在实施中,如图3所示,第一终端在直播的过程中,将采集到的每一帧直播音频数据和第一直播图像数据,进行预处理、编码、封装成视频流,将视频流实时发送给服务器,同时向服务器发送第一终端的第一设备标识,便于服务器根据第一设备标识确定第一直播图像数据的视频模式。
在步骤107中,第一终端将直播音频数据,发送给第二终端,其中,第一终端和第二终端具有不同的视频模式,其中,视频模式包括横屏模式和竖屏模式。
在实施中,如图3所示,第一终端每采集一帧直播音频数据,将直播音频数据与第一直播图像数据进行封装并发送给服务器的同时,还通过上述步骤101中创建的音频发送套接字,实时向第二终端发送直播音频数据。
需要说明的是,第一终端采集直播音频数据时,会及时记录采集的音频帧帧号AF1,即在采集过程中,第一终端每采集一帧直播音频数据,就将音频帧帧号AF1加1,并将该音频帧帧号AF1与直播音频数据一起发送给第二终端。
在步骤108中,第二终端接收第一终端发送的直播音频数据,其中,第一终端和第二终端具有不同的视频模式,其中,视频模式包括横屏模式和竖屏模式。
在实施中,第二终端通过上述步骤101中创建的音频接收套接字,接收第一终端发送的直播音频数据。
需要说明的是,当第二终端接收第一终端发送的直播音频数据时,会及时记录接收到的音频帧的数量,将接收到的音频帧帧号设为AF2,当第二终端接收第一终端发送的一帧直播音频数据时,就将AF2加1。
可选地,第二终端统计第一终端发送的直播音频数据的传输丢包率;第二终端将传输丢包率发送给第一终端。
在实施中,通过上述步骤得到的AF1和AF2,按照下列公式,可以计算第一终端发送的直播音频数据的传输丢包率,
Packet_loss_rate=(AF1-AF2)/AF2
其中,Packet_loss_rate表示传输丢包率,AF1表示第一终端向第二终端发送的音频帧的数量,AF2表示第二终端接收到的音频帧的数量。
第二终端得到传输丢包率后,将该传输丢包率发送给第一终端。
需要说明的是,第二终端可以按照预设周期向第一终端发送传输丢包率,如每隔1s发送一次,或第二终端每接收到20帧音频就发送一次,本发明在此不做限定。
可选地,第一终端接收到第二终端发送的直播音频数据的传输丢包率;如果传输丢包率大于预设阈值,第一终端则停止向第二终端发送直播音频数据。
在实施中,第二终端向第一终端发送传输丢包率后,第一终端接收传输丢包率,并判断接收到的传输丢包率与预设阈值的大小,如果传输丢包率大于预设阈值,说明传输过程中丢失了较多的音频帧,可能导致第二终端接收到的音频效果不好,因此,这种情况下,提示主播第一终端与第二终端存在连接异常,第一终端停止向第二终端发送直播音频数据,且第一终端同时停止直播。
另外,如果第一终端持续没有接收到第二终端发送的直播音频数据的传输丢包率的时长,超过了预设时长,说明第一终端与第二终端之间的传输可能存在问题,导致第二终端不能向第一终端发送传输丢包率,在这种情况下,提示主播第一终端与第二终端存在连接异常,需要排查网络并停止第一终端的直播。
在步骤109中,第二终端将第二直播图像数据和直播音频数据,如图3所示,同步发送给服务器,并向服务器发送第二终端的第二设备标识。
在实施中,第二终端将采集的第二直播图像数据,以及接收到的直播音频数据,进行预处理、编码、封装成视频流,实时发送给服务器,同时将第二终端的第二设备标识发送给服务器。
可选地,上述的开启直播消息中还携带有直播音频数据的采样率,为了使接收到的音频与采集的图像没有延时,第二终端调整接收到的音频时间戳,使相对应的音频帧与图像帧的时间戳相同,相应的处理可以如下:第二终端根据采样率,确定直播音频数据的每个音频帧的帧时长;每当接收到直播音频数据的一个音频帧时,第二终端将接收到的音频帧的时间戳,调整为当前时刻减去帧时长得到的时刻;第二终端将第二直播图像数据和调整时间戳后的直播音频数据,同步发送给服务器。
在实施中,第二终端根据开启直播消息中携带的直播音频数据的采样率,可以确定直播音频数据的每个音频帧的帧时长。然后,根据gettimeofday类的函数,获取第二终端的当前时间并转化为以毫秒为单位的时刻,将该时刻减去每个音频帧的帧时长,将得到的时刻确定为接收到的音频帧的新的时间戳。
另外,在上述步骤中,第二终端采集每一帧第二直播图像数据时,通过gettimeofday类的函数,将第二终端的当前以毫秒为单位的时刻确定为当前采集到的图像帧的时间戳。
然后,第二终端将第二直播图像数据和调整时间戳后的直播音频数据,同步发送给服务器。
在步骤110中,服务器接收第一终端发送的第一直播图像数据、直播音频数据和第一终端的第一设备标识,并接收第二终端发送的第二直播图像数据、直播音频数据和第二终端的第二设备标识。
在步骤111中,服务器基于第一设备标识、第二设备标识和第一终端对应的直播间中其它终端的设备标识,确定与第一终端具有相同视频模式的终端,以及与第二终端具有相同视频模式的终端。
可选地,可以根据预先建立的设备标识组,确定与第一终端具有相同视频模式的终端,以及与第二终端具有相同视频模式的终端,上述步骤111的处理可以如下:基于预先建立的设备标识组,在直播间的其它终端中,确定设备标识与第一设备标识属于相同设备标识组的终端,以及设备标识与第二设备标识属于相同设备标识组的终端。
其中,设备标识组包括第一设备标识组和第二设备标识组,第一设备标识组中的设备标识对应的终端的视频模式为横屏模式,第二设备标识组中的设备标识对应的终端的视频模式为竖屏模式。
在实施中,服务器可以预先建立第一设备标识组和第二设备标识组,第一设备标识组中的设备标识对应的终端的视频模式为横屏模式,第二设备标识组中的设备标识对应的终端的视频模式为竖屏模式。当直播间中的其他观众终端向服务器发起观看直播请求时,该观看直播请求中携带有观众终端的设备标识。服务器确定该观众终端的设备标识属于第一设备标识组还是第二设备标识组,然后可以确定设备标识与第一设备标识属于相同设备标识组的终端,以及设备标识与第二设备标识属于相同设备标识组的终端。
设备标识与设备标识组的对应关系,可以如下对应关系表所示。
表1
Figure GDA0002644596450000151
Figure GDA0002644596450000161
当观众想要通过终端观看直播时,可以点击观看直播选项,观众的终端就会向服务器发送观看直播请求,该观看直播请求中携带有观众的终端的设备标识,服务器接收到观看直播请求后,根据观众的终端的设备标识确定观众的终端对应的视频模式,然后,确定该观众的终端对应的视频模式与第一终端或第二终端中的哪个终端对应的视频模式相同。
在步骤112中,服务器向与第一终端具有相同视频模式的终端,发送第一终端发送的第一直播图像数据和直播音频数据,向与第二终端具有相同视频模式的终端,发送第二终端发送的第二直播图像数据和直播音频数据。
可选地,确定设备标识与第一设备标识属于相同设备标识组的终端,以及设备标识与第二设备标识属于相同设备标识组的终端后,上述步骤112的处理可以如下:服务器向设备标识与第一设备标识属于相同设备标识组的终端,发送第一终端发送的第一直播图像数据和直播音频数据,向设备标识与第二设备标识属于相同设备标识组的终端,发送第二终端发送的第二直播图像数据和直播音频数据。
在实施中,如图4所示,服务器确定设备标识与第一设备标识属于相同设备标识组的终端后,服务器向这些终端,发送第一终端发送给服务器的第一直播图像数据和直播音频数据;确定设备标识与第二设备标识属于相同设备标识组的终端后,服务器向这些终端发送第二终端发送给服务器的第二直播图像数据和直播音频数据。这样,在竖屏模式的终端上,显示的直播视频就是竖屏模式的视频;在横屏模式的终端上现实的直播视频就是横屏模式的视频。这样,无论何种视频模式的终端都可以显示合适的直播视频,提高了观看直播的观众的体验感。
本发明实施例中,第一终端在直播过程中,采集直播音频数据和第一直播图像数据;所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;所述第一终端将所述直播音频数据,发送给第二终端;所述第二终端采集第二直播图像数据;所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。这样,主播可以同时发送横屏模式的视频流和竖屏模式的视频流,因此,无论是使用横屏模式的终端观看直播,还是使用竖屏模式的终端观看直播,用户都可以在终端屏幕上看到显示比例适合屏幕的直播视频,用户的观看体验较好,因此,合理利用了屏幕的显示空间。
基于相同的技术构思,本发明实施例还提供了一种进行直播的装置,该装置可以为上述实施例中的第一终端,如图5所示,该装置包括:采集模块510,第一发送模块520、第二发送模块530。
该采集模块510,被配置为第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
该第一发送模块520,被配置为所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
该第二发送模块530,被配置为所述第一终端将所述直播音频数据,发送给第二终端。
可选地,如图6所示,所述装置还包括:
广播模块610,被配置为第一终端在直播过程中,获取当前的直播音频数据和第一直播图像数据之前,所述第一终端广播配对请求;
显示模块620,被配置为当接收到所述第二终端发送的配对响应消息时,所述第一终端显示将所述第二终端设置为配对终端的提示框;
记录模块630,被配置为当接收到通过所述提示框发送的确认指令时,所述第一终端记录所述第二终端为发送直播音频数据的配对终端。
可选地,如图7所示,所述装置还包括:
处理模块710,被配置为第一终端在直播过程中,采集直播音频数据和第一直播图像数据之前,当所述第一终端接收到开播指令时,进行开播处理,并向所述第二终端发送开启直播消息,其中,所述开启直播消息中携带所述服务器的链接信息,所述链接信息中包括地址信息和直播间标识。
可选地,如图8所示,所述装置还包括:
接收模块810,被配置为所述第一终端接收到所述第二终端发送的直播音频数据的传输丢包率;
停止模块820,被配置为如果所述传输丢包率大于预设阈值,所述第一终端则停止向所述第二终端发送直播音频数据。
基于相同的技术构思,本发明实施例还提供了一种进行直播的装置,该装置可以为上述实施例中的第二终端,如图9所示,该装置包括:采集模块910、第一发送模块920。
采集模块910,被配置为第二终端在直播过程中,采集第二直播图像数据;
第一发送模块920,被配置为所述第二终端将所述第二直播图像数据和所述直播音频数据,同步发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。
可选地,如图10所示,所述装置还包括:
接收模块1010,被配置为所述第二终端接收所述第一终端广播的配对请求;
第二发送模块1020,被配置为所述第二终端向所述第一终端发送配对响应消息。
可选地,如图11所示,所述装置还包括:
处理模块1110,被配置为所述第二终端根据所述服务器的链接信息,进行开播处理。
可选地,如图12所示,所述装置还包括:
统计模块1210,被配置为所述第二终端统计所述第一终端发送的直播音频数据的传输丢包率;
第三发送模块1220,被配置为所述第二终端将所述传输丢包率发送给所述第一终端。
可选地,所述开启直播消息中还携带有所述直播音频数据的采样率,所述第一发送模块920被配置为:
所述第二终端根据所述采样率,确定所述直播音频数据的每个音频帧的帧时长;
每当接收到所述直播音频数据的一个音频帧时,所述第二终端将接收到的音频帧的时间戳,调整为当前时刻减去所述帧时长得到的时刻;
所述第二终端将所述第二直播图像数据和调整时间戳后的直播音频数据发送给所述服务器。
基于相同的技术构思,本发明实施例还提供了一种进行直播的装置,该装置可以为上述实施例中的服务器,如图13所示,该装置包括:接收模块1310,确定模块1320和发送模块1330。
该接收模块1310,被配置为服务器接收第一终端发送的第一直播图像数据、直播音频数据和所述第一终端的第一设备标识,并接收所述第二终端发送的第二直播图像数据、直播音频数据和所述第二终端的第二设备标识;
该确定模块1320,被配置为所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端;
该发送模块1330,被配置为所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
可选地,所述确定模块1320被配置为:
基于预先建立的设备标识组,在直播间的其它终端中,确定设备标识与所述第一设备标识属于相同设备标识组的终端,以及设备标识与所述第二设备标识属于相同设备标识组的终端,其中,所述设备标识组包括第一设备标识组和第二设备标识组,所述第一设备标识组中的设备标识对应的终端的视频模式为横屏模式,所述第二设备标识组中的设备标识对应的终端的视频模式为竖屏模式;
所述发送模块1330被配置为:
所述服务器向设备标识与所述第一设备标识属于相同设备标识组的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向设备标识与所述第二设备标识属于相同设备标识组的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例中,第一终端在直播过程中,采集直播音频数据和第一直播图像数据;所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;所述第一终端将所述直播音频数据,发送给第二终端;所述第二终端采集第二直播图像数据;所述第二终端接收所述第一终端发送的直播音频数据;所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。这样,主播可以同时发送横屏模式的视频流和竖屏模式的视频流,因此,无论是使用横屏模式的终端观看直播,还是使用竖屏模式的终端观看直播,用户都可以在终端屏幕上看到显示比例适合屏幕的直播视频,用户的观看体验较好,因此,合理利用了屏幕的显示空间。
需要说明的是:上述实施例提供的进行直播的装置在进行直播时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器或终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的进行直播的装置与进行直播的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14示出了本发明一个示例性实施例提供的终端1400的结构框图。该终端1400可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。终端1400还可能被称为用户设备、便携式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中提供的进行直播的方法。
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。具体地,外围设备包括:射频电路1404、触摸显示屏1405、摄像头1406、音频电路1407、定位组件1408和电源1409中的至少一种。
外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1405还具有采集在触摸显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。触摸显示屏1405用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1405可以为一个,设置终端1400的前面板;在另一些实施例中,触摸显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,触摸显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407用于提供用户和终端1400之间的音频接口。音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在终端1400的侧边框和/或触摸显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏1405的下层时,可以根据用户对触摸显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商Logo时,指纹传感器1414可以与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏1405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1405的显示亮度;当环境光强度较低时,调低触摸显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在终端1400的正面。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图15是本发明实施例提供的一种服务器结构示意图。该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,一个或一个以上键盘1556,和/或,一个或一个以上操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器1500可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行此一个或者一个以上程序来执行上述各个实施例所述的进行直播的方法。
本发明实施例中,第一终端在直播过程中,采集直播音频数据和第一直播图像数据;所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;所述第一终端将所述直播音频数据,发送给第二终端,其中,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式;所述第二终端采集第二直播图像数据;所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识。这样,主播可以同时发送横屏模式的视频流和竖屏模式的视频流,因此,无论是使用横屏模式的终端观看直播,还是使用竖屏模式的终端观看直播,用户都可以在终端屏幕上看到显示比例适合屏幕的直播视频,用户的观看体验较好,因此,合理利用了屏幕的显示空间。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种进行直播的方法,其特征在于,所述方法包括:
当第一终端接收到开播指令时,进行开播处理,并向第二终端发送开启直播消息,其中,所述开启直播消息中携带服务器的链接信息及所述第一终端采集的直播音频数据的采样率、声道数、采样位数,所述链接信息中包括地址信息和直播间标识;
第二终端根据所述服务器的链接信息,进行开播处理,根据所述采样率、所述声道数及所述采样位数创建音频编码率器,为接收第一终端发送的直播音频数据做准备;
第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
所述第一终端创建音频发送套接字,所述第一终端通过所述音频发送套接字将所述直播音频数据,发送给第二终端,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式;
所述第二终端采集第二直播图像数据;
所述第二终端创建音频接收套接字,所述音频接收套接字绑定于所述第二终端的互联网协议地址及端口,所述第二终端通过所述音频接收套接字接收所述第一终端所发送的所述直播音频数据,所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识;
所述第二终端统计所述第一终端发送的直播音频数据的传输丢包率;
所述第二终端将所述传输丢包率发送给所述第一终端;
如果所述传输丢包率大于预设阈值,或者,所述第一终端没有接收到所述传输丢包率的持续时长超过预设时长,所述第一终端则停止向所述第二终端发送直播音频数据并停止直播。
2.根据权利要求1所述的方法,其特征在于,所述第一终端在直播过程中,采集直播音频数据和第一直播图像数据之前,还包括:
所述第一终端广播配对请求;
所述第二终端接收所述第一终端广播的配对请求;
所述第二终端向所述第一终端发送配对响应消息;
当接收到所述第二终端发送的配对响应消息时,所述第一终端显示将所述第二终端设置为配对终端的提示框;
当接收到通过所述提示框发送的确认指令时,所述第一终端记录所述第二终端为发送直播音频数据的配对终端。
3.根据权利要求1所述的方法,其特征在于,所述第二终端将所述第二直播图像数据和所述直播音频数据发送给所述服务器,包括:
所述第二终端根据所述采样率,确定所述直播音频数据的每个音频帧的帧时长;
每当接收到所述直播音频数据的一个音频帧时,所述第二终端将接收到的音频帧的时间戳,调整为当前时刻减去所述帧时长得到的时刻;
所述第二终端将所述第二直播图像数据和调整时间戳后的直播音频数据发送给所述服务器。
4.一种进行直播的方法,其特征在于,所述方法包括:
服务器接收第一终端发送的第一直播图像数据、直播音频数据和所述第一终端的第一设备标识,并接收第二终端发送的第二直播图像数据、所述直播音频数据和所述第二终端的第二设备标识,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式,所述第一终端用于当接收到开播指令时,进行开播处理,并向第二终端发送开启直播消息,其中,所述开启直播消息中携带所述服务器的链接信息及所述第一终端采集的直播音频数据的采样率、声道数、采样位数,所述链接信息中包括地址信息和直播间标识;所述第二终端用于根据所述服务器的链接信息,进行开播处理,根据所述采样率、所述声道数及所述采样位数创建音频编码率器,为接收第一终端发送的直播音频数据做准备;所述第二终端发送的直播音频数据由所述第一终端通过音频发送套接字发送,且由所述第二终端通过音频接收套接字接收,所述音频接收套接字绑定于所述第二终端的互联网协议地址及端口,所述第二终端用于统计所述第一终端发送的直播音频数据的传输丢包率,将所述传输丢包率发送给所述第一终端,所述第一终端用于如果所述传输丢包率大于预设阈值,或者,所述没有接收到所述传输丢包率的持续时长超过预设时长,则停止向所述第二终端发送直播音频数据并停止直播;
所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端;
所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
5.根据权利要求4所述的方法,其特征在于,所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端,包括:
基于预先建立的设备标识组,在直播间的其它终端中,确定设备标识与所述第一设备标识属于相同设备标识组的终端,以及设备标识与所述第二设备标识属于相同设备标识组的终端,其中,所述设备标识组包括第一设备标识组和第二设备标识组,所述第一设备标识组中的设备标识对应的终端的视频模式为横屏模式,所述第二设备标识组中的设备标识对应的终端的视频模式为竖屏模式;
所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据,包括:
所述服务器向设备标识与所述第一设备标识属于相同设备标识组的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向设备标识与所述第二设备标识属于相同设备标识组的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
6.一种进行直播的方法,其特征在于,所述方法包括:
当第一终端接收到开播指令时,进行开播处理,并向第二终端发送开启直播消息,其中,所述开启直播消息中携带服务器的链接信息及所述第一终端采集的直播音频数据的采样率、声道数、采样位数,所述链接信息中包括地址信息和直播间标识;
第二终端根据所述服务器的链接信息,进行开播处理,根据所述采样率、所述声道数及所述采样位数创建音频编码率器,为接收第一终端发送的直播音频数据做准备;
第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
所述第一终端创建音频发送套接字,所述第一终端通过所述音频发送套接字,将所述直播音频数据,发送给第二终端,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式;
所述第二终端采集第二直播图像数据;
所述第二终端创建音频接收套接字,所述音频接收套接字绑定于所述第二终端的互联网协议地址及端口,所述第二终端通过所述音频接收套接字接收所述第一终端所发送的所述直播音频数据,所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识;
所述第二终端统计所述第一终端发送的直播音频数据的传输丢包率;
所述第二终端将所述传输丢包率发送给所述第一终端;
如果所述传输丢包率大于预设阈值,或者,所述第一终端没有接收到所述传输丢包率的持续时长超过预设时长,所述第一终端则停止向所述第二终端发送直播音频数据并停止直播;
所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端;
所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
7.一种进行直播的装置,其特征在于,所述装置包括:
处理模块,用于当第一终端接收到开播指令时,进行开播处理,并向第二终端发送开启直播消息,其中,所述开启直播消息中携带服务器的链接信息及所述第一终端采集的直播音频数据的采样率、声道数、采样位数,所述链接信息中包括地址信息和直播间标识;
采集模块,用于第一终端在直播过程中,采集直播音频数据和第一直播图像数据;
第一发送模块,用于所述第一终端将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;
第二发送模块,用于所述第一终端创建音频发送套接字,所述第一终端通过所述音频发送套接字将所述直播音频数据,发送给第二终端,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式,所述第二终端用于采集第二直播图像数据;创建音频接收套接字,所述音频接收套接字绑定于所述第二终端的互联网协议地址及端口,所述第二终端通过所述音频接收套接字接收所述第一终端所发送的所述直播音频数据,所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识;统计所述第一终端发送的直播音频数据的传输丢包率;将所述传输丢包率发送给所述第一终端;
接收模块,用于所述第一终端接收所述第二终端发送的直播音频数据的传输丢包率;
停止模块,用于如果所述传输丢包率大于预设阈值,或者,没有接收到所述传输丢包率的持续时长超过预设时长,则所述第一终端停止向所述第二终端发送直播音频数据并停止直播。
8.一种进行直播的装置,其特征在于,所述装置包括:
处理模块,用于第二终端根据服务器的链接信息,进行开播处理,根据采样率、声道数及采样位数创建音频编码率器,为接收第一终端发送的直播音频数据做准备;
采集模块,用于所述第二终端采集第二直播图像数据;
第一发送模块,用于所述第二终端创建音频接收套接字,所述音频接收套接字绑定于所述第二终端的互联网协议地址及端口,所述第二终端通过所述音频接收套接字接收所述第一终端所发送的所述直播音频数据,所述第二终端将所述第二直播图像数据和所述直播音频数据,发送给所述服务器,并向所述服务器发送所述第二终端的第二设备标识,所述第一终端用于在直播过程中,采集直播音频数据和第一直播图像数据;将所述直播音频数据和所述第一直播图像数据发送给服务器,并向所述服务器发送所述第一终端的第一设备标识;创建音频发送套接字,通过所述音频发送套接字将所述直播音频数据,发送给第二终端,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式;
统计模块,用于所述第二终端统计所述第一终端发送的直播音频数据的传输丢包率;
第三发送模块,用于所述第二终端将所述传输丢包率发送给所述第一终端,所述第一终端用于如果所述传输丢包率大于预设阈值,或者,没有接收到所述传输丢包率的持续时长超过预设时长,则停止向所述第二终端发送直播音频数据并停止直播。
9.一种进行直播的装置,其特征在于,所述装置包括:
接收模块,用于服务器接收第一终端发送的第一直播图像数据、直播音频数据和所述第一终端的第一设备标识,并接收第二终端发送的第二直播图像数据、直播音频数据和所述第二终端的第二设备标识,所述第一终端和所述第二终端的视频模式不同,其中,所述视频模式包括横屏模式和竖屏模式,所述第一终端用于当接收到开播指令时,进行开播处理,并向第二终端发送开启直播消息,其中,所述开启直播消息中携带所述服务器的链接信息及所述第一终端采集的直播音频数据的采样率、声道数、采样位数,所述链接信息中包括地址信息和直播间标识;所述第二终端用于根据所述服务器的链接信息,进行开播处理,根据所述采样率、所述声道数及所述采样位数创建音频编码率器,为接收第一终端发送的直播音频数据做准备;所述第二终端发送的直播音频数据由所述第一终端通过音频发送套接字发送,且由所述第二终端通过音频接收套接字接收,所述音频接收套接字绑定于所述第二终端的互联网协议地址及端口,所述第二终端用于统计所述第一终端发送的直播音频数据的传输丢包率,将所述传输丢包率发送给所述第一终端,所述第一终端用于如果所述传输丢包率大于预设阈值,或者,所述没有接收到所述传输丢包率的持续时长超过预设时长,则停止向所述第二终端发送直播音频数据并停止直播;
确定模块,用于所述服务器基于所述第一设备标识、所述第二设备标识和所述第一终端对应的直播间中其它终端的设备标识,确定与所述第一终端具有相同视频模式的终端,以及与所述第二终端具有相同视频模式的终端;
发送模块,用于所述服务器向与所述第一终端具有相同视频模式的终端,发送所述第一终端发送的第一直播图像数据和直播音频数据,向与所述第二终端具有相同视频模式的终端,发送所述第二终端发送的第二直播图像数据和直播音频数据。
10.一种系统,其特征在于,所述系统包括第一终端、第二终端和服务器,其中:
所述第一终端和所述第二终端,用于执行如所述权利要求1-3中任一权利要求所述的方法;
所述服务器,用于执行如所述权利要求4或5中所述的方法。
11.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至3任一所述的进行直播的方法。
12.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求4或5所述的进行直播的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至5任一所述的进行直播的方法。
CN201711482284.2A 2017-12-29 2017-12-29 进行直播的方法和装置 Active CN108093268B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201711482284.2A CN108093268B (zh) 2017-12-29 2017-12-29 进行直播的方法和装置
PCT/CN2018/117506 WO2019128592A1 (zh) 2017-12-29 2018-11-26 进行直播的方法和装置
EP18895114.9A EP3624457A4 (en) 2017-12-29 2018-11-26 LIVE BROADCAST METHOD AND APPARATUS
US16/618,065 US11153609B2 (en) 2017-12-29 2018-11-26 Method and apparatus for live streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711482284.2A CN108093268B (zh) 2017-12-29 2017-12-29 进行直播的方法和装置

Publications (2)

Publication Number Publication Date
CN108093268A CN108093268A (zh) 2018-05-29
CN108093268B true CN108093268B (zh) 2020-11-10

Family

ID=62180898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711482284.2A Active CN108093268B (zh) 2017-12-29 2017-12-29 进行直播的方法和装置

Country Status (4)

Country Link
US (1) US11153609B2 (zh)
EP (1) EP3624457A4 (zh)
CN (1) CN108093268B (zh)
WO (1) WO2019128592A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108093268B (zh) 2017-12-29 2020-11-10 广州酷狗计算机科技有限公司 进行直播的方法和装置
WO2019232674A1 (zh) * 2018-06-04 2019-12-12 Weng Shaoming 社群媒体直播信息广告方法
CN108900859B (zh) * 2018-08-17 2020-07-10 广州酷狗计算机科技有限公司 直播方法及系统
CN109788303B (zh) * 2019-01-28 2020-12-04 广州酷狗计算机科技有限公司 直播视频流的推送方法、装置、电子设备及存储介质
WO2021151205A1 (en) * 2020-01-29 2021-08-05 D Serruya Consulting Ltd. Live-action camera, control, capture, routing, processing, and broadcast system and method
CN111277864B (zh) * 2020-02-18 2021-09-10 北京达佳互联信息技术有限公司 直播数据的编码方法、装置、流转系统及电子设备
CN111641855B (zh) * 2020-05-18 2022-02-25 海信视像科技股份有限公司 一种双屏显示设备及其音频输出方法
CN113727164B (zh) * 2020-05-26 2024-04-26 百度在线网络技术(北京)有限公司 直播间入口显示方法、装置、电子设备和存储介质
CN111641839B (zh) * 2020-05-27 2021-09-21 北京达佳互联信息技术有限公司 直播方法、装置、电子设备及存储介质
US11570419B2 (en) * 2020-08-24 2023-01-31 T-Mobile Usa, Inc. Telematics and environmental data of live events in an extended reality environment
CN111818359B (zh) * 2020-09-14 2021-01-26 北京达佳互联信息技术有限公司 直播互动视频的处理方法、装置、电子设备及服务器
CN112272170B (zh) * 2020-10-19 2023-01-10 广州博冠信息科技有限公司 语音通信方法及装置、电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017219741A1 (zh) * 2016-06-24 2017-12-28 武汉斗鱼网络科技有限公司 一种直播网站横屏竖屏直播切换方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008138047A1 (en) * 2007-05-11 2008-11-20 Audinate Pty Limited Systems, methods and computer-readable media for configuring receiver latency
US20140192200A1 (en) 2013-01-08 2014-07-10 Hii Media Llc Media streams synchronization
KR101767913B1 (ko) * 2013-03-29 2017-08-14 브이아이디 스케일, 인크. 조기 패킷 손실 검출 및 피드백
CN106101764A (zh) * 2016-07-20 2016-11-09 广州华多网络科技有限公司 一种显示视频数据的方法、装置和系统
CN106484349A (zh) * 2016-09-26 2017-03-08 腾讯科技(深圳)有限公司 直播信息的处理方法和装置
CN106453289B (zh) * 2016-09-29 2020-05-22 广州市千钧网络科技有限公司 一种视频直播的数据传输方法及传输装置
CN106791892B (zh) * 2016-11-10 2020-05-12 广州华多网络科技有限公司 一种轮麦直播的方法、装置和系统
CN106507125A (zh) * 2016-11-22 2017-03-15 天脉聚源(北京)科技有限公司 一种双终端配合直播的方法及装置
CN106792449A (zh) * 2016-12-15 2017-05-31 北京塞宾科技有限公司 一种基于蓝牙音频的网络直播方法
CN106506554A (zh) * 2016-12-29 2017-03-15 广州华多网络科技有限公司 直播编码的方法、装置、终端、联动编码服务器及系统
CN108093268B (zh) * 2017-12-29 2020-11-10 广州酷狗计算机科技有限公司 进行直播的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017219741A1 (zh) * 2016-06-24 2017-12-28 武汉斗鱼网络科技有限公司 一种直播网站横屏竖屏直播切换方法及系统

Also Published As

Publication number Publication date
WO2019128592A1 (zh) 2019-07-04
EP3624457A4 (en) 2020-05-20
EP3624457A1 (en) 2020-03-18
US20200162765A1 (en) 2020-05-21
US11153609B2 (en) 2021-10-19
CN108093268A (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
CN108093268B (zh) 进行直播的方法和装置
CN108401124B (zh) 视频录制的方法和装置
CN109982102B (zh) 直播间的界面显示方法和系统、以及直播服务器和主播端
CN109348247B (zh) 确定音视频播放时间戳的方法、装置及存储介质
CN108966008B (zh) 直播视频回放方法及装置
CN111093108B (zh) 音画同步判断方法、装置、终端及计算机可读存储介质
CN111083507B (zh) 连麦方法及系统、第一主播端、观众端及计算机存储介质
CN109874043B (zh) 视频流发送方法、播放方法及装置
CN110278464B (zh) 显示榜单的方法和装置
CN111107389B (zh) 确定观看直播时长的方法、装置和系统
CN111355974A (zh) 虚拟礼物赠送处理的方法、装置、系统、设备及存储介质
CN111586431B (zh) 进行直播处理的方法、装置、设备及存储介质
CN108769738B (zh) 视频处理方法、装置、计算机设备和存储介质
CN111913679A (zh) 建立无线投屏连接的方法、装置、设备及存储介质
CN107896337B (zh) 信息推广方法、装置及存储介质
CN112118477A (zh) 虚拟礼物展示方法、装置、设备以及存储介质
CN112104648A (zh) 数据处理方法、装置、终端、服务器及存储介质
CN111669640B (zh) 虚拟物品转移特效的显示方法、装置、终端及存储介质
CN110958464A (zh) 直播数据处理方法、装置、服务器、终端及存储介质
CN111586444A (zh) 视频处理方法、装置、电子设备及存储介质
CN108401194B (zh) 时间戳确定方法、装置和计算机可读存储介质
CN111045945A (zh) 模拟直播的方法、装置、终端、存储介质及程序产品
CN111294551B (zh) 进行音视频传输的方法、装置、设备及存储介质
CN112118353A (zh) 信息显示方法、装置、终端及计算机可读存储介质
CN108260023B (zh) 进行直播的方法和装置

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