US20210368214A1 - Method and mobile terminal for processing data - Google Patents

Method and mobile terminal for processing data Download PDF

Info

Publication number
US20210368214A1
US20210368214A1 US17/396,042 US202117396042A US2021368214A1 US 20210368214 A1 US20210368214 A1 US 20210368214A1 US 202117396042 A US202117396042 A US 202117396042A US 2021368214 A1 US2021368214 A1 US 2021368214A1
Authority
US
United States
Prior art keywords
live streaming
streaming data
data
stamp information
time stamp
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.)
Abandoned
Application number
US17/396,042
Inventor
Wannan XIE
Wei Fan
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to US17/396,042 priority Critical patent/US20210368214A1/en
Publication of US20210368214A1 publication Critical patent/US20210368214A1/en
Abandoned legal-status Critical Current

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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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/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/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/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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
    • 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
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • H04N21/4356Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen by altering the spatial resolution, e.g. to reformat additional data on a handheld device, attached to the STB
    • 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/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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Definitions

  • the present disclosure relates to the field of Internet technologies and, particularly, relates to a method for processing data and a mobile terminal thereof.
  • live streaming With the continuous maturity of streaming media technology and the continuous improvement of the network environment, the application of live streaming is becoming more and more extensive. Compared with ordinary video on demand, live streaming has stronger interactivity. A more common form of live streaming is that a host broadcasts to the audience in his/her live streaming room.
  • the host terminal uploads the collected live video to the live server in real time
  • the audience terminal obtains the live video from the live server
  • the live video is played on the display interface of the audience terminal. It can be seen that the content of the live streaming depends on the content collected by the camera in real time, and the live content is relatively monotonous.
  • the present disclosure provides a method for processing data and a mobile terminal thereof.
  • the technical solutions of the present disclosure are as follows.
  • embodiments of the present disclosure provide a method for processing data, applicable to a first mobile terminal of an anchor.
  • the method includes:
  • the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • embodiments of the present disclosure provide a method for processing data, applicable to a second mobile terminal of an audience.
  • the method includes:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • inventions of the present disclosure provide a mobile terminal.
  • the terminal includes:
  • a memory for storing at least one instruction executable by the processor
  • processor configured to execute the at least one instruction to perform the steps of:
  • the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • inventions of the present disclosure provide a mobile terminal.
  • the terminal includes:
  • a memory for storing at least one instruction executable by the processor
  • processor configured to execute the at least one instruction to perform the steps of:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • embodiments of the present disclosure provide a storage medium storing at least one instruction therein.
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • embodiments of the present disclosure provide a storage medium storing at least one instruction therein.
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • embodiments of the present disclosure provide a computer program product including at least one executable program code.
  • the at least one executable program code when run by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • embodiments of the present disclosure provide a computer program product including at least one executable program code.
  • the at least one executable program code when run by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • FIG. 1 is a schematic diagram of an implementation environment of methods for processing data in accordance with an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a method for processing data in accordance with an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a live streaming page including more options in accordance with an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of a live streaming page including a file sharing interface in accordance with an embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of a live streaming page including a gallery selection list in accordance with an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram of a live streaming page including a photo list in accordance with an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram of a live streaming page that displays a target file and first live streaming data simultaneously in accordance with an embodiment of the present disclosure
  • FIG. 8 is a flowchart of another method for processing data in accordance with an embodiment of the present disclosure.
  • FIG. 9 is a block diagram of an apparatus for processing data in accordance with an embodiment of the present disclosure.
  • FIG. 10 is a block diagram of another apparatus for processing data in accordance with an embodiment of the present disclosure.
  • FIG. 11 is a block diagram of a system for processing data in accordance with an embodiment of the present disclosure.
  • FIG. 12 is a block diagram of a mobile terminal for performing the above-mentioned method embodiment in accordance with an embodiment of the present disclosure.
  • User information involved in the present disclosure may be information authorized by a user or fully authorized by all parties.
  • a and/or B means A and B, A, and B.
  • FIG. 1 is a schematic diagram of an implementation environment of methods for processing data in accordance with an embodiment of the present disclosure.
  • the implementation environment includes a host terminal 101 used by an anchor, a live streaming server 102 , and an audience terminal 103 used by an audience.
  • the host terminal 101 and the audience terminal 103 include but are not limited to mobile terminals and fixed terminals.
  • the mobile terminals include but are not limited to a smart phone, a tablet computer, a laptop, an e-reader, a Moving Picture Experts Group Audio Layer III (MP3) player, a Moving Picture Experts Picture Experts Group Audio Layer IV (MP4) player, etc.
  • MP3 Moving Picture Experts Group Audio Layer III
  • MP4 Moving Picture Experts Picture Experts Group Audio Layer IV
  • the fixed terminals include but are not limited to a desktop computer, which are not specifically limited in the embodiments of the present disclosure.
  • FIG. 1 only takes that the host terminal 101 and the audience terminal 103 are both smart phones as an example for explanation.
  • the live streaming server 102 is configured to provide background services for the host terminal 101 and the audience terminal 103 .
  • the live streaming server 102 may be an independent server or a server cluster composed of multiple servers, which is not specifically limited in the embodiments of the present disclosure.
  • the host terminal 101 and the audience terminal 103 are usually equipped with application clients supporting the live streaming function to bring convenience for the anchor to enter a live streaming room for live streaming and for the audiences to enter the live streaming room to watch the live streaming.
  • the live streaming room usually one anchor and multiple audiences are configured, i.e., the number of the host terminal 101 is one, and the number of the audience terminals 103 is more than one.
  • FIG. 2 is a flowchart of a method for processing data in accordance with an embodiment of the present disclosure.
  • the method is applicable to a first mobile terminal.
  • the method is applicable to a host client mounted on a first mobile terminal, and includes the following steps.
  • a target file to be played in a live streaming is determined.
  • a file sharing interface is displayed on a live streaming page of the host client.
  • the file sharing interface is for guiding the anchor to select a file for sharing during the live streaming.
  • the selected file is a file on the first mobile terminal.
  • S 21 includes S 211 to S 213 .
  • the live streaming page includes the file sharing interface when the anchor performs the live streaming by the first mobile terminal.
  • the anchor when triggering a “more” function option in a portion A on the live streaming page in FIG. 3 , the anchor enters a function option page shown in FIG. 4 .
  • a “file sharing” function in a portion B on the function option page is the file sharing interface.
  • the first mobile terminal calls a file acquiring interface to acquire all files of this terminal, forms the file list by all the acquired files and displays the file list on the live streaming page.
  • the anchor clicks the file sharing interface in FIG. 4 , all file types of this terminal pop up, such as “gallery”, “audio”, “document” and “installation package”.
  • a gallery selection list shown in FIG. 5 is entered and includes such options as “recent photos” and “all photos”.
  • the anchor selects images or videos that need to be shared from a “recent photo list”.
  • the user taps the “all photos” option, enters the “all photo list” shown in FIG. 6 , and selects the images or videos that he/she wants to share.
  • the selected file is taken as the target file after it is detected that the anchor selects a file in the file list.
  • the target file includes a multimedia file or a non-multimedia file.
  • the multimedia file includes image data, audio data, video data or the like.
  • the non-multimedia file includes other files than the multimedia file, such as Word, PPT, Excel and other files, so that live streaming scenarios may be expanded to more fields, such as education, training, speech making, or the like.
  • the first live streaming data includes first image data collected by a camera of the first mobile terminal and/or first audio data collected by a microphone of the first mobile terminal.
  • first live streaming data is displayed on the live streaming page with a first resolution
  • the target file is displayed on the live streaming page with a second resolution.
  • the first mobile terminal calls a view control in a user interface (UI) application programming interface (API) provided by an operating system, and displays the first live streaming data and the target on the host client.
  • UI user interface
  • API application programming interface
  • the first live streaming data is displayed in the first view control with a first resolution
  • the target file is displayed in the second view control with a second resolution. Contents displayed in the first view control and the second view control are switched according to the user's switch operation.
  • the first resolution and the second resolution are issued by a live streaming server to the host client, and the first resolution and the second resolution stored in the live streaming server are pre-configured by developers or operation and maintenance personnel.
  • the first resolution is a resolution of a small window on a current live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the small window is a suspended window of which the size is smaller than a full-screen size of the first mobile terminal.
  • the host may drag his/her own image to a suitable position. That is, the suspended window is moved and displayed according to a drag trajectory, wherein the drag trajectory is generated by dragging the suspended window displaying the first live streaming data.
  • a collection resolution of the host client is adjusted to the size of the small window, i.e., the currently collected live streaming image (i.e., the first live streaming data) is reduced to be displayed in the small window at the lower right corner.
  • the screen is full of the image of the target file for display.
  • the target file is a picture
  • the picture is scaled down at the same proportion to the second resolution required for the live streaming by such scaling algorithms as libyuv.
  • Libyuv is a library of Google's open source for implementing conversion, rotation and scaling between various YUV and RGB.
  • the target file is a video
  • it is rendered by Open Graphics Library (OpenGL)
  • a video frame in the video is reduced by a graphics processing unit (GPU) in a rendering pipeline to the second resolution required for the live streaming
  • the anchor may also drag the small window to a suitable position or stretch the size of the small window.
  • the second live streaming data includes second image data and/or second audio data.
  • the pure image data is taken as the second image data.
  • the YUV (“Y” represents luminance and luma, and “U” and “V” are chrominance and chroma) data obtained after decoding the image data are taken as the second image data. Since the target file is the pure image data free from the audio data, the second image data is taken as the second live streaming data.
  • the pure audio data is taken as second audio data.
  • pulse code modulation (PCM) data obtained after decoding the audio data is taken as the second audio data. Since the target file is the pure audio data free from the image data, the second audio data is taken as the second live streaming data.
  • second image data and second audio data are obtained after decoding the video data and are taken as the second live streaming data. Further, the video data is decoded, the YUV data obtained by decoding is taken as the second image data, and the PCM data obtained by decoding is taken as the second audio data.
  • a screenshot is performed on the non-multimedia file to obtain the second image data. Since the target file is non-multimedia data, there is no audio data, i.e., the second image data obtained by the screenshot is taken as the second live streaming data.
  • the first mobile terminal calls the API of file preview provided by the operating system to display the non-multimedia files on a view, and then changes the content of the view by graphics contexts into a bitmap image to obtain the second image data.
  • time stamp information indicating the same time point is added to the first live streaming data and the second live streaming data respectively.
  • the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data
  • the host client pushes out the first live streaming data and the second live streaming data in two live streams to reduce the processing flow of the host client.
  • a time interval at which the time stamp information is added is set in the present embodiment, and at each fixed time interval, the time stamp information indicating the current time point is added to the first live streaming data and the second live streaming data corresponding to the current time point.
  • the time stamp information is inserted into the live streaming data by the following means: Fill Element extension of advanced audio coding (AAC); flash video (FLV, in the format of stream media) Metadata (file element information); or H264's private NAL unit (NAL unit, which defines packet-based and bitstream-system-based basic formats) or the like.
  • AAC advanced audio coding
  • FLV flash video
  • Metadata file element information
  • H264's private NAL unit (NAL unit, which defines packet-based and bitstream-system-based basic formats) or the like.
  • the time stamp information is a service time stamp.
  • the embodiments of the present disclosure do not limit the specific form of the time stamp information as long as the time stamp information in the first live streaming data and the second live streaming data of the same time point indicates the same.
  • the time stamp information is a 64-bit character string, it indicates the time information (e.g., 20190709 10:00) of the current time point; or, the time stamp information is also expressed as millisecond description of the current time point.
  • the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information are sent to the server.
  • the first live streaming data and the second live streaming data are respectively sent to the server.
  • the first live streaming data and the second live streaming data are respectively sent to an edge server by a live streaming server for storage, an IP address of one of the edge servers storing the first live streaming data is selected, a download address of the first live streaming data is generated according to the IP address and sent to the second mobile terminal corresponding to a second user, an IP address of one of the edge servers storing the second live streaming data is selected, and a download address of the second live streaming data is generated according to the IP address and sent to the second mobile terminal corresponding to the second user.
  • the second user is an audience.
  • the second mobile terminal After receiving the download addresses of the first live streaming data and the second live streaming data, the second mobile terminal requests to download the first live streaming data and the second live streaming data from the corresponding edge servers respectively, and locally plays the first live streaming data and the second live streaming data after aligning them.
  • the first live streaming data and the second live streaming data are stored in the same edge server, and an IP address of the edge server is returned to the second mobile terminal, such that the second mobile terminal downloads the first live streaming data and the second live streaming data from the same edge server, avoiding a download time delay caused by a network bandwidth difference between the different edge servers.
  • a frame rate in the live streaming is determined in the following way: in the case that the target file is a non-video file, the first live streaming data and the second live streaming data are sent according to a first frame rate; and in the case that the target file is a video file, the first live streaming data and the second live streaming data are sent according to a second frame rate.
  • the second frame rate is the frame rate of the decoded video file.
  • the first live streaming data and the second live streaming data are periodically sent at the predetermined frame rate.
  • the anchor selects one picture
  • the second live streaming data sent every time is the same picture.
  • the anchor selects multiple pictures
  • the second live streaming data sent every time is the multiple pictures selected in turn.
  • the target file is a video file
  • the first live streaming data and the second live streaming data are sent according to the frame rate decoded by the video file.
  • the execution order of the above S 23 and S 24 may be interchanged. That is, the first mobile terminal generates the second live streaming data according to the displayed target file first, then displays the first live streaming data on the live streaming page with the first resolution, and displays the second live streaming data on the live streaming page with the second resolution. That is, referring to the above embodiment, the first mobile terminal performs the following steps.
  • step a a live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming is displayed.
  • step b a file list is displayed in the case that the file sharing interface is triggered, and a target file selected from the file list is acquired.
  • step c second live streaming data is generated based on the target file.
  • step d first live streaming data and the second live streaming data are displayed on the live streaming page, and the first live streaming data is collected by a camera of the first mobile terminal.
  • step e the first live streaming data and the second live streaming data are synchronized to a second mobile terminal which is a terminal of the audiences.
  • FIG. 8 is a flowchart of a method for processing data in accordance with an embodiment of the present disclosure.
  • the method is applicable to a second mobile terminal, and further applicable to an audience client installed on the second mobile terminal.
  • the method includes the following steps.
  • a request is initiated from a server to download first live streaming data and second live streaming data of a current live streaming room. Both of the first live streaming data and the second live streaming data carry time stamp information.
  • the server is an edge server.
  • the live streaming server may also return a download address composed of an IP address of the edge server and memory addresses of the live streaming data to an audience client.
  • the audience client After acquiring the download address, the audience client requests to download the corresponding live streaming data from the corresponding edge server according to the download address.
  • the at least two live streaming data are stored in the same edge server. That is, the at least two live streaming data acquired by the audience client corresponds to the same download address.
  • the at least two live streaming data at least includes the first live streaming data and the second live streaming data.
  • the first live streaming data is a host image collected by a camera of a host client
  • the second live streaming data is a target file selected by the anchor.
  • the first live streaming data and the second live streaming data are aligned, and the aligned first live streaming data and second live streaming data are played.
  • the first live streaming data and the second live streaming data are aligned in accordance with the time stamp information of the two.
  • aligning the first live streaming data and the second live streaming according to the time stamp information of the first live streaming data and the time stamp information of the second live streaming data includes the following S 821 to S 825 .
  • a time interval is set to obtain the difference between the time stamp information of the two live streaming data.
  • the time difference between the time stamp information of the first live streaming data and the time stamp information of the second live streaming data is acquired.
  • the download progress of the two live streaming data is nearly the same. Thus, it is determined that the two live streaming data have been aligned.
  • live streaming data carrying the latest time stamp information is determined as the first or second live streaming data
  • the first time stamp information is taken as first time stamp information to be aligned, and continuous download of the second live streaming data is waited until the time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold.
  • the second time stamp information is taken as second time stamp information to be aligned, and continuous download of the first live streaming data is waited until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold.
  • the live streaming data that is downloaded relatively fast needs to wait for the live streaming data that is downloaded slowly to achieve alignment.
  • which live streaming data has a relatively fast download progress is determined by determining that the live streaming data with the latest time stamp information is the first live streaming data or the second live streaming data.
  • the download progress of the first live streaming data is relatively fast.
  • the first time stamp information is used as the first time stamp information to be aligned, and continuous download of the second live streaming data is waited until the time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold so as to complete alignment of the first live streaming data and the second live streaming data.
  • the download progress of the second live streaming data is relatively fast.
  • the second time stamp information is used as the second time stamp information to be aligned, and continuous download of the first live streaming data is waited until the time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold so as to complete the alignment of the first live streaming data and the second live streaming data.
  • the first time stamp information is the time stamp information of the first live streaming data which is currently downloaded
  • the second time stamp information is the time stamp information of the second live data which is currently downloaded.
  • the predetermined threshold is set according to actual requirements, for example, it is set to 100 ms, which is not limited in the embodiments of the present disclosure.
  • the download progress of the first live data is relatively fast, and a duration in which continuous download of the second live streaming data is waited is greater than a predetermined duration, there is no need to continue to wait for the second live streaming data, and the first live streaming data is played from the time point indicated by the time stamp information to be aligned.
  • the download progress of the second live data is relatively fast, and a duration in which continuous download of the first live streaming data is waited is longer than the predetermined duration, there is no need to continue to wait for the first live streaming data, and the second live streaming data is played from the time point indicated by the second time stamp information to be aligned.
  • the aligned first live streaming data and second live streaming data are played in the following way: the first live streaming data is displayed on the live streaming page with the first resolution, and the second live streaming data is displayed on the live streaming page with the second resolution.
  • FIG. 9 is a block diagram of an apparatus for processing data in accordance with an embodiment of the present disclosure.
  • the apparatus is applicable to a first mobile terminal, and includes a target file determining module 901 , a displaying module 902 and a live streaming data transmitting module 903 .
  • the target file determining module 901 is configured to: display a live streaming page, wherein the live streaming page includes a file sharing interface for guiding an anchor to select a file for sharing during live streaming; display a file list in the case that the file sharing interface is triggered; and acquire a target file selected from the file list.
  • the displaying module 902 is configured to display first live streaming data and the second live streaming data on the live streaming page.
  • the live streaming data transmitting module 903 is configured to synchronize the first live streaming data and the second live streaming data to a second mobile terminal.
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • the live streaming data transmitting module 903 is further configured to generate second live streaming data based on the target file.
  • the first live streaming data includes at least one of first image data collected by the camera of the first mobile terminal and first audio data collected by a microphone of the first mobile terminal.
  • the second live streaming data includes at least one of second image data and second audio data.
  • the target file includes a multimedia or non-multimedia file.
  • the multimedia data includes at least one of image data, audio data and video data.
  • the live streaming data transmitting module 903 is configured to:
  • the target file is pure image data
  • the target file is pure audio data
  • the target file is the video data
  • decode the video data to obtain the second image data and the second audio data
  • the target file is the non-multimedia file
  • the displaying module 902 is configured to:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the live streaming data transmitting module 903 includes:
  • a first displaying sub-module configured to display the first live streaming data in a first view control with the first resolution
  • a second displaying sub-module configured to display the second live streaming data in a second view control with the second resolution.
  • the displaying module 902 is configured to display the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
  • the live streaming data transmitting module 903 is configured to:
  • time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data
  • the live streaming data transmitting module 903 is configured to: add time stamp information indicating a current time point to the first live streaming data at the current time point, and add the time stamp information indicating the current time point to the second live streaming data at the current time point for every fixed time period.
  • the live streaming data transmitting module 903 is configured to:
  • the target file is a non-video file
  • the target file is a video file
  • FIG. 10 is a block diagram of another apparatus for processing data in accordance with one embodiment of the present disclosure.
  • the apparatus is applicable to a second mobile terminal.
  • the apparatus includes a live streaming data requesting module 1001 , an aligning module 1002 , and a first playing module 1003 .
  • the live streaming data requesting module 1001 is configured to acquire first live streaming data and second live streaming data of a current live streaming room.
  • the first live streaming data and the second live streaming data carry time stamp information respectively.
  • the second live streaming data is generated according to a target file selected by an anchor.
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered.
  • the file sharing interface is for guiding the anchor to select a file for sharing during live streaming
  • the aligning module 1002 is configured to align the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data.
  • the first playing module 1003 is configured to play the aligned first live streaming data and second live streaming data.
  • the aligning module 1002 includes:
  • a time difference calculating sub-module configured to acquire time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded;
  • a first determining sub-module configured to determine that the first live streaming data and the second live streaming data have been aligned in the case that the time difference is not greater than a predetermined threshold
  • a second determining sub-module configured to determine that live streaming data carrying the latest time stamp information as the first or second live streaming data in the case that the time difference is greater than the predetermined threshold.
  • the second determining sub-module is further configured to, in the case that first time stamp information is later than second time stamp information, take the first time stamp information as first time stamp information to be aligned, and continue to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold.
  • the second determining sub-module is further configured to, in the case that second time stamp information is later than first time stamp information, take the second time stamp information as second time stamp information to be aligned, and continue to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold.
  • the first time stamp information is time stamp information of the first live streaming data which is downloaded in real time
  • the second time stamp information is time stamp information of the second live streaming data which is downloaded in real time
  • the apparatus further includes:
  • a second playing module configured to play the first live streaming data from a time point indicated by the first time stamp information to be aligned in the case that a time period for continuing to download the second live streaming data is greater than a predetermined time period, and play the second live streaming data from a time point indicated by the second time stamp information to be aligned in the case that a time period for continuing to download the first live streaming data is greater than the predetermined time period.
  • the first playing module 1003 is configured to: display the first live streaming data on a live streaming page with a predetermined first resolution, and display the second live streaming data on the live streaming page with a predetermined second resolution.
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the apparatus is further configured to:
  • FIG. 11 is a block diagram of a system for processing data in accordance with an embodiment of the present disclosure.
  • the system includes a first client 10 , a server 20 , and a second client 30 .
  • the first client 10 is configured to:
  • time stamp information of the same time point to the first live streaming data and the second live streaming data respectively, wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data;
  • the server 20 is configured to store the first live streaming data and the second live streaming data, to acquire store addresses of the first live streaming data and the second live streaming data, to generate a download link according to the store addresses and an IP address of the server, and to send the download address to the second client.
  • the second client 30 is configured to initiate a request to download first live streaming data and second live streaming data of a current live streaming room from the server according to the download link, the first live streaming data and the second live streaming data carrying time stamp information respectively, to align the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and to play the aligned first live streaming data and second live streaming data.
  • FIG. 12 is a block diagram of a mobile terminal for performing the above methods in accordance with an embodiment of the present disclosure.
  • the mobile terminal may refer to the first terminal or the second mobile terminal as described above.
  • the terminal includes a processor 1201 , a network interface 1202 , a memory 1203 , a non-volatile memory 1204 , and an internal bus 1205 .
  • the network interface 1202 , the memory 1203 , and the non-volatile memory 1204 communicate with each other via the internal bus 1205 .
  • the apparatus is present in the non-volatile memory 1204 or the memory 1203 .
  • An embodiment of the present disclosure provides a storage medium storing at least one instruction therein, such as the above non-volatile memory including at least one instruction.
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying a live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • the first live streaming data includes at least one of first image data acquired by the camera of the first mobile terminal and first audio data acquired by a microphone of the first mobile terminal;
  • the second live streaming data includes at least one of second image data and second audio data
  • the target file includes a multimedia or non-multimedia file, the multimedia file including at least one of image data, audio data and video data;
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the target file is pure image data, taking the pure image data as the second image data;
  • the target file is pure audio data, taking the pure audio data as the second audio data;
  • the target file is the video data
  • decoding the video data to obtain the second image data and the second audio data
  • the target file is the non-multimedia file
  • performing a screen shot on the non-multimedia file to obtain the second image data in the case that the target file is the non-multimedia file, performing a screen shot on the non-multimedia file to obtain the second image data.
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the step of:
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the target file is a non-video file, sending the first live streaming data and the second live streaming data according to a first frame rate;
  • the target file is a video file
  • the storage medium is a non-transitory computer-readable storage medium, such as a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disc, an optical data storage device, or the like.
  • An embodiment of the present disclosure provides a mobile terminal.
  • the mobile terminal includes: a processor; and a memory for storing at least one instruction executable by the processor, wherein the processor is configured to execute the at least one instruction to perform the steps of:
  • the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • the first live streaming data includes at least one of first image data acquired by the camera of the first mobile terminal and first audio data acquired by a microphone of the first mobile terminal;
  • the second live streaming data includes at least one of second image data and second audio data
  • the target file includes a multimedia or non-multimedia file, the multimedia file including at least one of image data, audio data, and video data;
  • the processor is configured to execute at least one instruction to perform the steps of:
  • the target file is pure image data, taking the pure image data as the second image data;
  • the target file is pure audio data, taking the pure audio data as the second audio data;
  • the target file is video data
  • decoding the video data to obtain the second image data and the second audio data
  • the target file is non-multimedia file
  • the processor is configured to execute at least one instruction to perform the steps of:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the processor is configured to execute the at least one instruction to perform the steps of:
  • the processor is configured to execute at least one instruction to perform the step of:
  • the processor is configured to execute at least one instruction to perform the steps of:
  • time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data
  • the processor is configured to execute at least one instruction to perform the steps of:
  • the processor is configured to execute at least one instruction to perform the steps of:
  • the target file is a non-video file, sending the first live streaming data and the second live streaming data according to a first frame rate;
  • the target file is a video file
  • An embodiment of the present disclosure provides a storage medium storing at least one instruction therein.
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • first time stamp information is later than second time stamp information, taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold;
  • first time stamp information is time stamp information of the first live streaming data which is downloaded in real time
  • second time stamp information is time stamp information of the second live streaming data which is downloaded in real time
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the at least one instruction when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • An embodiment of the present disclosure provides a mobile terminal.
  • the mobile terminal includes: a processor; and a memory for storing at last one instruction executable by the processor, wherein the processor is configured to execute the at least one instruction to perform the steps of:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • the processor is configured to execute the at least one instruction to perform the steps of:
  • first time stamp information is later than second time stamp information, taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold;
  • second time stamp information is later than first time stamp information, taking the second time stamp information as second time stamp information to be aligned, and continuing to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold,
  • first time stamp information is time stamp information of the first live streaming data which is downloaded in real time
  • second time stamp information is time stamp information of the second live streaming data which is downloaded in real time
  • the processor is configured to execute the at least one instruction to perform the steps of:
  • the processor is configured to execute the at least one instruction to perform the steps of:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the processor is configured to execute the at least one instruction to perform the steps of:
  • An embodiment of the present disclosure provides a computer program product including at least one executable program code.
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • the first live streaming data includes at least one of first image data acquired by the camera of the first mobile terminal and first audio data acquired by a microphone of the first mobile terminal;
  • the second live streaming data includes at least one of second image data and second audio data
  • the target file includes a multimedia or non-multimedia file, the multimedia file including at least one of image data, audio data and video data;
  • the target file is pure image data, taking the pure image data as the second image data;
  • the target file is pure audio data, taking the pure audio data as the second audio data;
  • the target file is video data
  • decoding the video data to obtain the second image data and the second audio data
  • the target file is non-multimedia file
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the step of:
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the target file is a non-video file, sending the first live streaming data and the second live streaming data according to a first frame rate;
  • the target file is a video file
  • An embodiment of the present disclosure provides a computer program product including at least one executable program code.
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • first live streaming data and second live streaming data of a current live streaming room wherein the first live streaming data and the second live streaming data carry time stamp information respectively;
  • the second live streaming data is generated according to a target file selected by an anchor;
  • the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • first time stamp information is later than second time stamp information, taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold;
  • second time stamp information is later than first time stamp information, taking the second time stamp information as second time stamp information to be aligned, and continuing to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold;
  • first time stamp information is time stamp information of the first live streaming data which is downloaded in real time
  • second time stamp information is time stamp information of the second live streaming data which is downloaded in real time
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • the first resolution is the resolution of a suspended window on the live streaming page
  • the second resolution is a full-screen resolution required by the current live streaming
  • the size of the suspended window is smaller than a full-screen size
  • the at least one executable program code when run by the mobile terminal, enables the mobile terminal to perform the steps of:

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method and mobile terminal for processing data are disclosed. The method can include displaying a live streaming page, the live streaming page including a file sharing interface for guiding an anchor to select a file for sharing during live streaming; displaying a file list in the case that the file sharing interface is triggered; acquiring a target file selected from the file list; generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 17/039,485, filed on Sep. 30, 2020, which claims the benefit of priority to Chinese Patent Application No. 201910944055.0 entitled “METHOD, APPARATUS AND SYSTEM FOR PROCESSING DATA, AND MOBILE TERMINAL AND STORAGE MEDIUM THEREOF” and filed on Sep. 30, 2019, the disclosures of which are incorporated herein by reference in their entireties.
  • TECHNICAL FIELD
  • The present disclosure relates to the field of Internet technologies and, particularly, relates to a method for processing data and a mobile terminal thereof.
  • BACKGROUND
  • With the continuous maturity of streaming media technology and the continuous improvement of the network environment, the application of live streaming is becoming more and more extensive. Compared with ordinary video on demand, live streaming has stronger interactivity. A more common form of live streaming is that a host broadcasts to the audience in his/her live streaming room.
  • In examples of the live streaming technologies, during the video live streaming process, the host terminal uploads the collected live video to the live server in real time, and the audience terminal obtains the live video from the live server, and the live video is played on the display interface of the audience terminal. It can be seen that the content of the live streaming depends on the content collected by the camera in real time, and the live content is relatively monotonous.
  • SUMMARY
  • The present disclosure provides a method for processing data and a mobile terminal thereof. The technical solutions of the present disclosure are as follows.
  • In one aspect, embodiments of the present disclosure provide a method for processing data, applicable to a first mobile terminal of an anchor. The method includes:
  • displaying a live streaming page, the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In another aspect, embodiments of the present disclosure provide a method for processing data, applicable to a second mobile terminal of an audience. The method includes:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • In still another aspect, embodiments of the present disclosure provide a mobile terminal. The terminal includes:
  • a processor; and
  • a memory for storing at least one instruction executable by the processor,
  • wherein the processor is configured to execute the at least one instruction to perform the steps of:
  • displaying a live streaming page, the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In yet still another aspect, embodiments of the present disclosure provide a mobile terminal. The terminal includes:
  • a processor; and
  • a memory for storing at least one instruction executable by the processor,
  • wherein the processor is configured to execute the at least one instruction to perform the steps of:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • In yet still another aspect, embodiments of the present disclosure provide a storage medium storing at least one instruction therein. The at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying a live streaming page, the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In yet still another aspect, embodiments of the present disclosure provide a storage medium storing at least one instruction therein. The at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • In yet still another aspect, embodiments of the present disclosure provide a computer program product including at least one executable program code. The at least one executable program code, when run by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying a live streaming page, the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In yet still another aspect, embodiments of the present disclosure provide a computer program product including at least one executable program code. The at least one executable program code, when run by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • BRIEF DESCRIPTION OF DRAWINGS
  • The accompanying drawings herein, which are incorporated in and constitute part of the description, illustrate embodiments consistent with the present disclosure, serve to explain the principles of the present disclosure together with the description, and do not constitute an undue limitation to the present disclosure.
  • FIG. 1 is a schematic diagram of an implementation environment of methods for processing data in accordance with an embodiment of the present disclosure;
  • FIG. 2 is a flowchart of a method for processing data in accordance with an embodiment of the present disclosure;
  • FIG. 3 is a schematic diagram of a live streaming page including more options in accordance with an embodiment of the present disclosure;
  • FIG. 4 is a schematic diagram of a live streaming page including a file sharing interface in accordance with an embodiment of the present disclosure;
  • FIG. 5 is a schematic diagram of a live streaming page including a gallery selection list in accordance with an embodiment of the present disclosure;
  • FIG. 6 is a schematic diagram of a live streaming page including a photo list in accordance with an embodiment of the present disclosure;
  • FIG. 7 is a schematic diagram of a live streaming page that displays a target file and first live streaming data simultaneously in accordance with an embodiment of the present disclosure;
  • FIG. 8 is a flowchart of another method for processing data in accordance with an embodiment of the present disclosure;
  • FIG. 9 is a block diagram of an apparatus for processing data in accordance with an embodiment of the present disclosure;
  • FIG. 10 is a block diagram of another apparatus for processing data in accordance with an embodiment of the present disclosure;
  • FIG. 11 is a block diagram of a system for processing data in accordance with an embodiment of the present disclosure; and
  • FIG. 12 is a block diagram of a mobile terminal for performing the above-mentioned method embodiment in accordance with an embodiment of the present disclosure.
  • DESCRIPTION OF EMBODIMENTS
  • For better understanding of the technical solutions of the present disclosure by persons of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure are described hereinafter clearly and completely with reference to the accompanying drawings.
  • It should be noted that the terms “first”, “second”, and the like in the description, claims and drawings of the present disclosure are used to distinguish similar objects, and need not be used to describe a specific order or sequence. It should be understood that data used in this way is interchangeable under appropriate circumstances such that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. Implementations described in the following example embodiments do not represent all embodiments consistent with the present disclosure, but are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
  • User information involved in the present disclosure may be information authorized by a user or fully authorized by all parties.
  • In some embodiments, A and/or B means A and B, A, and B.
  • FIG. 1 is a schematic diagram of an implementation environment of methods for processing data in accordance with an embodiment of the present disclosure.
  • Referring to FIG. 1, the implementation environment includes a host terminal 101 used by an anchor, a live streaming server 102, and an audience terminal 103 used by an audience. In the present embodiment, the host terminal 101 and the audience terminal 103 include but are not limited to mobile terminals and fixed terminals. As an example, the mobile terminals include but are not limited to a smart phone, a tablet computer, a laptop, an e-reader, a Moving Picture Experts Group Audio Layer III (MP3) player, a Moving Picture Experts Picture Experts Group Audio Layer IV (MP4) player, etc., and the fixed terminals include but are not limited to a desktop computer, which are not specifically limited in the embodiments of the present disclosure.
  • In some embodiments, FIG. 1 only takes that the host terminal 101 and the audience terminal 103 are both smart phones as an example for explanation. The live streaming server 102 is configured to provide background services for the host terminal 101 and the audience terminal 103. The live streaming server 102 may be an independent server or a server cluster composed of multiple servers, which is not specifically limited in the embodiments of the present disclosure.
  • In addition, the host terminal 101 and the audience terminal 103 are usually equipped with application clients supporting the live streaming function to bring convenience for the anchor to enter a live streaming room for live streaming and for the audiences to enter the live streaming room to watch the live streaming. In the live streaming room, usually one anchor and multiple audiences are configured, i.e., the number of the host terminal 101 is one, and the number of the audience terminals 103 is more than one.
  • FIG. 2 is a flowchart of a method for processing data in accordance with an embodiment of the present disclosure. In the present embodiment, the method is applicable to a first mobile terminal. In some embodiments, the method is applicable to a host client mounted on a first mobile terminal, and includes the following steps.
  • In S21, a target file to be played in a live streaming is determined.
  • In some embodiments, a file sharing interface is displayed on a live streaming page of the host client. The file sharing interface is for guiding the anchor to select a file for sharing during the live streaming. The selected file is a file on the first mobile terminal.
  • In some embodiments, S21 includes S211 to S213.
  • In S211, a live streaming page including the file sharing interface is displayed.
  • In this step, the live streaming page includes the file sharing interface when the anchor performs the live streaming by the first mobile terminal. For example, as shown in the schematic diagram of the live streaming page in FIGS. 3 to 4, when triggering a “more” function option in a portion A on the live streaming page in FIG. 3, the anchor enters a function option page shown in FIG. 4. A “file sharing” function in a portion B on the function option page is the file sharing interface.
  • In S212, a file list of the first mobile terminal is acquired and displayed in the case that the file sharing interface is triggered.
  • In this step, after the anchor triggers the file sharing interface on the live streaming page, the first mobile terminal calls a file acquiring interface to acquire all files of this terminal, forms the file list by all the acquired files and displays the file list on the live streaming page.
  • For example, when the anchor clicks the file sharing interface in FIG. 4, all file types of this terminal pop up, such as “gallery”, “audio”, “document” and “installation package”. Assuming that the anchor selects a “gallery” file, a gallery selection list shown in FIG. 5 is entered and includes such options as “recent photos” and “all photos”. In some embodiments, the anchor selects images or videos that need to be shared from a “recent photo list”. In the case that there are no images or videos that the anchor wants to share in the “recent photo list”, the user taps the “all photos” option, enters the “all photo list” shown in FIG. 6, and selects the images or videos that he/she wants to share.
  • In S213, the target file selected from the file list is acquired.
  • In this step, the selected file is taken as the target file after it is detected that the anchor selects a file in the file list.
  • In some embodiments, the target file includes a multimedia file or a non-multimedia file. The multimedia file includes image data, audio data, video data or the like. The non-multimedia file includes other files than the multimedia file, such as Word, PPT, Excel and other files, so that live streaming scenarios may be expanded to more fields, such as education, training, speech making, or the like.
  • In S22, first live streaming data is collected.
  • In some embodiments, the first live streaming data includes first image data collected by a camera of the first mobile terminal and/or first audio data collected by a microphone of the first mobile terminal.
  • In S23, first live streaming data is displayed on the live streaming page with a first resolution, and the target file is displayed on the live streaming page with a second resolution.
  • In some embodiments, the first mobile terminal calls a view control in a user interface (UI) application programming interface (API) provided by an operating system, and displays the first live streaming data and the target on the host client. In some embodiments, the first live streaming data is displayed in the first view control with a first resolution, and the target file is displayed in the second view control with a second resolution. Contents displayed in the first view control and the second view control are switched according to the user's switch operation.
  • In some embodiments, the first resolution and the second resolution are issued by a live streaming server to the host client, and the first resolution and the second resolution stored in the live streaming server are pre-configured by developers or operation and maintenance personnel.
  • In some embodiments, the first resolution is a resolution of a small window on a current live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the small window is a suspended window of which the size is smaller than a full-screen size of the first mobile terminal.
  • In some embodiments, the host may drag his/her own image to a suitable position. That is, the suspended window is moved and displayed according to a drag trajectory, wherein the drag trajectory is generated by dragging the suspended window displaying the first live streaming data.
  • For example, as shown in the schematic diagram of the live streaming page in FIG. 7, after the anchor selects the target file, a collection resolution of the host client is adjusted to the size of the small window, i.e., the currently collected live streaming image (i.e., the first live streaming data) is reduced to be displayed in the small window at the lower right corner. The screen is full of the image of the target file for display. For example, in the case that the target file is a picture, the picture is scaled down at the same proportion to the second resolution required for the live streaming by such scaling algorithms as libyuv. Libyuv is a library of Google's open source for implementing conversion, rotation and scaling between various YUV and RGB. For example, in the case that the target file is a video, it is rendered by Open Graphics Library (OpenGL), and a video frame in the video is reduced by a graphics processing unit (GPU) in a rendering pipeline to the second resolution required for the live streaming
  • In some embodiments, the anchor may also drag the small window to a suitable position or stretch the size of the small window.
  • In S24, second live streaming data is generated according to the displayed target file.
  • In some embodiments, the second live streaming data includes second image data and/or second audio data.
  • In some embodiments, in the case that the target file is pure image data, the pure image data is taken as the second image data. Further, the YUV (“Y” represents luminance and luma, and “U” and “V” are chrominance and chroma) data obtained after decoding the image data are taken as the second image data. Since the target file is the pure image data free from the audio data, the second image data is taken as the second live streaming data.
  • In other embodiments, in the case that the target file is pure audio data, the pure audio data is taken as second audio data. Further, pulse code modulation (PCM) data obtained after decoding the audio data is taken as the second audio data. Since the target file is the pure audio data free from the image data, the second audio data is taken as the second live streaming data.
  • In some other embodiments, in the case that the target file is video data, second image data and second audio data are obtained after decoding the video data and are taken as the second live streaming data. Further, the video data is decoded, the YUV data obtained by decoding is taken as the second image data, and the PCM data obtained by decoding is taken as the second audio data.
  • In some other embodiments, in the case that the target file is a non-multimedia file, a screenshot is performed on the non-multimedia file to obtain the second image data. Since the target file is non-multimedia data, there is no audio data, i.e., the second image data obtained by the screenshot is taken as the second live streaming data. For non-multimedia files, during display, the first mobile terminal calls the API of file preview provided by the operating system to display the non-multimedia files on a view, and then changes the content of the view by graphics contexts into a bitmap image to obtain the second image data.
  • In S25, time stamp information indicating the same time point is added to the first live streaming data and the second live streaming data respectively. The time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data
  • In the present embodiment, the host client pushes out the first live streaming data and the second live streaming data in two live streams to reduce the processing flow of the host client.
  • In order to ensure that the first live streaming data and the second live streaming data are played synchronously on the audience client, a time interval at which the time stamp information is added is set in the present embodiment, and at each fixed time interval, the time stamp information indicating the current time point is added to the first live streaming data and the second live streaming data corresponding to the current time point.
  • In some embodiments, the time stamp information is inserted into the live streaming data by the following means: Fill Element extension of advanced audio coding (AAC); flash video (FLV, in the format of stream media) Metadata (file element information); or H264's private NAL unit (NAL unit, which defines packet-based and bitstream-system-based basic formats) or the like.
  • In some embodiments, the time stamp information is a service time stamp. The embodiments of the present disclosure do not limit the specific form of the time stamp information as long as the time stamp information in the first live streaming data and the second live streaming data of the same time point indicates the same. For example, the time stamp information is a 64-bit character string, it indicates the time information (e.g., 20190709 10:00) of the current time point; or, the time stamp information is also expressed as millisecond description of the current time point.
  • In S26, the first live streaming data and the second live streaming data to which the time stamp information is added are respectively sent to the server.
  • That is, the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information are sent to the server.
  • After the time stamp information is added to the first live streaming data and the second live streaming data respectively, the first live streaming data and the second live streaming data are respectively sent to the server. In some embodiments, the first live streaming data and the second live streaming data are respectively sent to an edge server by a live streaming server for storage, an IP address of one of the edge servers storing the first live streaming data is selected, a download address of the first live streaming data is generated according to the IP address and sent to the second mobile terminal corresponding to a second user, an IP address of one of the edge servers storing the second live streaming data is selected, and a download address of the second live streaming data is generated according to the IP address and sent to the second mobile terminal corresponding to the second user. The second user is an audience.
  • After receiving the download addresses of the first live streaming data and the second live streaming data, the second mobile terminal requests to download the first live streaming data and the second live streaming data from the corresponding edge servers respectively, and locally plays the first live streaming data and the second live streaming data after aligning them.
  • In some embodiments, in order to reduce the time difference between time at which the second mobile terminal downloads the first live streaming data and time at which the second mobile terminal downloads the second live streaming data, the first live streaming data and the second live streaming data are stored in the same edge server, and an IP address of the edge server is returned to the second mobile terminal, such that the second mobile terminal downloads the first live streaming data and the second live streaming data from the same edge server, avoiding a download time delay caused by a network bandwidth difference between the different edge servers.
  • In some embodiments, a frame rate in the live streaming is determined in the following way: in the case that the target file is a non-video file, the first live streaming data and the second live streaming data are sent according to a first frame rate; and in the case that the target file is a video file, the first live streaming data and the second live streaming data are sent according to a second frame rate. The second frame rate is the frame rate of the decoded video file.
  • For example, in the case that the target file is a picture, the first live streaming data and the second live streaming data are periodically sent at the predetermined frame rate. In the case that the anchor selects one picture, the second live streaming data sent every time is the same picture. In the case that the anchor selects multiple pictures, the second live streaming data sent every time is the multiple pictures selected in turn. In the case that the target file is a video file, the first live streaming data and the second live streaming data are sent according to the frame rate decoded by the video file.
  • In another embodiment, the execution order of the above S23 and S24 may be interchanged. That is, the first mobile terminal generates the second live streaming data according to the displayed target file first, then displays the first live streaming data on the live streaming page with the first resolution, and displays the second live streaming data on the live streaming page with the second resolution. That is, referring to the above embodiment, the first mobile terminal performs the following steps.
  • In step a, a live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming is displayed.
  • In step b, a file list is displayed in the case that the file sharing interface is triggered, and a target file selected from the file list is acquired.
  • In step c, second live streaming data is generated based on the target file.
  • In step d, first live streaming data and the second live streaming data are displayed on the live streaming page, and the first live streaming data is collected by a camera of the first mobile terminal.
  • In step e, the first live streaming data and the second live streaming data are synchronized to a second mobile terminal which is a terminal of the audiences.
  • FIG. 8 is a flowchart of a method for processing data in accordance with an embodiment of the present disclosure. The method is applicable to a second mobile terminal, and further applicable to an audience client installed on the second mobile terminal. The method includes the following steps.
  • In S81, a request is initiated from a server to download first live streaming data and second live streaming data of a current live streaming room. Both of the first live streaming data and the second live streaming data carry time stamp information.
  • In some embodiments, the server is an edge server. When pushed out in the live streaming room, at least two live streaming data are distributed to the same or different edge servers by a live streaming server for storage, and the live streaming server may also return a download address composed of an IP address of the edge server and memory addresses of the live streaming data to an audience client.
  • After acquiring the download address, the audience client requests to download the corresponding live streaming data from the corresponding edge server according to the download address.
  • In some embodiments, in order to avoid a big download time difference between the at least two live streaming data due to a bandwidth difference between the different edge servers, the at least two live streaming data are stored in the same edge server. That is, the at least two live streaming data acquired by the audience client corresponds to the same download address.
  • In some embodiments, the at least two live streaming data at least includes the first live streaming data and the second live streaming data. The first live streaming data is a host image collected by a camera of a host client, and the second live streaming data is a target file selected by the anchor.
  • In S82, according to the time stamp information of the first live streaming data and the time stamp information of the second live streaming data, the first live streaming data and the second live streaming data are aligned, and the aligned first live streaming data and second live streaming data are played.
  • In the process of downloading the first live streaming data and the second live streaming data, the first live streaming data and the second live streaming data are aligned in accordance with the time stamp information of the two. In some embodiments, aligning the first live streaming data and the second live streaming according to the time stamp information of the first live streaming data and the time stamp information of the second live streaming data includes the following S821 to S825.
  • In S821, a time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded is acquired.
  • In some embodiments, a time interval is set to obtain the difference between the time stamp information of the two live streaming data. When the time corresponding to the time interval is reached, the time difference between the time stamp information of the first live streaming data and the time stamp information of the second live streaming data is acquired.
  • In S822, in the case that the time difference is not greater than a predetermined threshold, it is determined that the first live streaming data and the second live streaming data have been aligned.
  • In the case that the time difference is not greater than the predetermined threshold, the download progress of the two live streaming data is nearly the same. Thus, it is determined that the two live streaming data have been aligned.
  • In S823, in the case that the time difference is greater than the predetermined threshold, live streaming data carrying the latest time stamp information is determined as the first or second live streaming data
  • In S824, in the case that the first time stamp information is later than the second time stamp information, the first time stamp information is taken as first time stamp information to be aligned, and continuous download of the second live streaming data is waited until the time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold.
  • In S825, in the case that the second time stamp information is later than first time stamp information, the second time stamp information is taken as second time stamp information to be aligned, and continuous download of the first live streaming data is waited until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold.
  • For the scenario where the time difference is greater than the predetermined threshold, the live streaming data that is downloaded relatively fast needs to wait for the live streaming data that is downloaded slowly to achieve alignment. In some embodiments, which live streaming data has a relatively fast download progress is determined by determining that the live streaming data with the latest time stamp information is the first live streaming data or the second live streaming data.
  • In the case that the first time stamp information is later than the second time stamp information, the download progress of the first live streaming data is relatively fast. The first time stamp information is used as the first time stamp information to be aligned, and continuous download of the second live streaming data is waited until the time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold so as to complete alignment of the first live streaming data and the second live streaming data.
  • In the case that the second time stamp information is later than the first time stamp information, the download progress of the second live streaming data is relatively fast. The second time stamp information is used as the second time stamp information to be aligned, and continuous download of the first live streaming data is waited until the time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold so as to complete the alignment of the first live streaming data and the second live streaming data.
  • The first time stamp information is the time stamp information of the first live streaming data which is currently downloaded, and the second time stamp information is the time stamp information of the second live data which is currently downloaded.
  • It should be noted that the predetermined threshold is set according to actual requirements, for example, it is set to 100 ms, which is not limited in the embodiments of the present disclosure.
  • In some embodiments, in the above process of aligning the two live streaming data, in the case that the download progress of the first live data is relatively fast, and a duration in which continuous download of the second live streaming data is waited is greater than a predetermined duration, there is no need to continue to wait for the second live streaming data, and the first live streaming data is played from the time point indicated by the time stamp information to be aligned.
  • In the case that the download progress of the second live data is relatively fast, and a duration in which continuous download of the first live streaming data is waited is longer than the predetermined duration, there is no need to continue to wait for the first live streaming data, and the second live streaming data is played from the time point indicated by the second time stamp information to be aligned.
  • After the alignment of the first live streaming data and the second live streaming data is completed, in some embodiments, the aligned first live streaming data and second live streaming data are played in the following way: the first live streaming data is displayed on the live streaming page with the first resolution, and the second live streaming data is displayed on the live streaming page with the second resolution.
  • In some embodiments, audiences switch the sizes or adjust the positions of an anchor image and a file image according to their own preferences. For example, a suspended window is moved and displayed according to a drag trajectory to realize position adjustment, wherein the drag trajectory is generated based on dragging a small window displaying the anchor image. For example, in response to a switch operation on the first live streaming data and the second live streaming data, the first live streaming data is displayed on the live streaming page with the second resolution, and the second live streaming data is displayed on the live streaming page with the first resolution to realize size switching between the anchor image and the file image.
  • FIG. 9 is a block diagram of an apparatus for processing data in accordance with an embodiment of the present disclosure. Referring to FIG. 9, the apparatus is applicable to a first mobile terminal, and includes a target file determining module 901, a displaying module 902 and a live streaming data transmitting module 903.
  • The target file determining module 901 is configured to: display a live streaming page, wherein the live streaming page includes a file sharing interface for guiding an anchor to select a file for sharing during live streaming; display a file list in the case that the file sharing interface is triggered; and acquire a target file selected from the file list.
  • The displaying module 902 is configured to display first live streaming data and the second live streaming data on the live streaming page.
  • The live streaming data transmitting module 903 is configured to synchronize the first live streaming data and the second live streaming data to a second mobile terminal. The first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • The live streaming data transmitting module 903 is further configured to generate second live streaming data based on the target file.
  • In some embodiments, the first live streaming data includes at least one of first image data collected by the camera of the first mobile terminal and first audio data collected by a microphone of the first mobile terminal.
  • The second live streaming data includes at least one of second image data and second audio data.
  • The target file includes a multimedia or non-multimedia file. The multimedia data includes at least one of image data, audio data and video data.
  • The live streaming data transmitting module 903 is configured to:
  • in the case that the target file is pure image data, take the pure image data as the second image data;
  • in the case that the target file is pure audio data, take the pure audio data as the second audio data;
  • in the case that the target file is the video data, decode the video data to obtain the second image data and the second audio data; and
  • in the case that the target file is the non-multimedia file, perform a screen shot on the non-multimedia file to obtain the second image data.
  • In some embodiments, the displaying module 902 is configured to:
  • display the first live streaming data on the live streaming page with a first resolution, and display the second live streaming data on the live streaming page with a second resolution.
  • The first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the live streaming data transmitting module 903 includes:
  • a first displaying sub-module, configured to display the first live streaming data in a first view control with the first resolution; and
  • a second displaying sub-module, configured to display the second live streaming data in a second view control with the second resolution.
  • In some embodiments, the displaying module 902 is configured to display the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
  • In some embodiments, the live streaming data transmitting module 903 is configured to:
  • add time stamp information of the same time point to the first live streaming data and the second live streaming data respectively;
  • wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
  • send the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
  • In some embodiments, the live streaming data transmitting module 903 is configured to: add time stamp information indicating a current time point to the first live streaming data at the current time point, and add the time stamp information indicating the current time point to the second live streaming data at the current time point for every fixed time period.
  • In some embodiments, the live streaming data transmitting module 903 is configured to:
  • in the case that the target file is a non-video file, send the first live streaming data and the second live streaming data according to a first frame rate; and
  • in the case that the target file is a video file, send the first live streaming data and the second live streaming data according to a second frame rate which is a frame rate of the decoded video file.
  • FIG. 10 is a block diagram of another apparatus for processing data in accordance with one embodiment of the present disclosure. Referring to FIG. 10, the apparatus is applicable to a second mobile terminal. The apparatus includes a live streaming data requesting module 1001, an aligning module 1002, and a first playing module 1003.
  • The live streaming data requesting module 1001 is configured to acquire first live streaming data and second live streaming data of a current live streaming room. The first live streaming data and the second live streaming data carry time stamp information respectively. The second live streaming data is generated according to a target file selected by an anchor. The target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered. The file sharing interface is for guiding the anchor to select a file for sharing during live streaming
  • The aligning module 1002 is configured to align the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data.
  • The first playing module 1003 is configured to play the aligned first live streaming data and second live streaming data.
  • In some embodiments, the aligning module 1002 includes:
  • a time difference calculating sub-module, configured to acquire time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded;
  • a first determining sub-module, configured to determine that the first live streaming data and the second live streaming data have been aligned in the case that the time difference is not greater than a predetermined threshold; and
  • a second determining sub-module, configured to determine that live streaming data carrying the latest time stamp information as the first or second live streaming data in the case that the time difference is greater than the predetermined threshold.
  • The second determining sub-module is further configured to, in the case that first time stamp information is later than second time stamp information, take the first time stamp information as first time stamp information to be aligned, and continue to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold.
  • The second determining sub-module is further configured to, in the case that second time stamp information is later than first time stamp information, take the second time stamp information as second time stamp information to be aligned, and continue to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold.
  • The first time stamp information is time stamp information of the first live streaming data which is downloaded in real time, and the second time stamp information is time stamp information of the second live streaming data which is downloaded in real time.
  • In some embodiments, the apparatus further includes:
  • a second playing module, configured to play the first live streaming data from a time point indicated by the first time stamp information to be aligned in the case that a time period for continuing to download the second live streaming data is greater than a predetermined time period, and play the second live streaming data from a time point indicated by the second time stamp information to be aligned in the case that a time period for continuing to download the first live streaming data is greater than the predetermined time period.
  • In some embodiments, the first playing module 1003 is configured to: display the first live streaming data on a live streaming page with a predetermined first resolution, and display the second live streaming data on the live streaming page with a predetermined second resolution.
  • The first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the apparatus is further configured to:
  • display the suspended window based on a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window; and
  • in response to a switch operation of the first live streaming data and the second live streaming data, display the first live streaming data on the live streaming page with the second resolution, and display the second live streaming data on the live streaming page with the first resolution.
  • FIG. 11 is a block diagram of a system for processing data in accordance with an embodiment of the present disclosure. Referring to FIG. 11, the system includes a first client 10, a server 20, and a second client 30.
  • The first client 10 is configured to:
  • determine a target file to be played in a live streaming;
  • collect first live streaming data;
  • display the first live streaming data with a predetermined first resolution and the target file with a predetermined second resolution on a live streaming page;
  • generate second live streaming data based on the displayed target file;
  • add time stamp information of the same time point to the first live streaming data and the second live streaming data respectively, wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
  • send the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
  • The server 20 is configured to store the first live streaming data and the second live streaming data, to acquire store addresses of the first live streaming data and the second live streaming data, to generate a download link according to the store addresses and an IP address of the server, and to send the download address to the second client.
  • The second client 30 is configured to initiate a request to download first live streaming data and second live streaming data of a current live streaming room from the server according to the download link, the first live streaming data and the second live streaming data carrying time stamp information respectively, to align the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and to play the aligned first live streaming data and second live streaming data.
  • With regard to the apparatus and the system in the above embodiments, the specific manner in which the respective modules perform the operations has been described in detail in embodiments of the method, which is not explained in detail herein.
  • FIG. 12 is a block diagram of a mobile terminal for performing the above methods in accordance with an embodiment of the present disclosure. The mobile terminal may refer to the first terminal or the second mobile terminal as described above.
  • As shown in FIG. 12, the terminal includes a processor 1201, a network interface 1202, a memory 1203, a non-volatile memory 1204, and an internal bus 1205. The network interface 1202, the memory 1203, and the non-volatile memory 1204 communicate with each other via the internal bus 1205. In some embodiments, the apparatus is present in the non-volatile memory 1204 or the memory 1203.
  • An embodiment of the present disclosure provides a storage medium storing at least one instruction therein, such as the above non-volatile memory including at least one instruction. The at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying a live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In some embodiments, the first live streaming data includes at least one of first image data acquired by the camera of the first mobile terminal and first audio data acquired by a microphone of the first mobile terminal;
  • the second live streaming data includes at least one of second image data and second audio data;
  • the target file includes a multimedia or non-multimedia file, the multimedia file including at least one of image data, audio data and video data;
  • the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • in the case that the target file is pure image data, taking the pure image data as the second image data;
  • in the case that the target file is pure audio data, taking the pure audio data as the second audio data;
  • in the case that the target file is the video data, decoding the video data to obtain the second image data and the second audio data; and
  • in the case that the target file is the non-multimedia file, performing a screen shot on the non-multimedia file to obtain the second image data.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the first live streaming data on the live streaming page with a first resolution; and
  • displaying the second live streaming data on the live streaming page with a second resolution;
  • wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the first live streaming data in a first view control with the first resolution, and
  • displaying the second live streaming data in a second view control with the second resolution.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the step of:
  • displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • adding time stamp information of the same time point to the first live streaming data and the second live streaming data respectively;
  • wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
  • sending the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • adding time stamp information indicating a current time point to the first live streaming data at the current time point; and
  • adding the time stamp information indicating the current time point to the second live streaming data at the current time point for every fixed time period.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • in the case that the target file is a non-video file, sending the first live streaming data and the second live streaming data according to a first frame rate; and
  • in the case that the target file is a video file, sending the first live streaming data and the second live streaming data according to a second frame rate which is a frame rate of the decoded video file.
  • In some embodiments, the storage medium is a non-transitory computer-readable storage medium, such as a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disc, an optical data storage device, or the like.
  • An embodiment of the present disclosure provides a mobile terminal. The mobile terminal includes: a processor; and a memory for storing at least one instruction executable by the processor, wherein the processor is configured to execute the at least one instruction to perform the steps of:
  • displaying a live streaming page, the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In some embodiments, the first live streaming data includes at least one of first image data acquired by the camera of the first mobile terminal and first audio data acquired by a microphone of the first mobile terminal;
  • the second live streaming data includes at least one of second image data and second audio data;
  • the target file includes a multimedia or non-multimedia file, the multimedia file including at least one of image data, audio data, and video data;
  • the processor is configured to execute at least one instruction to perform the steps of:
  • in the case that the target file is pure image data, taking the pure image data as the second image data;
  • in the case that the target file is pure audio data, taking the pure audio data as the second audio data;
  • in the case that the target file is video data, decoding the video data to obtain the second image data and the second audio data; and
  • in the case that the target file is non-multimedia file, performing a screen shot on the non-multimedia file to obtain the second image data.
  • In some embodiments, the processor is configured to execute at least one instruction to perform the steps of:
  • displaying the first live streaming data on the live streaming page with a first resolution; and
  • displaying the second live streaming data on the live streaming page with a second resolution;
  • wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the processor is configured to execute the at least one instruction to perform the steps of:
  • displaying the first live streaming data in a first view control with the first resolution; and
  • displaying the second live streaming data in a second view control with the second resolution.
  • In some embodiments, the processor is configured to execute at least one instruction to perform the step of:
  • displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
  • In some embodiments, the processor is configured to execute at least one instruction to perform the steps of:
  • adding time stamp information of the same time point to the first live streaming data and the second live streaming data respectively;
  • wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
  • sending the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
  • In some embodiments, the processor is configured to execute at least one instruction to perform the steps of:
  • adding time stamp information indicating a current time point to the first live streaming data at the current time point; and
  • adding the time stamp information indicating the current time point to the second live streaming data at the current time point for every fixed time period.
  • In some embodiments, the processor is configured to execute at least one instruction to perform the steps of:
  • in the case that the target file is a non-video file, sending the first live streaming data and the second live streaming data according to a first frame rate; and
  • in the case that the target file is a video file, sending the first live streaming data and the second live streaming data according to a second frame rate which is a frame rate of the decoded video file.
  • An embodiment of the present disclosure provides a storage medium storing at least one instruction therein. The at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • acquiring time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded;
  • in the case that the time difference is not greater than a predetermined threshold, determining that the first live streaming data and the second live streaming data have been aligned;
  • in the case that the time difference is greater than the predetermined threshold, determining that live streaming data carrying the latest time stamp information as the first or second live streaming data;
  • in the case that first time stamp information is later than second time stamp information, taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold; and
  • in the case that in the case that second time stamp information is later than first time stamp information, taking the second time stamp information as second time stamp information to be aligned, and continuing to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold;
  • wherein the first time stamp information is time stamp information of the first live streaming data which is downloaded in real time, and the second time stamp information is time stamp information of the second live streaming data which is downloaded in real time.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • in the case that a time period for continuing to download the second live streaming data is greater than a predetermined time period, playing the first live streaming data from a time point indicated by the first time stamp information to be aligned;
  • in the case that a time period for continuing to download the first live streaming data is greater than the predetermined time period, playing the second live streaming data from a time point indicated by the second time stamp information to be aligned.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the first live streaming data on a live streaming page with a first resolution; and
  • displaying the second live streaming data on the live streaming page with a second resolution;
  • wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the at least one instruction, when executed by a processor of a mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window; and
  • in response to a switch operation of the first live streaming data and the second live streaming data, displaying the first live streaming data on the live streaming page with the second resolution, and displaying the second live streaming data on the live streaming page with the first resolution.
  • An embodiment of the present disclosure provides a mobile terminal. The mobile terminal includes: a processor; and a memory for storing at last one instruction executable by the processor, wherein the processor is configured to execute the at least one instruction to perform the steps of:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • In some embodiments, the processor is configured to execute the at least one instruction to perform the steps of:
  • acquiring time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded;
  • in the case that the time difference is not greater than a predetermined threshold, determining that the first live streaming data and the second live streaming data have been aligned;
  • in the case that the time difference is greater than the predetermined threshold, determining that live streaming data carrying the latest time stamp information as the first or second live streaming data;
  • in the case that first time stamp information is later than second time stamp information, taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold; and
  • in the case that second time stamp information is later than first time stamp information, taking the second time stamp information as second time stamp information to be aligned, and continuing to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold,
  • wherein the first time stamp information is time stamp information of the first live streaming data which is downloaded in real time, and the second time stamp information is time stamp information of the second live streaming data which is downloaded in real time.
  • In some embodiments, the processor is configured to execute the at least one instruction to perform the steps of:
  • in the case that a time period for continuing to download the second live streaming data is greater than a predetermined time period, playing the first live streaming data from a time point indicated by the first time stamp information to be aligned;
  • in the case that a time period for continuing to download the first live streaming data is greater than the predetermined time period, playing the second live streaming data from a time point indicated by the second time stamp information to be aligned.
  • In some embodiments, the processor is configured to execute the at least one instruction to perform the steps of:
  • displaying the first live streaming data on a live streaming page using a first resolution; and
  • displaying the second live streaming data on the live streaming page using a second resolution;
  • wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the processor is configured to execute the at least one instruction to perform the steps of:
  • displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window; and
  • in response to a switch operation of the first live streaming data and the second live streaming data, displaying the first live streaming data on the live streaming page using the second resolution, and displaying the second live streaming data on the live streaming page using the first resolution.
  • An embodiment of the present disclosure provides a computer program product including at least one executable program code. The at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying a live streaming page, the live streaming page including a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
  • displaying a file list in the case that the file sharing interface is triggered;
  • acquiring a target file selected from the file list;
  • generating second live streaming data based on the target file, and displaying first live streaming data and the second live streaming data on the live streaming page; and
  • synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the first live streaming data is acquired by a camera of the first mobile terminal, and the second mobile terminal is an audience terminal.
  • In some embodiments, the first live streaming data includes at least one of first image data acquired by the camera of the first mobile terminal and first audio data acquired by a microphone of the first mobile terminal;
  • the second live streaming data includes at least one of second image data and second audio data;
  • the target file includes a multimedia or non-multimedia file, the multimedia file including at least one of image data, audio data and video data;
  • when the above mobile terminal executes the program codes, the following steps are implemented:
  • in the case that the target file is pure image data, taking the pure image data as the second image data;
  • in the case that the target file is pure audio data, taking the pure audio data as the second audio data;
  • in the case that the target file is video data, decoding the video data to obtain the second image data and the second audio data;
  • in the case that the target file is non-multimedia file, performing a screen shot on the non-multimedia file to obtain the second image data.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the first live streaming data on the live streaming page with a first resolution; and
  • displaying the second live streaming data on the live streaming page with a second resolution;
  • wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the first live streaming data in a first view control using the first resolution; and
  • displaying the second live streaming data in a second view control using the second resolution.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the step of:
  • displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • adding time stamp information of the same time point to the first live streaming data and the second live streaming data respectively,
  • wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
  • sending the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • adding time stamp information indicating a current time point to the first live streaming data at the current time point; and
  • adding the time stamp information indicating the current time point to the second live streaming data at the current time point for every fixed time period.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • in the case that the target file is a non-video file, sending the first live streaming data and the second live streaming data according to a first frame rate; and
  • in the case that the target file is a video file, sending the first live streaming data and the second live streaming data according to a second frame rate which is a frame rate of the decoded video file.
  • An embodiment of the present disclosure provides a computer program product including at least one executable program code. The at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
  • aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • acquiring time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded;
  • in the case that the time difference is not greater than a predetermined threshold, determining that the first live streaming data and the second live streaming data have been aligned;
  • in the case that the time difference is greater than the predetermined threshold, determining that live streaming data carrying the latest time stamp information as the first or second live streaming data;
  • in the case that first time stamp information is later than second time stamp information, taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold; and
  • in the case that second time stamp information is later than first time stamp information, taking the second time stamp information as second time stamp information to be aligned, and continuing to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold;
  • wherein the first time stamp information is time stamp information of the first live streaming data which is downloaded in real time, and the second time stamp information is time stamp information of the second live streaming data which is downloaded in real time.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • in the case that a time period for continuing to download the second live streaming data is greater than a predetermined time period, playing the first live streaming data from a time point indicated by the first time stamp information to be aligned;
  • in the case that a time period for continuing to download the first live streaming data is greater than the predetermined time period, playing the second live streaming data from a time point indicated by the second time stamp information to be aligned.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the first live streaming data on a live streaming page with a first resolution; and
  • displaying the second live streaming data on the live streaming page with a second resolution;
  • wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
  • In some embodiments, the at least one executable program code, when run by the mobile terminal, enables the mobile terminal to perform the steps of:
  • displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window; and
  • in response to a switch operation of the first live streaming data and the second live streaming data, displaying the first live streaming data on the live streaming page with the second resolution, and displaying the second live streaming data on the live streaming page with the first resolution.
  • Other embodiments of the present disclosure are apparent to those skilled in the art from consideration of the specification and practice of the present disclosure. This application is intended to cover any variations, uses, or adaptations of the present disclosure following the general principles thereof and including common knowledge or commonly used technical measures which are not disclosed herein. The specification and embodiments are to be considered as examples only, with a true scope and spirit of the present disclosure is indicated by the following claims.
  • It will be appreciated that the present disclosure is not limited to the exact construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made without departing from the scope thereof. It is intended that the scope of the present disclosure only be defined by the appended claims.

