WO2024055689A1 - 一种流媒体互动方法及装置 - Google Patents

一种流媒体互动方法及装置 Download PDF

Info

Publication number
WO2024055689A1
WO2024055689A1 PCT/CN2023/103469 CN2023103469W WO2024055689A1 WO 2024055689 A1 WO2024055689 A1 WO 2024055689A1 CN 2023103469 W CN2023103469 W CN 2023103469W WO 2024055689 A1 WO2024055689 A1 WO 2024055689A1
Authority
WO
WIPO (PCT)
Prior art keywords
interaction
terminal device
server
program
streaming media
Prior art date
Application number
PCT/CN2023/103469
Other languages
English (en)
French (fr)
Inventor
林霖
庞峰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024055689A1 publication Critical patent/WO2024055689A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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/488Data services, e.g. news ticker

Definitions

  • the present application relates to the field of communication technology, and in particular, to a streaming media interaction method and device.
  • live video or on-demand video services are widely used. For example, during holidays, TV stations broadcast live holiday parties. For another example, users can watch on-demand services provided by TV stations through terminal devices such as televisions. For another example, anchors can use online media communication technology to conduct online live broadcasts.
  • users can interact in the following ways: users enter comment information, including text, pictures, etc., in the comment area below the live broadcast screen; users send barrages and other short comment information, including text, in the live broadcast screen , clap, whistle and other animated sound effects, send various gifts, etc.
  • these interactive methods have nothing to do with the control surface and media surface of streaming media. Instead, they superimpose interactive capabilities on streaming media and require corresponding applications to be installed in the user's terminal device.
  • This application provides a streaming media interaction method and device, so that users who watch streaming media programs can participate in interactions with the program.
  • embodiments of the present application provide a streaming media interaction method.
  • the method includes: after receiving a first interaction instruction sent by the first server through streaming media to instruct the user to start participating in the interaction of the terminal device playing the program, the terminal device can output a first interaction prompt to prompt the user to participate in the terminal device playing program. interact with the program, and collect at least one interaction information generated when the user interacts according to the first interaction prompt, and the at least one interaction information is used to generate interaction data. Then, the terminal device can send the interaction data to the second server.
  • the interaction data includes: at least one interaction information; and the frame sequence number of the streaming media frame of the program being displayed by the terminal device when each interaction information in the at least one interaction information is collected.
  • the terminal device not only sends at least one interaction information to the second server, but also sends the frame sequence number of the streaming media frame of the program being displayed by the terminal device when collecting each interaction information in the at least one interaction information, so that it can be based on the The frame sequence number determines the user's response time, which can reduce the unfairness of interaction caused by the different delivery times of streaming media programs to different users.
  • the interaction data also includes: when each interaction information in at least one interaction information is collected, the displayed duration of the streaming media frame of the program being displayed by the terminal device.
  • the terminal device also collects the displayed duration of the streaming media frame of the program being displayed by the terminal device when each interactive information in at least one interactive information is collected from the second server, so that the user's reaction time can be determined more accurately. This further reduces the unfairness of interaction caused by the different delivery times of streaming media programs to different users.
  • the media plane data of the first video stream of the program played by the terminal device includes the frame sequence number of the streaming media frame in the program. That is to say, the terminal device can obtain the frame sequence number of the streaming media frame in the program through the media plane.
  • the terminal device can obtain the frame sequence number of the streaming media frame in the program, thereby efficiently obtaining the frame sequence number.
  • the terminal device can obtain the frame sequence number through the media plane, which is easy to implement.
  • the terminal device may also receive an interactive mode indication sent by the first server through streaming media, where the interactive mode indication is used to instruct the terminal device to use an interactive mode for playing the program.
  • the first interaction prompt output by the terminal device can prompt the user to participate in the interaction of the program played by the terminal device according to the interaction method, and the terminal device can collect at least one interaction information generated when the user interacts according to the interaction method.
  • the terminal device can collect at least one interaction information generated when the user interacts according to the interaction method according to the interaction method instructed by the first server, so that the user's interaction information can be obtained in a targeted manner, and the acquisition and transmission of interaction information can be improved. Efficiency of interactive data.
  • the interaction method may include at least one of the following: interaction through somatosensory, interaction through voice recognition, interaction through video, interaction through voice, and interaction through remote control.
  • the terminal device can support multiple interaction methods.
  • the terminal device can receive the interaction mode indication through one of the following implementations:
  • Implementation method 1 The terminal device receives a third video stream of the program from the first server, and the media plane data of the third video stream includes an interaction mode indication. That is to say, the terminal device can receive the interaction mode indication from the first server through the media plane.
  • the terminal device can obtain the interactive mode instructions while obtaining the program streaming media.
  • the acquisition method is fast and efficient.
  • the terminal device can obtain interactive mode instructions through the media surface, which is easy to implement.
  • Implementation method two the terminal device receives third control plane data from the first server, and the third control plane data includes interaction mode instructions. That is to say, the terminal device can receive the interaction mode instruction from the first server through the control plane. Through the second implementation method, the terminal device can obtain the interactive mode instructions through the control surface, which is easy to implement.
  • the terminal device may receive an address indication sent by the first server through streaming media, where the address indication is used to indicate a reporting address of the interactive data. Then, the terminal device can send the interaction data to the second server according to the reported address, where the reported address is the address of the second server. Through this design, the terminal device can upload the interactive data to the correct server according to the reporting address indicated by the first server.
  • the end device may receive the address indication through one of the following implementations:
  • Implementation Mode 1 The terminal device receives the fourth video stream of the program from the first server, and the media plane data of the fourth video stream includes the address indication. That is to say, the terminal device can receive the address indication from the first server through the media plane. Through implementation method 1, the terminal device can obtain the address indication while obtaining the program streaming media, making it more efficient to obtain the address information. Moreover, the terminal device can obtain the address indication through the media plane, which is easy to implement.
  • Implementation Mode 2 The terminal device receives fourth control plane data from the first server, where the fourth control plane data includes the address indication. That is to say, the terminal device can receive the address indication from the first server through the control plane. Through implementation method 2, the terminal device can obtain the address indication through the control plane, which is easy to implement.
  • the terminal device may receive the first interaction indication in one of the following ways:
  • Method 1 The terminal device receives the first video stream of the program from the first server, and the media plane data of the first video stream includes the first interaction indication. That is to say, the terminal device can receive the first interaction instruction from the first server through the media plane. Through the first method, the terminal device can obtain the first interaction instruction while obtaining the program content, so that it can deliver the corresponding first interaction instruction while delivering the streaming media of the program. Moreover, the terminal device can obtain the first interactive instruction through the media surface, which is easy to implement.
  • Method 2 The terminal device receives the first control plane data from the first server, where the first control plane data includes the first interaction instruction. That is to say, the terminal device can receive the first interaction instruction from the first server through the control plane. Through the second method, the terminal device can obtain the first interactive instruction through the control surface, which is easy to implement.
  • the terminal device can send interactive data to the second server in one of the following ways:
  • Method 1 The terminal device sends the second video stream to the second server, and the media plane data of the second video stream includes interactive data. That is to say, the terminal device can send the second video stream to the second server through the media. Through method 1, the terminal device can send interactive data to the second server through the media stream, achieving higher efficiency.
  • Method 2 The terminal device sends second control plane data to the second server, and the second control plane data includes interaction data. That is to say, the terminal device can send interactive data to the second server through control. Through method 2, the terminal device can send interactive data to the second server through control, which is easy to implement.
  • the terminal device before receiving the first interaction instruction sent by the first server through streaming media, may receive the second interaction instruction sent by the first server through streaming media, and the second interaction instruction is used to indicate Prepare to participate in the interaction of programs played on terminal devices. Then, the terminal device can output a second interaction prompt. The second interaction prompt is used to prompt the user to prepare to participate in the interaction of the program played by the terminal device.
  • the terminal device can prompt the user to prepare to start participating in the interaction of the current program, giving the user a certain amount of preparation time.
  • the terminal device may receive the second interaction indication in one of the following ways:
  • Method A The terminal device receives the fifth video stream of the program from the first server, and the media plane data of the fifth video stream includes the second interaction indication. That is to say, the terminal device can receive the second interaction instruction from the first server through the media plane. Through method A, the terminal device can obtain the second interaction instruction while obtaining the program content, so that it can deliver the corresponding second interaction instruction while delivering the streaming media of the program. Moreover, the terminal device obtains the second interaction instruction through the media surface, which is easy to implement.
  • Method B The terminal device receives the fifth control plane data from the first server, and the fifth control plane data includes the second interaction instruction. also That is to say, the terminal device can receive the second interaction instruction from the first server through the control plane. Through method B, the terminal device can obtain the second interaction instruction through the control surface, which is easy to implement.
  • the terminal device may also receive a third interaction instruction sent by the first server through streaming media, where the third interaction instruction is used to instruct to stop participating in the interaction of the program played by the terminal device. Then, the terminal device may stop collecting at least one interaction information generated when the user interacts according to the first interaction prompt.
  • the terminal device can stop collecting user interaction information in time under the instruction of the first server, thereby saving the energy required by the terminal device to collect user interaction information.
  • the terminal device can receive the third interaction indication through one of the following implementation methods:
  • Implementation A The terminal device receives a sixth video stream containing a program from the first server, and the media plane data of the sixth video stream contains a third interaction indication. That is to say, the terminal device can receive the third interaction instruction from the first server through the media plane.
  • the terminal device can obtain the third interaction instruction while obtaining the program content, so that the corresponding third interaction instruction can be issued while delivering the streaming media of the program.
  • the terminal device can obtain the third interactive instruction through the media surface, which is easy to implement.
  • Implementation mode B The terminal device receives sixth control plane data from the first server, and the sixth control plane data includes the third interaction indication. That is to say, the terminal device may receive the third interaction instruction from the first server through the control plane. Through implementation method B, the terminal device can obtain the third interactive instruction through the control plane, which is easy to implement.
  • embodiments of the present application provide a streaming media interactive device, including a unit for executing each of the steps in the above first aspect.
  • embodiments of the present application provide a streaming media interactive device, including at least one processing element and at least one storage element, wherein the at least one storage element is used to store programs and data, and the at least one processing element is used to read and execute the programs and data stored in the storage element, so that the method provided in the first aspect of this application is implemented.
  • embodiments of the present application further provide a computer program, which when the computer program is run on a computer, causes the computer to execute the method provided in the first aspect.
  • embodiments of the present application further provide a computer-readable storage medium.
  • a computer program is stored in the computer-readable storage medium. When the computer program is executed by a computer, it causes the computer to execute the first aspect. provided method.
  • embodiments of the present application further provide a chip, which is used to read a computer program stored in a memory and execute the method provided in the first aspect.
  • embodiments of the present application further provide a chip system.
  • the chip system includes a processor and is configured to support a computer device in implementing the method provided in the first aspect.
  • the chip system further includes a memory, and the memory is used to store necessary programs and data of the computer device.
  • the chip system can be composed of chips or include chips and other discrete devices.
  • FIG. 1 is a schematic diagram of a real-time transmission protocol (RTP) fixed header
  • FIG. 2 is a schematic diagram of an RTP extension header
  • FIG. 3 is a schematic diagram of a media presentation description (MPD) file
  • Figure 4 is an architecture diagram of a communication system
  • Figure 5 is a flow chart of the first streaming media interaction method provided by the embodiment of the present application.
  • Figure 6 is a flow chart of the second streaming media interaction method provided by the embodiment of the present application.
  • Figure 7 is a flow chart of the third streaming media interaction method provided by the embodiment of the present application.
  • Figure 8 is a flow chart of the fourth streaming media interaction method provided by the embodiment of the present application.
  • Figure 9 is a flow chart of the fifth streaming media interaction method provided by the embodiment of the present application.
  • Figure 10 is a structural diagram of the first streaming media interactive device provided by an embodiment of the present application.
  • Figure 11 is a structural diagram of a second streaming media interactive device provided by an embodiment of the present application.
  • This application provides a streaming media interaction method and device, so that when users watch streaming media programs (similar to satellite TV programs, live broadcast programs, etc.) broadcast by TV stations through terminal devices such as televisions and mobile phones, the user can participate in the program. interaction, and can directly Collect user interaction data directly, thereby eliminating the need to install some interactive applications on terminal devices such as TVs and mobile phones, thereby simplifying the user's interaction process and complexity on the basis of realizing user participation in interaction.
  • the method and the device are based on the same technical concept. Since the principles of the method and the device to solve the problem are similar, the implementation of the device and the method can be referred to each other, and the repeated points will not be repeated.
  • Streaming media refers to a media format that uses streaming transmission technology for continuous real-time playback.
  • streaming media may, but is not limited to, include live video or on-demand video.
  • RTP protocol is a media-side protocol for streaming media.
  • the RTP header of the video stream may include an RTP fixed header.
  • the format of the RTP fixed header is shown in Figure 1.
  • the RTP protocol allows adding an RTP extension header after the RTP fixed header. Therefore, the RTP header of the video stream can also include an RTP extension header. For example, setting the X field in the RTP fixed header to 1 adds a variable-length RTP extension header after the RTP fixed header.
  • the format of the RTP extension header can be shown in Figure 2.
  • the payload in the RTP protocol can be used to transmit network abstract layer (NAL) messages.
  • NAL network abstract layer
  • it can be used to transmit NAL messages of the H.264 or H.265 protocol.
  • NAL messages of the H.264 or H.265 protocol can include the following types of messages:
  • Sequence parameter set can save a set of global parameters of a coded video sequence.
  • Picture parameter set corresponds to an image or parameters of an image in a sequence.
  • Supplemental enhancement information SEI: Additional information can be added to the video stream.
  • the dynamic adaptive streaming over HTTP (DASH) protocol based on hyper text transfer protocol (HTTP) is a control plane protocol for streaming media.
  • the terminal device can obtain a DASH message containing an MPD file corresponding to the video content from the server.
  • MPD files can be described in extensible markup language (XML) format.
  • Figure 3 shows the format of an MPD file.
  • the MPD file includes from the inside out: Segment, Representation, Adaptation Set and Period.
  • Segment Represents a small piece of audio or video data.
  • the format of Segment can be fmp4 format.
  • Representation Represents an audio stream or video stream, which can include one or more Segments.
  • Adaptation Set Can include one or more Representations.
  • the multiple Representations can be code streams generated from the same source stream, and the code rates, resolutions and/or frame rates of the multiple Representations are different.
  • Period can represent a time period, including one or more Adaptation Sets.
  • a program can consist of one or more Periods.
  • the video stream can also be called a media stream.
  • UC is information with a length of 1 byte, and the value range can be 0 ⁇ 255; US is information with a length of 2 bytes, and the value range can be 0 ⁇ 65025; UL is 4 words
  • the section length information can range from 0 to 4228250625.
  • the number of nouns means “singular noun or plural noun", that is, “one or more”, unless otherwise specified. "At least one” means one or more, and “plurality” means two or more. "And/or” describes the relationship between associated objects, indicating that there can be three relationships. For example, A and/or B can mean: A alone exists, A and B exist simultaneously, and B alone exists. “At least one of the following” or similar expressions refers to any combination of these items (items), including any combination of a single item (items) or a plurality of items (items).
  • Figure 4 shows the architecture of a possible communication system to which the streaming media interaction method provided by the embodiment of the present application is applicable.
  • the communication system includes: a terminal device and a service server.
  • the business server and the terminal device can communicate through networks such as content delivery network (content delivery network, CDN) or media delivery network (media delivery network, MDN).
  • content delivery network content delivery network
  • MDN media delivery network
  • the terminal device is a device that can provide streaming media services to users.
  • the terminal device has a display screen and can display streaming media obtained from the service server (for example, live video or on-demand video).
  • Terminal equipment can also be called user equipment (UE), client, electronic equipment, etc.
  • UE user equipment
  • client electronic equipment
  • terminal devices are: TVs, TV set-top boxes, mobile phones, tablets, laptops, computers, PDAs, mobile internet devices (mobile internet devices, MIDs), wearable devices, etc.
  • the service server can provide streaming media services for one or more terminal devices.
  • the service server can obtain the original media stream (for example, original video) from the TV station or host-side terminal device, and transcode the original media stream to generate target media streams of multiple bit rates and formats to provide the target media stream. Play to audience-side terminal devices of different formats.
  • the business server can be an ordinary server or a server in a cloud platform.
  • users can interact in the following ways: users enter comment information, including text, pictures, etc., in the comment area below the live broadcast screen; users send barrages and other short comment information, including text, in the live broadcast screen , clap, whistle and other animated sound effects, send various gifts, etc.
  • these interactive methods have nothing to do with the control surface and media surface of streaming media. Instead, they superimpose interactive capabilities on streaming media and require corresponding applications to be installed in the user's terminal device.
  • the embodiment of the present application provides a streaming media interaction method, which can solve the above technical problems.
  • This method can be applied to the communication system shown in Figure 4. Referring to the flow chart shown in Figure 5, the flow of this method will be described in detail below.
  • the first server sends the first interaction instruction to the terminal device through streaming media.
  • the terminal device receives the first interaction instruction sent by the first server through streaming media.
  • the first interaction instruction may be used to instruct to start the interaction of participating in the program played by the terminal device.
  • the first server may be the business server in Figure 4.
  • the first server may send a first interaction instruction to the terminal device when it is determined to start interacting with the program played by the terminal device.
  • the program being played by the terminal device is a program broadcast live by TV station A.
  • the first server determines to start interacting with the program played by the terminal device and sends the message to the terminal device.
  • the first server detects that the program content contains interactive information. If it detects that the program host prompts the audience to participate in the interaction, the first server can determine to start interacting with the terminal device playing the program and send the first interaction instruction to the terminal device. .
  • the terminal device may receive the first interaction instruction sent by the first server through streaming media in one of the following ways:
  • Method 1 The terminal device receives a first video stream from the first server including a program played by the terminal device, and the media plane data of the first video stream includes the first interaction indication. That is to say, the terminal device can receive the first interaction instruction from the first server through the media plane.
  • the first server can send the first interaction instruction to the terminal device through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the first video stream contains the first interaction indication.
  • the media plane data of the first video stream is the RTP header of the first video stream.
  • the RTP extension header of the first video stream includes the first interaction indication.
  • the Header Extension field in the RTP extension header can include the InteractiveStatus field.
  • the value of the InteractiveStatus field is the first value (for example, 3)
  • the InteractiveStatus field indicates starting the interaction of participating in the terminal device playing the program.
  • the length of the InteractiveStatus field can be 1 byte.
  • the NAL of the first video stream includes the first interaction indication.
  • the media plane data of the first video stream is the NAL of the first video stream.
  • the NAL packet SEI of the first video stream contains the first interaction indication.
  • SEI payloadType When SEI When the value of the payloadType field is 0xFA, the SEI payload (SEIPayLoad) can contain the InteractiveStatus field.
  • the SEI payloadSize field is the actual length of the SEI payload (SEIPayLoad).
  • n is an integer greater than 1.
  • the terminal device can obtain the first interaction instruction while obtaining the program content, so that it can deliver the corresponding first interaction instruction while delivering the streaming media of the program. Moreover, the terminal device can obtain the first interactive instruction through the media surface, which is easy to implement.
  • Method 2 The terminal device receives the first control plane data from the first server, and the first control plane data includes the first interaction instruction. That is to say, the terminal device can receive the first interaction instruction from the first server through the control plane.
  • the first control plane data may be control plane data corresponding to the program played by the terminal device.
  • the first server can send the first interaction instruction to the terminal device through any control plane protocol.
  • the following description takes the control plane protocol as DASH as an example.
  • the first control plane data is a DASH message.
  • the DASH message includes an MPD file corresponding to the program played by the terminal device, and the MPD file includes the Interactive instruction parameter.
  • the Interactive instruction parameter may include the first interactive instruction.
  • Interactive instruction parameters may include:
  • InteractiveStartSegment represents the segment in the program played by the terminal device that begins to participate in interaction
  • InteractiveCloseSegment ends the segment in the program played by the terminal device that ends interaction.
  • fragment 15 is the fragment that begins to participate in the interaction of the terminal device playing the program; the fragments in which the user can participate in the interaction of the terminal device playing the program are fragments 15-35.
  • the InteractiveCloseSegment parameter can be optional. For example, if the first server cannot determine when to end the interaction when generating the Interactive instruction parameter, the Interactive CloseSegment parameter may not be included in the Interactive instruction parameter, or the InteractiveCloseSegment parameter in the Interactive instruction parameter may be an invalid value. When it can determine when to end the interaction, the first server fills in the correct value in the InteractiveCloseSegment parameter.
  • the Interactive instruction parameter can be included in the Period, Adaptation Set or Representation in the MPD file.
  • the terminal device can periodically obtain the MPD file of the latest content of the program from the first server.
  • the terminal device can obtain the MPD file of the latest content of the program from the first server every 5 seconds.
  • the terminal device can obtain the first interactive instruction through the control surface, which is easy to implement.
  • the terminal device outputs a first interactive prompt.
  • the first interactive prompt can be used to prompt the user to participate in the interaction of the program played by the terminal device.
  • the terminal device can display the first interactive prompt through the screen.
  • the terminal device can display text on the screen: "Please participate in the interaction of the current program.”
  • the terminal device can output the first interaction prompt to the user through voice. For example, after receiving the first interaction instruction, the terminal device may output a voice: "Please participate in the interaction of the current program.”
  • the terminal device collects at least one interaction information generated when the user interacts according to the first interaction prompt, and the at least one interaction information can be used to generate interaction data.
  • the terminal device can collect at least one interaction information generated when the user interacts according to the first interaction prompt through the data collection device.
  • the terminal device can collect the video information generated when the user interacts according to the first interaction prompt through the camera, and based on the video information and the algorithm used to calculate the human body motion skeleton (for example, artificial intelligence (artificial intelligence, AI) algorithm),
  • the user's human body posture description file is determined, and the human body posture description file may include human motion skeleton information.
  • the terminal device may use a camera to collect images or videos generated when the user interacts according to the first interaction prompt.
  • the terminal device may collect audio generated when the user interacts according to the first interaction prompt through a microphone.
  • the terminal device can also collect touch operation information generated when the user interacts according to the first interaction prompt through the touch screen.
  • S504 The terminal device sends interaction data to the second server.
  • the second server may be the same server as the first server, or may be a different server.
  • the address of the second server may be a default address or an address obtained from the first server.
  • the interaction data may include at least one interaction information collected in S503.
  • at least one piece of information please refer to the description of "at least one piece of information" in S503 below, which will not be elaborated here.
  • the terminal device after the terminal device receives the first interaction instruction from the first server for instructing to start participating in the interaction of the program played by the terminal device, it can output the first interaction prompt to prompt the user to participate.
  • the terminal device plays the interaction of the program, and the terminal device collects at least one interaction information generated when the user interacts according to the first interaction prompt.
  • step A1 the method shown in Figure 5 also includes step A1:
  • A1 The first server sends interaction mode instructions to the terminal device through streaming media.
  • the terminal device receives the interaction mode indication sent by the first server through streaming media.
  • the interactive mode indication is used to instruct the terminal device to use an interactive mode for playing the program.
  • the interaction method may include, but is not limited to, at least one of the following: interaction through somatosensory, interaction through voice recognition, interaction through video, interaction through voice, interaction through remote control, etc.
  • the terminal device can receive the interaction mode indication sent by the first server through streaming media through one of the following implementation methods:
  • Implementation method 1 The terminal device receives a third video stream containing a program from the first server, and the media plane data of the third video stream contains an interaction mode indication. That is to say, the terminal device can receive the interaction mode indication from the first server through the media plane.
  • the third video stream may be the same as the first video stream, or may be different from the first video stream.
  • the third video stream and the first video stream may be different video streams of the same program.
  • the first server can send interaction mode instructions to the terminal device through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the third video stream contains an interactive mode indication.
  • the media plane data of the third video stream is the RTP header of the third video stream.
  • the RTP extension header of the third video stream contains an interactive mode indication.
  • the Header Extension field of the third video stream may include an interactive mode (InteractiveType) field, and the InteractiveType field may indicate the interactive mode of the terminal device for playing the program.
  • the interactive mode of the terminal device playing the program is to interact through somatosensory
  • the value of the InteractiveType field is the third value (for example, 2)
  • the terminal device The interactive mode for the device playing the program is to interact through voice recognition
  • the value of the InteractiveType field is the fourth value (for example, 3)
  • the interactive mode for the terminal device to play the program is to interact through video
  • the value of the InteractiveType field is When the value of the InteractiveType field is the sixth value (for example, 5), the interactive mode for the terminal device to play programs is through remote control. interact with the device.
  • the length of the InteractiveType field can be 1 byte.
  • the NAL of the third video stream includes an interactive mode indication.
  • the media plane data of the third video stream is the NAL of the third video stream.
  • the NAL packet SEI of the third video stream contains an interactive mode indication.
  • the SEI message structure is shown in Table 1 above. Add an SEI payloadType to the SEI.
  • the SEIPayLoad may contain the InteractiveType field.
  • RTP of the third video stream The description of the InteractiveType field in "Header Contains Interaction Mode Instructions" will not be repeated here.
  • the terminal device can obtain the interactive mode instructions while obtaining the program streaming media.
  • the acquisition method is fast and efficient.
  • the terminal device can obtain interactive mode instructions through the media surface, which is easy to implement.
  • Implementation method two the terminal device receives third control plane data from the first server, and the third control plane data includes interaction mode instructions. That is to say, the terminal device can receive the interaction mode instruction from the first server through the control plane.
  • the third control plane data may be the same as the first control plane data, or may be different from the first control plane data.
  • the third control plane data and the first control plane data may be control plane data of the same program.
  • the first server can send the interaction mode instruction to the terminal device through any control plane protocol.
  • the following description takes the control plane protocol as DASH as an example.
  • the third control plane data is a DASH message.
  • the DASH message includes an MPD file corresponding to the program played by the terminal device, and the MPD file includes the Interactive instruction parameter.
  • the content of the Interactive instruction parameter please refer to the description of the Interactive instruction parameter in Method 2, and the repeated parts will not be repeated.
  • the Interactive instruction parameter can contain interactive mode instructions.
  • Interactive instruction parameters may include:
  • InteractiveType is used to represent the interactive mode of the terminal device playing the program.
  • the interaction mode is through somatosensory mode.
  • the terminal device can obtain the interactive mode instructions through the control surface, which is easy to implement.
  • step A1 and step S501 can be executed before step S502.
  • the first interaction prompt may be specifically used to prompt the user to participate in the interaction of the program played by the terminal device according to the interaction method.
  • the terminal device can display the first interactive prompt through the screen. For example, if the interaction method is interaction through body sensing, after the terminal device receives the first interaction instruction and the interaction mode instruction, the terminal device can display text on the screen: "Please participate in the interaction of the current program through body sensing.” In other possible ways, the terminal device can output the first interaction prompt to the user through voice. For example, if the interaction method is interaction through voice, after receiving the first interaction instruction and the interaction method instruction, the terminal device can output a voice: "Please participate in the interaction of the current program through voice.”
  • the terminal device can collect at least one interactive information generated when the user interacts according to the interactive mode. Specifically, the terminal device can collect at least one interactive information generated when the user interacts according to the interactive mode. Optionally, the terminal device can collect at least one interactive information generated when the user interacts according to the interactive mode through a data collection device corresponding to the interactive mode.
  • the terminal device can collect video information generated when the user interacts according to the interaction method through the camera. Then, the terminal device determines the user's human body motion skeleton information based on the video information and an algorithm (for example, AI algorithm) used to calculate the human body motion skeleton. At this time, the at least one interaction information may include the user's human body movement skeleton information.
  • an algorithm for example, AI algorithm
  • the terminal device can collect the audio information generated when the user interacts according to the interaction method through the microphone. Then, the terminal device detects the user's speaking content based on the audio information and an algorithm for recognizing speech (eg, AI algorithm). At this time, the at least one interactive information includes the user's speech content.
  • an algorithm for recognizing speech eg, AI algorithm
  • the terminal device can use a camera to collect video information generated when the user interacts according to the interaction method.
  • the at least one interactive information includes the video information.
  • the terminal device can collect the audio information generated when the user interacts according to the interaction method through the microphone. At this time, the at least one interactive information includes the audio information.
  • the terminal device can receive information from the remote control through an infrared receiving device.
  • the information from the remote control is, for example, the result of keystrokes on the remote control.
  • the at least one interaction information includes the information of the remote control.
  • the terminal device can collect at least one interaction information generated when the user interacts according to the interaction method according to the interaction method indicated by the first server, so that the user's interaction information can be obtained in a targeted manner, and the acquisition and transmission of the interaction information can be improved. Efficiency of interactive data.
  • the terminal device may also collect at least one interaction information generated when the user interacts according to the default interaction method.
  • the terminal device does not need to obtain the interaction mode indication from the first server.
  • the default interaction method may include one or more interaction methods in step A1.
  • the terminal device can use the camera to collect video information generated when the user interacts according to the interaction method.
  • the at least one interactive information includes the video information. This can reduce the process of the first server issuing interactive mode instructions, thereby making the solution more efficient and saving transmission resources of the streaming media channel.
  • the method shown in Figure 5 may also include step B1:
  • the first server sends an address indication to the terminal device through streaming media.
  • the terminal device receives the address indication sent by the first server through streaming media.
  • the address indication can be used to indicate the reporting address of the interactive data.
  • the address indication may directly or indirectly indicate the reporting address.
  • the reported address may be the address of the second server.
  • the reported address may be the Internet protocol (IP) address or the uniform resource locator (URL) address of the second server.
  • IP Internet protocol
  • URL uniform resource locator
  • the terminal device can receive the address indication sent by the first server through streaming media through one of the following implementation methods:
  • the terminal device receives a fourth video stream containing a program from the first server, and the media plane data of the fourth video stream contains an address indication. That is to say, the terminal device can receive the address indication from the first server through the media plane.
  • the fourth video stream may be the same as the first video stream, or may be different from the first video stream.
  • the fourth video stream and the first video stream may be different video streams of the same program.
  • the first server can send an address indication to the terminal device through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the fourth video stream includes an address indication.
  • the media plane data of the fourth video stream is the RTP header of the fourth video stream.
  • the RTP extension header of the fourth video stream contains an address indication.
  • the Header Extension field may include a reported address (for example, interactive URL (InteractiveURL)) field, and the InteractiveURL field is an address indication.
  • the InteractiveURL field contains http://CMCCInteractivevido.com/Interactive
  • the reported address is http://CMCCInteractivevido.com/Interactive.
  • the length of the InteractiveURL field can be 128 bytes.
  • the NAL of the fourth video stream includes an address indication.
  • the media plane data of the fourth video stream is the NAL of the fourth video stream.
  • the NAL packet SEI of the fourth video stream contains an address indication.
  • the SEI message structure is shown in Table 1 above.
  • SEIPayLoad can include the reporting address (for example, InteractiveURL) field.
  • the specific content of the InteractiveURL field please refer to the description of the InteractiveURL field in "The RTP header of the fourth video stream contains address indication" and will not be described again here.
  • the terminal device can obtain the address indication while obtaining the program streaming media, making it more efficient to obtain the address information. Moreover, the terminal device can obtain the address indication through the media plane, which is easy to implement.
  • Implementation manner 2 The terminal device receives fourth control plane data from the first server, and the fourth control plane data includes the address indication. That is to say, the terminal device can receive the address indication from the first server through the control plane.
  • the fourth control plane data may be the same as the first control plane data, or may be different from the first control plane data.
  • the fourth control plane data and the first control plane data may be control plane data of the same program.
  • the first server can send the address indication to the terminal device through any control plane protocol.
  • the following description takes the control plane protocol as DASH as an example.
  • the fourth control plane data is a DASH message.
  • the DASH message includes an MPD file corresponding to the program played by the terminal device, and the MPD file includes the Interactive instruction parameter.
  • the Interactive instruction parameter can contain address instructions.
  • the Interactive instruction parameter can include:
  • InteractiveURL is used to represent the reporting address of interactive data.
  • the reporting address is: http://CMCCInteractivevido.com/Interactive.
  • the terminal device can obtain the address indication through the control plane, which is easy to implement.
  • step B1 does not limit the execution order of step B1 and step S501 to step S503, that is, step B1 can be executed before step S504.
  • S504 may include: the terminal device sends the interaction data to the second server according to the reported address. Through this method, the terminal device can upload the interaction data to the correct server according to the reporting address indicated by the first server.
  • the media plane data of the first video stream of the program played by the terminal device includes the frame sequence number of the streaming media frame in the program. That is to say, the terminal device can obtain the frame sequence number of the streaming media frame in the program through the media plane.
  • the frame serial numbers of the streaming media frames in the program may be accumulated and may be used to uniquely indicate the streaming media frames in the program.
  • the first server can send the frame sequence number of the streaming media frame in the program to the terminal device through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the first video stream contains the frame sequence number of the streaming media frame in the program.
  • the media plane data of the first video stream is the RTP header of the first video stream.
  • the RTP extension header of the first video stream contains the frame sequence number of the streaming media frame in the program.
  • the Header Extension field in the RTP extension header can be as shown in Table 2.
  • the NAL of the first video stream includes the frame sequence number of the streaming media frame in the program.
  • the media plane data of the first video stream is the NAL of the first video stream.
  • the NAL packet SEI of the first video stream contains the frame sequence number of the streaming media frame in the program.
  • SEIPayLoad can contain the FramSequenceNumber field.
  • the length of the SEI payloadSize field can be 4 bytes.
  • the interaction data may include:
  • At least one interactive information generated when the user interacts according to the first interactive prompt collected by the terminal device For specific content, please refer to the description of the at least one interactive information in S503, which will not be described again here.
  • the frame sequence number of the streaming media frame of the program being displayed by the terminal device.
  • the interaction data may include: when the terminal device collects video information generated when the user interacts according to the interaction mode through the camera, the frame sequence number of the streaming media frame of the program being displayed by the terminal device.
  • the interaction data may include: when the terminal device collects the audio information generated when the user interacts according to the interaction mode through the microphone, the frame sequence number of the streaming media frame of the program being displayed by the terminal device .
  • interaction data may also include interaction methods.
  • interaction methods For the specific content of the interaction method, please refer to step A1 and will not be described again here.
  • the terminal device may record when collecting at least one interaction information.
  • the terminal device may record when collecting at least one interaction information.
  • the terminal device not only sends at least one interaction information to the second server, but also sends the frame sequence number of the streaming media frame of the program being displayed by the terminal device when collecting each interaction information in the at least one interaction information, so that it can be based on the
  • the frame sequence number determines the user's response time, which can reduce the unfairness of interaction caused by the different delivery times of streaming media programs to different users.
  • the 8 o'clock program content of the party will appear on the TV screen of audience A on TV station A at 8:01 seconds, on the TV screen of audience B on TV station B at 8:02 seconds, and on the company's TV screen at 8:10 seconds.
  • Audience C is on the screen of C.
  • the interactive content of the program is who can complete the actions specified by the target character in the program the fastest. In the program content at 8 o'clock, the specified action of the target character is handstand, and the frame number of the streaming media frame corresponding to this program content is 12358. If the terminal equipment of audience A When A collects that audience A is standing on his head, the frame number of the streaming media frame of the program displayed by terminal equipment A is 12380.
  • the frame number of the streaming media frame of the program displayed by terminal equipment B is The frame number is 12372.
  • the frame number of the streaming media frame of the program displayed by the terminal device C is 12370. Then through this method, it can be determined that the reaction time of the audience C is the shortest.
  • the interaction data may also include: when each interaction information in the at least one interaction information is collected, the displayed duration of the streaming media frame of the program being displayed by the terminal device.
  • the interaction mode is interaction through speech recognition
  • the terminal device collects the audio information generated when the user interacts according to the interaction mode through the microphone
  • the frame sequence number of the streaming media frame of the program being displayed by the terminal device is 12560
  • the terminal device The frame has been displayed for 19 milliseconds
  • the interaction data also includes: when collecting audio information, the displayed duration of the streaming media frame of the program being displayed by the terminal device is 19 milliseconds.
  • the terminal device may record the collected When each interactive information in at least one interactive information is displayed, the display duration of the streaming media frame of the program being displayed by the terminal device.
  • the terminal device also collects the displayed duration of the streaming media frame of the program being displayed by the terminal device from the second server when each interaction information in the at least one interaction information is collected, so that the user's reaction time can be more accurately determined. This further reduces the unfairness of interaction caused by the different delivery times of streaming media programs to different users.
  • the terminal device can send interaction data to the second server in one of the following ways:
  • Method 1 The terminal device sends the second video stream to the second server, and the media plane data of the second video stream includes interactive data. That is to say, the terminal device can send the second video stream to the second server through the media.
  • the second video stream may be a video of user interaction collected by the terminal device, or may be other videos.
  • the terminal device can send interactive data to the second server through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the second video stream contains interactive data.
  • the media plane data of the second video stream is the RTP header of the second video stream.
  • the RTP extension header of the second video stream contains interactive data.
  • the Header Extension field in the RTP extension header can be as shown in Table 3.
  • the Header Extension field in the RTP extension header may include some of the fields in Table 3.
  • the Header Extension field includes the InteractiveType field and the InteractiveDisplayFrame field.
  • the Header Extension field includes the InteractiveDisplayFrame field and at least one interactive information.
  • the NAL of the second video stream contains interactive data.
  • the media plane data of the second video stream is the NAL of the second video stream.
  • the NAL packet SEI of the second video stream contains interactive data.
  • SEIPayLoad can contain the InteractiveResult field.
  • the specific content of the InteractiveResult field can be found in Table 3 and will not be described again here.
  • the SEI payloadSize field is the actual length of SEIPayLoad.
  • the terminal device can send interactive data to the second server through the media stream, achieving higher efficiency.
  • Method 2 The terminal device sends the second control plane data of the streaming media to the second server, and the second control plane data includes interaction data. That is to say, the terminal device can send the second control plane data of the streaming media to the second server through control.
  • the terminal device may send the second control plane data of the streaming media to the second server through any control plane protocol.
  • the following description takes the control plane protocol as HTTP as an example.
  • the second control plane data is an HTTP message.
  • HTTP messages can include:
  • InteractiveType indicates that the interaction method is through somatosensory interaction
  • Human Pose indicates that the collected interactive information includes: user skeleton key point coordinates, which can be used to determine the user's body movements
  • InteractiveDisplayFrame indicates that the terminal device when collecting the interactive information The 18353rd frame of the program is being played
  • the InteractiveDisplayFrameDuration flag indicates that the terminal device has displayed the current frame for 19 milliseconds when the interactive information is collected.
  • the terminal device can send interactive data to the second server through control, which is easy to implement.
  • the terminal device can report interaction data every time it collects interaction information, where the collection interval is, for example, 33 milliseconds; the terminal device can also report interaction data once in a certain period (for example, 5 seconds); the terminal device can also report After collecting all interaction information, report the interaction data.
  • the method shown in Figure 5 also includes steps C1-C2:
  • the first server sends the second interaction instruction to the terminal device through streaming media.
  • the terminal device receives the second interaction instruction sent by the first server through streaming media.
  • the second interaction instruction is used to indicate preparation to participate in the interaction of the terminal device playing the program.
  • the terminal device may receive the second interaction instruction sent by the first server through streaming media in one of the following ways:
  • Method A The terminal device receives the fifth video stream from the first server that contains the program played by the terminal device, and the media plane data of the fifth video stream contains the second interaction indication. That is to say, the terminal device can receive the second interaction instruction from the first server through the media plane.
  • the fifth video stream and the first video stream may be different video streams of the same program.
  • the frame sequence number of the streaming media frame in the fifth video stream is different from the frame sequence number of the streaming media frame in the first video stream.
  • the first server can send the second interaction instruction to the terminal device through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the fifth video stream contains the second interaction indication.
  • the media plane data of the fifth video stream is the RTP header of the fifth video stream.
  • the RTP extension header of the fifth video stream includes the second interaction indication.
  • the Header Extension field in the RTP extension header can contain the InteractiveStatus field.
  • the value of the InteractiveStatus field is the seventh value (for example, 2)
  • the InteractiveStatus field indicates preparation to participate in the interaction of the terminal device playing the program.
  • the length of the InteractiveStatus field can be 1 byte.
  • the NAL of the fifth video stream includes the second interaction indication.
  • the media plane data of the fifth video stream is the NAL of the fifth video stream.
  • the NAL packet SEI of the fifth video stream contains the second interaction indication.
  • SEIPayLoad can contain the InteractiveStatus field.
  • the SEI payloadSize field is the actual length of the SEI payload (SEIPayLoad).
  • the terminal device can obtain the second interaction instruction while obtaining the program content, so that it can deliver the corresponding second interaction instruction while delivering the streaming media of the program. Moreover, the terminal device obtains the second interaction instruction through the media surface, which is easy to implement.
  • the terminal device receives the fifth control plane data from the first server, and the fifth control plane data includes the second interaction instruction. That is to say, the terminal device may receive the second interaction instruction from the first server through the control plane.
  • the fifth control plane data may be control plane data corresponding to the program played by the terminal device.
  • the first server can send the second interaction instruction to the terminal device through any control plane protocol.
  • the following description takes the control plane protocol as DASH as an example.
  • the fifth control plane data is a DASH message.
  • the DASH message includes an MPD file corresponding to the program played by the terminal device, and the MPD file includes the Interactive instruction parameter.
  • the Interactive instruction parameter may include a second interactive instruction.
  • Interactive instruction parameters may include:
  • InteractiveReadytSegment is used to indicate the segment that is ready to participate in the interaction of the terminal device playing the program.
  • preparations are made for participating in the interaction of terminal devices playing programs.
  • the terminal device can obtain the second interaction instruction through the control surface, which is easy to implement.
  • the second interaction instruction may also indicate a first duration, where the first duration is the time interval between the current moment and the start moment of the interaction in which the terminal device plays the program.
  • the first duration is 5 seconds.
  • the terminal device outputs a second interactive prompt.
  • the second interactive prompt is used to prompt the user to prepare to participate in the interaction of the program played by the terminal device.
  • the terminal device can display the second interactive prompt through the screen.
  • the terminal device can display text on the screen: "Please prepare to participate in the interaction of the current program.”
  • the terminal device can output the second interactive prompt to the user through voice. For example, after receiving the second interaction instruction, the terminal device may output a voice: "Please prepare to participate in the interaction of the current program.”
  • the second interaction prompt may also prompt the first duration.
  • the terminal device can display text on the screen: "Please prepare to participate in the interaction of the current program in 5 seconds.”
  • the terminal device can output a voice: "Please prepare to participate in the interaction of the current program in 5 seconds.”
  • the terminal device can prompt the user to prepare to start participating in the interaction of the current program, giving the user a certain amount of preparation time.
  • the method shown in Figure 5 also includes steps D1-D2:
  • the first server sends the third interaction instruction to the terminal device through streaming media.
  • the terminal device receives the third interaction instruction sent by the first server through streaming media.
  • the third interaction instruction is used to instruct to stop the interaction of participating in the terminal device playing the program.
  • the terminal device may receive the third interaction instruction sent by the first server through streaming media through one of the following implementation methods:
  • the terminal device receives a sixth video stream from the first server that includes a program played by the terminal device, and the media plane data of the sixth video stream includes a third interaction indication. That is to say, the terminal device can receive the third interaction instruction from the first server through the media plane.
  • the sixth video stream and the first video stream may be different video streams of the same program.
  • the frame sequence number of the streaming media frame in the sixth video stream is different from the frame sequence number of the streaming media frame in the first video stream.
  • the first server can send the third interaction instruction to the terminal device through any media plane protocol.
  • the following description takes the media plane protocol as RTP as an example.
  • the RTP header of the sixth video stream contains the third interaction indication.
  • the media plane data of the sixth video stream is the RTP header of the sixth video stream.
  • the RTP extension header of the sixth video stream includes a third interaction indication.
  • the Header Extension field in the RTP extension header can contain the InteractiveStatus field.
  • the value of the InteractiveStatus field is the eighth value (for example, 1)
  • the InteractiveStatus field indicates to stop participating in the interaction of the terminal device playing the program.
  • the length of the InteractiveStatus field can be 1 byte.
  • the NAL of the sixth video stream includes the third interaction indication.
  • the media plane data of the sixth video stream is the NAL of the sixth video stream.
  • the NAL packet SEI of the sixth video stream includes a third interaction indication.
  • SEIPayLoad can contain the InteractiveStatus field.
  • the SEI payloadSize field is the actual length of the SEI payload (SEIPayLoad).
  • the terminal device can obtain the third interaction instruction while obtaining the program content, so that the corresponding third interaction instruction can be issued while delivering the streaming media of the program. Moreover, the terminal device can obtain the third interactive instruction through the media surface, which is easy to implement.
  • the terminal device receives sixth control plane data from the first server, and the sixth control plane data includes the third interaction indication. That is to say, the terminal device may receive the third interaction instruction from the first server through the control plane.
  • the sixth control plane data may be control plane data corresponding to the program played by the terminal device.
  • the first server can send the third interaction instruction to the terminal device through any control plane protocol.
  • the following description takes the control plane protocol as DASH as an example.
  • the sixth control plane data is a DASH message.
  • the DASH message includes an MPD file corresponding to the program played by the terminal device, and the MPD file includes the Interactive instruction parameter.
  • the Interactive instruction parameter may include a third interactive instruction.
  • Interactive instruction parameters may include:
  • InteractiveCloseSegment is used to instruct the segment to stop participating in the interaction of the terminal device playing the program.
  • the interaction of participating in the terminal device playing the program is stopped from slice 30.
  • the terminal device can obtain the third interactive instruction through the control plane, which is easy to implement.
  • step D1 may be executed after step S501.
  • the terminal device stops collecting at least one interaction information generated when the user interacts according to the first interaction prompt.
  • the terminal device can also output a third interaction prompt, which is used to prompt the user to stop participating in the interaction of the program played by the terminal device.
  • the terminal device can display the third interactive prompt through the screen.
  • the terminal device can display text on the screen: "Please stop participating in the interaction of the current program.”
  • the terminal device can output the third interactive prompt to the user through voice. For example, after receiving the third interaction instruction, the terminal device can output a voice: "Please stop participating in the interaction of the current program.”
  • the terminal device can stop collecting the user's interaction information in time under the instruction of the first server, thereby saving the energy required by the terminal device to collect the user's interaction information.
  • the embodiment of the present application provides another streaming media interaction method, which is a possible implementation of the method shown in Figure 5. under Referring to the flow chart shown in Figure 6, the flow of this method will be described in detail.
  • S601 The terminal device joins the multicast group of channel 1.
  • the terminal device can display the program list after it is turned on.
  • the program list may include indication information of at least one channel, and the at least one channel may be at least one television channel.
  • the terminal device can join the multicast group of channel 1 through multicast, so that it can receive the media data of channel 1.
  • the way in which the terminal device receives the user's instruction to select channel 1 may include one of the following: when the terminal device is a television, the terminal device receives the user's instruction to select channel 1 through the remote control; when the screen of the terminal device is a touch screen, the terminal device The user's touch command in the selected area of channel 1 can be detected.
  • S602 The first server sends video stream 1 of channel 1 to the terminal device.
  • video stream 1 may include: the content of video 1 and interaction instruction 1.
  • the interaction instruction 1 may indicate not to interact with the program of channel 1.
  • the transmission method of the interaction instruction 1 can refer to the transmission method of the third interaction instruction in implementation method A, and the repeated parts will not be described again.
  • the value of the InteractiveStatus field is an eighth value (for example, 1)
  • the InteractiveStatus field indicates not participating in the interaction of the terminal device playing the program.
  • video stream 1 also includes: the frame sequence number of the streaming media frame in video 1.
  • the frame sequence number of the streaming media frame in video 1 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the first server may send the video stream 1 to the terminal device through multicast.
  • S603 The terminal device displays video 1 on the screen.
  • S604 The first server determines that the program on channel 1 is about to enter the interactive session.
  • the first server determines that the program on Channel 1 is about to enter an interactive session. For another example, the first server detects that the program content contains interaction preparation information. If it detects that the program host prompts the audience to prepare for interaction, the first server can determine that the program on channel 1 is about to enter the interactive session.
  • S605 The first server sends video stream 2 of channel 1 to the terminal device.
  • video stream 2 may include: the content of video 2 and the second interaction instruction.
  • Video 1 and Video 2 may be continuous videos.
  • Video 1 and Video 2 are videos of a party
  • Video 1 is the program content of the party from 8:00 to 8:01
  • Video 2 is the program content of the party from 8:01 to 8:02.
  • the second interaction indication may indicate preparation to participate in the interaction of the program of Channel 1 .
  • the specific content of the second interaction instruction please refer to step C1, which will not be described again here.
  • video stream 2 also includes at least one of the following: interaction mode indication, address indication, and frame sequence number of the streaming media frame in video 2.
  • the interactive mode indication is used to indicate the interactive mode of the program on Channel 1.
  • the address indication can be used to indicate the reporting address of interactive data.
  • the specific content of the address indication please refer to step B1, which will not be described again here.
  • the specific content of the frame serial number of the streaming media frame in video 2 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the frame serial number of the streaming media frame in video 2 may be accumulated in video 2, or may be continuously accumulated based on the accumulated frame serial number in video 1.
  • the first server may send the video stream 2 to the terminal device via multicast.
  • the terminal device displays video stream 2 on the screen and prepares to collect at least one interaction information generated when the user interacts.
  • the terminal device can prepare to collect the user's interactive information by activating the software and hardware for collecting interactive information.
  • the terminal device can turn on the camera and prepare to collect the user's video information.
  • the terminal device can output a second interaction prompt and/or interaction method.
  • the second interaction prompt is used to prompt the user to prepare to participate in the interaction with the program of Channel 1.
  • the specific content of the second interaction prompt please refer to step C2, which will not be described again here.
  • the specific content of the interaction method can be referred to step A1, and will not be described again here.
  • the terminal device can also output a third interaction prompt.
  • the third interaction prompt is used to ask the user whether to participate in the interaction of the program of Channel 1. After the user confirms participation in the interaction, the terminal device is ready to collect the user's interaction information.
  • the terminal device can display the third interactive prompt through the screen.
  • the terminal device can display text on the screen: "Whether to participate in the interaction of the current program".
  • the terminal device can output the third interactive prompt to the user through voice. For example, after receiving the second interaction instruction, the terminal device may output a voice: "Do you want to participate in the interaction of the current program?"
  • S607 The first server determines that the program of channel 1 enters the interactive session.
  • S608 The first server sends video stream 3 to the terminal device.
  • video stream 3 includes: the content of video 3 of channel 1 and the first interaction instruction.
  • video 2 and video 3 can be continuous videos.
  • video 2 and video 3 are both videos of a party.
  • Video 2 is the program content of the party from 8:01 to 8:02
  • video 3 is the program content of the party from 8:02 to 8:03.
  • the first interaction instruction may be used to instruct the user to start interacting with the program of Channel 1.
  • the specific content of the first interaction instruction reference may be made to method 1 in S501, which will not be described again here.
  • video stream 3 also includes at least one of the following: interaction mode indication, address indication, and frame sequence number of the streaming media frame in video 3.
  • the interactive mode indication is used to indicate the interactive mode of the program on Channel 1.
  • the address indication can be used to indicate the reporting address of interactive data.
  • the specific content of the address indication please refer to step B1, which will not be described again here.
  • the specific content of the frame serial number of the streaming media frame in video 3 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the frame serial number of the streaming media frame in video 3 may be accumulated in video 3, or may be continuously accumulated based on the accumulated frame serial number in video 2.
  • the first server may send the video stream 3 to the terminal device via multicast.
  • the terminal device outputs the first interaction prompt and collects at least one interaction information generated when the user interacts according to the first interaction prompt.
  • the at least one interaction information can be used to generate interaction data.
  • HTTP messages contain interaction data.
  • S611 The second server sends interactive data to the first server.
  • the second server may send all received user interaction data to the first server.
  • the first server sends result information to the second server.
  • the first server may determine result information based on the received interaction data.
  • the result information may include at least one of the following: a score for the user interaction data, a user's reaction time, etc.
  • the interactive content of the program is who can complete the actions specified by the target character in the program the fastest.
  • the specified action of the target character is handstand, and the frame number of the streaming media frame corresponding to this program content is 12358. If the terminal device A of the audience A collects that the audience A is handstand, the frame number of the streaming media frame of the program displayed by the terminal device A is 12380, and the terminal device B of the audience B collects the handstand of the audience B, the terminal device B displays the The frame number of the streaming media frame of the program is 12372.
  • the frame number of the streaming media frame of the program displayed by the terminal device C is 12370.
  • the first server determines that the result information includes: Audience C has a rating of 100, Audience B has a rating of 90, and Audience A has a rating of 70.
  • the second server sends an HTTP response message to the terminal device, and the HTTP response message contains the result information.
  • the terminal device can output the result information.
  • the terminal device C of the audience C can display on the screen: the interaction score is 100 points.
  • S614 The first server determines that the live program exits the interactive session.
  • the first server determines that the program of Channel 1 exits the interactive session. For another example, the first server detects that the program content contains interaction end information. If it detects that the program host prompts the audience to end the interaction, the first server can determine that the program on channel 1 has exited the interactive session.
  • S615 The first server sends video stream 4 of channel 1 to the terminal device.
  • video stream 4 includes: the content of video 4 and interaction instruction 1.
  • interaction instruction 1 For the specific content of interaction instruction 1, please refer to S602, which will not be described again here.
  • video stream 4 also includes: the frame sequence number of the streaming media frame in video 4.
  • the frame sequence number of the streaming media frame in video 4 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the first server may send the video stream 4 to the terminal device via multicast.
  • S616 The terminal device displays video 4.
  • S602-S606 and S614-S616 may be optional steps.
  • the terminal device After the terminal device obtains the first interaction instruction through the media plane for instructing to start participating in the interaction of the program played by the terminal device, it can output the first interaction prompt to prompt the user to participate in the terminal device.
  • the interaction of the program is played, and the terminal device collects at least one interaction information generated when the user interacts according to the first interaction prompt.
  • the terminal device can then use the control panel Transmit interaction data.
  • the embodiment of the present application provides another media stream interaction method, which is another possible implementation of the method shown in Figure 5. Referring to the flow chart shown in Figure 7, the flow of this method will be described in detail below.
  • S701 The terminal device joins the multicast group of channel 1.
  • S702 The terminal device sends control plane message 1 to the first server.
  • the control plane message 1 may be a message using a control protocol such as DASH, and is used to request the acquisition of the MPD file of channel 1.
  • the terminal device may periodically send a control plane message for requesting to obtain the MPD file of channel 1 to the first server.
  • Control plane message 1 may be a control plane message sent by the terminal device in the first cycle.
  • S703 The first server sends MPD file 1 of channel 1 to the terminal device.
  • MPD file 1 is used to indicate not to interact with the program of channel 1.
  • MPD file 1 does not contain the Interactive instruction parameter.
  • MPD file 1 contains the Interactive instruction parameter, and the value of InteractiveReadytSegment in the Interactive instruction parameter is empty.
  • the specific content of the Interactive instruction parameter can be referred to the description of the Interactive instruction parameter in the method shown in Figure 5, and will not be described again here.
  • the terminal device sends a video segment file request to the first server.
  • the video segment file request is used to request to obtain the program content of channel 1.
  • the terminal device may send a video fragment file request to the first server after parsing the MPD file 1.
  • the specific process of the terminal device parsing the MPD file 1 is not limited by this application.
  • S705 The first server sends video stream 1 of channel 1 to the terminal device.
  • video stream 1 may include: the content of video 1.
  • Video 1 corresponds to MPD file 1.
  • video stream 1 also includes: the frame sequence number of the streaming media frame in video 1.
  • the frame sequence number of the streaming media frame in video 1 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the first server may send the video stream 1 to the terminal device through multicast.
  • S706 The terminal device displays video 1 on the screen.
  • S707 The first server determines that the program on channel 1 is about to enter the interactive session.
  • S708 The terminal device sends control plane message 2 to the first server.
  • the control plane message 2 may be a control plane message sent by the terminal device to the first server in the second period for requesting to obtain the MPD file of channel 1.
  • the first period and the second period may or may not be adjacent.
  • S709 The first server sends MPD file 2 of channel 1 to the terminal device.
  • the MPD file 2 may include a second interaction instruction, and the second interaction instruction is used to indicate preparation for participating in the interaction of the program of channel 1 .
  • the second interaction instruction is used to indicate preparation for participating in the interaction of the program of channel 1 .
  • the specific content of the second interaction instruction please refer to step C1, which will not be described again here.
  • MPD file 2 also includes at least one of the following: interactive mode instructions and address instructions.
  • the interactive mode indication is used to indicate the interactive mode of the program on Channel 1.
  • the address indication can be used to indicate the reporting address of interactive data.
  • the specific content of the address indication please refer to step B1, which will not be described again here.
  • S710 The first server sends video stream 2 of channel 1 to the terminal device.
  • video stream 2 may include: the content of video 2.
  • Video 2 corresponds to MPD file 2.
  • video stream 2 also includes: the frame sequence number of the streaming media frame in video 2.
  • the frame sequence number of the streaming media frame in video 2 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the frame serial number of the streaming media frame in video 2 may be accumulated in video 2, or may be continuously accumulated based on the accumulated frame serial number in video 1.
  • the first server may send the video stream 2 to the terminal device via multicast.
  • the terminal device displays video 2 on the screen and prepares to collect at least one interaction information generated when the user interacts.
  • S708-S711 can be executed repeatedly in different cycles.
  • S712 The first server determines that the program of channel 1 enters the interactive session.
  • S713 The terminal device sends control plane message 3 to the first server.
  • the control plane message 3 may be a control plane message sent by the terminal device to the first server in the third period to request to obtain the MPD file of channel 1.
  • the second period and the third period may be adjacent or not.
  • S714 The first server sends MPD file 3 of channel 1 to the terminal device.
  • the MPD file 3 may include a first interaction instruction, and the first interaction instruction is used to instruct the user to start participating in the interaction of the program of channel 1 .
  • first interaction instruction For the specific content of the first interaction instruction, reference can be made to method two in step S501, which will not be described again here.
  • the MPD file 3 also includes at least one of the following: interactive mode instructions and address instructions.
  • the interactive mode indication is used to indicate the interactive mode of the program on Channel 1.
  • the address indication can be used to indicate the reporting address of interactive data.
  • the specific content of the address indication please refer to step B1, which will not be described again here.
  • S715 The first server sends video stream 3 of channel 1 to the terminal device.
  • video stream 3 includes: the content of video 3.
  • Video 3 corresponds to MPD file 3.
  • video 2 and video 3 can be continuous videos.
  • video 2 and video 3 are both videos of a party.
  • Video 2 is the program content of the party from 8:01 to 8:02
  • video 3 is the program content of the party from 8:02 to 8:03.
  • video stream 3 also includes: the frame sequence number of the streaming media frame in video 3.
  • the frame sequence number of the streaming media frame in video 3 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the frame serial number of the streaming media frame in video 3 may be accumulated in video 3, or may be continuously accumulated based on the accumulated frame serial number in video 2.
  • the first server may send the video stream 3 to the terminal device via multicast.
  • the terminal device displays video 3 on the screen, outputs the first interaction prompt, and collects at least one interaction information generated when the user interacts according to the first interaction prompt.
  • the at least one interaction information can be used to generate interaction data.
  • the terminal device sends a second video stream to the second server, where the second video stream includes interactive data.
  • the second video stream may be an RTP stream.
  • S718 The second server sends interactive data to the first server.
  • the first server can determine the result information based on the received interaction data.
  • the process of determining the result information by the first server can be referred to S612, which will not be described again here.
  • S719 The first server determines that the live program exits the interactive session.
  • S720 The terminal device sends control plane message 4 to the first server.
  • the control plane message 4 may be a control plane message sent by the terminal device to the first server in the fourth cycle for requesting to obtain the MPD file of channel 1.
  • the fourth period and the third period may or may not be adjacent.
  • S721 The first server sends the MPD file 4 of channel 1 to the terminal device.
  • MPD file 4 is used to indicate not to interact with the program of channel 1.
  • MPD file 4 please refer to the description of MPD file 1 in S703 and the description of the third interaction instruction in implementation mode B, which will not be described again here.
  • S722 The first server sends video stream 4 of channel 1 to the terminal device.
  • video stream 4 contains: the content of video 4.
  • video 4 corresponds to MPD file 4.
  • video 3 and video 4 can be continuous videos.
  • video 3 and video 4 are both videos of a party.
  • Video 3 is the program content from 8:02 to 8:03 of the party, and video 4 is the program content of party 8.
  • Program content from 03:03 to 8:04.
  • video stream 4 also includes: the frame sequence number of the streaming media frame in video 4.
  • the frame sequence number of the streaming media frame in video 4 please refer to the description of "the frame serial number of the streaming media frame in the program" in the method shown in Figure 5, and will not be described again here.
  • the first server may send the video stream 4 to the terminal device via multicast.
  • S723 The terminal device displays video 4 on the screen.
  • S702-S711 and S719-S723 can be optional steps.
  • the terminal device obtains through the control plane the information used to indicate starting to participate in the interaction of the terminal device playing the program.
  • the first interaction prompt can be output to prompt the user to participate in the interaction of the program played by the terminal device, and the terminal device collects at least one interaction information generated when the user interacts according to the first interaction prompt. Then, the terminal device can upload interactive data through the media plane.
  • the embodiment of the present application provides another media stream interaction method, which is another possible implementation of the method shown in Figure 5. Referring to the flow chart shown in Figure 8, the flow of this method will be described in detail below.
  • S801-S809 are the same as S601-S609 and will not be described again here.
  • S810-S811 are the same as S717-S718 and will not be described again here.
  • the method shown in Figure 8 also includes:
  • the terminal device can output the first interactive prompt to prompt the user to participate in the interaction of the program played by the terminal device, and the terminal device collects at least one interactive information generated when the user interacts according to the first interactive prompt. Then, the terminal device can upload the interactive data through the media interface.
  • the embodiment of the present application provides yet another media stream interaction method, which is yet another possible implementation of the method shown in Figure 5 . Referring to the flow chart shown in Figure 9, the flow of this method will be described in detail below.
  • S901-S916 are the same as S701-S716 and will not be described again here.
  • S917-S920 are the same as S610-S613 and will not be described again here.
  • the method shown in Figure 9 also includes:
  • the terminal device After the terminal device obtains the first interaction instruction through the control plane for instructing to start participating in the interaction of the program played by the terminal device, it can output the first interaction prompt to prompt the user to participate in the terminal device.
  • the interaction of the program is played, and the terminal device collects at least one interaction information generated when the user interacts according to the first interaction prompt. Then, the terminal device can upload the interaction data through the media control plane.
  • the embodiment of the present application provides a streaming media interactive device through Figure 10, which can be used to perform the functions of the relevant steps in the above method embodiments.
  • the functions described can be implemented by hardware, or can be implemented by software or hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the streaming media interactive device is shown in Figure 10, including a communication unit 1001 and a processing unit 1002.
  • the streaming media interactive device 1000 can be applied to the terminal device in the communication system shown in Figure 4, and can implement the communication method provided by the above embodiments and examples of the present application.
  • the functions of each unit in the streaming media interactive device 1000 are introduced below.
  • the communication unit 1001 is used to receive and send data.
  • the communication unit 1001 can be implemented through a physical interface, a communication module, a communication interface, and an input and output interface.
  • the streaming media interactive device 1000 can connect to a network cable or cable through the communication unit, and then establish a physical connection with other devices.
  • the communication unit 1001 can be implemented by a transceiver, for example, a mobile communication module.
  • the mobile communication module may include at least one antenna, at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc.
  • the processing unit 1002 may be used to support the streaming media interactive device 1000 in performing the processing actions in the above method embodiments.
  • the processing unit 1002 may be implemented by a processor.
  • the processor can be a central processing unit (CPU), or other general-purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC) , field programmable gate array (FPGA) Or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor can be a microprocessor or any conventional processor.
  • the streaming media interaction device 1000 is applied to the terminal device in the embodiment of the present application shown in any one of Figures 5 to 9.
  • the specific functions of the processing unit 1002 in this embodiment will be introduced below.
  • the processing unit 1002 is configured to: receive, through the communication unit 1001, a first interaction instruction sent by the first server through streaming media, where the first interaction instruction is used to instruct to start participating in the interaction of the terminal device playing the program; Output a first interactive prompt, the first interactive prompt is used to prompt the user to participate in the interaction of the program played by the terminal device; collect at least one interactive information generated when the user interacts according to the first interactive prompt, and the at least An interaction information is used to generate interaction data; the interaction data is sent to the second server through the communication unit 1001.
  • the interactive data includes:
  • the frame sequence number of the streaming media frame of the program being displayed by the terminal device.
  • the interaction data further includes: when each interaction information in the at least one interaction information is collected, the displayed duration of the streaming media frame of the program being displayed by the terminal device.
  • the media plane data of the first video stream of the program played by the terminal device includes the frame sequence number of the streaming media frame in the program.
  • the processing unit 1002 is specifically configured to: before outputting the first interaction prompt, receive an interaction mode indication sent by the first server through streaming media through the communication unit 1001, where the interaction mode indication is used to Instruct the interactive mode of the terminal device to play the program.
  • the first interactive prompt is specifically used to prompt the user to participate in the interaction of the terminal device to play the program according to the interactive mode; collect the interaction of the user according to the interactive mode. At least one interactive message is generated.
  • the interaction method includes at least one of the following: interaction through somatosensory, interaction through voice recognition, interaction through video, interaction through voice, and interaction through remote control.
  • the processing unit 1002 is specifically configured to: receive a third video stream of the program from the first server through the communication unit 1001, where the media side data of the third video stream includes the interaction way instructions.
  • the processing unit 1002 is specifically configured to: receive third control plane data from the first server through the communication unit 1001, where the third control plane data includes the interaction mode indication.
  • the processing unit 1002 is specifically configured to: receive an address indication sent by the first server through streaming media through the communication unit 1001, where the address indication is used to indicate the reporting address of the interactive data; according to The reporting address is used to send the interactive data to the second server through the communication unit 1001, and the reporting address is the address of the second server.
  • the processing unit 1002 is specifically configured to: receive the fourth video stream of the program from the first server through the communication unit 1001, where the media plane data of the fourth video stream includes the address. instruct.
  • the processing unit 1002 is specifically configured to: receive fourth control plane data from the first server through the communication unit 1001, where the fourth control plane data includes the address indication.
  • the processing unit 1002 is specifically configured to: receive the first video stream of the program from the first server through the communication unit 1001, where the media plane data of the first video stream includes the first video stream.
  • An interactive instruction is specifically configured to: receive the first video stream of the program from the first server through the communication unit 1001, where the media plane data of the first video stream includes the first video stream. An interactive instruction.
  • the processing unit 1002 is specifically configured to: receive first control plane data from the first server through the communication unit 1001, where the first control plane data includes the first interaction indication.
  • the processing unit 1002 is specifically configured to: send a second video stream to the second server through the communication unit 1001, where the media plane data of the second video stream includes the interactive data.
  • the processing unit 1002 is specifically configured to: send second control plane data to the second server through the communication unit 1001, where the second control plane data includes the interaction data.
  • the processing unit 1002 is specifically configured to: before receiving the first interaction instruction sent by the first server through streaming media, receive through the communication unit 1001 the second interaction instruction sent by the first server through streaming media.
  • Interaction indication the second interaction indication is used to indicate preparation to participate in the interaction of the terminal device playing the program; output the second interaction prompt, the second interaction prompt is used to prompt the user to prepare to participate in the terminal device playback program interaction.
  • the processing unit 1002 is specifically configured to: receive the fifth video stream of the program from the first server through the communication unit 1001, where the media plane data of the fifth video stream includes the third video stream. 2. Interactive instructions.
  • the processing unit 1002 is specifically configured to: receive the fifth control message from the first server through the communication unit 1001. Noodle making data, the fifth control plane data includes the second interaction instruction.
  • the processing unit 1002 is specifically configured to receive, through the communication unit 1001, a third interaction instruction sent by the first server through streaming media, where the third interaction instruction is used to instruct the terminal to stop participating.
  • the device plays a program for interaction; and stops collecting at least one interaction information generated when the user interacts according to the first interaction prompt.
  • the processing unit 1002 is specifically configured to: receive a sixth video stream containing the program from the first server through the communication unit 1001, and the media plane data of the sixth video stream contains the Third interactive instruction.
  • the processing unit 1002 is specifically configured to: receive sixth control plane data from the first server through the communication unit 1001, where the sixth control plane data includes the third interaction indication.
  • each function in each embodiment of the present application can be integrated into one processing unit, or they can exist physically alone, or two or more units can be integrated into one unit.
  • the above integrated units can be implemented in the form of hardware or software functional units.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods described in various embodiments of the application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code. .
  • the embodiment of the present application provides a streaming media interactive device as shown in Figure 11, which can be used to perform relevant steps in the above method embodiment.
  • the streaming media interactive device can be applied to terminal equipment in the communication system shown in Figure 4, can implement the communication methods provided in the above embodiments and examples of the present application, and has the functions of the streaming media interactive device shown in Figure 10.
  • the streaming media interactive device 1100 includes: a communication module 1101 , a processor 1102 and a memory 1103 .
  • the communication module 1101, the processor 1102 and the memory 1103 are connected to each other.
  • the communication module 1101, the processor 1102 and the memory 1103 are connected to each other through a bus 1104.
  • the bus 1104 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 11, but it does not mean that there is only one bus or one type of bus.
  • the communication module 1101 is used to receive and send data to implement communication interaction with other devices.
  • the communication module 1101 can be implemented through a physical interface, a communication module, a communication interface, and an input and output interface.
  • the processor 1102 may be used to support the streaming media interactive device 1100 to perform the processing actions in the above method embodiment. When the streaming media interactive device 1100 is used to implement the above method embodiments, the processor 1102 may also be used to implement the functions of the above processing unit 1002.
  • the processor 1102 may be a CPU, or other general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component or any combination thereof.
  • a general-purpose processor can be a microprocessor or any conventional processor.
  • the streaming media interaction device 1100 is applied to the terminal device in the embodiment of the present application shown in any one of Figures 5 to 9.
  • the processor 1102 is specifically configured to: receive, through the communication module 1101, a first interaction instruction sent by the first server through streaming media, where the first interaction instruction is used to instruct to start participating in the interaction of the terminal device playing the program; Output a first interactive prompt, the first interactive prompt is used to prompt the user to participate in the interaction of the program played by the terminal device; collect at least one interactive information generated when the user interacts according to the first interactive prompt, and the at least An interaction information is used to generate interaction data; the interaction data is sent to the second server through the communication module 1101.
  • processor 1102 For the specific functions of the processor 1102, please refer to the description in the above embodiments of the present application and the communication methods provided in the examples, as well as the specific functional description of the streaming media interactive device 1000 in the embodiment of the present application shown in Figure 10, here No longer.
  • the memory 1103 is used to store program instructions and data.
  • the program instructions may include program codes, and the program codes include computer operation instructions.
  • the memory 1103 may include RAM, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
  • the processor 1102 executes the program instructions stored in the memory 1103, and uses the memory 1103 to execute the program instructions stored in the memory 1103.
  • the data stored in the memory 1103 realizes the above functions, thereby realizing the communication method provided in the above embodiment of the present application.
  • the memory 1103 in Figure 11 of this application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • the non-volatile memory can be ROM, programmable ROM (PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically erasable programmable read-only memory (Electrically EPROM) ,EEPROM) or flash memory.
  • Volatile memory can be RAM, which acts as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM DDR SDRAM
  • enhanced SDRAM ESDRAM
  • Synchlink DRAM SLDRAM
  • Direct Rambus RAM Direct Rambus RAM
  • embodiments of the present application also provide a computer program, which when the computer program is run on a computer, causes the computer to execute the method provided in the above embodiments.
  • embodiments of the present application also provide a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program.
  • the computer program When the computer program is executed by a computer, it causes the computer to execute the method provided in the above embodiments. .
  • the storage medium may be any available medium that can be accessed by the computer. Taking this as an example but not limited to: computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or can be used to carry or store instructions or data structures. Any other medium that contains the desired program code and is capable of being accessed by a computer.
  • embodiments of the present application also provide a chip, which is used to read the computer program stored in the memory and implement the method provided in the above embodiments.
  • the chip system includes a processor and is used to support the computer device to implement the functions involved in each device in the above embodiments.
  • the chip system further includes a memory, and the memory is used to store necessary programs and data of the computer device.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • embodiments of the present application provide a streaming media interaction method and device.
  • the terminal device after receiving the third message sent by the first server through streaming media to instruct the user to start participating in the interaction of the terminal device playing the program, After an interaction instruction, the terminal device can output a first interaction prompt to prompt the user to participate in the interaction of the program played by the terminal device, and collect at least one interaction information generated when the user interacts according to the first interaction prompt, and the at least one interaction information is used to generate Interactive data. Then, the terminal device can send the interaction data to the second server.
  • embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that when the computer or other programmable data processing device A series of operational steps are performed on a device to produce a computer-implemented process, whereby instructions executed on a computer or other programmable device provide for implementing a process or processes in a flowchart and/or a block or processes in a block diagram The steps for the function specified in the box.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种流媒体互动方法及装置,该方法为:在接收到第一服务器通过流媒体方式发送的用于指示开始参与终端设备播放节目的互动的第一互动指示后,终端设备可输出第一互动提示,以提示用户参与终端设备播放节目的互动,并采集用户根据第一互动提示进行互动时产生的至少一个互动信息,至少一个互动信息用于生成互动数据。然后,终端设备可向第二服务器发送互动数据。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。

Description

一种流媒体互动方法及装置
相关申请的交叉引用
本申请要求在2022年09月15日提交中国专利局、申请号为202211124951.0、申请名称为“一种流媒体互动方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种流媒体互动方法及装置。
背景技术
目前,作为流媒体的一种表现形式,直播视频或点播视频业务的应用较为广泛。例如,在节日时,电视台会直播节日晚会。又例如,用户可通过电视等终端设备观看电视台提供的点播业务。再例如,主播可通过网络媒体传播技术进行网络直播。
用户在观看电视台提供的直播或点播视频时,信息传输的方向是单向的。用户只能观看视频,而无法参与针对该视频的互动。
用户在观看网络直播视频时,可通过如下方式进行互动:用户在直播画面下方的评论区输入评论信息,包括文字、图片等;用户在直播画面中发送弹幕和其他简短的评论信息,包括文字,鼓掌、口哨等动画音效、送各种礼物等。然而,这些互动方式与流媒体的控制面和媒体面都无关,而是在流媒体上叠加互动能力,且需要用户的终端设备中安装有相应的应用程序。
发明内容
本申请提供一种流媒体互动方法及装置,使得观看流媒体节目的用户均能够参与针对该节目的互动。
第一方面,本申请实施例提供了一种流媒体互动方法。该方法包括:在接收到第一服务器通过流媒体方式发送的用于指示开始参与终端设备播放节目的互动的第一互动指示后,终端设备可输出第一互动提示,以提示用户参与终端设备播放节目的互动,并采集用户根据第一互动提示进行互动时产生的至少一个互动信息,至少一个互动信息用于生成互动数据。然后,终端设备可向第二服务器发送互动数据。
通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
在一种可能的设计中,互动数据包括:至少一个互动信息;采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的帧序号。通过该设计,终端设备不但向第二服务器发送至少一个互动信息,还发送采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的帧序号,从而可根据该帧序号确定用户的反应时间,进而可降低流媒体节目传递到不同用户的时间不同而带来的互动的不公平性。
在一种可能的设计中,互动数据还包括:采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的已显示时长。通过该设计,终端设备还向第二服务器采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的已显示时长,从而可更精确地确定用户的反应时间,进一步降低流媒体节目传递到不同用户的时间不同而带来的互动的不公平性。
在一种可能的设计中,终端设备播放节目的第一视频流的媒体面数据包括节目中的流媒体帧的帧序号。也就是说,终端设备可通过媒体面获取节目中的流媒体帧的帧序号。通过该设计,终端设备在获取到节目流媒体的同时,即可获取到节目中的流媒体帧的帧序号,从而高效获取到帧序号。并且,终端设备可通过媒体面获取帧序号,易于实现。
在一种可能的设计中,终端设备还可接收第一服务器通过流媒体方式发送的互动方式指示,互动方式指示用于指示终端设备播放节目的互动方式。此时,终端设备输出的第一互动提示可提示用户根据互动方式参与终端设备播放节目的互动,且终端设备可采集用户根据互动方式进行互动时产生的至少一个互动信息。通过该设计,终端设备可根据第一服务器指示的互动方式,采集用户根据该互动方式进行互动时产生的至少一个互动信息,从而可有针对性的获取用户的互动信息,提高获取互动信息和传输互动数据的效率。
在一种可能的设计中,互动方式可包括以下至少之一:通过体感进行互动、通过语音识别进行互动、通过视频进行互动、通过语音进行互动、通过遥控器进行互动。通过该设计,终端设备可支持多种互动方式。
在一种可能的设计中,终端设备可通过以下实现方式之一接收互动方式指示:
实现方式一:终端设备接收来自第一服务器的节目的第三视频流,第三视频流的媒体面数据包含互动方式指示。也就是说,终端设备可通过媒体面接收来自第一服务器的互动方式指示。通过实现方式一,终端设备在获取到节目流媒体的同时,即可获取到互动方式指示,获取方式快捷,效率较高。并且,终端设备可通过媒体面获取互动方式指示,易于实现。
实现方式二:终端设备接收来自第一服务器的第三控制面数据,第三控制面数据包含互动方式指示。也就是说,终端设备可通过控制面接收来自第一服务器的互动方式指示。通过实现方式二,终端设备可通过控制面获取到互动方式指示,易于实现。
在一种可能的设计中,终端设备可接收第一服务器通过流媒体方式发送的地址指示,该地址指示用于指示互动数据的上报地址。然后,终端设备可根据上报地址,向第二服务器发送互动数据,上报地址为第二服务器的地址。通过该设计,终端设备可根据第一服务器指示的上报地址,将互动数据上传到正确的服务器。
在一种可能的设计中,终端设备可通过以下实现方式之一接收地址指示:
实现方式1:终端设备接收来自第一服务器的节目的第四视频流,第四视频流的媒体面数据包含地址指示。也就是说,终端设备可通过媒体面接收来自第一服务器的地址指示。通过实现方式1,终端设备在获取到节目流媒体的同时,即可获取到地址指示,使得获得地址信息更高效。并且,终端设备可通过媒体面获取地址指示,易于实现。
实现方式2:终端设备接收来自第一服务器的第四控制面数据,第四控制面数据包含地址指示。也就是说,终端设备可通过控制面接收来自第一服务器的地址指示。通过实现方式2,终端设备可通过控制面获取地址指示,易于实现。
在一种可能的设计中,终端设备可通过以下方式之一接收第一互动指示:
方式一:终端设备接收来自第一服务器的节目的第一视频流,第一视频流的媒体面数据包含第一互动指示。也就是说,终端设备可通过媒体面接收来自第一服务器的第一互动指示。通过方式一,终端设备在获取到节目内容的同时,即可获取到第一互动指示,从而可在下发节目的流媒体的同时下发对应的第一互动指示。并且,终端设备可通过媒体面获取到第一互动指示,易于实现。
方式二:终端设备接收来自第一服务器的第一控制面数据,第一控制面数据包含第一互动指示。也就是说,终端设备可通过控制面接收来自第一服务器的第一互动指示。通过方式二,终端设备可通过控制面获取到第一互动指示,易于实现。
在一种可能的设计中,终端设备可通过以下方式之一向第二服务器发送互动数据:
方式1:终端设备向第二服务器发送第二视频流,第二视频流的媒体面数据包含互动数据。也就是说,终端设备可通过媒体面向第二服务器发送第二视频流。通过方式1,终端设备可通过媒体流向第二服务器发送互动数据,实现效率较高。
方式2:终端设备向第二服务器发送第二控制面数据,第二控制面数据包含互动数据。也就是说,终端设备可通过控制面向第二服务器发送互动数据。通过方式2,终端设备可通过控制面向第二服务器发送互动数据,易于实现。
在一种可能的设计中,在接收第一服务器通过流媒体方式发送的第一互动指示之前,终端设备可接收第一服务器通过流媒体方式发送的第二互动指示,第二互动指示用于指示准备参与终端设备播放节目的互动。然后,终端设备可输出第二互动提示,第二互动提示用于提示用户准备参与终端设备播放节目的互动。通过该设计,终端设备可提示用户准备开始参与当前节目的互动,给用户一定的准备时间。
在一种可能的设计中,终端设备可通过以下方式之一接收第二互动指示:
方式A:终端设备接收来自第一服务器的节目的第五视频流,第五视频流的媒体面数据包含第二互动指示。也就是说,终端设备可通过媒体面接收来自第一服务器的第二互动指示。通过方式A,终端设备在获取到节目内容的同时,即可获取到第二互动指示,从而可在下发节目的流媒体的同时下发对应的第二互动指示。并且,终端设备通过媒体面获取到第二互动指示,易于实现。
方式B:终端设备接收来自第一服务器的第五控制面数据,第五控制面数据包含第二互动指示。也 就是说,终端设备可通过控制面接收来自第一服务器的第二互动指示。通过方式B,终端设备可通过控制面获取到第二互动指示,易于实现。
在一种可能的设计中,终端设备还可接收第一服务器通过流媒体方式发送的第三互动指示,第三互动指示用于指示停止参与终端设备播放节目的互动。然后,终端设备可停止采集用户根据第一互动提示进行互动时产生的至少一个互动信息。通过该设计,终端设备可在第一服务器的指示下,及时停止采集用户的互动信息,从而可节省终端设备采集用户互动信息所需的能源。
在一种可能的设计中,终端设备可通过以下实现方式之一接收第三互动指示:
实现方式A:终端设备接收来自第一服务器的包含节目的第六视频流,第六视频流的媒体面数据包含第三互动指示。也就是说,终端设备可通过媒体面接收来自第一服务器的第三互动指示。通过实现方式A,终端设备在获取到节目内容的同时,即可获取到第三互动指示,从而可在下发节目的流媒体的同时下发对应的第三互动指示。并且,终端设备可通过媒体面获取到第三互动指示,易于实现。
实现方式B:终端设备接收来自第一服务器的第六控制面数据,第六控制面数据包含第三互动指示。也就是说,终端设备可通过控制面接收来自第一服务器的第三互动指示。通过实现方式B,终端设备可通过控制面获取到第三互动指示,易于实现。
第二方面,本申请实施例提供了一种流媒体互动装置,包括用于执行以上第一方面中各个步骤的单元。
第三方面,本申请实施例提供了一种流媒体互动装置,包括至少一个处理元件和至少一个存储元件,其中该至少一个存储元件用于存储程序和数据,该至少一个处理元件用于读取并执行存储元件存储的程序和数据,以使得本申请第一方面提供的方法被实现。
第四方面,本申请实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面提供的方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行第一方面提供的方法。
第六方面,本申请实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,执行第一方面提供的方法。
第七方面,本申请实施例还提供了一种芯片***,该芯片***包括处理器,用于支持计算机装置实现第一方面提供的方法。在一种可能的设计中,所述芯片***还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
上述第二方面至第七方面中任一方面可以达到的技术效果可以参照上述第一方面中任一种可能设计可以达到的技术效果说明,重复之处不予论述。
附图说明
图1为一种实时传输协议(real time protocol,RTP)固定头的示意图;
图2为一种RTP扩展头的示意图;
图3为一种媒体呈现描述(media presentation description,MPD)文件的示意图;
图4为一种通信***的架构图;
图5为本申请实施例提供的第一种流媒体互动方法的流程图;
图6为本申请实施例提供的第二种流媒体互动方法的流程图;
图7为本申请实施例提供的第三种流媒体互动方法的流程图;
图8为本申请实施例提供的第四种流媒体互动方法的流程图;
图9为本申请实施例提供的第五种流媒体互动方法的流程图;
图10为本申请实施例提供的第一种流媒体互动装置的结构图;
图11为本申请实施例提供的第二种流媒体互动装置的结构图。
具体实施方式
本申请提供一种流媒体互动方法及装置,用以使得用户通过类似电视、手机等终端设备观看电视台等播放的流媒体节目(类似卫视节目、直播节目等)时,能够让用户参与针对该节目的互动,且能够直 接采集用户的互动数据,从而无需电视、手机等终端设备安装用于互动的一些应用程序APP,从而在实现用户参与互动的基础上,简化用户的互动流程和繁琐度。其中,方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
以下,先对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、流媒体,是指采用流式传输技术连续实时播放的媒体格式。在本申请中,流媒体可以但不限于包括直播视频或点播视频。
2)、RTP协议,是一种流媒体的媒体面协议。
当通过RTP协议传输视频流时,视频流的RTP头可包括RTP固定头。RTP固定头的格式如图1所示。RTP协议允许在RTP固定头后增加RTP扩展头,因此,视频流的RTP头还可包括RTP扩展头。例如,将RTP固定头中的X字段设置为1,即可在RTP固定头后面增加一个长度可变的RTP扩展头。RTP扩展头的格式可如图2所示。
RTP协议中的载荷可用于传输网络抽象层(network abstract layer,NAL)报文,例如,可用于传输H.264或H.265协议的NAL报文。H.264或H.265协议的NAL报文可包括如下类型的报文:
序列参数集(sequence parameter set,SPS):可保存一组编码视频序列(coded video sequence)的全局参数。
图像参数集(picture parameter set,PPS):对应于一个序列中的一幅图像或者一幅图像的参数。
补充增强信息(supplemental enhancement information,SEI):可在视频流中加入额外信息。
3)、基于超文本传输协议(hyper text transfer protocol,HTTP)的动态自适应流(dynamic adaptive streaming over HTTP,DASH)协议,是一种流媒体的控制面协议。
当使用DASH协议播放视频流时,终端设备可从服务器获取包含与视频内容对应的MPD文件的DASH消息。其中,MPD文件可通过可扩展标记语言(extensible markup language,XML)格式来描述。
图3示出了一种MPD文件的格式。如图3所示,MPD文件中,由内向外分别包括:分片(Segment)、码流(Representation)、自适应子集(Adaptation Set)和周期(Period)。
Segment:代表一小段音频或视频数据。Segment的格式可为fmp4格式。
Representation:代表一路音频流或视频流,可包括一个或多个Segment。
Adaptation Set:可包括一个或多个Representation。当一个Adaptation Set包含多个Representation时,这多个Representation可为由同一路源流产生的码流,且这多个Representation的码率、分辨率和/或帧率不同。
Period:可表示一个时间段,包括一个或多个Adaptation Set。一个节目可由一个或多个Period组成。
4)、本申请中,视频流也可称为媒体流。
5)、本申请中,UC为1字节(byte)长度的信息,取值范围可为0~255;US为2字节长度的信息,取值范围可为0~65025;UL为4字节长度的信息,取值范围可为0~4228250625。
本申请实施例中,对于名词的数目,除非特别说明,表示“单数名词或复数名词”,即“一个或多个”。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“以下至少一项(个)”或其类似表达,是指这些项(个)中的任意组合,包括单项(个)或复数项(个)的任意组合。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不应理解为指示或暗示相对重要性,也不应理解为指示或暗示顺序。
图4示出了本申请实施例提供的流媒体互动方法适用的一种可能的通信***的架构。参阅图4所示,在该通信***中包括:终端设备和业务服务器。业务服务器和终端设备之间可通过内容分发网络(content delivery network,CDN)或媒体分发网络(media delivery network,MDN)等网络进行通信。
其中,终端设备是一种能够为用户提供流媒体服务的设备。终端设备具有显示屏,能够显示从业务服务器获得的流媒体(例如,直播视频或点播视频)。
终端设备又可以称为用户设备(user equipment,UE)、客户机、电子设备等。目前,一些终端设备的举例为:电视、电视机顶盒、手机、平板电脑、笔记本电脑、计算机、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备等。
业务服务器可为一个或多个终端设备提供流媒体服务。业务服务器可从电视台或主播侧终端设备获取原始媒体流(例如,原始视频),并将该原始媒体流进行转码处理,生成多种码率和格式的目标媒体流,以将目标媒体流提供给不同制式的观众侧终端设备进行播放。在本申请中,业务服务器可以为普通服务器,也可以为在云平台中的服务器。
目前,采用上述通信***提供媒体流服务时,存在如下技术问题:
1、如何使得观看流媒体节目的用户均能够参与针对该节目的互动。
目前,用户在观看电视台提供的直播或点播视频时,信息传输的方向是单向的。用户只能观看视频,而无法参与针对该视频的互动。
用户在观看网络直播视频时,可通过如下方式进行互动:用户在直播画面下方的评论区输入评论信息,包括文字、图片等;用户在直播画面中发送弹幕和其他简短的评论信息,包括文字,鼓掌、口哨等动画音效、送各种礼物等。然而,这些互动方式与流媒体的控制面和媒体面都无关,而是在流媒体上叠加互动能力,且需要用户的终端设备中安装有相应的应用程序。
因此,如何使得观看流媒体节目的用户均能够参与针对该节目的互动,是本申请需要解决的问题。
2、如何克服因流媒体节目传递到不同用户的时间不同而带来的互动的不公平性。
由于传输的技术与距离不同,流媒体节目传递到不同用户的时间差异较大。例如,多个电视台或公司都直播一台晚会。该晚会8点整的节目内容,会在8点01秒出现在电视台A的观众的电视屏幕上,8点02秒出现在电视台B的观众的电视屏幕上,8点10秒出现在公司C的观众的屏幕上。若需要用户对该晚会进行互动,如何保证各电视台或公司的用户参与互动时的公平性,是本申请需要解决的问题。
本申请实施例提供了一种流媒体互动方法,该方法可解决上述技术问题。该方法可应用于图4所示的通信***中。下面参阅图5所示的流程图,对该方法的流程进行具体说明。
S501:第一服务器通过流媒体方式向终端设备发送第一互动指示。相应的,终端设备接收第一服务器通过流媒体方式发送的第一互动指示。其中,第一互动指示可用于指示开始参与终端设备播放节目的互动。
其中,第一服务器可为图4中的业务服务器。第一服务器可在确定开始对终端设备播放节目进行互动时,向终端设备发送第一互动指示。例如,终端设备正在播放的节目是电视台A直播的节目,第一服务器接收到电视台工作人员输入的指示开始对该节目进行互动的指令后,确定开始对终端设备播放节目进行互动,并向终端设备发送第一互动指示。又例如,第一服务器检测到节目内容中包含互动信息,如检测到节目主持人提示观众参与互动,则第一服务器可确定开始对终端设备播放节目进行互动,并向终端设备发送第一互动指示。
可选的,终端设备可通过以下方式之一接收第一服务器通过流媒体方式发送的第一互动指示:
方式一:终端设备接收来自第一服务器的包含终端设备播放的节目的第一视频流,第一视频流的媒体面数据包含第一互动指示。也就是说,终端设备可通过媒体面接收来自第一服务器的第一互动指示。
其中,第一服务器可通过任一媒体面协议向终端设备发送第一互动指示。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第一视频流的RTP头包含第一互动指示,此时,第一视频流的媒体面数据为第一视频流的RTP头。可选的,第一视频流的RTP扩展头包含第一互动指示。示例性的,如图2所示,RTP扩展头中的概述定义(Define by Profile)字段可通过一个唯一的数字标识互动指示(InteractiveInstruction)参数,例如,InteractiveInstruction=0xFFFA。当Define by Profile字段的值为0xFFFA时,RTP扩展头中的头部扩展(Header Extension)字段可包含互动状态(InteractiveStatus)字段。当InteractiveStatus字段的取值为第一值(例如,3)时,InteractiveStatus字段指示开始参与终端设备播放节目的互动。其中,InteractiveStatus字段的长度可为1字节。
在另一些可能的方式中,第一视频流的NAL包含第一互动指示,此时,第一视频流的媒体面数据为第一视频流的NAL。可选的,第一视频流的NAL报文SEI中包含第一互动指示。示例性的,SEI的报文结构如下表1所示。因此,可在SEI中增加一个SEI载荷类型(SEI payloadType),SEI payloadType可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFA。当SEI  payloadType字段的值为0xFA时,SEI载荷(SEIPayLoad)可包含InteractiveStatus字段。InteractiveStatus字段的具体内容可参考“第一视频流的RTP头包含第一互动指示”中对InteractiveStatus字段的说明,此处不再赘述。SEI载荷大小(SEI payloadSize)字段为SEI载荷(SEIPayLoad)的实际长度。
表1
可选的,在表1中,n为大于1的整数。
通过方式一,终端设备在获取到节目内容的同时,即可获取到第一互动指示,从而可在下发节目的流媒体的同时下发对应的第一互动指示。并且,终端设备可通过媒体面获取到第一互动指示,易于实现。
方式二,终端设备接收来自第一服务器的第一控制面数据,第一控制面数据包含第一互动指示。也就是说,终端设备可通过控制面接收来自第一服务器的第一互动指示。
其中,第一控制面数据可为终端设备播放的节目对应的控制面数据。
其中,第一服务器可通过任一控制面协议向终端设备发送第一互动指示。下面以该控制面协议为DASH为例进行说明。
可选的,第一控制面数据为DASH消息。示例性的,DASH消息包含与终端设备播放节目对应的MPD文件,该MPD文件中包含Interactive instruction参数。Interactive instruction参数可包含第一互动指示。例如,Interactive instruction参数可包括:
其中,InteractiveStartSegment表示终端设备播放的节目中开始参与互动的分片,InteractiveCloseSegment结束终端设备播放的节目中结束互动的分片。在上例中,分片15为开始参与终端设备播放节目的互动的分片;用户可参与终端设备播放节目的互动的分片为分片15-分片35。
另外,InteractiveCloseSegment参数可以是可选的。例如,若第一服务器在生成Interactive instruction参数时,不能确定何时结束互动,Interactive instruction参数中可不包含InteractiveCloseSegment参数,或者Interactive instruction参数中的InteractiveCloseSegment参数为无效值。待能够确定何时结束互动时,第一服务器再在InteractiveCloseSegment参数中填入正确的值。
可选的,Interactive instruction参数可以包含在MPD文件中的Period、Adaptation Set或Representation中。
可选的,当终端设备播放的节目为直播视频时,终端设备可周期性的从第一服务器获取该节目最新内容的MPD文件。例如,终端设备可每5秒从第一服务器获取该节目最新内容的MPD文件。
通过方式二,终端设备可通过控制面获取到第一互动指示,易于实现。
S502:终端设备输出第一互动提示,第一互动提示可用于提示用户参与终端设备播放节目的互动。
在一些可能的方式中,终端设备可通过屏幕显示第一互动提示。例如,终端设备可在屏幕上显示文字:“请参与当前节目的互动”。
在另一些可能的方式中,终端设备可通过语音向用户输出第一互动提示。例如,终端设备在接收到第一互动指示后,可输出语音:“请参与当前节目的互动”。
S503:终端设备采集用户根据第一互动提示进行互动时产生的至少一个互动信息,至少一个互动信息可用于生成互动数据。
其中,终端设备可通过数据采集装置采集用户根据第一互动提示进行互动时产生的至少一个互动信息。例如,终端设备可通过摄像头采集用户根据第一互动提示进行互动时生成的视频信息,并根据该视频信息和用于计算人体运动骨骼的算法(例如,人工智能(artificial intelligence,AI)算法),确定出用户的人体姿态描述文件,该人体姿态描述文件可包括人体运动骨骼信息。还例如,终端设备可通过摄像头采集用户根据第一互动提示进行互动时生成的图像或视频。又例如,终端设备可通过麦克风采集用户根据第一互动提示进行互动时生成的音频。再例如,终端设备还可通过触摸屏采集用户根据第一互动提示进行互动时生成的触控操作信息。
S504:终端设备向第二服务器发送互动数据。
其中,第二服务器可与第一服务器是相同的服务器,也可以是不同的服务器。当第二服务器与第一服务器是不同的服务器时,第二服务器的地址可以为默认地址,也可以为从第一服务器获取的地址。终端设备从第一服务器获取的地址的过程可参考下文中的步骤B1,此处暂不展开。
另外,互动数据可包括S503中采集的至少一个互动信息。至少一个信息的具体内容可参考下文中对S503中“至少一个信息”的描述,此处暂不展开。
在图5所示方法中,终端设备在接收到来自第一服务器的用于指示开始参与所述终端设备播放节目的互动的第一互动指示后,即可输出第一互动提示,以提示用户参与所述终端设备播放节目的互动,并由该终端设备采集用户根据第一互动提示进行互动时产生的至少一个互动信息。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
可选的,图5所示方法还包括步骤A1:
A1:第一服务器通过流媒体方式向终端设备发送互动方式指示。相应的,终端设备接收第一服务器通过流媒体方式发送的互动方式指示。其中,互动方式指示用于指示终端设备播放节目的互动方式。
其中,互动方式可以但不限于包括以下至少一项:通过体感进行互动、通过语音识别进行互动、通过视频进行互动、通过语音进行互动、通过遥控器进行互动等。
可选的,终端设备可通过以下实现方式之一接收第一服务器通过流媒体方式发送的互动方式指示:
实现方式一:终端设备接收来自第一服务器的包含节目的第三视频流,第三视频流的媒体面数据包含互动方式指示。也就是说,终端设备可通过媒体面接收来自第一服务器的互动方式指示。
其中,第三视频流可与第一视频流相同,也可以与第一视频流不同。当第三视频流与第一视频流不同时,示例性的,第三视频流可与第一视频流是同一节目的不同视频流。
本申请中,第一服务器可通过任一媒体面协议向终端设备发送互动方式指示。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第三视频流的RTP头包含互动方式指示,此时,第三视频流的媒体面数据为第三视频流的RTP头。可选的,第三视频流的RTP扩展头包含互动方式指示。示例性的,如图2所示,第三视频流的RTP扩展头中的Define by Profile字段可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFFFA。当Define by Profile字段的值为0xFFFA时,第三视频流的Header Extension字段可包含互动方式(InteractiveType)字段,该InteractiveType字段可指示终端设备播放节目的互动方式。例如,当InteractiveType字段的取值为第二值(例如,1)时,终端设备播放节目的互动方式为通过体感进行互动;当InteractiveType字段的取值为第三值(例如,2)时,终端设备播放节目的互动方式为通过语音识别进行互动;当InteractiveType字段的取值为第四值(例如,3)时,终端设备播放节目的互动方式为通过视频进行互动;当InteractiveType字段的取值为第五值(例如,4)时,终端设备播放节目的互动方式为通过语音进行互动;当InteractiveType字段的取值为第六值(例如,5)时,终端设备播放节目的互动方式为通过遥控器进行互动。其中,InteractiveType字段的长度可为1字节。
在另一些可能的方式中,第三视频流的NAL包含互动方式指示,此时,第三视频流的媒体面数据为第三视频流的NAL。可选的,第三视频流的NAL报文SEI中包含互动方式指示。示例性的,SEI的报文结构如上表1所示。在SEI中增加一个SEI payloadType,SEI payloadType可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFA。当SEI payloadType字段的值为0xFA时,SEIPayLoad可包含InteractiveType字段。InteractiveType字段的具体内容可参考“第三视频流的RTP 头包含互动方式指示”中对InteractiveType字段的说明,此处不再赘述。
通过实现方式一,终端设备在获取到节目流媒体的同时,即可获取到互动方式指示,获取方式快捷,效率较高。并且,终端设备可通过媒体面获取互动方式指示,易于实现。
实现方式二,终端设备接收来自第一服务器的第三控制面数据,第三控制面数据包含互动方式指示。也就是说,终端设备可通过控制面接收来自第一服务器的互动方式指示。
其中,第三控制面数据可与第一控制面数据相同,也可以与第一控制面数据不同。当第三控制面数据与第一控制面数据不同时,示例性的,第三控制面数据可与第一控制面数据是同一节目的控制面数据。
其中,第一服务器可通过任一控制面协议向终端设备发送互动方式指示。下面以该控制面协议为DASH为例进行说明。
可选的,第三控制面数据为DASH消息。示例性的,DASH消息包含与终端设备播放节目对应的MPD文件,该MPD文件中包含Interactive instruction参数。Interactive instruction参数的内容可参考方式二中对Interactive instruction参数的说明,重复之处不再赘述。Interactive instruction参数可包含互动方式指示。例如,Interactive instruction参数可包括:
其中,InteractiveType用于表示终端设备播放节目的互动方式。在上例中,互动方式为通过体感方式进行互动。
通过实现方式二,终端设备可通过控制面获取到互动方式指示,易于实现。
另外,本申请对步骤A1和步骤S501的执行顺序不作限定,即步骤A1和步骤S501在步骤S502之前执行就可以。
相应的,在S502中,第一互动提示可具体用于提示用户根据互动方式参与终端设备播放节目的互动。
具体而言,在一些可能的方式中,终端设备可通过屏幕显示第一互动提示。例如,若互动方式为通过体感进行互动,终端设备在接收到第一互动指示和互动方式指示后,终端设备可在屏幕中显示文字:“请通过体感方式参与当前节目的互动”。在另一些可能的方式中,终端设备可通过语音向用户输出第一互动提示。例如,若互动方式为通过语音进行互动,终端设备在接收到第一互动指示和互动方式指示后,可输出语音:“请通过语音方式参与当前节目的互动”。
相应的,S503中终端设备可采集用户根据互动方式进行互动时产生的至少一个互动信息,具体可以为终端设备可根据互动方式,采集用户根据互动方式进行互动时产生的至少一个互动信息。可选的,终端设备可通过与互动方式对应的数据采集装置,采集用户根据互动方式进行互动时产生的至少一个互动信息。
例如,当互动方式为通过体感进行互动时,终端设备可通过摄像头采集用户根据互动方式进行互动时产生的视频信息。然后,终端设备根据该视频信息和用于计算人体运动骨骼的算法(例如,AI算法),确定出用户的人体运动骨骼信息。此时,该至少一个互动信息可包括用户的人体运动骨骼信息。
又例如,当互动方式为通过语音识别进行互动时,终端设备可通过麦克风采集用户根据互动方式进行互动时产生的音频信息。然后,终端设备根据该音频信息和用于识别语音的算法(例如,AI算法),检测出用户的说话内容。此时,该至少一个互动信息包括用户的说话内容。
再例如,当互动方式为通过视频进行互动时,终端设备可通过摄像头采集用户根据互动方式进行互动时产生的视频信息。此时,该至少一个互动信息包括该视频信息。
再例如,当互动方式为通过语音识别进行互动时,终端设备可通过麦克风采集用户根据互动方式进行互动时产生的音频信息。此时,该至少一个互动信息包括该音频信息。
再例如,当互动方式为通过遥控器进行互动时,终端设备可通过红外接收装置接收遥控器的信息,该遥控器的信息例如为遥控器的按键结果。此时,该至少一个互动信息包括该遥控器的信息。
通过该方法,终端设备可根据第一服务器指示的互动方式,采集用户根据该互动方式进行互动时产生的至少一个互动信息,从而可有针对性的获取用户的互动信息,提高获取互动信息和传输互动数据的效率。
可选的,在S503中,终端设备也可采集用户根据默认的互动方式进行互动时产生的至少一个互动信息。此时,终端设备无需从第一服务器获取互动方式指示。该默认的互动方式可包括步骤A1中的一种或多种互动方式。例如,当默认互动方式为通过视频进行互动时,终端设备可通过摄像头采集用户根据互动方式进行互动时产生的视频信息。此时,该至少一个互动信息包括该视频信息。这样可以减少第一服务器下发互动方式的指示过程,从而使得方案实现更高效,且可以节省流媒体信道的传输资源。
可选的,图5所示方法还可以包括步骤B1:
B1:第一服务器通过流媒体方式向终端设备发送地址指示。相应的,终端设备接收第一服务器通过流媒体方式发送的地址指示。其中,地址指示可用于指示互动数据的上报地址。该地址指示可直接或间接指示该上报地址。该上报地址可为第二服务器的地址,例如,该上报地址为第二服务器的因特网协议(internet protocol,IP)地址或统一资源定位(uniform resource locator,URL)地址。
可选的,终端设备可通过以下实现方式之一接收第一服务器通过流媒体方式发送的地址指示:
实现方式1:终端设备接收来自第一服务器的包含节目的第四视频流,第四视频流的媒体面数据包含地址指示。也就是说,终端设备可通过媒体面接收来自第一服务器的地址指示。
其中,第四视频流可与第一视频流相同,也可以与第一视频流不同。当第四视频流与第一视频流不同时,示例性的,第四视频流可与第一视频流是同一节目的不同视频流。
本申请中,第一服务器可通过任一媒体面协议向终端设备发送地址指示。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第四视频流的RTP头包含地址指示,此时,第四视频流的媒体面数据为第四视频流的RTP头。可选的,第四视频流的RTP扩展头包含地址指示。示例性的,如图2所示,RTP扩展头中的Define by Profile字段可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFFFA。当Define by Profile字段的值为0xFFFA时,Header Extension字段可包含上报地址(例如,互动URL(InteractiveURL))字段,该InteractiveURL字段为地址指示。例如,InteractiveURL字段包含http://CMCCInteractivevido.com/Interactive,则上报地址为http://CMCCInteractivevido.com/Interactive。其中,InteractiveURL字段的长度可为128字节。
在另一些可能的方式中,第四视频流的NAL包含地址指示,此时,第四视频流的媒体面数据为第四视频流的NAL。可选的,第四视频流的NAL报文SEI中包含地址指示。示例性的,SEI的报文结构如上表1所示。在SEI中增加一个SEI payloadType,SEI payloadType可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFA。当SEI payloadType字段的值为0xFA时,SEIPayLoad可包含上报地址(例如,InteractiveURL)字段。InteractiveURL字段的具体内容可参考“第四视频流的RTP头包含地址指示”中对InteractiveURL字段的说明,此处不再赘述。
通过实现方式1,终端设备在获取到节目流媒体的同时,即可获取到地址指示,使得获得地址信息更高效。并且,终端设备可通过媒体面获取地址指示,易于实现。
实现方式2,终端设备接收来自第一服务器的第四控制面数据,第四控制面数据包含地址指示。也就是说,终端设备可通过控制面接收来自第一服务器的地址指示。
其中,第四控制面数据可与第一控制面数据相同,也可以与第一控制面数据不同。当第四控制面数据与第一控制面数据不同时,示例性的,第四控制面数据可与第一控制面数据是同一节目的控制面数据。
其中,第一服务器可通过任一控制面协议向终端设备发送地址指示。下面以该控制面协议为DASH为例进行说明。
可选的,第四控制面数据为DASH消息。示例性的,DASH消息包含与终端设备播放节目对应的MPD文件,该MPD文件中包含Interactive instruction参数。Interactive instruction参数的内容可参考方式二中对Interactive instruction参数的说明,重复之处不再赘述。Interactive instruction参数可包含地址指示。例如,Interactive instruction参数可包括:
其中,InteractiveURL用于表示互动数据的上报地址。在上例中,上报地址为: http://CMCCInteractivevido.com/Interactive。
通过实现方式2,终端设备可通过控制面获取地址指示,易于实现。
另外,本申请对步骤B1和步骤S501到步骤S503的执行顺序不作限定,即步骤B1在步骤S504之前执行就可以。相应的,S504可包括:终端设备根据上报地址,向第二服务器发送互动数据。通过该方法,终端设备可根据第一服务器指示的上报地址,将互动数据上传到正确的服务器。
可选的,为解决上述问题2,终端设备播放节目的第一视频流的媒体面数据包括节目中的流媒体帧的帧序号。也就是说,终端设备可通过媒体面获取节目中的流媒体帧的帧序号。
其中,节目中的流媒体帧的帧序号可以是累加的,可用于唯一指示节目中的流媒体帧。
本申请中,第一服务器可通过任一媒体面协议向终端设备发送节目中的流媒体帧的帧序号。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第一视频流的RTP头包含节目中的流媒体帧的帧序号,此时,第一视频流的媒体面数据为第一视频流的RTP头。可选的,第一视频流的RTP扩展头包含节目中的流媒体帧的帧序号。示例性的,如图2所示,RTP扩展头中的Define by Profile字段可通过一个唯一的数字标识帧序号(FramSequence)参数,例如,FramSequence=0xFFFC。当Define by Profile字段的值为0xFFFC时,RTP扩展头中的Header Extension字段可如表2所示。
表2
在另一些可能的方式中,第一视频流的NAL包含节目中的流媒体帧的帧序号,此时,第一视频流的媒体面数据为第一视频流的NAL。可选的,第一视频流的NAL报文SEI中包含节目中的流媒体帧的帧序号。示例性的,SEI的报文结构如上表1所示。因此,可在SEI中增加一个SEI payloadType,SEI payloadType可通过一个唯一的数字标识FramSequence参数,例如,FramSequence=0xFC。当SEI payloadType字段的值为0xFC时,SEIPayLoad可包含FramSequenceNumber字段。FramSequenceNumber字段的具体内容可参考上表2。SEI payloadSize字段的长度可为4字节。
在S504中,互动数据可包括:
1、终端设备采集的用户根据第一互动提示进行互动时产生的至少一个互动信息:具体内容可参考S503中对该至少一个互动信息的说明,此处不再赘述。
2、采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的帧序号。
例如,当互动方式为通过体感进行互动时,互动数据可包括:终端设备通过摄像头采集用户根据互动方式进行互动时产生的视频信息时,终端设备正在显示的节目的流媒体帧的帧序号。
又例如,当互动方式为通过语音识别进行互动时,互动数据可包括:终端设备通过麦克风采集用户根据互动方式进行互动时产生的音频信息时,终端设备正在显示的节目的流媒体帧的帧序号。
可选的,互动数据还可包含互动方式。互动方式的具体内容可参考步骤A1,此处不再赘述。
可选的,为获取到采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的帧序号,在S503中,终端设备在采集至少一个互动信息时,可记录采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的帧序号。
通过该方法,终端设备不但向第二服务器发送至少一个互动信息,还发送采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的帧序号,从而可根据该帧序号确定用户的反应时间,进而可降低流媒体节目传递到不同用户的时间不同而带来的互动的不公平性。
例如,多个电视台或公司都直播一台晚会。该晚会8点整的节目内容,会在8点01秒出现在电视台A的观众A的电视屏幕上,8点02秒出现在电视台B的观众B的电视屏幕上,8点10秒出现在公司C的观众C的屏幕上。节目的互动内容为谁最快完成节目中目标人物指定的动作。8点整的节目内容中,目标人物指定动作为倒立,该节目内容对应的流媒体帧的帧序号为12358。若观众A的终端设备 A在采集到观众A倒立时,终端设备A显示的节目的流媒体帧的帧序号为12380,观众B的终端设备B在采集到观众B倒立时,终端设备B显示的节目的流媒体帧的帧序号为12372,观众C的终端设备C在采集到观众C倒立时,终端设备C显示的节目的流媒体帧的帧序号为12370,则通过该方法,可确定观众C的反应时间最短。
可选的,在S504中,互动数据还可包括:采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的已显示时长。例如,互动方式为通过语音识别进行互动时,终端设备通过麦克风采集用户根据互动方式进行互动时产生的音频信息时,终端设备正在显示的节目的流媒体帧的帧序号为12560,且该终端设备已显示该帧19毫秒,则互动数据还包括:采集音频信息时,终端设备正在显示的节目的流媒体帧的已显示时长为19毫秒。
可选的,为采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的已显示时长,在S503中,终端设备在采集至少一个互动信息时,可记录采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的已显示时长。
通过该方法,终端设备还向第二服务器采集至少一个互动信息中的每个互动信息时,终端设备正在显示的节目的流媒体帧的已显示时长,从而可更精确地确定用户的反应时间,进一步降低流媒体节目传递到不同用户的时间不同而带来的互动的不公平性。
可选的,在S504中,终端设备可通过以下方式之一向第二服务器发送互动数据:
方式1:终端设备向第二服务器发送第二视频流,第二视频流的媒体面数据包含互动数据。也就是说,终端设备可通过媒体面向第二服务器发送第二视频流。
其中,第二视频流可为终端设备采集的用户进行互动的视频,也可以为其他视频。
本申请中,终端设备可通过任一媒体面协议向第二服务器发送互动数据。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第二视频流的RTP头包含互动数据,此时,第二视频流的媒体面数据为第二视频流的RTP头。可选的,第二视频流的RTP扩展头包含互动数据。示例性的,如图2所示,RTP扩展头中的Define by Profile字段可通过一个唯一的数字标识互动结果(InteractiveResult)参数,例如,InteractiveResult=0xFFFB。当Define by Profile字段的值为0xFFFB时,RTP扩展头中的Header Extension字段可如表3所示。
表3
可选的,在实际应用中,RTP扩展头中的Header Extension字段可包括表3中的部分字段。例如,Header Extension字段包括InteractiveType字段和InteractiveDisplayFrame字段。又例如,Header Extension字段包括InteractiveDisplayFrame字段和至少一个互动信息。
在另一些可能的方式中,第二视频流的NAL包含互动数据,此时,第二视频流的媒体面数据为第 二视频流的NAL。可选的,第二视频流的NAL报文SEI中包含互动数据。示例性的,SEI的报文结构如上表1所示。因此,可在SEI中增加一个SEI payloadType,SEI payloadType可通过一个唯一的数字标识InteractiveResult参数,例如,InteractiveResult=0xFB。当SEI payloadType字段的值为0xFB时,SEIPayLoad可包含InteractiveResult字段。InteractiveResult字段的具体内容可参考表3,此处不再赘述。SEI payloadSize字段为SEIPayLoad的实际长度。
通过方式1,终端设备可通过媒体流向第二服务器发送互动数据,实现效率较高。
方式2:终端设备向第二服务器发送流媒体的第二控制面数据,第二控制面数据包含互动数据。也就是说,终端设备可通过控制面向第二服务器发送流媒体的第二控制面数据。
其中,终端设备可通过任一控制面协议向第二服务器发送流媒体的第二控制面数据。下面以该控制面协议为HTTP为例进行说明。
可选的,第二控制面数据为HTTP消息。下面以使用HTTP提交(POST)方法发送互动方式为Human Pose的互动数据为例进行说明。HTTP消息可包括:
其中,InteractiveType表示互动方式为通过体感进行互动;Human Pose表示采集的互动信息包括:用户骨骼关键点坐标,该用户骨骼关键点坐标可用于确定用户的肢体动作;InteractiveDisplayFrame表示采集该互动信息时终端设备正在播放节目的第18353帧图像;InteractiveDisplayFrameDuration标识采集该互动信息时终端设备已显示当前帧的时长为19毫秒。
通过方式2,终端设备可通过控制面向第二服务器发送互动数据,易于实现。
可选的,终端设备可以每采集一次互动信息,就上报一次互动数据,其中,采集间隔例如为33毫秒;终端设备也可以以一定周期(例如,5秒)上报一次互动数据;终端设备还可采集完所有互动信息后,再上报互动数据。
可选的,在S501之前,图5所示方法还包括步骤C1-C2:
C1:第一服务器通过流媒体方式向终端设备发送第二互动指示。相应的,终端设备接收第一服务器通过流媒体方式发送的第二互动指示。其中,第二互动指示用于指示准备参与终端设备播放节目的互动。
可选的,终端设备可通过以下方式之一接收第一服务器通过流媒体方式发送的第二互动指示:
方式A:终端设备接收来自第一服务器的包含终端设备播放的节目的第五视频流,第五视频流的媒体面数据包含第二互动指示。也就是说,终端设备可通过媒体面接收来自第一服务器的第二互动指示。
其中,第五视频流可与第一视频流是同一节目的不同视频流。例如,第五视频流中的流媒体帧的帧序号与第一视频流中的流媒体帧的帧序号不同。
本申请中,第一服务器可通过任一媒体面协议向终端设备发送第二互动指示。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第五视频流的RTP头包含第二互动指示,此时,第五视频流的媒体面数据为第五视频流的RTP头。可选的,第五视频流的RTP扩展头包含第二互动指示。示例性的,如图2所示,RTP扩展头中的Define by Profile字段可通过一个唯一的数字标识InteractiveInstruction参数,例如, InteractiveInstruction=0xFFFA。当Define by Profile字段的值为0xFFFA时,RTP扩展头中的Header Extension字段可包含InteractiveStatus字段。当InteractiveStatus字段的取值为第七值(例如,2)时,InteractiveStatus字段指示准备参与终端设备播放节目的互动。其中,InteractiveStatus字段的长度可为1字节。
在另一些可能的方式中,第五视频流的NAL包含第二互动指示,此时,第五视频流的媒体面数据为第五视频流的NAL。可选的,第五视频流的NAL报文SEI中包含第二互动指示。示例性的,SEI的报文结构如上表1所示。因此,可在SEI中增加一个SEI payloadType,SEI payloadType可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFA。当SEI payloadType字段的值为0xFA时,SEIPayLoad可包含InteractiveStatus字段。InteractiveStatus字段的具体内容可参考“第五视频流的RTP头包含第二互动指示”中对InteractiveStatus字段的说明,此处不再赘述。SEI载荷大小(SEI payloadSize)字段为SEI载荷(SEIPayLoad)的实际长度。
通过方式A,终端设备在获取到节目内容的同时,即可获取到第二互动指示,从而可在下发节目的流媒体的同时下发对应的第二互动指示。并且,终端设备通过媒体面获取到第二互动指示,易于实现。
方式B,终端设备接收来自第一服务器的第五控制面数据,第五控制面数据包含第二互动指示。也就是说,终端设备可通过控制面接收来自第一服务器的第二互动指示。
其中,第五控制面数据可为终端设备播放的节目对应的控制面数据。
其中,第一服务器可通过任一控制面协议向终端设备发送第二互动指示。下面以该控制面协议为DASH为例进行说明。
可选的,第五控制面数据为DASH消息。示例性的,DASH消息包含与终端设备播放节目对应的MPD文件,该MPD文件中包含Interactive instruction参数。Interactive instruction参数可包含第二互动指示。例如,Interactive instruction参数可包括:
其中,InteractiveReadytSegment用于指示准备参与终端设备播放节目的互动的分片。在上例中,从分片10开始准备参与终端设备播放节目的互动。
通过方式B,终端设备可通过控制面获取到第二互动指示,易于实现。
可选的,第二互动指示中还可指示第一时长,第一时长为当前时刻与开始参与终端设备播放节目的互动的开始时刻之间的时间间隔。例如,第一时长为5秒。
C2:终端设备输出第二互动提示,第二互动提示用于提示用户准备参与终端设备播放节目的互动。
在一些可能的方式中,终端设备可通过屏幕显示第二互动提示。例如,终端设备可在屏幕上显示文字:“请准备参与当前节目的互动”。
在另一些可能的方式中,终端设备可通过语音向用户输出第二互动提示。例如,终端设备在接收到第二互动指示后,可输出语音:“请准备参与当前节目的互动”。
可选的,第二互动提示还可提示第一时长。例如,终端设备可在屏幕上显示文字:“请准备在5秒后参与当前节目的互动”。又例如,终端设备在接收到第二互动指示后,可输出语音:“请准备在5秒后参与当前节目的互动”。
通过该方法,终端设备可提示用户准备开始参与当前节目的互动,给用户一定的准备时间。
可选的,图5所示方法还包括步骤D1-D2:
D1:第一服务器通过流媒体方式向终端设备发送第三互动指示。相应的,终端设备接收第一服务器通过流媒体方式发送的第三互动指示。其中,第三互动指示用于指示停止参与终端设备播放节目的互动。
可选的,终端设备可通过以下实现方式之一接收第一服务器通过流媒体方式发送的第三互动指示:
实现方式A:终端设备接收来自第一服务器的包含终端设备播放的节目的第六视频流,第六视频流的媒体面数据包含第三互动指示。也就是说,终端设备可通过媒体面接收来自第一服务器的第三互动指示。
其中,第六视频流可与第一视频流是同一节目的不同视频流。例如,第六视频流中的流媒体帧的帧序号与第一视频流中的流媒体帧的帧序号不同。
本申请中,第一服务器可通过任一媒体面协议向终端设备发送第三互动指示。下面以该媒体面协议为RTP为例进行说明。
在一些可能的方式中,第六视频流的RTP头包含第三互动指示,此时,第六视频流的媒体面数据为第六视频流的RTP头。可选的,第六视频流的RTP扩展头包含第三互动指示。示例性的,如图2所示,RTP扩展头中的Define by Profile字段可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFFFA。当Define by Profile字段的值为0xFFFA时,RTP扩展头中的Header Extension字段可包含InteractiveStatus字段。当InteractiveStatus字段的取值为第八值(例如,1)时,InteractiveStatus字段指示停止参与终端设备播放节目的互动。其中,InteractiveStatus字段的长度可为1字节。
在另一些可能的方式中,第六视频流的NAL包含第三互动指示,此时,第六视频流的媒体面数据为第六视频流的NAL。可选的,第六视频流的NAL报文SEI中包含第三互动指示。示例性的,SEI的报文结构如上表1所示。因此,可在SEI中增加一个SEI payloadType,SEI payloadType可通过一个唯一的数字标识InteractiveInstruction参数,例如,InteractiveInstruction=0xFA。当SEI payloadType字段的值为0xFA时,SEIPayLoad可包含InteractiveStatus字段。InteractiveStatus字段的具体内容可参考“第六视频流的RTP头包含第三互动指示”中对InteractiveStatus字段的说明,此处不再赘述。SEI载荷大小(SEI payloadSize)字段为SEI载荷(SEIPayLoad)的实际长度。
通过实现方式A,终端设备在获取到节目内容的同时,即可获取到第三互动指示,从而可在下发节目的流媒体的同时下发对应的第三互动指示。并且,终端设备可通过媒体面获取到第三互动指示,易于实现。
实现方式B,终端设备接收来自第一服务器的第六控制面数据,第六控制面数据包含第三互动指示。也就是说,终端设备可通过控制面接收来自第一服务器的第三互动指示。
其中,第六控制面数据可为终端设备播放的节目对应的控制面数据。
其中,第一服务器可通过任一控制面协议向终端设备发送第三互动指示。下面以该控制面协议为DASH为例进行说明。
可选的,第六控制面数据为DASH消息。示例性的,DASH消息包含与终端设备播放节目对应的MPD文件,该MPD文件中包含Interactive instruction参数。Interactive instruction参数可包含第三互动指示。例如,Interactive instruction参数可包括:
其中,InteractiveCloseSegment用于指示停止参与终端设备播放节目的互动的分片。在上例中,从分片30停止参与终端设备播放节目的互动。
通过实现方式B,终端设备可通过控制面获取到第三互动指示,易于实现。
可选的,步骤D1可在步骤S501之后执行。
D2:终端设备停止采集用户根据第一互动提示进行互动时产生的至少一个互动信息。
可选的,终端设备还可输出第三互动提示,该第三互动提示用于提示用户停止参与所述终端设备播放节目的互动。
在一些可能的方式中,终端设备可通过屏幕显示第三互动提示。例如,终端设备可在屏幕上显示文字:“请停止参与当前节目的互动”。
在另一些可能的方式中,终端设备可通过语音向用户输出第三互动提示。例如,终端设备在接收到第三互动指示后,可输出语音:“请停止参与当前节目的互动”。
通过该方法,终端设备可在第一服务器的指示下,及时停止采集用户的互动信息,从而可节省终端设备采集用户互动信息所需的能源。
本申请实施例提供了另一种流媒体互动方法,该方法是图5所示方法的一种可能的实现方式。下面 参阅图6所示的流程图,对该方法的流程进行具体说明。
S601:终端设备加入频道1的组播组。
可选的,终端设备可在开机后,显示节目单。节目单中可包括至少一个频道的指示信息,至少一个频道可为至少一个电视频道。终端设备在接收到用户选择频道1的指令后,可通过组播加入频道1的组播组,从而可接收频道1的媒体数据。其中,终端设备接收用户选择频道1的指令的方式可包括以下之一:当终端设备为电视时,终端设备接收用户通过遥控器选择频道1的指令;当终端设备的屏幕为触摸屏时,终端设备可检测到用户在频道1的选择区域的触控命令。
S602:第一服务器向终端设备发送频道1的视频流1。
其中,视频流1可包含:视频1的内容以及互动指示1。其中,互动指示1可指示不对频道1的节目进行互动。该互动指示1的传输方式可参考实现方式A中第三互动指示的传输方式,重复之处不再赘述。例如,当InteractiveStatus字段的取值为第八值(例如,1)时,InteractiveStatus字段指示不参与终端设备播放节目的互动。
可选的,视频流1还包含:视频1中的流媒体帧的帧序号。视频1中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
另外,第一服务器可通过组播向终端设备发送视频流1。
S603:终端设备在屏幕上显示视频1。
S604:第一服务器确定频道1的节目即将进入互动环节。
例如,第一服务器接收到电视台工作人员输入的指示准备对频道1的节目进行互动的指令后,确定频道1的节目即将进入互动环节。又例如,第一服务器检测到节目内容中包含互动准备信息,如检测到节目主持人提示观众准备参与互动,则第一服务器可确定频道1的节目即将进入互动环节。
S605:第一服务器向终端设备发送频道1的视频流2。
其中,视频流2可包含:视频2的内容以及第二互动指示。
其中,视频1和视频2可以是连续的视频。例如,视频1和视频2都是一台晚会的视频,视频1为晚会8点-8点01分的节目内容,视频2为晚会8点01分-8点02分的节目内容。
第二互动指示可指示准备参与频道1的节目的互动。第二互动指示的具体内容可参考步骤C1,此处不再赘述。
可选的,视频流2还包含以下至少一项:互动方式指示、地址指示和视频2中的流媒体帧的帧序号。其中,互动方式指示用于指示频道1的节目的互动方式,互动方式指示的具体内容可参考步骤A1,此处不再赘述。地址指示可用于指示互动数据的上报地址,地址指示的具体内容可参考步骤B1,此处不再赘述。视频2中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
其中,视频2中的流媒体帧的帧序号可以是在视频2中累加的,也可以是在视频1累加的帧序号基础上继续累加的。
另外,第一服务器可通过组播向终端设备发送视频流2。
S606:终端设备在屏幕上显示视频流2,并准备采集用户进行互动时产生的至少一个互动信息。
其中,终端设备可通过启动用于采集互动信息的软硬件,来准备采集用户的互动信息。例如,终端设备可打开摄像头,准备采集用户的视频信息。
可选的,终端设备可输出第二互动提示和/或互动方式。其中,第二互动提示用于提示用户准备参与频道1的节目的互动,第二互动提示的具体内容可参考步骤C2,此处不再赘述。互动方式的具体内容可参考步骤A1中,此处不再赘述。
可选的,终端设备还可输出第三互动提示,第三互动提示用于询问用户是否参与频道1的节目的互动。在用户确认参与互动后,终端设备才准备采集用户的互动信息。
在一些可能的方式中,终端设备可通过屏幕显示第三互动提示。例如,终端设备可在屏幕上显示文字:“是否参与当前节目的互动”。
在另一些可能的方式中,终端设备可通过语音向用户输出第三互动提示。例如,终端设备在接收到第二互动指示后,可输出语音:“是否参与当前节目的互动”。
S607:第一服务器确定频道1的节目进入互动环节。
S607中的具体内容可参考S501中对第一服务器确定开始对终端设备播放节目进行互动的说明,此 处不再赘述。
S608:第一服务器向终端设备发送视频流3。
其中,视频流3包含:频道1的视频3的内容以及第一互动指示。
其中,视频2和视频3可以是连续的视频。例如,视频2和视频3都是一台晚会的视频,视频2为晚会8点01分-8点02分的节目内容,视频3为晚会8点02分-8点03分的节目内容。
第一互动指示可用于指示开始参与频道1的节目的互动,第一互动指示的具体内容可参考S501中的方式一,此处不再赘述。
可选的,视频流3还包含以下至少一项:互动方式指示、地址指示和视频3中的流媒体帧的帧序号。其中,互动方式指示用于指示频道1的节目的互动方式,互动方式指示的具体内容可参考步骤A1,此处不再赘述。地址指示可用于指示互动数据的上报地址,地址指示的具体内容可参考步骤B1,此处不再赘述。视频3中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
其中,视频3中的流媒体帧的帧序号可以是在视频3中累加的,也可以是在视频2累加的帧序号基础上继续累加的。
另外,第一服务器可通过组播向终端设备发送视频流3。
S609:终端设备输出第一互动提示,并采集用户根据第一互动提示进行互动时产生的至少一个互动信息,至少一个互动信息可用于生成互动数据。
S609的具体内容可参考S502-S503,此处不再赘述。
S610:终端设备向第二服务器发送HTTP消息。其中,HTTP消息包含互动数据。
S610的具体内容可参考S504中的方式2,此处不再赘述。
S611:第二服务器向第一服务器发送互动数据。
其中,第二服务器可将接收到的所有用户的互动数据均发送给第一服务器。
S612:第一服务器向第二服务器发送结果信息。可选的,第一服务器可根据接收到的互动数据,确定结果信息。结果信息例如包括以下至少一项:针对用户互动数据的评分、用户的反应时间等。
例如(下面称为示例2),节目的互动内容为谁最快完成节目中目标人物指定的动作。8点整的节目内容中,目标人物指定动作为倒立,该节目内容对应的流媒体帧的帧序号为12358。若观众A的终端设备A在采集到观众A倒立时,终端设备A显示的节目的流媒体帧的帧序号为12380,观众B的终端设备B在采集到观众B倒立时,终端设备B显示的节目的流媒体帧的帧序号为12372,观众C的终端设备C在采集到观众C倒立时,终端设备C显示的节目的流媒体帧的帧序号为12370,则第一服务器确定结果信息包括:观众C的评分为100,观众B的评分为90,观众A的评分为70。
S613:第二服务器向终端设备发送HTTP响应消息,HTTP响应消息包含结果信息。
可选的,终端设备在接收到结果信息后,可输出结果信息。例如,对于上述示例2,观众C的终端设备C在接收到结果信息后,可在屏幕上显示:互动评分为100分。
S614:第一服务器确定直播节目退出互动环节。
例如,第一服务器接收到电视台工作人员输入的指示退出对频道1的节目进行互动的指令后,确定频道1的节目退出互动环节。又例如,第一服务器检测到节目内容中包含互动结束信息,如检测到节目主持人提示观众结束互动,则第一服务器可确定频道1的节目退出互动环节。
S615:第一服务器向终端设备发送频道1的视频流4。
其中,视频流4包含:视频4的内容以及互动指示1。其中,互动指示1的具体内容可参考S602,此处不再赘述。
可选的,视频流4还包含:视频4中的流媒体帧的帧序号。视频4中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
另外,第一服务器可通过组播向终端设备发送视频流4。
S616:终端设备显示视频4。
其中,S602-S606、S614-S616可为可选的步骤。
通过图6所示方法,终端设备在通过媒体面获取用于指示开始参与所述终端设备播放节目的互动的第一互动指示后,即可输出第一互动提示,以提示用户参与所述终端设备播放节目的互动,并由该终端设备采集用户根据第一互动提示进行互动时产生的至少一个互动信息。然后,终端设备可通过控制面上 传互动数据。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
本申请实施例提供了另一种媒体流互动方法,该方法是图5所示方法的另一种可能的实现方式。下面参阅图7所示的流程图,对该方法的流程进行具体说明。
S701:终端设备加入频道1的组播组。
S701的具体内容可参考S601,此处不再赘述。
S702:终端设备向第一服务器发送控制面消息1。
其中,该控制面消息1可为采用DASH等控制协议的消息,用于请求获取频道1的MPD文件。
可选的,终端设备可周期性的向第一服务器发送用于请求获取频道1的MPD文件的控制面消息。控制面消息1可为终端设备在第一周期发送的控制面消息。
S703:第一服务器向终端设备发送频道1的MPD文件1。
其中,MPD文件1用于指示不对频道1的节目进行互动。例如,MPD文件1不包含Interactive instruction参数。又例如,MPD文件1包含Interactive instruction参数,Interactive instruction参数中的InteractiveReadytSegment的值为空。其中,Interactive instruction参数的具体内容可参考图5所示方法中对Interactive instruction参数的说明,此处不再赘述。
S704:终端设备向第一服务器发送视频分片文件请求,该视频分片文件请求用于请求获取频道1的节目内容。
其中,终端设备可在解析MPD文件1后,向第一服务器发送视频分片文件请求。终端设备解析MPD文件1的具体过程,本申请不作限定。
S705:第一服务器向终端设备发送频道1的视频流1。
其中,视频流1可包含:视频1的内容。视频1与MPD文件1对应。
可选的,视频流1还包含:视频1中的流媒体帧的帧序号。视频1中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
另外,第一服务器可通过组播向终端设备发送视频流1。
S706:终端设备在屏幕上显示视频1。
S707:第一服务器确定频道1的节目即将进入互动环节。
S707的具体内容可参考S604,此处不再赘述。
S708:终端设备向第一服务器发送控制面消息2。
其中,控制面消息2可为终端设备在第二周期内向第一服务器发送的用于请求获取频道1的MPD文件的控制面消息。第一周期和第二周期可相邻,也可以不相邻。
S709:第一服务器向终端设备发送频道1的MPD文件2。
其中,MPD文件2可包括第二互动指示,第二互动指示用于指示准备参与频道1的节目的互动。第二互动指示的具体内容可参考步骤C1,此处不再赘述。
可选的,MPD文件2还包括以下至少一项:互动方式指示和地址指示。互动方式指示用于指示频道1的节目的互动方式,互动方式指示的具体内容可参考步骤A1,此处不再赘述。地址指示可用于指示互动数据的上报地址,地址指示的具体内容可参考步骤B1,此处不再赘述。
S710:第一服务器向终端设备发送频道1的视频流2。
其中,视频流2可包含:视频2的内容。视频2与MPD文件2对应。
可选的,视频流2还包含:视频2中的流媒体帧的帧序号。视频2中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
其中,视频2中的流媒体帧的帧序号可以是在视频2中累加的,也可以是在视频1累加的帧序号基础上继续累加的。
另外,第一服务器可通过组播向终端设备发送视频流2。
S711:终端设备在屏幕上显示视频2,并准备采集用户进行互动时产生的至少一个互动信息。
S711的具体内容可参考S606,此处不再赘述。
可选的,S708-S711可在不同周期内重复执行。
S712:第一服务器确定频道1的节目进入互动环节。
S712的具体内容可参考S607,此处不再赘述。
S713:终端设备向第一服务器发送控制面消息3。
其中,控制面消息3可为终端设备在第三周期内向第一服务器发送的用于请求获取频道1的MPD文件的控制面消息。第二周期和第三周期可相邻,也可以不相邻。
S714:第一服务器向终端设备发送频道1的MPD文件3。
其中,MPD文件3可包括第一互动指示,第一互动指示用于指示开始参与频道1的节目的互动。第一互动指示的具体内容可参考步骤S501中的方式二,此处不再赘述。
可选的,MPD文件3还包括以下至少一项:互动方式指示和地址指示。互动方式指示用于指示频道1的节目的互动方式,互动方式指示的具体内容可参考步骤A1,此处不再赘述。地址指示可用于指示互动数据的上报地址,地址指示的具体内容可参考步骤B1,此处不再赘述。
S715:第一服务器向终端设备发送频道1的视频流3。
其中,视频流3包含:视频3的内容。视频3与MPD文件3对应。
其中,视频2和视频3可以是连续的视频。例如,视频2和视频3都是一台晚会的视频,视频2为晚会8点01分-8点02分的节目内容,视频3为晚会8点02分-8点03分的节目内容。
可选的,视频流3还包含:视频3中的流媒体帧的帧序号。其中,视频3中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
其中,视频3中的流媒体帧的帧序号可以是在视频3中累加的,也可以是在视频2累加的帧序号基础上继续累加的。
另外,第一服务器可通过组播向终端设备发送视频流3。
S716:终端设备在屏幕上显示视频3,输出第一互动提示,并采集用户根据第一互动提示进行互动时产生的至少一个互动信息,至少一个互动信息可用于生成互动数据。
S716的具体内容可参考S609,此处不再赘述。
S717:终端设备向第二服务器发送第二视频流,第二视频流包括互动数据。
其中,第二视频流可为RTP流。
S717的具体内容可参考S504的方式1,此处不再赘述。
S718:第二服务器向第一服务器发送互动数据。
S718的具体内容可参考S611,此处不再赘述。
可选的,在S718之后,第一服务器可根据接收到的互动数据,确定结果信息。第一服务器确定结果信息的过程可参考S612,此处不再赘述。
S719:第一服务器确定直播节目退出互动环节。
其中,S719的具体内容可参考S614,此处不再赘述。
S720:终端设备向第一服务器发送控制面消息4。
其中,控制面消息4可为终端设备在第四周期内向第一服务器发送的用于请求获取频道1的MPD文件的控制面消息。第四周期和第三周期可相邻,也可以不相邻。
S721:第一服务器向终端设备发送频道1的MPD文件4。
其中,MPD文件4用于指示不对频道1的节目进行互动。MPD文件4的内容可参考S703中对MPD文件1的说明以及实现方式B中对第三互动指示的说明,此处不再赘述。
S722:第一服务器向终端设备发送频道1的视频流4。
其中,视频流4包含:视频4的内容。其中,视频4与MPD文件4对应。
其中,视频3和视频4可以是连续的视频,例如,视频3和视频4都是一台晚会的视频,视频3为晚会8点02分-8点03分的节目内容,视频4为晚会8点03分-8点04分的节目内容。
可选的,视频流4还包含:视频4中的流媒体帧的帧序号。其中,视频4中的流媒体帧的帧序号的具体内容可参考图5所示方法中对“节目中的流媒体帧的帧序号”的说明,此处不再赘述。
另外,第一服务器可通过组播向终端设备发送视频流4。
S723:终端设备在屏幕上显示视频4。
其中,S702-S711、S719-S723可为可选的步骤。
通过图7所示方法,终端设备在通过控制面获取用于指示开始参与所述终端设备播放节目的互动的 第一互动指示后,即可输出第一互动提示,以提示用户参与所述终端设备播放节目的互动,并由该终端设备采集用户根据第一互动提示进行互动时产生的至少一个互动信息。然后,终端设备可通过媒体面上传互动数据。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
本申请实施例提供了又一种媒体流互动方法,该方法是图5所示方法的又一种可能的实现方式。下面参阅图8所示的流程图,对该方法的流程进行具体说明。
S801-S809与S601-S609相同,此处不再赘述。
S810-S811与S717-S718相同,此处不再赘述。
可选的,图8所示方法还包括:
S812-S814:与614-S616相同,此处不再赘述。
通过图8所示方法,终端设备在通过媒体面获取用于指示开始参与所述终端设备播放节目的互动的第一互动指示后,即可输出第一互动提示,以提示用户参与所述终端设备播放节目的互动,并由该终端设备采集用户根据第一互动提示进行互动时产生的至少一个互动信息。然后,终端设备可通过媒体面上传互动数据。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
本申请实施例提供了再一种媒体流互动方法,该方法是图5所示方法的再一种可能的实现方式。下面参阅图9所示的流程图,对该方法的流程进行具体说明。
S901-S916与S701-S716相同,此处不再赘述。
S917-S920与S610-S613相同,此处不再赘述。
可选的,图9所示方法还包括:
S921-S925:与S719-S723相同,此处不再赘述。
通过图9所示方法,终端设备在通过控制面获取用于指示开始参与所述终端设备播放节目的互动的第一互动指示后,即可输出第一互动提示,以提示用户参与所述终端设备播放节目的互动,并由该终端设备采集用户根据第一互动提示进行互动时产生的至少一个互动信息。然后,终端设备可通过媒体控制面上传互动数据。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
基于与图5至图9方法实施例相同的技术构思,本申请实施例通过图10提供了一种流媒体互动装置,可用于执行上述方法实施例中相关步骤的功能。所述功能可以通过硬件实现,也可以通过软件或者硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。该流媒体互动装置的结构如图10所示,包括通信单元1001和处理单元1002。所述流媒体互动装置1000可以应用于图4所示的通信***中的终端设备,并可以实现以上本申请实施例以及实例提供的通信方法。下面对所述流媒体互动装置1000中的各个单元的功能进行介绍。
所述通信单元1001,用于接收和发送数据。
一些可能的方式中,所述通信单元1001可以通过物理接口、通信模块、通信接口、输入输出接口实现。所述流媒体互动装置1000可以通过该通信单元连接网线或电缆,进而与其他设备建立物理连接。
另一些可能的方式中,所述通信单元1001可以通过收发器实现,例如,移动通信模块。其中,移动通信模块可以包括至少一个天线、至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
所述处理单元1002可用于支持所述流媒体互动装置1000执行上述方法实施例中的处理动作。所述处理单元1002可以是通过处理器实现。例如,所述处理器可以为中央处理单元(central processing unit,CPU),还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA) 或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
在一种实施方式中,所述流媒体互动装置1000应用于图5-图9任一项所示的本申请实施例中的终端设备。下面对该实施方式中的所述处理单元1002的具体功能进行介绍。
所述处理单元1002,用于:通过所述通信单元1001接收第一服务器通过流媒体方式发送的第一互动指示,所述第一互动指示用于指示开始参与所述终端设备播放节目的互动;输出第一互动提示,所述第一互动提示用于提示用户参与所述终端设备播放节目的互动;采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息,所述至少一个互动信息用于生成互动数据;通过所述通信单元1001向第二服务器发送所述互动数据。
可选的,所述互动数据包括:
所述至少一个互动信息;
采集所述至少一个互动信息中的每个互动信息时,所述终端设备正在显示的所述节目的流媒体帧的帧序号。
可选的,所述互动数据还包括:采集所述至少一个互动信息中的每个互动信息时,所述终端设备正在显示的所述节目的流媒体帧的已显示时长。
可选的,所述终端设备播放节目的第一视频流的媒体面数据包括所述节目中的流媒体帧的帧序号。
可选的,所述处理单元1002具体用于:在输出第一互动提示之前,通过所述通信单元1001接收所述第一服务器通过流媒体方式发送的互动方式指示,所述互动方式指示用于指示所述终端设备播放节目的互动方式,所述第一互动提示具体用于提示所述用户根据所述互动方式参与所述终端设备播放节目的互动;采集所述用户根据所述互动方式进行互动时产生的至少一个互动信息。
可选的,所述互动方式包括以下至少之一:通过体感进行互动、通过语音识别进行互动、通过视频进行互动、通过语音进行互动、通过遥控器进行互动。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的所述节目的第三视频流,所述第三视频流的媒体面数据包含所述互动方式指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的第三控制面数据,所述第三控制面数据包含所述互动方式指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收所述第一服务器通过流媒体方式发送的地址指示,所述地址指示用于指示所述互动数据的上报地址;根据所述上报地址,通过所述通信单元1001向所述第二服务器发送所述互动数据,所述上报地址为所述第二服务器的地址。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的所述节目的第四视频流,所述第四视频流的媒体面数据包含所述地址指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的第四控制面数据,所述第四控制面数据包含所述地址指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的所述节目的第一视频流,所述第一视频流的媒体面数据包含所述第一互动指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的第一控制面数据,所述第一控制面数据包含所述第一互动指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001向所述第二服务器发送第二视频流,所述第二视频流的媒体面数据包含所述互动数据。
可选的,所述处理单元1002具体用于:通过所述通信单元1001向所述第二服务器发送第二控制面数据,所述第二控制面数据包含所述互动数据。
可选的,所述处理单元1002具体用于:在接收第一服务器通过流媒体方式发送的第一互动指示之前,通过所述通信单元1001接收所述第一服务器通过流媒体方式发送的第二互动指示,所述第二互动指示用于指示准备参与所述终端设备播放节目的互动;输出所述第二互动提示,所述第二互动提示用于提示所述用户准备参与所述终端设备播放节目的互动。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的所述节目的第五视频流,所述第五视频流的媒体面数据包含所述第二互动指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的第五控 制面数据,所述第五控制面数据包含所述第二互动指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收所述第一服务器通过流媒体方式发送的第三互动指示,所述第三互动指示用于指示停止参与所述终端设备播放节目的互动;停止采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的包含所述节目的第六视频流,所述第六视频流的媒体面数据包含所述第三互动指示。
可选的,所述处理单元1002具体用于:通过所述通信单元1001接收来自所述第一服务器的第六控制面数据,所述第六控制面数据包含所述第三互动指示。
需要说明的是,本申请以上实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于相同的技术构思,本申请实施例通过图11所示提供了一种流媒体互动装置,可用于执行上述方法实施例中相关的步骤。所述流媒体互动装置可以应用于图4所示的通信***中的终端设备,可以实现以上本申请实施例以及实例提供的通信方法,具有图10所示的流媒体互动装置的功能。参阅图11所示,所述流媒体互动装置1100包括:通信模块1101、处理器1102以及存储器1103。其中,所述通信模块1101、所述处理器1102以及所述存储器1103之间相互连接。
可选的,所述通信模块1101、所述处理器1102以及所述存储器1103之间通过总线1104相互连接。所述总线1104可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述通信模块1101,用于接收和发送数据,实现与其他设备之间的通信交互。例如,所述通信模块1101可以通过物理接口、通信模块、通信接口、输入输出接口实现。
所述处理器1102可用于支持所述流媒体互动装置1100执行上述方法实施例中的处理动作。当所述流媒体互动装置1100用于实现上述方法实施例时,处理器1102还可用于实现上述处理单元1002的功能。所述处理器1102可以是CPU,还可以是其它通用处理器、DSP、ASIC、FPGA或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
在一种实施方式中,所述流媒体互动装置1100应用于图5-图9任一项所示的本申请实施例中的终端设备。所述处理器1102具体用于:通过所述通信模块1101接收第一服务器通过流媒体方式发送的第一互动指示,所述第一互动指示用于指示开始参与所述终端设备播放节目的互动;输出第一互动提示,所述第一互动提示用于提示用户参与所述终端设备播放节目的互动;采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息,所述至少一个互动信息用于生成互动数据;通过所述通信模块1101向第二服务器发送所述互动数据。
所述处理器1102的具体功能可以参考以上本申请实施例以及实例提供的通信方法中的描述,以及图10所示本申请实施例中对所述流媒体互动装置1000的具体功能描述,此处不再赘述。
所述存储器1103,用于存放程序指令和数据等。具体地,程序指令可以包括程序代码,该程序代码包括计算机操作指令。存储器1103可能包含RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器1102执行存储器1103所存放的程序指令,并使用所述存 储器1103中存储的数据,实现上述功能,从而实现上述本申请实施例提供的通信方法。
可以理解,本申请图11中的存储器1103可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
基于以上实施例,本申请实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行以上实施例提供的方法。
基于以上实施例,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得计算机执行以上实施例提供的方法。
其中,存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
基于以上实施例,本申请实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,实现以上实施例提供的方法。
基于以上实施例,本申请实施例提供了一种芯片***,该芯片***包括处理器,用于支持计算机装置实现以上实施例中各设备所涉及的功能。在一种可能的设计中,所述芯片***还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。
综上所述,本申请实施例提供了一种流媒体互动方法及装置,在该方法中,在接收到第一服务器通过流媒体方式发送的用于指示开始参与终端设备播放节目的互动的第一互动指示后,终端设备可输出第一互动提示,以提示用户参与终端设备播放节目的互动,并采集用户根据第一互动提示进行互动时产生的至少一个互动信息,至少一个互动信息用于生成互动数据。然后,终端设备可向第二服务器发送互动数据。通过该方法,观看终端设备当前播放的节目的用户均可参与到终端设备当前播放节目的互动中,且无需终端设备安装互动功能的应用程序或者需要用户借助其他具有用于互动的应用程序的终端设备才能实现互动,易于实现。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程 设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (45)

  1. 一种流媒体互动方法,应用于终端设备,其特征在于,包括:
    接收第一服务器通过流媒体方式发送的第一互动指示,所述第一互动指示用于指示开始参与所述终端设备播放节目的互动;
    输出第一互动提示,所述第一互动提示用于提示用户参与所述终端设备播放节目的互动;
    采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息,所述至少一个互动信息用于生成互动数据;
    向第二服务器发送所述互动数据。
  2. 如权利要求1所述的方法,其特征在于,所述互动数据包括:
    所述至少一个互动信息;
    采集所述至少一个互动信息中的每个互动信息时,所述终端设备正在显示的所述节目的流媒体帧的帧序号。
  3. 如权利要求2所述的方法,其特征在于,所述互动数据还包括:
    采集所述至少一个互动信息中的每个互动信息时,所述终端设备正在显示的所述节目的流媒体帧的已显示时长。
  4. 如权利要求1-3任一项所述的方法,其特征在于,所述终端设备播放节目的第一视频流的媒体面数据包括所述节目中的流媒体帧的帧序号。
  5. 如权利要求1-4任一项所述的方法,其特征在于,在输出第一互动提示之前,所述方法还包括:
    接收所述第一服务器通过流媒体方式发送的互动方式指示,所述互动方式指示用于指示所述终端设备播放节目的互动方式;
    所述第一互动提示具体用于提示所述用户根据所述互动方式参与所述终端设备播放节目的互动;
    采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息,包括:
    采集所述用户根据所述互动方式进行互动时产生的至少一个互动信息。
  6. 如权利要求5所述的方法,其特征在于,所述互动方式包括以下至少之一:通过体感进行互动、通过语音识别进行互动、通过视频进行互动、通过语音进行互动、通过遥控器进行互动。
  7. 如权利要求5或6所述的方法,其特征在于,接收所述第一服务器通过流媒体方式发送的互动方式指示,包括:
    接收来自所述第一服务器的所述节目的第三视频流,所述第三视频流的媒体面数据包含所述互动方式指示。
  8. 如权利要求5或6所述的方法,其特征在于,接收所述第一服务器通过流媒体方式发送的互动方式指示,包括:
    接收来自所述第一服务器的第三控制面数据,所述第三控制面数据包含所述互动方式指示。
  9. 如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
    接收所述第一服务器通过流媒体方式发送的地址指示,所述地址指示用于指示所述互动数据的上报地址;
    向第二服务器发送互动数据,包括:
    根据所述上报地址,向所述第二服务器发送所述互动数据,所述上报地址为所述第二服务器的地址。
  10. 如权利要求9所述的方法,其特征在于,接收所述第一服务器通过流媒体方式发送的地址指示,包括:
    接收来自所述第一服务器的所述节目的第四视频流,所述第四视频流的媒体面数据包含所述地址指示。
  11. 如权利要求9所述的方法,其特征在于,接收所述第一服务器通过流媒体方式发送的地址指示,包括:
    接收来自所述第一服务器的第四控制面数据,所述第四控制面数据包含所述地址指示。
  12. 如权利要求1-11任一项所述的方法,其特征在于,接收第一服务器通过流媒体方式发送的第一互动指示,包括:
    接收来自所述第一服务器的所述节目的第一视频流,所述第一视频流的媒体面数据包含所述第一互动指示。
  13. 如权利要求1-11任一项所述的方法,其特征在于,接收第一服务器通过流媒体方式发送的第一互动指示,包括:
    接收来自所述第一服务器的第一控制面数据,所述第一控制面数据包含所述第一互动指示。
  14. 如权利要求1-13任一项所述的方法,其特征在于,向第二服务器发送互动数据,包括:
    向所述第二服务器发送第二视频流,所述第二视频流的媒体面数据包含所述互动数据。
  15. 如权利要求1-13任一项所述的方法,其特征在于,向第二服务器发送互动数据,包括:
    向所述第二服务器发送第二控制面数据,所述第二控制面数据包含所述互动数据。
  16. 如权利要求1-15任一项所述的方法,其特征在于,在接收第一服务器通过流媒体方式发送的第一互动指示之前,所述方法还包括:
    接收所述第一服务器通过流媒体方式发送的第二互动指示,所述第二互动指示用于指示准备参与所述终端设备播放节目的互动;
    输出所述第二互动提示,所述第二互动提示用于提示所述用户准备参与所述终端设备播放节目的互动。
  17. 如权利要求16所述的方法,其特征在于,接收第一服务器通过流媒体方式发送的第二互动指示,包括:
    接收来自所述第一服务器的所述节目的第五视频流,所述第五视频流的媒体面数据包含所述第二互动指示。
  18. 如权利要求16所述的方法,其特征在于,接收第一服务器通过流媒体方式发送的第二互动指示,包括:
    接收来自所述第一服务器的第五控制面数据,所述第五控制面数据包含所述第二互动指示。
  19. 如权利要求1-18任一项所述的方法,其特征在于,所述方法还包括:
    接收所述第一服务器通过流媒体方式发送的第三互动指示,所述第三互动指示用于指示停止参与所述终端设备播放节目的互动;
    停止采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息。
  20. 如权利要求19所述的方法,其特征在于,接收第一服务器通过流媒体方式发送的第三互动指示,包括:
    接收来自所述第一服务器的包含所述节目的第六视频流,所述第六视频流的媒体面数据包含所述第三互动指示。
  21. 如权利要求19所述的方法,其特征在于,接收第一服务器通过流媒体方式发送的第三互动指示,包括:
    接收来自所述第一服务器的第六控制面数据,所述第六控制面数据包含所述第三互动指示。
  22. 一种流媒体互动方法,其特征在于,包括:
    第一服务器通过流媒体方式向终端设备发送第一互动指示,所述第一互动指示用于指示开始参与所述终端设备播放节目的互动;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第一互动指示;
    所述终端设备输出第一互动提示,所述第一互动提示用于提示用户参与所述终端设备播放节目的互动;
    所述终端设备采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息,所述至少一个互动信息用于生成互动数据;
    所述终端设备向第二服务器发送所述互动数据。
  23. 如权利要求22所述的方法,其特征在于,所述互动数据包括:
    所述至少一个互动信息;
    采集所述至少一个互动信息中的每个互动信息时,所述终端设备正在显示的所述节目的流媒体帧的帧序号。
  24. 如权利要求23所述的方法,其特征在于,所述互动数据还包括:
    采集所述至少一个互动信息中的每个互动信息时,所述终端设备正在显示的所述节目的流媒体帧的已显示时长。
  25. 如权利要求22-24任一项所述的方法,其特征在于,所述终端设备播放节目的第一视频流的媒 体面数据包括所述节目中的流媒体帧的帧序号。
  26. 如权利要求22-25任一项所述的方法,其特征在于,在所述终端设备输出第一互动提示之前,所述方法还包括:
    所述第一服务器通过流媒体方式向所述终端设备发送互动方式指示,所述互动方式指示用于指示所述终端设备播放节目的互动方式;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述互动方式指示;
    所述第一互动提示具体用于提示所述用户根据所述互动方式参与所述终端设备播放节目的互动;
    所述终端设备采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息,包括:
    所述终端设备采集所述用户根据所述互动方式进行互动时产生的至少一个互动信息。
  27. 如权利要求26所述的方法,其特征在于,所述互动方式包括以下至少之一:通过体感进行互动、通过语音识别进行互动、通过视频进行互动、通过语音进行互动、通过遥控器进行互动。
  28. 如权利要求26或27所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送互动方式指示,包括:所述第一服务器向所述终端设备发送所述节目的第三视频流,所述第三视频流的媒体面数据包含所述互动方式指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述互动方式指示,包括:所述终端设备接收来自所述第一服务器的所述节目的第三视频流,所述第三视频流的媒体面数据包含所述互动方式指示。
  29. 如权利要求26或27所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送互动方式指示,包括:所述第一服务器向所述终端设备发送第三控制面数据,所述第三控制面数据包含所述互动方式指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述互动方式指示,包括:所述终端设备接收来自所述第一服务器的第三控制面数据,所述第三控制面数据包含所述互动方式指示。
  30. 如权利要求22-28任一项所述的方法,其特征在于,所述方法还包括:
    所述第一服务器通过流媒体方式向所述终端设备发送地址指示,所述地址指示用于指示所述互动数据的上报地址;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述地址指示;
    所述终端设备向第二服务器发送互动数据,包括:
    所述终端设备根据所述上报地址,向所述第二服务器发送所述互动数据,所述上报地址为所述第二服务器的地址。
  31. 如权利要求30所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送地址指示,包括:所述第一服务器向所述终端设备发送所述节目的第四视频流,所述第四视频流的媒体面数据包含所述地址指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述地址指示,包括:所述终端设备接收来自所述第一服务器的所述节目的第四视频流,所述第四视频流的媒体面数据包含所述地址指示。
  32. 如权利要求30所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送地址指示,包括:所述第一服务器向所述终端设备发送第四控制面数据,所述第四控制面数据包含所述地址指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述地址指示,包括:所述终端设备接收来自所述第一服务器的第四控制面数据,所述第四控制面数据包含所述地址指示。
  33. 如权利要求22-32任一项所述的方法,其特征在于,第一服务器通过流媒体方式向终端设备发送第一互动指示,包括:所述第一服务器向所述终端设备发送所述节目的第一视频流,所述第一视频流的媒体面数据包含所述第一互动指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第一互动指示,包括:所述终端设备接收来自所述第一服务器的所述节目的第一视频流,所述第一视频流的媒体面数据包含所述第一互动指示。
  34. 如权利要求22-32任一项所述的方法,其特征在于,第一服务器通过流媒体方式向终端设备发送第一互动指示,包括:所述第一服务器向所述终端设备发送第一控制面数据,所述第一控制面数据包含所述第一互动指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第一互动指示,包括:所述终端设备接收来自所述第一服务器的第一控制面数据,所述第一控制面数据包含所述第一互动指示。
  35. 如权利要求22-34任一项所述的方法,其特征在于,所述终端设备向第二服务器发送互动数据,包括:
    所述终端设备向所述第二服务器发送第二视频流,所述第二视频流的媒体面数据包含所述互动数据。
  36. 如权利要求22-34任一项所述的方法,其特征在于,所述终端设备向第二服务器发送互动数据,包括:
    所述终端设备向所述第二服务器发送第二控制面数据,所述第二控制面数据包含所述互动数据。
  37. 如权利要求22-36任一项所述的方法,其特征在于,在第一服务器通过流媒体方式向终端设备发送第一互动指示之前,所述方法还包括:
    所述第一服务器通过流媒体方式向所述终端设备发送第二互动指示,所述第二互动指示用于指示准备参与所述终端设备播放节目的互动;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第二互动指示;
    所述终端设备输出所述第二互动提示,所述第二互动提示用于提示所述用户准备参与所述终端设备播放节目的互动。
  38. 如权利要求37所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送第二互动指示,包括:所述第一服务器向所述终端设备发送所述节目的第五视频流,所述第五视频流的媒体面数据包含所述第二互动指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第二互动指示,包括:所述终端设备接收来自所述第一服务器的所述节目的第五视频流,所述第五视频流的媒体面数据包含所述第二互动指示。
  39. 如权利要求37所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送第二互动指示,包括:所述第一服务器向所述终端设备发送第五控制面数据,所述第五控制面数据包含所述第二互动指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第二互动指示,包括:所述终端设备接收来自所述第一服务器的第五控制面数据,所述第五控制面数据包含所述第二互动指示。
  40. 如权利要求22-39任一项所述的方法,其特征在于,所述方法还包括:
    所述第一服务器通过流媒体方式向所述终端设备发送第三互动指示,所述第三互动指示用于指示停止参与所述终端设备播放节目的互动;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第三互动指示;
    所述终端设备停止采集所述用户根据所述第一互动提示进行互动时产生的至少一个互动信息。
  41. 如权利要求40所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送第三互动指示,包括:所述第一服务器向所述终端设备发送包含所述节目的第六视频流,所述第六视频流的媒体面数据包含所述第三互动指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第三互动指示,包括:所述终端设备接收来自所述第一服务器的包含所述节目的第六视频流,所述第六视频流的媒体面数据包含所述第三互动指示。
  42. 如权利要求40所述的方法,其特征在于,所述第一服务器通过流媒体方式向所述终端设备发送第三互动指示,包括:所述第一服务器向所述终端设备发送第六控制面数据,所述第六控制面数据包含所述第三互动指示;
    所述终端设备接收所述第一服务器通过流媒体方式发送的所述第三互动指示,包括:所述终端设备接收来自所述第一服务器的第六控制面数据,所述第六控制面数据包含所述第三互动指示。
  43. 一种媒体流互动装置,其特征在于,包括:
    通信单元,用于接收和发送数据;
    处理单元,用于通过所述通信单元,执行如权利要求1-21任一项所述的方法。
  44. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-21任一项所述的方法。
  45. 一种芯片,其特征在于,所述芯片与存储器耦合,所述芯片读取所述存储器中存储的计算机程序,执行如权利要求1-21任一项所述的方法。
PCT/CN2023/103469 2022-09-15 2023-06-28 一种流媒体互动方法及装置 WO2024055689A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211124951.0A CN117750042A (zh) 2022-09-15 2022-09-15 一种流媒体互动方法及装置
CN202211124951.0 2022-09-15

Publications (1)

Publication Number Publication Date
WO2024055689A1 true WO2024055689A1 (zh) 2024-03-21

Family

ID=90256801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103469 WO2024055689A1 (zh) 2022-09-15 2023-06-28 一种流媒体互动方法及装置

Country Status (2)

Country Link
CN (1) CN117750042A (zh)
WO (1) WO2024055689A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980373A (zh) * 2005-12-01 2007-06-13 天津标帜科技有限公司 叠加式互动视频节目***
CN101159845A (zh) * 2007-08-01 2008-04-09 华为技术有限公司 交互业务提供方法、流媒体服务器及终端和交互业务***
CN104023250A (zh) * 2014-06-13 2014-09-03 腾讯科技(深圳)有限公司 基于流媒体的实时互动方法和***
CN105721923A (zh) * 2016-03-21 2016-06-29 北京正奇联讯科技有限公司 电视节目播出终端及播出中的互动信息处理方法和***
WO2017166622A1 (zh) * 2016-03-28 2017-10-05 乐视控股(北京)有限公司 一种视频播放方法、播放终端及媒体服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980373A (zh) * 2005-12-01 2007-06-13 天津标帜科技有限公司 叠加式互动视频节目***
CN101159845A (zh) * 2007-08-01 2008-04-09 华为技术有限公司 交互业务提供方法、流媒体服务器及终端和交互业务***
CN104023250A (zh) * 2014-06-13 2014-09-03 腾讯科技(深圳)有限公司 基于流媒体的实时互动方法和***
CN105721923A (zh) * 2016-03-21 2016-06-29 北京正奇联讯科技有限公司 电视节目播出终端及播出中的互动信息处理方法和***
WO2017166622A1 (zh) * 2016-03-28 2017-10-05 乐视控股(北京)有限公司 一种视频播放方法、播放终端及媒体服务器

Also Published As

Publication number Publication date
CN117750042A (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
CN107846633B (zh) 一种直播方法及***
EP3562163B1 (en) Audio-video synthesis method and system
CN108055496B (zh) 一种视频会议的直播方法和***
CN111818004B (zh) 云游戏直播方法、***及计算机可读存储介质
CN105656910B (zh) 媒体传输服务器、媒体传输***、用户终端和媒体传输方法
JP2002344880A (ja) コンテンツ配信システム
WO2012054895A2 (en) System architecture and method for composing and directing participant experiences
JP2013146077A (ja) リアルタイムマルチメディアストリーミング帯域幅管理
CN101420316B (zh) 影像分发***、影像中继装置
CN110602522B (zh) 一种多路实时直播WebRTC流合成方法
US11997324B2 (en) Systems and methods for dynamic optimization of content delivery in a wireless communication network
WO2021143043A1 (zh) 多人即时通讯方法、***、装置及电子设备
WO2018068481A1 (zh) 一种双目 720 度全景采集***
CN107317815A (zh) 一种视频叠加的方法及装置、存储介质和终端
EP3637722A1 (en) Method and apparatus for processing media information
CN113194335B (zh) 流媒体传输方法、传输设备和播放设备
US11431770B2 (en) Method, system, apparatus, and electronic device for managing data streams in a multi-user instant messaging system
CN114040232A (zh) 投屏***、方法、电子设备和存储介质
WO2021082479A1 (zh) 调整视频流的属性的方法和装置
WO2024055689A1 (zh) 一种流媒体互动方法及装置
CN111107387B (zh) 视频转码方法、装置及计算机存储介质
CN109862385B (zh) 直播的方法、装置、计算机可读存储介质及终端设备
CN110602523A (zh) 一种vr全景直播多媒体处理合成***和方法
JP2024519747A (ja) 5gネットワーク上でのエクステンデッドリアリティデータのスプリットレンダリング
CN114827734A (zh) 流媒体数据回放方法、装置、***和存储介质

Legal Events

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

Ref document number: 23864428

Country of ref document: EP

Kind code of ref document: A1