Claims (20)

What is claimed is:
1. A method for processing data, applicable to a first mobile terminal of an anchor, the method comprising:
displaying a live streaming page, the live streaming page comprising a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
displaying a file list in the case that the file sharing interface is triggered;
acquiring a target file selected from the file list;
collecting first live streaming data, wherein the first live streaming data is acquired by a camera of the first mobile terminal;
generating second live streaming data based on the target file, and displaying the first live streaming data and the second live streaming data on the live streaming page; and
synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the second mobile terminal is an audience terminal.
2. The method according to claim 1, wherein the first live streaming data comprises at least one of first image data acquired by the camera of the first mobile terminal or first audio data acquired by a microphone of the first mobile terminal;
the second live streaming data comprises at least one of second image data or second audio data; and
the target file comprises a multimedia or non-multimedia file, the multimedia file comprising at least one of image data, audio data or video data.
3. The method according to claim 1, wherein said generating the second live streaming data based on the target file comprises:
taking pure image data as the second image data in the case that the target file is the pure image data;
taking pure audio data as the second audio data in the case that the target file is the pure audio data;
decoding video data to obtain the second image data and the second audio data in the case that the target file is the video data; and
performing a screen shot on non-multimedia file to obtain the second image data in the case that the target file is the non-multimedia file.
4. The method according to claim 1, wherein said displaying the first live streaming data and the second live streaming data on the live streaming page comprises:
displaying the first live streaming data on the live streaming page with a first resolution; and
displaying the second live streaming data on the live streaming page with a second resolution;
wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
5. The method according to claim 4, wherein said displaying the first live streaming data on the live streaming page using the first resolution, and displaying the second live streaming data on the live streaming page using the second resolution comprises:
displaying the first live streaming data in a first view control with the first resolution; and
displaying the second live streaming data in a second view control with the second resolution.
6. The method according to claim 4, further comprising:
displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
7. The method according to claim 1, wherein said synchronizing the first live streaming data and the second live streaming data to the second mobile terminal comprises:
adding time stamp information of the same time point to the first live streaming data and the second live streaming data respectively;
wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
sending the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
8. The method according to claim 7, wherein said adding the time stamp information of the same time point to the first live streaming data and the second live streaming data respectively comprises:
adding time stamp information indicating a current time point to the first live streaming data at the current time point; and
adding the time stamp information indicating the current time point to the second live streaming data at the current time point for every fixed time period.
9. The method according to claim 7, wherein said sending the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to the server comprises:
sending the first live streaming data and the second live streaming data according to a first frame rate in the case that the target file is a non-video file; and
sending the first live streaming data and the second live streaming data according to a second frame rate which is a frame rate of the decoded video file in the case that the target file is a video file.
10. A method for processing data, applicable to a second mobile terminal of an audience, the method comprising:
acquiring first live streaming data and second live streaming data of a current live streaming room, wherein the first live streaming data and the second live streaming data carry time stamp information respectively; the second live streaming data is generated according to a target file selected by an anchor user; the target file is from a file list displayed after a file sharing interface displayed by a first mobile terminal is triggered; and the file sharing interface is for guiding the anchor to select a file for sharing during live streaming;
aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data, and playing the aligned first live streaming data and second live streaming data.
11. The method according to claim 10, wherein said aligning the first live streaming data and the second live streaming data according to the time stamp information respectively carried by the first live streaming data and the second live streaming data comprises:
acquiring time difference between the time stamp information respectively carried by the first live streaming data and the second live streaming data which are currently downloaded;
determining that the first live streaming data and the second live streaming data have been aligned in the case that the time difference is not greater than a predetermined threshold;
determining that live streaming data carrying the latest time stamp information as the first or second live streaming data in the case that the time difference is greater than the predetermined threshold;
taking the first time stamp information as first time stamp information to be aligned, and continuing to download the second live streaming data until time difference between the time stamp information carried by the second live streaming data which is downloaded in real time and the first time stamp information to be aligned is not greater than the predetermined threshold in the case that first time stamp information is later than second time stamp information; and
taking the second time stamp information as second time stamp information to be aligned, and continuing to download the first live streaming data until time difference between the time stamp information carried by the first live streaming data which is downloaded in real time and the second time stamp information to be aligned is not greater than the predetermined threshold in the case that second time stamp information is later than first time stamp information;
wherein the first time stamp information is time stamp information of the first live streaming data which is downloaded in real time, and the second time stamp information is time stamp information of the second live streaming data which is downloaded in real time.
12. The method according to claim 11, further comprising:
playing the first live streaming data from a time point indicated by the first time stamp information to be aligned in the case that a time period for continuing to download the second live streaming data is greater than a predetermined time period;
playing the second live streaming data from a time point indicated by the second time stamp information to be aligned in the case that a time period for continuing to download the first live streaming data is greater than the predetermined time period.
13. The method according to claim 10, wherein said playing the aligned first live streaming data and second live streaming data comprises:
displaying the first live streaming data on a live streaming page with a first resolution; and
displaying the second live streaming data on the live streaming page with a second resolution;
wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
14. The method according to claim 13, further comprising:
displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window; and
in response to a switch operation of the first live streaming data and the second live streaming data, displaying the first live streaming data on the live streaming page with the second resolution, and displaying the second live streaming data on the live streaming page with the first resolution.
15. A mobile terminal comprising:
a processor; and
a memory for storing at least one instruction executable by the processor,
wherein the at least one instruction, when executed by the processor, causes the processor to perform a method comprising:
displaying a live streaming page, the live streaming page comprising a file sharing interface for guiding the anchor to select a file for sharing during live streaming;
displaying a file list in the case that the file sharing interface is triggered;
acquiring a target file selected from the file list;
collecting first live streaming data, wherein the first live streaming data is acquired by a camera of the mobile terminal which is a first mobile terminal;
generating second live streaming data based on the target file, and displaying the first live streaming data and the second live streaming data on the live streaming page; and
synchronizing the first live streaming data and the second live streaming data to a second mobile terminal, wherein the second mobile terminal is an audience terminal.
16. The mobile terminal according to claim 15, wherein
the first live streaming data comprises at least one of first image data acquired by the camera of the first mobile terminal or first audio data acquired by a microphone of the first mobile terminal;
the second live streaming data comprises at least one of second image data or second audio data; and
the target file comprises a multimedia or non-multimedia file, the multimedia file comprising at least one of image data, audio data or video data.
17. The mobile terminal according to claim 15, wherein the method further comprises:
taking pure image data as the second image data in the case that the target file is pure image data;
taking pure audio data as the second audio data in the case that the target file is pure audio data;
decoding video data to obtain the second image data and the second audio data in the case that the target file is the video data; and
performing a screen shot on non-multimedia file to obtain the second image data in the case that the target file is the non-multimedia file.
18. The mobile terminal according to claim 15, wherein the method further comprises:
displaying the first live streaming data on the live streaming page with a first resolution; and
displaying the second live streaming data on the live streaming page with a second resolution;
wherein the first resolution is the resolution of a suspended window on the live streaming page, the second resolution is a full-screen resolution required by the current live streaming, and the size of the suspended window is smaller than a full-screen size.
19. The mobile terminal according to claim 17, wherein the method further comprises:
displaying the suspended window according to a drag trajectory, wherein the drag trajectory is generated based on dragging the suspended window.
20. The mobile terminal according to claim 14, wherein the method further comprises:
adding time stamp information of the same time point to the first live streaming data and the second live streaming data respectively,
wherein the time stamp information is intended to align the first live streaming data and the second live streaming data before playing the first live streaming data and the second live streaming data; and
sending the first live streaming data carrying the time stamp information and the second live streaming data carrying the time stamp information to a server.
US17/396,042 2019-09-30 2021-08-06 Method and mobile terminal for processing data Abandoned US20210368214A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/396,042 US20210368214A1 (en) 2019-09-30 2021-08-06 Method and mobile terminal for processing data

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201910944055.0 2019-09-30
CN201910944055.0A CN110636321A (en) 2019-09-30 2019-09-30 Data processing method, device, system, mobile terminal and storage medium
US17/039,485 US11128894B2 (en) 2019-09-30 2020-09-30 Method and mobile terminal for processing data
US17/396,042 US20210368214A1 (en) 2019-09-30 2021-08-06 Method and mobile terminal for processing data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US17/039,485 Continuation US11128894B2 (en) 2019-09-30 2020-09-30 Method and mobile terminal for processing data

Publications (1)

Publication Number Publication Date
US20210368214A1 true US20210368214A1 (en) 2021-11-25

Family

ID=68974922

Family Applications (2)

Application Number Title Priority Date Filing Date
US17/039,485 Active US11128894B2 (en) 2019-09-30 2020-09-30 Method and mobile terminal for processing data
US17/396,042 Abandoned US20210368214A1 (en) 2019-09-30 2021-08-06 Method and mobile terminal for processing data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US17/039,485 Active US11128894B2 (en) 2019-09-30 2020-09-30 Method and mobile terminal for processing data

Country Status (2)

Country Link
US (2) US11128894B2 (en)
CN (1) CN110636321A (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113555132B (en) * 2020-04-24 2024-09-17 华为技术有限公司 Multi-source data processing method, electronic device, and computer-readable storage medium
CN111464830B (en) * 2020-05-19 2022-07-15 广州酷狗计算机科技有限公司 Method, device, system, equipment and storage medium for image display
CN111919451A (en) * 2020-06-30 2020-11-10 深圳盈天下视觉科技有限公司 Live broadcasting method, live broadcasting device and terminal
US20220067993A1 (en) * 2020-08-31 2022-03-03 Popshop Technologies, Inc. Live streaming object image capture and image conversion to product catalog
CN114390310B (en) * 2022-01-13 2024-06-21 广州繁星互娱信息科技有限公司 Data pushing method and device, storage medium and electronic equipment
CN114679618B (en) * 2022-05-27 2022-08-02 成都有为财商教育科技有限公司 Method and system for receiving streaming media data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140006977A1 (en) * 2012-03-30 2014-01-02 Karriem Lateff Adams Integrated social network internet operating system and management interface
US20160283181A1 (en) * 2014-02-11 2016-09-29 Lg Electronics Inc. Electronic device and method for controlling the same
US20180124141A1 (en) * 2016-10-31 2018-05-03 Google Inc. Anchors for live streams
US20190236547A1 (en) * 2018-02-01 2019-08-01 Moxtra, Inc. Record and playback for online collaboration sessions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889686A (en) * 2006-07-14 2007-01-03 北京时越网络技术有限公司 Method for simultaneous displaying multi-channel video information
WO2016154149A1 (en) * 2015-03-20 2016-09-29 Twitter, Inc. Live video stream sharing
CN106162221A (en) * 2015-03-23 2016-11-23 阿里巴巴集团控股有限公司 The synthetic method of live video, Apparatus and system
CN105430537B (en) * 2015-11-27 2018-04-17 刘军 Synthetic method, server and music lesson system are carried out to multichannel data
US10474422B1 (en) * 2016-04-18 2019-11-12 Look Sharp Labs, Inc. Music-based social networking multi-media application and related methods
CN106658215A (en) * 2016-12-15 2017-05-10 北京小米移动软件有限公司 Method and device for pushing live file
CN106657925A (en) * 2017-01-18 2017-05-10 沈阳上博智像科技有限公司 Video output method and thermal infrared imager
US10652618B2 (en) * 2017-02-16 2020-05-12 Facebook, Inc. Transmitting video clips of viewers' reactions during a broadcast of a live video stream
CN107071509A (en) * 2017-05-18 2017-08-18 北京大生在线科技有限公司 The live video precise synchronization method of multichannel
CN107333165A (en) * 2017-06-29 2017-11-07 徐文波 The control method and device of many picture position adjustment
CN107396166A (en) * 2017-08-07 2017-11-24 北京小米移动软件有限公司 The method and device of live middle display video
CN107566878B (en) * 2017-08-07 2020-09-08 北京小米移动软件有限公司 Method and device for displaying pictures in live broadcast
CN109756768A (en) * 2017-11-08 2019-05-14 中国电信股份有限公司 Video stream processing method, device and video flowing display methods, device
CN108259989B (en) * 2018-01-19 2021-09-17 广州方硅信息技术有限公司 Video live broadcast method, computer readable storage medium and terminal equipment
CN110213635B (en) * 2018-04-08 2021-11-30 腾讯科技(深圳)有限公司 Video mixing method, video mixing device and storage medium
CN110166788B (en) * 2018-08-02 2021-11-02 腾讯科技(深圳)有限公司 Information synchronous playing method, device and storage medium
US20200068262A1 (en) * 2018-08-24 2020-02-27 Santino Anthony Saldana System and method for sharing content in a live stream and story application
CN109327741B (en) * 2018-11-16 2021-08-24 网易(杭州)网络有限公司 Game live broadcast method, device and system
US20210001236A1 (en) * 2019-07-03 2021-01-07 Scoretrade Inc. System and method for integrating live video communication and content in the context of internet-based sports gaming mobile device application
US11632592B2 (en) * 2019-10-31 2023-04-18 Scoretrade Inc. Integrating authenticated pay television streams into mobile in-game sports gaming applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140006977A1 (en) * 2012-03-30 2014-01-02 Karriem Lateff Adams Integrated social network internet operating system and management interface
US20160283181A1 (en) * 2014-02-11 2016-09-29 Lg Electronics Inc. Electronic device and method for controlling the same
US20180124141A1 (en) * 2016-10-31 2018-05-03 Google Inc. Anchors for live streams
US20190236547A1 (en) * 2018-02-01 2019-08-01 Moxtra, Inc. Record and playback for online collaboration sessions

Also Published As

Publication number Publication date
US20210099733A1 (en) 2021-04-01
US11128894B2 (en) 2021-09-21
CN110636321A (en) 2019-12-31

Similar Documents

Publication Publication Date Title
US11128894B2 (en) Method and mobile terminal for processing data
US20170311006A1 (en) Method, system and server for live streaming audio-video file
CN105991962B (en) Connection method, information display method, device and system
CN106131591B (en) Live broadcasting method, device and terminal
CN113141514B (en) Media stream transmission method, system, device, equipment and storage medium
CN110446072B (en) Video stream switching method, electronic device and storage medium
CN108093267B (en) Live broadcast method and device, storage medium and electronic equipment
US10638180B1 (en) Media timeline management
US20150208103A1 (en) System and Method for Enabling User Control of Live Video Stream(s)
US8803991B2 (en) Snapshot capture in video stream
US20220188357A1 (en) Video generating method and device
WO2022193595A1 (en) Object playing method and apparatus
US20220193540A1 (en) Method and system for a cloud native 3d scene game
CN107040808B (en) Method and device for processing popup picture in video playing
US10515476B2 (en) Image fetching for timeline scrubbing of digital media
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
CN110582012B (en) Video switching method, video processing device and storage medium
US20200213631A1 (en) Transmission system for multi-channel image, control method therefor, and multi-channel image playback method and apparatus
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
CN109040773A (en) A kind of video improvement method, apparatus, equipment and medium
WO2019114330A1 (en) Video playback method and apparatus, and terminal device
WO2019192481A1 (en) Media information processing method, related device, and computer storage medium
CN105898395A (en) Network video playing method, device and system
CN110662082A (en) Data processing method, device, system, mobile terminal and storage medium
US20230217047A1 (en) Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION