WO2019096307A1 - 视频播放方法、装置、计算设备及存储介质 - Google Patents

视频播放方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
WO2019096307A1
WO2019096307A1 PCT/CN2018/116205 CN2018116205W WO2019096307A1 WO 2019096307 A1 WO2019096307 A1 WO 2019096307A1 CN 2018116205 W CN2018116205 W CN 2018116205W WO 2019096307 A1 WO2019096307 A1 WO 2019096307A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
client
video
information
request
Prior art date
Application number
PCT/CN2018/116205
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 WO2019096307A1 publication Critical patent/WO2019096307A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof

Definitions

  • the present application relates to the field of information technology, and in particular, to a video playing method, a video playing device, a computing device, and a storage medium.
  • Video refers to various technologies that capture, record, process, store, transmit, and reproduce a series of still images as electrical signals.
  • continuous image changes exceed 24 frames per second, the human eye cannot distinguish a single static image according to the principle of visual persistence; it looks like a smooth continuous visual effect, so that the continuous picture is called video.
  • the example of the present application provides a video playing method, which is executed by a terminal, including: displaying first prompt information in a play interface of a video program, the first prompt information prompting whether to participate in a common viewing activity; and responding to the received representation a first instruction of a user participating in the common viewing activity, sending a participation request to the video server, the participation request carrying information of the first user and information of the video program, so that the video server is from a user participating in the co-viewing activity Selecting a second user who is watching the video program; receiving information of the second user that is sent by the video server in response to the participation request; displaying second prompt information in the play interface, the The second prompt information prompts whether to agree to watch the video program together with the second user; and in response to the received second instruction to agree to view the video program together with the second user, with the second user Client interaction media data.
  • the present application example correspondingly provides a video playing device, including: a first display module, displaying first prompt information in a play interface of the video program, the first prompt information prompting whether to participate in a common viewing event;
  • the request sending module sends a participation request to the video server in response to the received first instruction indicating that the first user participates in the common viewing activity, the participation request carrying the information of the first user and the information of the video program, so as to
  • the video server selects a second user who is watching the video program from among the users participating in the common viewing event; and the information receiving module receives the information of the second user that is sent by the video server in response to the participation request; a second display module, where the second prompt information is displayed in the play interface, the second prompt information prompts whether to agree to watch the video program together with the second user; and the connection module responds to the received consent and The second user views the second instruction of the video program together with the second user's client Interactive media data.
  • the present application also correspondingly proposes a video playing device, the device comprising a processor and a memory, the memory storing computer readable instructions, the processor being executable to: display in a play interface of the video program a first prompt information, the first prompt information prompting whether to participate in the common viewing activity; and in response to the received first instruction indicating that the first user participates in the common viewing activity, sending a participation request to the video server, where the participation request carries the first User information and information of the video program to cause the video server to select a second user who is watching the video program from among users participating in the co-viewing activity; receiving the video server in response to the participation request Sending information of the second user; displaying second prompt information in the play interface, the second prompt information prompting whether to agree to watch the video program together with the second user; in response to the received representation A second instruction to share the video program with the second user, with the second user
  • the client interacts with media data.
  • the example of the present application further provides a video frequency playing method, which is executed by the video server, and includes: receiving a participation request sent by the client of the first user, where the participation request indicates that the first user requests to participate in a common viewing event,
  • the participation request carries information of the first user and information of the video program; in response to receiving the participation request, selecting a second user who is watching the video program from among users participating in the common viewing event Transmitting, by the client of the first user, the information of the second user, sending the information of the first user to the client of the second user; and receiving the client of the first user, when the first user agrees a first connection establishment request sent when the video program is viewed together with the second user, the first connection establishment request indicating that the client request of the first user establishes a media connection with a client of the second user Receiving a second connection sent by the client of the second user when the second user agrees to view the video program together with the first user And the second connection establishment request indicates that the client request of the second user establishes
  • the present application example correspondingly provides a video playback apparatus, including: a first request receiving module, receiving a participation request sent by a client of the first user, where the participation request indicates that the first user requests to participate in a common viewing event,
  • the participation request carries information of the first user and information of the video program;
  • the information sending module in response to receiving the participation request, selects a second user who is watching the video program from among users participating in the common viewing event Sending the information of the second user to the client of the first user, and transmitting the information of the first user to the client of the second user;
  • the second request receiving module receiving the first user a first connection establishment request sent by the client when the first user agrees to view the video program together with the second user, the first connection establishment request indicating a client request of the first user and the The second user's client establishes a media connection;
  • the third request receiving module receives the second user's client when the second user agrees with the a second connection establishment request sent when the first user shares the video program, the
  • the present application example correspondingly proposes a video playing device, the device comprising a processor and a memory, the memory storing computer readable instructions, the processor: receiving the first user's client to send Participating in a request, the participation request indicating that the first user requests to participate in a common viewing event, the participation request carrying information of the first user and information of the video program; in response to receiving the participation request, from participating in the common viewing event Selecting, by the user, the second user who is watching the video program, sending the information of the second user to the client of the first user, and sending the information of the first user to the client of the second user Receiving a first connection establishment request sent by the client of the first user when the first user agrees to view the video program together with the second user, the first connection establishment request indicating the first The client request of the user establishes a media connection with the client of the second user; the client receiving the second user agrees with the second user a second connection establishment request sent by the first user when viewing the video program, the second connection establishment request indicating that the client
  • the present application also proposes a storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by a computing device, cause the computing device to perform the video described above Play method.
  • FIG. 1 is a schematic structural diagram of a system applicable to a video playing method according to an example of the present application
  • FIG. 2 is a flowchart of interaction between a video client and a video server in a video playing method according to an example of the present application
  • FIG. 3 is a flowchart of a video playing method of a video client in an example of the present application
  • FIG. 4 is an example of an interface for displaying a first prompt information by a client in an example of the present application
  • 5 is an example of an interface for displaying a second prompt information by a client in an example of the present application
  • FIG. 6 is an example of an interface of a client displaying a video window according to an example of the present application
  • FIG. 7 is an example of an interface of a client that displays a voice control for collecting voice according to an example of the present application
  • FIG. 8 is an example of an interface of a client that displays a voice control for playing a voice according to an example of the present application
  • 9 is an example of an interface of a voice control for a client to display a voice call according to an example of the present application.
  • FIG. 10 is a flowchart of a video playing method of a video server according to an example of the present application.
  • FIG. 11 is a schematic structural diagram of a video playing device according to an example of the present application.
  • FIG. 12 is a schematic structural diagram of a video playing device according to an example of the present application.
  • FIG. 13 is a schematic structural diagram of hardware of a computing device according to an example of the present application.
  • FIG. 14 is a schematic structural diagram of hardware of a computing device according to an example of the present application.
  • the present application proposes a video playing method, which can be applied to various clients having a video playing function, such as a video client, news. Client, social application client, etc.
  • the video server is used as the video
  • the client is the video client
  • the server corresponding to the client is taken as an example.
  • FIG. 1 is a schematic structural diagram of a system to which a video playing method of an example of the present application is applied.
  • the system includes at least a terminal 11, a network 12, and a video server 13 including a video client.
  • the video client includes a first application that can implement the video playing method of the present application, and the terminal 11 can run the first application; wherein the terminal 11 includes an electronic device such as a smart TV, a tablet, a smart phone, and the like.
  • the video client receives various instructions sent by the user to the video client and responds according to various received commands.
  • the video client in the terminal 11 interacts with the video server 13 through the network 12 to implement various information exchanges.
  • the network 12 can be a wired network or an infinite network.
  • the video client can exchange information with the video server 13 through a wired network, and the video client can also interact with the video server 13 through the wireless network.
  • the video server 13 is installed with a second application that can implement the video playing method of the present application.
  • the second application corresponds to the first application in the video client, and the video server 13 receives the information sent by the video client through the network 12.
  • the video server 13 analyzes, calculates, stores, and the like of the received information through the second application described above.
  • the client and the server included in the foregoing system are not limited to the video client and the video server 13, and may be other clients having a video playing function and a server corresponding to the client having the video playing function. Such as news clients and news servers.
  • an example of the present application proposes a video playing method applied to a video client in the terminal 11.
  • the method will be described below in conjunction with FIGS. 2 and 3. As shown in FIG. 3, the method includes the following steps:
  • Step 301 Display first prompt information in the play interface 401 of the video program, the first prompt information prompting whether to participate in the common viewing activity.
  • the video client obtains a video stream of the video program from the video server 13 and plays the video program.
  • the video client of the first user receives an instruction to play the video program sent by the first user, and responds to the playback instruction, the video of the first user.
  • the client sends a play request to the video server 13, where the play request carries the identifier of the video program, such as the name of the video program or the ID of the video program;
  • the video server 13 receives the play request, the video server 13 responds to the play request and passes Parsing the identifier of the video program obtained by the play request, searching for the target video program from the video database, and then performing step 201 in FIG.
  • step 202 in FIG. 2 playing the target video program, the first user can view the current target video program through the terminal 11 (such as a smart TV).
  • An image capture device (such as a front camera of a smart TV or a tablet) acquires image information of the first user; sends a determination request carrying the image information to the video server 13, and the determination request is used to request to determine the first Whether the user is in an independent state, that is, requesting to determine whether the first user watches the video program alone; and receiving the determination result returned by the video server 13 in response to the determination request, the determination result indicating that the first user is in a self-owned state or The first user is not in a self-contained state; wherein, if the determination result indicates that the first user is in an independent state, performing the step of displaying the first prompt information in the play interface of the video program.
  • both the first user and the second user need to watch the video program through the respective video client, so the video client of the second user executes when playing the video program.
  • the steps are the same as those performed by the first user's video client while playing the video program. Only two users (first user and second user) are shown in the scenario of FIG. 2, but there will be a large number of users in the actual scenario, and each user's video client can perform the above processing.
  • the video client calls the camera of the terminal 11 (such as the front camera of the mobile phone) to obtain the image information of the local user
  • the video client needs to obtain the authorization of the user of the terminal 11, and the video client can obtain the video client when the terminal 11 installs the video client.
  • the authorization of the user of the terminal 11 may also prompt the local user to authorize the call of the camera before acquiring the image information of the local user.
  • FIG. 2 shows step 203: displaying the first prompt information
  • FIG. 4 shows a smart TV as an example, showing the first prompt information displayed in the lower right corner of the play interface 401 of the video program
  • the first prompt information may prompt the user Whether to participate in the co-viewing activity, that is, the text information of "shake and remote control common viewing" shown in FIG.
  • the video client of the second user performs the step 203 with the video client of the first user to display the first prompt information, and the specific processing manner is the same as that of the first user.
  • the video client is handled in the same way and will not be described here.
  • the display position of the first prompt information on the play interface 401 is not limited to the lower right corner of the play interface 401, and may be displayed at other positions of the play interface 401 without affecting the user watching the video program, or may be other display forms. It is not limited to text information. For example, it can be various graphic elements that can provide operation prompts for users, such as icons, animations, etc., or controls, prompting the user to select or click on the control, regardless of the form, as long as the user can be prompted. How to participate in the activities of watching videos together is within the scope of this application.
  • Step 302 Send a participation request to the video server 13 in response to the received first instruction indicating that the first user participates in the common viewing activity, the participation request carrying the information of the first user and the information of the video program to make the video
  • the server 13 selects a second user who is watching the video program from among the users participating in the co-viewing event.
  • the first instruction is sent to the video client of the first user, for example, the first user shakes the remote controller, and the acceleration sensor built in the remote controller detects that the remote controller is shaking Sending a signal to the video client of the first user.
  • the video client of the first user receives the first instruction sent by the first user, in response to the first instruction, performing step 204 shown in FIG. 2:
  • the video server 13 issues a participation request, and the participation request includes the identification of the first user and the identification of the video program, such as the first user ID and the ID of the video program, thereby causing the video server 13 to select being viewed from among the users participating in the co-viewing activity.
  • the other users of the video program select at least one other user as the second user according to the matching rule.
  • the above-mentioned users refer to other users who participate in the common viewing activity through other video clients. Therefore, in the above steps, the respective video clients (including the video clients of the second user) of the users are participating in common.
  • the specific processing manner performed during the viewing of the event is the same as the above-mentioned specific processing performed by the video client of the first user when participating in the co-viewing activity, and details are not described herein again.
  • Step 303 Receive information of the second user that is sent by the video server 13 in response to the participation request.
  • the video client receiving video server 13 of the first user executes step 206 shown in Fig. 2 in response to the participation request: transmitting the identity of the second user (e.g., the ID of the second user).
  • FIG. 2 shows that the video client receiving video server 13 of the second user performs step 207 shown in FIG. 2 in response to the participation request: transmitting the identifier of the first user (the first user) ID).
  • Step 304 Display second prompt information in the play interface 401, and the second prompt information prompts whether to agree to watch the video program together with the second user.
  • step 208 shown in FIG. 2 is performed: displaying the second prompt information;
  • FIG. 5 shows a smart TV as an example. Displaying second prompt information in the middle of the play interface 401 of the video client of the first user; the second prompt information prompting the first user whether to agree to watch the video program together with the second user, for example, as shown in FIG.
  • the text message "XX invites you to watch "XXXX” together, wherein the ID of the second user is "XX" and the video program is "XXXXX".
  • a user sends a second instruction to the first video client of the first user, for example, the first user selects the consent instruction 502 on the play interface 401 by using the OK button in the remote controller, or the first user directly selects the play interface 401 by touch.
  • the consent instruction 502 if the first user does not agree to watch the video program together with the second user, the first user issues a third instruction, such as the first user passing the remote control Reject Order 503 to select the player interface 401, the user selects the first or Reject Order 401 on the player interface 503 directly touching manner.
  • the second prompt information may also be displayed through a display interface in the form of a pop-up window.
  • the pop-up interface 501 is in the middle of the play interface 401, and the second prompt information is displayed in the pop-up window 501.
  • the second prompt information may also be displayed by other display forms, and is not limited to a single text information and pop-up interface 501, such as various graphic elements capable of providing operation prompts to the user, for example, icons and animations.
  • it may be a control that prompts the user to select or click on the control, regardless of the form, as long as the purpose of the first user and the second user to view the video program together is all within the scope of the present application.
  • the display position of the second prompt information may be displayed in the middle of the play interface 401, or may be displayed at any position that the user can view on the play interface 401.
  • FIG. 2 shows that the video client of the second user performs step 208: displaying the second prompt information, and the video client of the second user performs the specific processing manner of step 208 and the video client of the first user.
  • the specific processing manner of the step 208 is the same, and only the content of the second prompt information displayed is different.
  • the second prompt information of the video client of the second user is: “YY invites you to watch the text of “XXXX” together, wherein The ID of the first user is "YY", and the video program is "XXXX”, which will not be described here.
  • Step 305 React media data with the video client of the second user in response to the received second instruction agreeing to share the video program with the second user.
  • the method further includes: establishing, by the video server 13, a media connection with the video client of the second user, and after establishing the media connection, performing the second user with the media connection The steps of the video client to interact with the media data.
  • the video client of the first user When the video client of the first user receives the second instruction, such as the consent command 502 sent by the first user through the remote controller, or receives the consent command 502 issued by the first user by means of a touch, the first user In response to the second instruction, such as the consent instruction 502, the video client of the first user establishes a media connection with the video client of the second user via the video server 13.
  • the second instruction such as the consent command 502 sent by the first user through the remote controller, or receives the consent command 502 issued by the first user by means of a touch
  • the first user In response to the second instruction, such as the consent instruction 502, the video client of the first user establishes a media connection with the video client of the second user via the video server 13.
  • the foregoing media connection refers to a video interactive connection, a voice interactive connection, or even a text information interaction connection between video clients implemented through the network 12, as long as the media connection of the interactive media data can be realized.
  • the foregoing media connection refers to a video interactive connection, a voice interactive connection, or even a text information interaction connection between video clients implemented through the network 12, as long as the media connection of the interactive media data can be realized.
  • the step of establishing a media connection with the video client of the second user via the video server 13 includes: the video client of the first user executing the second instruction, such as the consent instruction 502, in response to the second instruction 2, step 209: sending a media connection establishment request to the video server 13 to request to establish a media connection with the second user's video client; the first user's video client receiving video server 13 is responsive to the Establishing communication information requested to be returned, the communication information includes IP address information of the video client of the second user, a communication port number, and the like; the video client of the first user responds to the communication information according to a network communication protocol (eg, TCP/ IP network protocol) to connect the IP address information and port number of the video client of the second user, thereby performing step 210 shown in FIG. 2: establishing media between the video client of the first user and the video client of the second user connection.
  • a network communication protocol eg, TCP/ IP network protocol
  • FIG. 2 shows that the video client of the second user performs step 209: sending a media connection establishment request to the video server 13, and the specific processing manner of the step is the same as that of the first user.
  • the video client performs the same processing in the step 209. The only difference is that the second user requests to establish a media connection with the first user, and details are not described herein again.
  • the media connection between the video clients may be performed by the video client of the first user to find the video client of the second user, thereby performing a communication connection, or the video client of the second user may find the video client of the first user.
  • the communication connection may also be that the video client of the first user and the video client of the second user simultaneously find each other to perform a communication connection.
  • the step of interacting with the video client of the second user through the media connection has the following implementation manners:
  • the media data includes video data, that is, the media connection is a video interaction connection between video clients implemented by the network 12;
  • FIG. 6 is a smart TV, for example, the smart TV displays a video client playback interface.
  • 401. Interacting media data with the video client of the second user by using a media connection, including: displaying a video window 601 in a first area of the play interface 401 of the video client of the first user; displaying in the video window 601 a video image 602 of the second user received through a media connection (such as a video interactive connection); obtaining a video image of the local first user through a local image capture device (eg, through a front camera of the smart TV) and connecting through the media (eg, video)
  • the interactive connection is sent to the video client of the second user, thereby performing step 211 shown in FIG. 2: the video client of the first user interacts with the video client of the second user.
  • the video window 601 may be displayed in the lower right corner of the playing interface 401, or may be displayed at other positions of the playing interface 401 without affecting the user watching the video program.
  • the first area may be preset or may be determined according to preset or real-time parameters.
  • the video processing of the second user's video client interacts with the video client of the first user through a media connection (such as a video interactive connection), and the video client of the first user is
  • a media connection such as a video interactive connection
  • the video client of the first user is The specific processing manner when the video data is exchanged with the video client of the second user through the media connection (such as the video interactive connection) is the same, and will not be described here.
  • displaying the video window in the first area of the play interface 401 includes: when the video client of the first user detects that a video interactive connection between the video clients has been established, the terminal 11 establishes a video window float After the terminal 11 establishes the floating layer of the video window, the video client of the first user pulls up the floating layer of the video window to the lower right corner of the playing interface 401 for display.
  • the video client of the first user establishes a video interaction connection with the video client of the second user
  • the video client of the first user and the video client of the second user are connected to each other in response to the video.
  • the window floating layers are established by the respective terminals 11, and the respective video floating layers are pulled up by the respective video clients to the first area of the respective playing interfaces 401.
  • the media data includes audio data, that is, the media connection is a voice interaction connection between video clients implemented through the network 12; and the media client interacts with the video client of the second user through the media connection.
  • Data including: displaying a voice control in a second area of the play interface 401 of the first user's video client; in response to a first operation of the voice control, a microphone set by a local voice collection device, such as a smart television Or a microphone built in the tablet, acquiring the voice of the first user and transmitting to the video client of the second user through a media connection (such as a voice interactive connection); in response to the second operation of the voice control, playing The voice of the second user received through a media connection, such as a voice interactive connection.
  • a media connection such as a voice interactive connection
  • the voice control includes at least an operation button; the first operation and the second operation are operations on the operation button.
  • FIG. 7 shows a tablet computer as an example, showing that the playback interface 401 of the video client of the first user displays the voice control.
  • the "press and hold” voice control 701 converts the “press and hold” voice control 701 into “loose” when the first user triggers the "hold and talk” voice control 701 by pressing the OK button of the remote controller or by touch.
  • the end of the voice control 702 the video client of the first user acquires the voice of the first user and stores it through a local voice collection device (such as a microphone built in the tablet) in response to the trigger operation of the first user.
  • a local voice collection device such as a microphone built in the tablet
  • the first user releases the "release end" voice control 702 by releasing the OK button of the remote controller or releasing the touch action, and the first user's video client responds to the release operation of the first user.
  • a user's voice is sent to the video client of the second user through a voice interactive connection;
  • FIG. 8 takes a tablet computer as an example, when the video client of the first user receives the first
  • the “play voice” voice control 801 is displayed in the lower right corner of the play interface 401 of the video client of the first user, and when the first user is detected, the user is pressed and released.
  • the video client of the first user responds to the playing operation, and plays the second user through a local voice playing device (such as a built-in speaker of the tablet). voice.
  • the above triggering operation and the above-mentioned releasing operation belong to the above first operation, and the combination of the two can be regarded as one of the above-mentioned first operations.
  • the voice control may further include a voice state graphic element.
  • a voice state graphic element For example, in FIG. 7, the video client of the first user acquires the voice of the second user when acquiring the voice of the first user or the video client of the second user.
  • the voice state graphic element 703 displayed by the play interface 401 displays the voice collection state.
  • the video client of the first user is playing the voice of the second user or the video client of the second user.
  • the voice state graphic element 802 displayed by the play interface 401 is used to display the voice play state.
  • FIG. 9 is a tablet computer, showing a tablet computer displaying a voice control displayed by the play interface 401 of the video client of the first user, where the video client of the first user interacts with the video client of the second user through the media connection.
  • the video client of the first user acquires the voice of the first user in real time through a local voice collection device (such as a built-in microphone of the tablet) in response to the establishment of the voice interaction connection, and sends the voice to the
  • the video client of the second user plays the voice of the second user received through the voice interactive connection through a local voice playing device (such as a built-in speaker of the tablet) in real time.
  • a local voice playing device such as a built-in speaker of the tablet
  • the “hang up” voice control 901 may be displayed in the lower right corner of the play interface 401, and the first user triggers the “hang up” by pressing the OK button of the remote controller or by touch.
  • the voice control 901 is started, the video client of the first user will disconnect the voice interaction with the video client of the second user, that is, the first user will end the real-time conversation with the second user.
  • the video client of the second user interacts with the video client of the first user by using a voice interactive connection, and the video client of the first user is connected through the video interaction.
  • the specific processing of the second user's video client when interacting with voice data is the same, and will not be described here.
  • the voice control may be directly displayed in the lower right corner of the playing interface 401, or may be displayed in the lower right corner of the playing interface 401 through a voice window.
  • the voice window is established under the playing interface 401 and passes through the video client of the first user. Or the video client of the second user is pulled up to the lower right corner of the play interface 401; and the voice control or voice window may be displayed in other areas of the play interface 401 without affecting the user watching the video program.
  • the user can autonomously set the form of the above media connection in the respective video client.
  • the video client When the video client is connected to the media in the above manner, if the media connection fails, the media data cannot be directly sent to the video client of the second user through the video client of the first user, and the video server 13 is required to access the media.
  • the data is transferred, that is, the video client of the first user or the video client of the second user sends the media data to the video server 13, and the video server forwards the media data to the video client of the second user or the video of the first user.
  • Client the video client of the first user or the video client of the second user sends the media data to the video server 13, and the video server forwards the media data to the video client of the second user or the video of the first user.
  • the user when the user watches the video program, the user can perform real-time communication with other users who watch the same video program, and the interaction such as real-time video chat and voice chat can be realized through the media connection, and a new one is provided. While the interactive function in the video viewing process can eliminate the loneliness of the user when watching the video program, the user is provided with a high quality viewing experience.
  • an example of the present application also proposes a video playing method applied to the video server 13, which will be described below in conjunction with FIGS. 2 and 10. As shown in FIG. 10, the method includes the following steps:
  • Step 1001 Receive a participation request sent by the video client of the first user, where the participation request indicates that the first user requests to participate in a common viewing activity, and the participation request carries information of the first user and information of the video program.
  • video server 13 transmits a video stream of the video program to the video client of the first user in response to the received play request sent by the video client of the first user.
  • the video server 13 When the video server 13 receives the play request, in response to the play request, the identifier of the video program obtained by parsing the play request (such as the ID of the video program), finds the target video program from the video database, and then executes FIG. 2 Step 201: transmitting a video stream of the target video program to a video client of the first user, and after the video client of the first user receives the video stream transmitted by the video server 13, playing the video program, A user can then view the current video program through a video client installed by the terminal 11 (such as a smart TV).
  • a video client installed by the terminal 11 such as a smart TV
  • the video server 13 receives the Determining a request sent by the video client of the first user, the determining request carrying image information of the first user, the determining request is used to request to determine whether the first user is in a unique state; and the video server 13 is responsive to receiving
  • the determining request generates the corresponding two-dimensional matrix data by the image information, and inputs the two-dimensional matrix data into a face recognition model in the face recognition model library, and the face recognition in the face recognition model
  • the algorithm calculates the number of faces in the image information, that is, the number of the first user, and determines whether the first user is in an independent state by the number of faces, and when the number of faces is one, the judgment is performed.
  • a user is in a self-contained state, otherwise the first user is not in a self-contained state, and the judgment result is sent to the video client of the first user, the judgment Result indicates that the first user is alone in the state or the user is not in the first state alone.
  • the face recognition model described above can be established by a Support Vector Machine (SVM) and a Principal Component Analysis (PCA) algorithm.
  • SVM Support Vector Machine
  • PCA Principal Component Analysis
  • FIG. 2 only shows the first user and the second user, but in the actual scenario, the video server 13 receives the above request and the above information sent by the video client of the massive user, and the video server 13 responds to the massive amount.
  • the specific processing manner of the request and the information sent by the video client of the user is the same as the specific processing of the request and the information sent by the video server 13 in response to the video client of the first user, and details are not described herein again.
  • the video server 13 receives the participation request sent by the video client of the first user, and the participation request includes an identification of the first user (such as the first user ID) and an identification of the video program (such as the ID of the video program).
  • FIG. 2 only shows the first user and the second user, but in the actual scenario, the video server 13 receives the above request and the above information sent by the video client of the massive user, and the video server 13 responds to the massive amount.
  • the specific processing manner of the request and the information sent by the video client of the user is the same as the specific processing of the request and the information sent by the video server 13 in response to the video client of the first user, and details are not described herein again.
  • Step 1002 In response to receiving the participation request, select a second user who is watching the video program from among users participating in the common viewing activity, and send the second user to the video client of the first user. And transmitting, to the video client of the second user, the information of the first user.
  • the video server 13 selects, from the users participating in the co-viewing activity, the second user who is viewing the video program in response to the received participation request, including: by the identification of the video program (eg, a video program) ID), the video server 13 acquires the identifier of the candidate user (such as a candidate user ID or a candidate user ID list) that participates in the common viewing activity and is watching the video program; and obtains from the user information database by the identifier of the candidate user Corresponding to the attribute information of the candidate user (such as gender, geographical location, age, etc.); calculating the attribute information score of the candidate user by using the weight algorithm, and performing step 205 shown in FIG.
  • the identification of the video program eg, a video program
  • the video server 13 acquires the identifier of the candidate user (such as a candidate user ID or a candidate user ID list) that participates in the common viewing activity and is watching the video program; and obtains from the user information database by the identifier of the candidate user Corresponding to the attribute information
  • step 206 The video server 13 sends the identifier of the second user (such as the second user ID) to the video client of the first user, and step 207: the video server 13 sends the identifier of the first user to the video client of the second user (such as the first User ID).
  • the selection rule includes any one of the following items: selecting a candidate user with the highest attribute information score as the second user; selecting a candidate user within the attribute information score threshold range as the second user; or selecting each from high to low
  • the candidate user's attribute information scores are sorted, and a predetermined number of candidate users ranked as the second user are selected as the second user.
  • the candidate user should be multiple users.
  • the order of the weight of the attribute information may be: gender, geographical location, age; if the candidate user gender is the same as the first user gender, the candidate user gender attribute score is high or the candidate user gender attribute score is not If the candidate user's geographic location is closer to the first user's geographic location, the candidate user's geographic location attribute score is higher. If the candidate user's age is closer to the first user's age, the candidate user's age attribute score is higher. Based on the weight of the attribute information, the attribute information score of the candidate user is calculated according to the weight algorithm. According to requirements, attribute information of other candidate users may also be added, such as some network access behavior characteristics of the user, such as content tags of interest, product tags of interest, game/movie tags of interest, etc., according to the above steps.
  • one or more second users that are closest to one or some features of the first user may be determined according to a pre-configured algorithm that is recommended to the first user as a common viewing of the current video.
  • the user of the show the video server 13 also receives the participation request of the second user, and uses the same algorithm to determine that the user that best matches the second user is the first user, so that the first user can be recommended as the second user for common viewing.
  • the user of the current video program is
  • video server 13 may receive a plurality of such participation requests from a user who is watching a certain video program, and video server 13 may employ a pre-configured algorithm to determine one or more co-viewed user sets, one of which The user set includes at least two users (the first user and the second user), and the users in the user set have a high degree of matching with each other (for example, reaching a predetermined threshold or the highest matching degree, etc.), then for any user Other users in the user collection are recommended for viewing the current video program together.
  • a preferred method is that a user set includes two users, that is, for one user, it can watch video programs together with one user.
  • the video client's play interface 401 can display a video window corresponding to each user, and a media connection interaction with a voice control or a voice window corresponding to each user. interface.
  • FIG. 2 only shows the first user and the second user, but in the actual scenario, the video server 13 receives the above request and the above information sent by the video client of the massive user, and the video server 13 responds to the massive amount.
  • the specific processing manner of the request and the information sent by the video client of the user is the same as the specific processing of the request and the information sent by the video server 13 in response to the video client of the first user, and details are not described herein again.
  • Step 1003 Receive a first connection establishment request sent by the video client of the first user when the first user agrees to watch the video program together with the second user, where the first connection establishment request indicates The video client of the first user requests to establish a media connection with the video client of the second user.
  • the video server 13 receives the first connection establishment request sent by the video client of the first user, and the first connection establishment request indicates the video client of the first user. Request to establish a media connection with the video client of the second user.
  • Step 1004 Receive a second connection establishment request sent by the video client of the second user when the second user agrees to view the video program together with the first user, where the second connection establishment request indicates The video client request of the second user establishes a media connection with the video client of the first user.
  • the video server 13 receives the second connection establishment request sent by the video client of the second user, and the second connection establishment request indicates the video client of the second user. Request to establish a media connection with the video client of the first user.
  • the triggering condition for establishing a media connection between the video client of the first user and the video client of the second user by the video server 13 is that the video server 13 receives the above-mentioned video client sent by the first user.
  • the first connection establishment request further receives the second connection establishment request sent by the video client of the second user.
  • Step 1005 Establish a media connection between the video client of the first user and the video client of the second user in response to the first connection establishment request and the second connection establishment request, so as to enable The video client of the first user interacts with the video client of the second user through the media connection to exchange media data.
  • the video server 13 establishes media between the video client of the first user and the video client of the second user in response to the first connection establishment request and the second connection establishment request.
  • the connection includes: after the video server 13 receives the first connection establishment request sent by the video client of the first user, and also receives the second connection establishment request sent by the video client of the second user, the video server 13 Transmitting first communication information to the video client of the first user, where the first communication information includes IP address information, a communication port number, and the like of the video client of the second user, so that the video client of the first user is configured according to the network
  • the communication protocol connects to the IP address information and port number of the video client of the second user, thereby performing step 211 shown in FIG. 2: establishing a media connection between the video client of the first user and the video client of the second user.
  • the video server 13 After the video server 13 receives the first connection establishment request sent by the video client of the first user, and also receives the second connection establishment request sent by the video client of the second user, the video server 13 responds to the a second connection establishment request, sending second communication information to the video client of the second user, where the second communication information includes IP address information, a communication port number, etc. of the video client of the first user, so that the first The video client of the second user connects to the IP address information and the port number of the video client of the first user according to the network communication protocol, so that the media client of the second user establishes a media connection with the video client of the first user. .
  • the media connection between the video clients may be through the video client of the first user to find the video client of the second user, thereby performing a communication connection, or the video client of the second user may find the first user.
  • the video client thus performs a communication connection, and the video client of the first user and the video client of the second user can simultaneously find each other to perform a communication connection.
  • a video playback device corresponding to the video client in the terminal 11 is provided.
  • the example of the present application further provides a video playback device 1100, which is applied to a video client.
  • the video playback device 1100 includes: A display module 1101, a first request sending module 1102, an information receiving module 1103, a second display module 1104, and a connection module 1105, and the functions of each module are as follows:
  • the first display module 1101 displays first prompt information in a play interface of the video program, and the first prompt information prompts whether to participate in a common viewing event.
  • the first request sending module 1102 in response to the received first instruction indicating that the first user participates in the common viewing activity, sends a participation request to the video server, where the participation request carries the information of the first user and the video program. Information for causing the video server to select a second user who is viewing the video program from among the users participating in the co-viewing activity.
  • the information receiving module 1103 is configured to receive information about the second user that is sent by the video server in response to the participation request.
  • the second display module 1104 is configured to display second prompt information in the play interface, where the second prompt information prompts whether to agree to watch the video program together with the second user;
  • connection module 1105 interacts with the video client of the second user in response to the received second instruction to agree to view the video program with the second user.
  • the video playback device 1100 further includes: a playback module, acquiring a video stream of the video program from the video server and playing the video program; and an acquisition module, when detecting the When a user views a video program, the image information of the first user is acquired by the local image collection device; the second request sending module sends a determination request for carrying the image information to the video server, and the determination request is used for Requesting to determine whether the first user is in a self-contained state; and a result receiving module, receiving a determination result returned by the video server in response to the determining request, the determining result indicating that the first user is in an independent state or the first The user is not in a self-contained state; wherein, if the determination result indicates that the first user is in a self-contained state, the first display module is executed.
  • a playback module acquiring a video stream of the video program from the video server and playing the video program
  • an acquisition module when detecting the When a user views a video program, the image information of the first
  • connection module 1105 is executed, a media connection with the video client of the second user is established through the video server, and then, through the media connection. Interacting media data with the video client of the second user.
  • connection module 1105 further includes: a first response unit that, in response to the second instruction, sends a media connection establishment request to the video server to request a video client with the second user Establishing a media connection; the first receiving unit receives communication information returned by the video server in response to the establishment request, the communication information includes address information of a video client of the second user; and in response to the communication information, The video client of the second user establishes a media connection.
  • the media data includes video data
  • the connection module 1105 further includes: a first display unit, displaying a video window in a first area of the play interface; and a second display unit in the video window
  • the video image of the second user received through the media connection is displayed;
  • the first sending unit acquires the video image of the first user through the local image collecting device and sends the video image to the second through the media connection User's video client.
  • the first display unit further includes: a pull-up unit that, when detecting that the media connection has been established, pulls up a video window floating layer in the first area to present a video window.
  • the media data includes audio data
  • the connection module 1105 further includes: a third display unit that displays a voice control in a second area of the play interface; and a second sending unit that is responsive to the a first operation of the voice control, the voice of the first user is obtained by the local voice collection device and sent to the video client of the second user through the media connection; the playing unit is responsive to the voice control The second operation plays the voice of the second user received through the media connection.
  • the voice control includes at least an operation button; the first operation and the second operation are operations on the operation button.
  • the voice control further includes a voice state graphic element;
  • the apparatus further includes: a third display module, displaying the voice collection state by the voice state graphic element when acquiring the voice of the first user;
  • the four display module displays the voice playing state through the voice state graphic element when playing the voice of the second user.
  • the media data includes audio data
  • the connection module 1105 includes: a third sending unit, in response to the establishment of the media connection, acquiring the voice of the first user and passing through the local voice collection device in real time.
  • the media connection is sent to the video client of the second user, and the voice of the second user received through the media connection is played in real time.
  • the user when the user watches the video program, the user can perform real-time communication with other users who watch the same video program, and the interaction such as real-time video chat and voice chat can be realized through the media connection, and a new one is provided. While the interactive function in the video viewing process can eliminate the loneliness of the user when watching the video program, the user is provided with a high quality viewing experience.
  • FIG. 13 shows a compositional diagram of a computing device 1300 in which the video playback device 1100 is located.
  • This computing device can be a terminal device, such as terminal 11 provided in FIG.
  • the computing device includes one or more processors (CPU) 1302, a communication module 1304, a memory 1306, a user interface 1310, and a communication bus 1308 for interconnecting these components.
  • the processor 1302 can receive and transmit data through the communication module 1304 to effect network communication and/or local communication.
  • User interface 1310 includes one or more output devices 1312 that include one or more speakers and/or one or more visual displays.
  • User interface 1310 also includes one or more input devices 1314 including, for example, a keyboard, a mouse, a voice command input unit or loudspeaker, a touch screen display, a touch sensitive tablet, a gesture capture camera or other input button or control, and the like.
  • the memory 1306 can be a high speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state storage device; or a nonvolatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
  • a high speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state storage device
  • nonvolatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
  • the memory 1306 stores a set of instructions executable by the processor 1302, including:
  • An operating system 1316 including a program for processing various basic system services and for performing hardware related tasks
  • the application 1318 includes various applications for video playback that enable the processing flow in the various examples described above, such as may include some or all of the units in the video playback device 1100 shown in FIG. At least one of the units 1101-1105 may store a machine executable instruction.
  • the processor 1302 can implement the functions of at least one of the units 1101-1105 described above by executing machine executable instructions in at least one of the units 1101-1105 in the memory 1306.
  • the example of the present application further provides a video playing device 1200, which is applied to the video server 13.
  • the video playing device 1200 includes: a transmitting module 1201.
  • the first request receiving module 1202, the information sending module 1203, the second request receiving module 1204, the third request receiving module 1205, and the establishing module 1206, and the functions of the respective modules are as follows:
  • the first request receiving module 1201 receives a participation request sent by the video client of the first user, where the participation request indicates that the first user requests to participate in a common viewing activity, and the participation request carries the information of the first user and the video. Program information.
  • the information sending module 1202 in response to receiving the participation request, select a second user who is watching the video program from among the users participating in the common viewing activity, and send the second to the video client of the first user.
  • the information of the user sends the information of the first user to the video client of the second user.
  • the second request receiving module 1203 receives a first connection establishment request sent by the video client of the first user when the first user agrees to view the video program together with the second user, the first connection
  • the setup request indicates that the video client request of the first user establishes a media connection with the video client of the second user.
  • the third request receiving module 1204 receives a second connection establishment request sent by the video client of the second user when the second user agrees to view the video program together with the first user, the second connection
  • the setup request indicates that the video client request of the second user establishes a media connection with the video client of the first user.
  • the establishing module 1205 in response to the first connection establishment request and the second connection establishment request, establishing a media connection between the video client of the first user and the video client of the second user, so that The video client of the first user interacts with the video client of the second user through the media connection.
  • the video playback apparatus 1200 further includes: a transmission module, in response to the received play request sent by the video client of the first user, the video to the first user The client transmits a video stream of the video program; the fourth request receiving module receives a determination request sent by the video client of the first user, the determination request carries image information of the first user, and the determination request is used for Requesting to determine whether the first user is in a unique state; and determining, in response to the received determination request, inputting matrix data of the image information into a face recognition model, and determining a face in the image information And determining, by the number of the faces, whether the first user is in a self-contained state, and transmitting a determination result to the video client of the first user, where the determination result indicates that the first user is in an independent state or The first user is not in a self-contained state.
  • the information sending module 1202 further includes: a first acquiring unit, acquiring information of the candidate user participating in the common viewing event and watching the video program; and a second acquiring unit, by the candidate user And acquiring information of the corresponding user from the user information database; and selecting a unit, and selecting, according to the attribute information of the user, a second user that matches the feature of the first user from the candidate users.
  • the establishing module 1205 further sends first communication information to the video client of the first user, where the first communication information includes address information of a video client of the second user, so that the first A video client of a user establishes a media connection with the video client of the second user through the first communication information.
  • the establishing module 1205 further transmits second communication information to the video client of the second user in response to the first connection establishment request and the second connection establishment request, the second The communication information includes address information of the video client of the first user, so that the video client of the second user establishes a media connection with the video client of the first user through the second communication information.
  • FIG. 14 shows a block diagram of the computing device 1400 in which the video playback device 1200 is located.
  • This computing device 1400 can be a video server.
  • the computing device includes one or more processors (CPUs) 1402, communication modules 1404, memories 1406, user interfaces 1410, and a communication bus 1008 for interconnecting these components.
  • processors CPUs
  • communication modules 1404 communication modules 1404, memories 1406, user interfaces 1410, and a communication bus 1008 for interconnecting these components.
  • communication bus 1008 for interconnecting these components.
  • the processor 1402 can receive and transmit data through the communication module 1404 to effect network communication and/or local communication.
  • User interface 1410 includes one or more output devices 1412 that include one or more speakers and/or one or more visual displays.
  • User interface 1410 also includes one or more input devices 1414 including, for example, a keyboard, a mouse, a voice command input unit or loudspeaker, a touch screen display, a touch sensitive tablet, a gesture capture camera or other input button or control, and the like.
  • the memory 1406 can be a high speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state storage device; or a nonvolatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
  • a high speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state storage device
  • nonvolatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
  • the memory 1406 stores a set of instructions executable by the processor 1402, including:
  • Operating system 1416 including programs for processing various basic system services and for performing hardware related tasks
  • the application 1418 includes various applications for video playback that enable the processing flow in the various examples described above, such as may include some or all of the modules in the video playback device 1200 shown in FIG.
  • At least one of the modules 1201-1205 can store machine executable instructions.
  • the processor 1402 can implement the functions of at least one of the modules 1201-1205 described above by executing machine executable instructions in at least one of the modules 1201-1205 in the memory 1406.
  • the hardware modules in the embodiments may be implemented in a hardware manner or a hardware platform plus software.
  • the above software includes machine readable instructions stored in a non-volatile storage medium.
  • embodiments can also be embodied as software products.
  • the hardware may be implemented by specialized hardware or hardware that executes machine readable instructions.
  • the hardware can be a specially designed permanent circuit or logic device (such as a dedicated processor such as an FPGA or ASIC) for performing a particular operation.
  • the hardware may also include programmable logic devices or circuits (such as including general purpose processors or other programmable processors) that are temporarily configured by software for performing particular operations.
  • each instance of the present application can be implemented by a data processing program executed by a data processing device such as a computer.
  • the data processing program constitutes the present application.
  • a data processing program usually stored in a storage medium is executed by directly reading a program out of a storage medium or by installing or copying the program to a storage device (such as a hard disk and or a memory) of the data processing device. Therefore, such a storage medium also constitutes the present application, and the present application also provides a non-volatile storage medium in which a data processing program is stored, which can be used to execute any of the above-mentioned method examples of the present application. An example.
  • the machine readable instructions corresponding to the modules of Figures 11 and 12 may cause an operating system or the like operating on a computer to perform some or all of the operations described herein.
  • the non-transitory computer readable storage medium may be inserted into a memory provided in an expansion board within the computer or written to a memory provided in an expansion unit connected to the computer.
  • the CPU or the like installed on the expansion board or the expansion unit can perform part and all of the actual operations according to the instructions.
  • the devices and modules in the various examples of the present application may be integrated into one processing unit, or each module may exist physically separately, or two or more devices or modules may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

Landscapes

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

Abstract

本申请提供了一种视频播放方法,包括:播放界面中展示第一提示信息,第一提示信息提示是否参与共同观看活动;响应于接收到的第一指令,向服务器发出参与请求,以使服务器从参与共同观看活动的用户中选择出正在观看视频节目的第二用户;接收服务器响应于参与请求而发送的第二用户的信息;在播放界面中展示第二提示信息,响应于接收到的表示同意与第二用户共同观看视频节目的第二指令,与第二用户的客户端交互媒体数据。本申请还提供了相应的装置。

Description

视频播放方法、装置、计算设备及存储介质
本申请要求于2017年11月20日提交中国专利局、申请号为201711160447.5、发明名称为“视频播放方法、装置、计算设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信息技术领域,尤其涉及视频播放方法、视频播放装置、计算设备以及存储介质。
背景
视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。
随着信息技术的发展,人们的娱乐生活也越来越丰富;其中,线上视频,由于随时随地为用户提供用户想要观看的视频内容的服务而受到众多用户的关注和喜爱。
技术内容
本申请实例提出了一种视频播放方法,由终端执行,包括:在视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动;响应于接收到的表示第一用户参与共同观看活动的第一指令,向视频服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述视频服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户;接收所述视频服务器响 应于所述参与请求而发送的所述第二用户的信息;在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目;及响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的客户端交互媒体数据。
本申请实例相应的提出了一种视频播放装置,包括:第一展示模块,在所述视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动;第一请求发送模块,响应于接收到的表示第一用户参与共同观看活动的第一指令,向视频服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述视频服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户;信息接收模块,接收所述视频服务器响应于所述参与请求而发送的所述第二用户的信息;第二展示模块,在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目;连接模块,响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的客户端交互媒体数据。
本申请实例相应的还提出了一种视频播放装置,所述装置包括处理器和存储器,所述存储器存储有计算机可读指令,可以使所述处理器:在所述视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动;响应于接收到的表示第一用户参与共同观看活动的第一指令,向视频服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述视频服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户;接收所述视频服务器响应于所述参与请求而发送的所述第二用户的信息;在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第 二用户共同观看所述视频节目;响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的客户端交互媒体数据。
本申请实例相应的还提出了一种视频频播放方法,由视频服务器执行,包括:接收所述第一用户的客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息;响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的客户端发送所述第二用户的信息,向所述第二用户的客户端发送所述第一用户的信息;接收所述第一用户的客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述第一连接建立请求表示所述第一用户的客户端请求与所述第二用户的客户端建立媒体连接;接收所述第二用户的客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的客户端请求与所述第一用户的客户端建立媒体连接;及响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的客户端与所述第二用户的客户端之间的媒体连接,以使所述第一用户的客户端通过所述媒体连接与所述第二用户的客户端交互媒体数据。
本申请实例相应的提出了一种视频播放装置,包括:第一请求接收模块,接收所述第一用户的客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息;信息发送模块,响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的客户端发送所述第二用户的信息,向所述第二用户的 客户端发送所述第一用户的信息;第二请求接收模块,接收所述第一用户的客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述第一连接建立请求表示所述第一用户的客户端请求与所述第二用户的客户端建立媒体连接;第三请求接收模块,接收所述第二用户的客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的客户端请求与所述第一用户的客户端建立媒体连接;及建立模块,响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的客户端与所述第二用户的客户端之间的媒体连接,以使所述第一用户的客户端通过所述媒体连接与所述第二用户的客户端交互媒体数据。
本申请实例相应的提出了一种视频播放装置,所述装置包括处理器和存储器,所述存储器存储有计算机可读指令,可以使所述处理器:接收所述第一用户的客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息;响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的客户端发送所述第二用户的信息,向所述第二用户的客户端发送所述第一用户的信息;接收所述第一用户的客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述第一连接建立请求表示所述第一用户的客户端请求与所述第二用户的客户端建立媒体连接;接收所述第二用户的客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的客户端请求与所述第一用户的客户端建立媒体连接;及响应于所述第一连接建立请求和所述第二连接建立请 求,建立所述第一用户的客户端与所述第二用户的客户端之间的媒体连接,以使所述第一用户的客户端通过所述媒体连接与所述第二用户的客户端交互媒体数据。
本申请实例相应的还提出了一种计算设备,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序;所述处理器执行所述计算机程序时实现上述的视频播放方法。
本申请实例相应的还提出了一种存储介质,存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行上述的视频播放方法。
附图简要说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实例的视频播放方法适用的系统结构示意图;
图2为本申请一实例的视频播放方法中视频客户端与视频服务器的交互流程图;
图3为本申请一实例中视频客户端的视频播放方法的流程图;
图4为本申请一实例中客户端展示第一提示信息的界面的实例;
图5为本申请一实例中客户端展示第二提示信息的界面的实例;
图6为本申请一实例的客户端展示视频窗口的界面的实例;
图7为本申请一实例的客户端展示采集语音的语音控件的界面的实 例;
图8为本申请一实例的客户端展示播放语音的语音控件的界面的实例;
图9为本申请一实例的客户端展示语音通话的语音控件的界面的实例;
图10为本申请一实例的视频服务器的视频播放方法的流程图;
图11为本申请一实例的视频播放装置的结构示意图;
图12为本申请一实例的视频播放装置的结构示意图;
图13为本申请一实例的计算设备的硬件结构示意图;
图14为本申请一实例的计算设备的硬件结构示意图。
实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
目前,许多用户在单独观看文本、图片、音频或视频等媒体内容时,会感到很寂寞,希望有人可以陪伴自己观看,特别是在用户单独观看影视界面时,迫切想与其他人分享自己的观影想法。
针对这种用户单独观看媒体内容的情况,特别是单独观看影视节目的情况,本申请提出一种视频播放方法,该方法可以应用于各种具有播放视频功能的客户端,如视频客户端、新闻客户端、社交应用客户端等。
本申请的实例中,以媒体内容为视频、客户端以视频客户端及与客户端对应的服务器以视频服务器为例进行说明。
图1示出了本申请实例的视频播放方法适用的系统结构示意图。该系统至少包括包含视频客户端的终端11、网络12和视频服务器13。
其中,视频客户端包含可实现本申请的视频播放方法的第一应用程序,而终端11可运行此第一应用程序;其中,终端11包括智能电视、平板电脑、智能手机等电子设备。视频客户端接收用户发送至视频客户端的各种指令,并根据接收到的各种指令做出响应,终端11中的视频客户端通过网络12与视频服务器13实现各种信息交互。
网络12可以是有线网络,也可以是无限网络;则视频客户端可以通过有线网络与视频服务器13进行信息交互,视频客户端也可以通过无线网络与视频服务器13进行信息交互。
视频服务器13安装有可实现本申请视频播放方法的第二应用程序,该第二应用程序与视频客户端中的第一应用程序相对应,视频服务器13接收视频客户端通过网络12发送的信息,视频服务器13通过运行的上述第二应用程序,对接收到的信息进行分析、计算以及存储等。
需要说明的是,上述系统中包括的客户端与服务器,不限于视频客户端与视频服务器13,还可以是其他具有播放视频功能的客户端和与该具有播放视频功能的客户端对应的服务器,如新闻客户端和新闻服务 器。
基于上述系统,本申请的实例提出了一种视频播放方法,应用于终端11中的视频客户端。以下结合如图2和图3所示,对该方法加以说明。如图3所示,该方法包括以下步骤:
步骤301:在视频节目的播放界面401中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动。
在一些实例中,视频客户端从视频服务器13获取视频节目的视频流并播放所述视频节目。
当第一用户独自通过终端11,如智能电视,来观看视频节目时,第一用户的视频客户端会接收到第一用户发送的播放视频节目的指令,响应于播放指令,第一用户的视频客户端向视频服务器13发送播放请求,该播放请求中携带有视频节目的标识,如,视频节目的名称或视频节目的ID;当视频服务器13接收到该播放请求,响应于该播放请求,通过解析播放请求而获取到的视频节目的标识,从视频数据库中查找目标视频节目,再执行图2中的步骤201:向第一用户的视频客户端传输该目标视频节目的视频流,当第一用户的视频客户端接收到视频服务器13传输的视频流后,再执行图2中的步骤202:播放目标视频节目,则第一用户则可以通过终端11(如智能电视)观看当前目标视频节目。
第一用户的视频客户端在从视频服务器13获取视频节目的媒体流并播放所述视频节目的步骤之后,当第一用户的视频客户端检测到所述第一用户观看视频节目时,通过本地的图像采集装置(如智能电视或平板电脑的前置摄像头),获取第一用户的图像信息;将携带所述图像信息的判断请求发送至视频服务器13,所述判断请求用于请求判断第一用户是否处于独自状态,即请求判断第一用户是否独自观看视频节目;及接收视频服务器13响应于所述判断请求返回的判断结果,所述判断结 果表示所述第一用户是处于独自状态或所述第一用户不是处于独自状态;其中,如果所述判断结果表示所述第一用户是处于独自状态,则执行所述在所述视频节目的播放界面中展示第一提示信息的步骤。
需要说明的是,在上述步骤中,如图2所示,第一用户与第二用户均需要通过各自的视频客户端来观看视频节目,所以第二用户的视频客户端在播放视频节目时执行的步骤,与第一用户的视频客户端在播放视频节目时执行的步骤相同。图2的场景中仅示出两个用户(第一用户和第二用户),但在实际的场景中会有海量用户,每个用户的视频客户端都可执行上述处理。
视频客户端在调用终端11的摄像头(如手机的前置摄像头)来获取本地用户的图像信息时,需要得到终端11使用者的授权,可以当终端11安装视频客户端时,视频客户端可获取终端11使用者的授权,也可以在获取本地用户的图像信息前,提示本地用户对摄像头的调用进行授权。
当第一用户的视频客户端接收到视频服务器13返回的判断结果,且所述判断结果表示所述第一用户是处于独自状态;则第一用户的视频客户端响应于该判断结果,执行如图2示出的步骤203:展示第一提示信息;图4以智能电视为例,示出了在视频节目的播放界面401中的右下角展示第一提示信息;该第一提示信息可以提示用户是否参与共同观看活动,即图4中示出的“摇一摇遥控共同观影”的文字信息。
需要说明的是,在上述步骤中,如图2所示,第二用户的视频客户端跟第一用户的视频客户端执行步骤203:展示第一提示信息,并且具体处理方式与第一用户的视频客户端的处理方式相同,这里不再赘述。
上述第一提示信息的在播放界面401的展示位置不仅限于播放界面401的右下角,可以在不影响用户观看视频节目的情况下,展示在播放 界面401的其他位置,也可以为其它展示形式,不限于文字信息,比如可以是各种能够为用户提供操作提示的图形元素,例如:图标、动画等,也可以是控件,提示用户选择或点击该控件,不管是何种形式,只要能提示用户如何能参与到共同观看视频的活动中均属于本申请范畴。
步骤302:响应于接收到的表示第一用户参与共同观看活动的第一指令,向视频服务器13发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使视频服务器13从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户。
当第一用户同意参与共同观看活动时,则向第一用户的视频客户端发出该第一指令,如第一用户摇一摇遥控器,当遥控器中内置的加速度传感器监测到遥控器在摇动,就将信号发送到第一用户的视频客户端,当第一用户的视频客户端接收到第一用户发送的该第一指令,响应该第一指令,执行图2示出的步骤204:向视频服务器13发出参与请求,且该参与请求包含第一用户的标识和视频节目的标识,如第一用户ID和视频节目的ID,从而使得视频服务器13从参与共同观看活动的用户中选择正在观看该视频节目的其他用户,再根据匹配规则选择出至少一位其他用户作为第二用户。
需要说明的是,上述用户指代的是通过其他视频客户端参与共同观看活动的其他用户,故在上述步骤中,上述用户各自的视频客户端(包括第二用户的视频客户端)在参与共同观看活动时执行的具体处理方式,与第一用户的视频客户端在参与共同观看活动时执行的上述具体处理方式相同,此处就不再赘述。
步骤303:接收视频服务器13响应于所述参与请求而发送的所述第二用户的信息。
第一用户的视频客户端接收视频服务器13响应于参与请求而执行 图2示出的步骤206:发送第二用户的标识(如第二用户的ID)。
需要说明的是,在上述步骤中,图2示出了第二用户的视频客户端接收视频服务器13响应于参与请求而执行图2示出的步骤207:发送第一用户的标识(第一用户的ID)。
步骤304:在所述播放界面401中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目。
当第一用户的视频客户端接收到第二用户的标识,响应于第二用户的标识,执行图2示出的步骤208:展示第二提示信息;图5示出了以智能电视为例,在第一用户的视频客户端的播放界面401的中间展示第二提示信息;所述第二提示信息提示第一用户是否同意与所述第二用户共同观看所述视频节目,例如如图5中示出的“XX邀请您一同观看《XXXX》”的文字信息,其中第二用户的ID是“XX”,视频节目为《XXXX》,如果第一用户同意与第二用户一同观看视频节目,则第一用户向第一用户的第一视频客户端发送第二指令,如第一用户通过遥控器中的确定键选择播放界面401上的同意指令502,或者第一用户直接通过触摸方式选择播放界面401上的同意指令502,如果第一用户不同意与第二用户一同观看视频节目,则第一用户发出第三指令,如第一用户通过遥控器中的退出键选择播放界面401上的拒绝指令503,或者第一用户直接通过触摸方式选择播放界面401上的拒绝指令503。
需要说明的是,上述第二提示信息还可以通过弹窗形式的显示界面进行展示,如图5所示,弹窗界面501在播放界面401的中间,且上述第二提示信息展示在弹窗501上;此外,上述第二提示信息也可以通过其它展示形式进行展示,不限于单一的文字信息和弹窗界面501,比如可以是各种能够为用户提供操作提示的图形元素,例如:图标、动画等,也可以是控件,提示用户选择或点击该控件,不管是何种形式,只要能 实现第一用户与所述第二用户共同观看所述视频节目的目的均属于本申请范畴。
上述第二提示信息的展示位置可以展示在播放界面401的中间,也可以在展示在任何用户可以在播放界面401观看的到的位置。
在上述步骤中,图2示出了第二用户的视频客户端执行步骤208:展示第二提示信息,则第二用户的视频客户端执行步骤208的具体处理方式与第一用户的视频客户端在执行步骤208的具体处理方式相同,仅仅展示的第二提示信息的内容不同,如第二用户的视频客户端的第二提示信息为:“YY邀请您一同观看《XXXX》”的文字信息,其中第一用户的ID是“YY”,视频节目为《XXXX》,此处不再赘述。
步骤305:响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的视频客户端交互媒体数据。
在一些实例中,可进一步包括:通过视频服务器13建立与所述第二用户的视频客户端之间的媒体连接,当建立完所述媒体连接后,通过此媒体连接执行与所述第二用户的视频客户端交互媒体数据的步骤。
当第一用户的视频客户端接收到上述第二指令,如第一用户通过遥控器发出的上述同意指令502,或接收到第一用户通过触摸形方式发出的上述同意指令502,第一用户的视频客户端响应于该第二指令,如同意指令502,第一用户的视频客户端通过视频服务器13与第二用户的视频客户端建立媒体连接。
需要说明的是,上述媒体连接在本实例中指的是通过网络12实现的视频客户端之间的视频交互连接、语音交互连接、甚至文本信息交互连接等,只要能够实现交互媒体数据的媒体连接均在本申请的保护范畴内。
在一些实例中,通过视频服务器13建立与所述第二用户的视频客 户端之间的媒体连接的步骤,包括:第一用户的视频客户端响应于上述第二指令,如同意指令502,执行图2示出的步骤209:向视频服务器13发送媒体连接的建立请求,以请求与所述第二用户的视频客户端建立媒体连接;第一用户的视频客户端接收视频服务器13响应于所述建立请求返回的通信信息,所述通信信息包括第二用户的视频客户端的IP地址信息以及通信端口号等;第一用户的视频客户端响应于所述通信信息,根据网络通讯协议(如TCP/IP网络协议)去连接第二用户的视频客户端的IP地址信息和端口号,从而执行图2示出的步骤210:建立第一用户的视频客户端与第二用户的视频客户端之间的媒体连接。
需要说明的是,在上述步骤中,图2示出了第二用户的视频客户端执行步骤209:向视频服务器13发送媒体连接的建立请求,且该步骤的具体处理方式与上述第一用户的视频客户端在执行步骤209时的具体处理方式相同,不同的仅仅是第二用户请求与第一用户建立媒体连接,则此处不再赘述。
视频客户端之间的媒体连接可以通过第一用户的视频客户端查找第二用户的视频客户端,从而进行通信连接,也可以第二用户的视频客户端查找第一用户的视频客户端从而进行通信连接,还可以第一用户的视频客户端和第二用户的视频客户端同时查找对方,从而进行通信连接。
其中,上述通过媒体连接与所述第二用户的视频客户端交互媒体数据的步骤具体有以下几种实现方式:
在一些实例中,所述媒体数据包括视频数据,即上述媒体连接是通过网络12实现的视频客户端之间的视频交互连接;图6以智能电视为例,智能电视显示了视频客户端的播放界面401;通过媒体连接与所述第二用户的视频客户端交互媒体数据,包括:在第一用户的视频客户端 的播放界面401的第一区域中展示视频窗口601;在所述视频窗口601中展示通过媒体连接(如视频交互连接)接收到的第二用户的视频图像602;通过本地图像采集装置(如通过智能电视的前置摄像头)获取本地第一用户的视频图像并通过媒体连接(如视频交互连接)发送至第二用户的视频客户端,从而执行图2示出的步骤211:第一用户的视频客户端与第二用户的视频客户端交互媒体数据。
需要说明的是,如图6所示,上述视频窗口601可以展示在播放界面401的右下角,也可以在不影响用户观看视频节目的情况下,展示在播放界面401的其他位置。上述第一区域可以是预置的,也可以根据预置或实时的参数而确定。
在上述步骤中,第二用户的视频客户端在通过媒体连接(如视频交互连接)与所述第一用户的视频客户端交互视频数据时的具体处理方式,与第一用户的视频客户端在通过媒体连接(如视频交互连接)与所述第二用户的视频客户端交互视频数据时的具体处理方式相同,此处就不再赘述。
在一些实例中,在所述播放界面401的第一区域中展示视频窗口,包括:当第一用户的视频客户端检测到视频客户端之间的视频交互连接已建立,终端11建立视频窗口浮层;当终端11建立完视频窗口浮层后,第一用户的视频客户端将所述视频窗口浮层拉起至播放界面401的右下角进行展示。
需要说明的是,当第一用户的视频客户端与第二用户的视频客户端建立视频交互连接后,第一用户的视频客户端和第二用户的视频客户端响应于该视频交互连接,都会通过各自的终端11建立窗口浮层,并由各自的视频客户端将各自的窗口浮层拉起至各自播放界面401的第一区域。
在一些实例中,所述媒体数据包括音频数据,即上述媒体连接是通过网络12实现的视频客户端之间的语音交互连接;通过所述媒体连接与所述第二用户的视频客户端交互媒体数据,包括:在第一用户的视频客户端的所述播放界面401的第二区域中展示语音控件;响应于对于所述语音控件的第一操作,通过本地语音采集装置,如智能电视设置的话筒或平板电脑内置的话筒,获取所述第一用户的语音并通过媒体连接(如语音交互连接)发送至所述第二用户的视频客户端;响应于对于所述语音控件的第二操作,播放通过媒体连接(如语音交互连接)接收到的所述第二用户的语音。
其中,所述语音控件至少包括操作按钮;上述第一操作和所述第二操作是对所述操作按钮的操作。
图7以平板电脑为例,示出了平板电脑显示第一用户的视频客户端的播放界面401展示语音控件,当视频客户端之间的语音交互连接已建立,则在播放界面401的右下角展示“按住说话”语音控件701,当第一用户通过按住遥控器的确定键或以触摸方式触发该“按住说话”语音控件701时,该“按住说话”语音控件701转化为“松开结束”语音控件702,第一用户的视频客户端响应于该第一用户的触发操作,通过本地语音采集装置(如平板电脑内置的话筒)获取所述第一用户的语音并进行存储,当第一用户通过放开遥控器的确定键或放开触摸的动作,释放“松开结束”语音控件702,第一用户的视频客户端响应于该第一用户的释放操作,将获取到的第一用户的语音通过语音交互连接发送至第二用户的视频客户端;图8以平板电脑为例,当第一用户的视频客户端接收到第二用户的视频客户端通过上述方式发送的语音时,第一用户的视频客户端的播放界面401的右下角展示出了“播放语音”语音控件801,当检测到第一用户通过按住并释放遥控器的确定键,或以触摸方式触发 该“播放语音”语音控件801时,第一用户的视频客户端响应该播放操作,通过本地语音播放装置(如平板电脑内置的扬声器)播放第二用户的语音。
需要说明的是,上述触发操作和上述释放操作都属于上述第一操作,二者的组合可被视为一个上述第一操作。
所述语音控件可进一步包括语音状态图形元素,以图7为例,第一用户的视频客户端在获取所述第一用户的语音时或第二用户的视频客户端在获取第二用户的语音时,通过播放界面401展示的语音状态图形元素703展示语音采集状态;以图8为例,第一用户的视频客户端在播放所述第二用户的语音时或第二用户的视频客户端在播放所述第一用户的语音时,均通过播放界面401展示的语音状态图形元素802展示语音播放状态。
需要说明的是,第二用户的视频客户端在发送语音时的具体处理方式与第一用户的视频客户端在发送语音时的具体处理方式相同,此处不再赘述。
图9以平板电脑为例,示出了平板电脑显示第一用户的视频客户端的播放界面401展示的语音控件,第一用户的视频客户端通过媒体连接与第二用户的视频客户端交互媒体数据,包括:第一用户的视频客户端响应于语音交互连接的建立,实时通过本地语音采集装置(如平板电脑内置话筒)获取所述第一用户的语音并通过所述语音交互连接发送至所述第二用户的视频客户端,并实时通过本地语音播放装置(如平板电脑内置扬声器)播放通过语音交互连接接收到的所述第二用户的语音。
需要说明的是,上述实时的语音交互连接,可以在播放界面401中的右下角展示“挂断”语音控件901,第一用户通过按住遥控器的确定键或以触摸方式触发该“挂断”语音控件901时,第一用户的视频客户 端将断开与第二用户的视频客户端的语音交互连接,即第一用户将结束与第二用户的实时通话。
在上述步骤中,第二用户的视频客户端在通过语音交互连接与所述第一用户的视频客户端交互语音数据时的具体处理方式,与第一用户的视频客户端在通过视频交互连接与第二用户的视频客户端交互语音数据时的具体处理方式相同,此处就不再赘述。
上述语音控件可以直接展示在播放界面401的右下角中,也可以通过语音窗口展示在播放界面401的右下角上,语音窗口是建立在播放界面401之下,并通过第一用户的视频客户端或第二用户的视频客户端拉起至播放界面401的右下角;且在不影响用户观看视频节目的情况下,语音控件或语音窗口可以展示在播放界面401的其他区域。
用户可以自主地在各自的视频客户端中预先设置上述媒体连接的形式。
当视频客户端之间通过上述方式进行媒体连接时,若媒体连接失败,则媒体数据无法直接通过第一用户的视频客户端发送到第二用户的视频客户端,则需要视频服务器13对上述媒体数据进行中转,即第一用户的视频客户端或第二用户的视频客户端将媒体数据发送至视频服务器13,视频服务器再将媒体数据转发至第二用户的视频客户端或第一用户的视频客户端。
用户在观看视频节目时,通过这种实时交流方式,还能够发现与其兴趣相投的其它用户,可进一步通过社交应用建立社交关系(比如加为微信好友等等),形成一种新式的社交方式。
采用本申请提出的上述技术方案,当用户在观看视频节目时,能够与其他观看同一视频节目的用户进行实时交流,可通过媒体连接实现诸如实时视频聊天和语音聊天等的交互,在提供新的视频观看过程中的交 互功能的同时,能够消除用户在观看视频节目时的寂寞感,给用户带来了优质的观看体验。
基于上述系统,本申请的实例还提出了一种视频播放方法,应用于视频服务器13,以下结合图2和图10对该方法加以说明。如图10所示,该方法包括以下步骤:
步骤1001:接收所述第一用户的视频客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息。
在一些实例中,视频服务器13响应于接收到的第一用户的视频客户端发送的播放请求,向所述第一用户的视频客户端传输视频节目的视频流。
当视频服务器13接收到该播放请求,响应于该播放请求,通过解析播放请求而获取到的视频节目的标识(如视频节目的ID),从视频数据库中查找目标视频节目,再执行图2中所示的步骤201:向第一用户的视频客户端传输该目标视频节目的视频流,当第一用户的视频客户端接收到视频服务器13传输的视频流后,对视频节目进行播放,则第一用户则可以通过终端11(如智能电视)安装的视频客户端观看当前视频节目。
在一些实例中,在所述响应于接收到的第一用户的视频客户端发送的播放请求,向所述第一用户的视频客户端传输视频节目的视频流的步骤之后,视频服务器13接收所述第一用户的视频客户端发送的判断请求,所述判断请求携带所述第一用户的图像信息,所述判断请求用于请求判断第一用户是否处于独自状态;视频服务器13响应于接收到的所述判断请求,将所述图像信息生成对应的二维矩阵数据,将该二维矩阵数据输入到人脸识别模型库中的人脸识别模型中,通过人脸识别模型中 的人脸识别算法计算出所述图像信息中的人脸个数,即第一用户的人数,通过所述人脸个数判断所述第一用户是否处于独自状态,当人脸个数为一个时,判断第一用户是处于独自状态,否则第一用户不是处于独自状态,将判断结果发送至所述第一用户的视频客户端,所述判断结果表示所述第一用户是处于独自状态或所述第一用户不是处于独自状态。
需要说明的是,上述人脸识别模型可通过支持向量机SVM(Support Vector Machine)和主成分分析PCA(Principle Component Analysis)算法建立。
在上述步骤中,图2仅示出了第一用户和第二用户,但在实际场景中,视频服务器13会接收到海量用户的视频客户端发送的上述请求和上述信息,视频服务器13响应海量用户的视频客户端发送的请求和信息的具体处理方式与视频服务器13响应第一用户的视频客户端发送的请求和信息的具体处理方式相同,此处就不再赘述。
视频服务器13接收第一用户的视频客户端发送的参与请求,且该参与请求包含第一用户的标识(如第一用户ID)和视频节目的标识(如视频节目的ID)。
在上述步骤中,图2仅示出了第一用户和第二用户,但在实际场景中,视频服务器13会接收到海量用户的视频客户端发送的上述请求和上述信息,视频服务器13响应海量用户的视频客户端发送的请求和信息的具体处理方式与视频服务器13响应第一用户的视频客户端发送的请求和信息的具体处理方式相同,此处就不再赘述。
步骤1002:响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的视频客户端发送所述第二用户的信息,向所述第二用户的视频客户端发送所述第一用户的信息。
在一些实例中,视频服务器13响应于接收到的上述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,包括:通过视频节目的标识(如视频节目的ID),视频服务器13获取所述参与共同观看活动并且正在观看所述视频节目的候选用户的标识(如候选用户ID或一个候选用户ID列表);通过候选用户的标识,从用户信息数据库中获取对应候选用户的属性信息(如性别、地理位置、年龄等);通过权重算法,计算候选用户的属性信息分值,通过选取规则,执行图2示出的步骤205:选取第二用户、步骤206:视频服务器13向第一用户的视频客户端发送第二用户的标识(如第二用户ID)、步骤207:视频服务器13向第二用户的视频客户端发送第一用户的标识(如第一用户ID)。
其中,上述选取规则包括以下任意项:选取最高属性信息分值的候选用户作为所述第二用户;选取在属性信息分值阈值范围内的候选用户作为第二用户;或由高至低对各候选用户的属性信息分值进行排序,选取排名靠前的预定数量的候选用户作为第二用户
需要说明的是,在实际场景中候选用户应该是多个用户。
属性信息的权重由大到小的排序可以为:性别、地理位置、年龄;若候选用户性别与第一用户性别相同,则该候选用户性别属性分值高或该候选用户性别属性分值不为0;若候选用户地理位置与第一用户地理位置越接近,则该候选用户地理位置属性分值越高,若候选用户年龄与第一用户年龄越接近,则候选用户年龄属性分值越高;再基于上述属性信息的权重大小,根据权重算法计算出候选用户的属性信息分值。根据需求还可以在增加其他候选用户的属性信息,比如用户的一些网络访问行为特征,例如感兴趣的内容标签、感兴趣的商品标签、感兴趣的游戏/影片标签等等,并根据上述步骤中的相同处理方式计算属性信息分值, 此处就不再赘述。总之,可根据预先配置的算法,确定出与第一用户的某种或某些特征最相近的一个或多个第二用户,这种第二用户会被推荐给第一用户作为共同观看当前视频节目的用户。相应的,视频服务器13也会收到第二用户的参与请求,会利用相同的算法确定出与第二用户最匹配的用户为第一用户,从而能为第二用户推荐第一用户作为共同观看当前视频节目的用户。
在一些实例中,视频服务器13可以收到大量正在观看某一视频节目的用户的上述参与请求,视频服务器13可采用预先配置的算法,确定出一个或多个共同观看的用户集合,其中,一个用户集合至少包括两个用户(第一用户和第二用户),一个用户集合中的用户相互之间的匹配度比较高(比如达到预定阈值或者为最高匹配度等等),那么对于任一用户就会为其推荐该用户集合中其它用户来共同观看当前视频节目。考虑节约网络通信资源、保证视频节目播放质量等因素,较佳的方式是一个用户集合包括两个用户,即对于一个用户而言,其可以跟一个用户共同观看视频节目。
当视频服务器13选取到多位候选用户作为第二用户时,视频客户端的播放界面401上可以展示与每个用户对应的视频窗口、与每个用户对应的语音控件或语音窗口等媒体连接的交互界面。
在上述步骤中,图2仅示出了第一用户和第二用户,但在实际场景中,视频服务器13会接收到海量用户的视频客户端发送的上述请求和上述信息,视频服务器13响应海量用户的视频客户端发送的请求和信息的具体处理方式与视频服务器13响应第一用户的视频客户端发送的请求和信息的具体处理方式相同,此处就不再赘述。
步骤1003:接收所述第一用户的视频客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述 第一连接建立请求表示所述第一用户的视频客户端请求与所述第二用户的视频客户端建立媒体连接。
当第一用户同意与第二用户共同观看所述视频节目时,视频服务器13接收到第一用户的视频客户端发送的第一连接建立请求,第一连接建立请求表示第一用户的视频客户端请求与第二用户的视频客户端建立媒体连接。
步骤1004:接收所述第二用户的视频客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的视频客户端请求与所述第一用户的视频客户端建立媒体连接。
当第二用户同意与第一用户共同观看所述视频节目时,视频服务器13接收到第二用户的视频客户端发送的第二连接建立请求,第二连接建立请求表示第二用户的视频客户端请求与第一用户的视频客户端建立媒体连接。
需要说明的是,通过视频服务器13建立第一用户的视频客户端与第二用户的视频客户端建立媒体连接的触发条件是:视频服务器13既要接收到第一用户的视频客户端发送的上述第一连接建立请求,还要接收到第二用户的视频客户端发送的上述第二连接建立请求。
步骤1005:响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的视频客户端与所述第二用户的视频客户端之间的媒体连接,以使所述第一用户的视频客户端通过所述媒体连接与所述第二用户的视频客户端交互媒体数据。
在一些实例中,视频服务器13响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的视频客户端与所述第二用户的视频客户端之间的媒体连接,包括:当视频服务器13接收到第一用 户的视频客户端发送的上述第一连接建立请求,同时还接收到第二用户的视频客户端发送的上述第二连接建立请求后,视频服务器13向所述第一用户的视频客户端发送第一通信信息,所述第一通信信息包括第二用户的视频客户端的IP地址信息和通信端口号等,以使第一用户的视频客户端根据网络通讯协议去连接第二用户的视频客户端的IP地址信息和端口号,从而执行图2示出的步骤211:建立第一用户的视频客户端与第二用户的视频客户端之间的媒体连接。
当视频服务器13接收到第一用户的视频客户端发送的上述第一连接建立请求,同时还接收到第二用户的视频客户端发送的上述第二连接建立请求后,视频服务器13响应于所述第二连接建立请求,向所述第二用户的视频客户端发送第二通信信息,所述第二通信信息包括第一用户的视频客户端的IP地址信息和通信端口号等,以使所述第二用户的视频客户端根据网络通讯协议去连接第一用户的视频客户端的IP地址信息和端口号,从而实现所述第二用户的媒体客户端与所述第一用户的视频客户端建立媒体连接。
需要说明的是,视频客户端之间的媒体连接可以通过第一用户的视频客户端查找第二用户的视频客户端,从而进行通信连接,也可以第二用户的视频客户端查找第一用户的视频客户端从而进行通信连接,还可以第一用户的视频客户端和第二用户的视频客户端同时查找对方,从而进行通信连接。
对应应用于终端11中的视频客户端的一种视频播放方法,本申请的实例还提出了一种视频播放装置1100,应用于视频客户端,如图11所示,该视频播放装置1100包括:第一展示模块1101、第一请求发送模块1102、信息接收模块1103、第二展示模块1104、连接模块1105,且各个模块的功能如下:
第一展示模块1101,在所述视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动。
第一请求发送模块1102,响应于接收到的表示第一用户参与共同观看活动的第一指令,向所述视频服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述视频服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户。
信息接收模块1103,接收所述视频服务器响应于所述参与请求而发送的所述第二用户的信息;
第二展示模块1104,在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目;
连接模块1105,响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的视频客户端交互媒体数据。
在一些实例中,为了完善视频播放装置1100的功能,该视频播放装置1100还包括:播放模块,从视频服务器获取视频节目的视频流并播放所述视频节目;采集模块,当检测到所述第一用户观看视频节目时,通过本地图像采集装置获取所述第一用户的图像信息;第二请求发送模块,将携带所述图像信息的判断请求发送至所述视频服务器,所述判断请求用于请求判断第一用户是否处于独自状态;及结果接收模块,接收所述视频服务器响应于所述判断请求返回的判断结果,所述判断结果表示所述第一用户是处于独自状态或所述第一用户不是处于独自状态;其中,如果所述判断结果表示所述第一用户是处于独自状态,则执行所述第一展示模块。
在一些实例中,当建立完所述媒体连接后,执行所述连接模块1105,通过所述视频服务器建立与所述第二用户的视频客户端之间的媒体连 接,之后,通过所述媒体连接与所述第二用户的视频客户端交互媒体数据。
在一些实例中,所述连接模块1105进一步包括:第一响应单元,响应于所述第二指令,向所述视频服务器发送媒体连接的建立请求,以请求与所述第二用户的视频客户端建立媒体连接;第一接收单元,接收所述视频服务器响应于所述建立请求返回的通信信息,所述通信信息包括第二用户的视频客户端的地址信息;响应于所述通信信息,与所述第二用户的视频客户端建立媒体连接。
在一些实例中,所述媒体数据包括视频数据;所述连接模块1105进一步包括:第一展示单元,在所述播放界面的第一区域中展示视频窗口;第二展示单元,在所述视频窗口中展示通过所述媒体连接接收到的所述第二用户的视频图像;第一发送单元,通过本地图像采集装置获取所述第一用户的视频图像并通过所述媒体连接发送至所述第二用户的视频客户端。
在一些实例中,第一展示单元进一步包括:拉起单元,当检测到所述媒体连接已建立,在所述第一区域中拉起视频窗口浮层,以展示视频窗口。
在一些实例中,所述媒体数据包括音频数据;所述连接模块1105还包括:第三展示单元,在所述播放界面的第二区域中展示语音控件;第二发送单元,响应于对于所述语音控件的第一操作,通过本地语音采集装置获取所述第一用户的语音并通过所述媒体连接发送至所述第二用户的视频客户端;播放单元,响应于对于所述语音控件的第二操作,播放通过所述媒体连接接收到的所述第二用户的语音。
在一些实例中,所述语音控件至少包括操作按钮;所述第一操作和所述第二操作是对所述操作按钮的操作。
在一些实例中,所述语音控件进一步包括语音状态图形元素;所述装置进一步包括:第三展示模块,在获取所述第一用户的语音时通过所述语音状态图形元素展示语音采集状态;第四展示模块,在播放所述第二用户的语音时通过所述语音状态图形元素展示语音播放状态。
在一些实例中,所述媒体数据包括音频数据;所述连接模块1105包括:第三发送单元,响应于所述媒体连接的建立,实时通过本地语音采集装置获取所述第一用户的语音并通过所述媒体连接发送至所述第二用户的视频客户端,并实时播放通过所述媒体连接接收到的所述第二用户的语音。
采用本申请提出的上述技术方案,当用户在观看视频节目时,能够与其他观看同一视频节目的用户进行实时交流,可通过媒体连接实现诸如实时视频聊天和语音聊天等的交互,在提供新的视频观看过程中的交互功能的同时,能够消除用户在观看视频节目时的寂寞感,给用户带来了优质的观看体验。
图13示出了视频播放装置1100所在的计算设备1300的组成结构图。此计算设备可以是终端设备,如设置在图1中的终端11。如图13所示,该计算设备包括一个或者多个处理器(CPU)1302、通信模块1304、存储器1306、用户接口1310,以及用于互联这些组件的通信总线1308。
处理器1302可通过通信模块1304接收和发送数据以实现网络通信和/或本地通信。
用户接口1310包括一个或多个输出设备1312,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口1310也包括一个或多个输入设备1314,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器1306可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器1306存储处理器1302可执行的指令集,包括:
操作系统1316,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用1318,包括用于视频播放的各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括图11所示的视频播放装置1100中的部分或全部单元。各单元1101-1105中的至少一个单元可以存储有机器可执行指令。处理器1302通过执行存储器1306中各单元1101-1105中至少一个单元中的机器可执行指令,进而能够实现上述各单元1101-1105中的至少一个单元的功能。
对应应用于视频服务器13的一种视频播放方法,本申请的实例还提出了一种视频播放装置1200,应用于视频服务器13,如图12所示,该视频播放装置1200包括:传输模块1201、第一请求接收模块1202、信息发送模块1203、第二请求接收模块1204、第三请求接收模块1205及建立模块1206,且各个模块的功能如下:
第一请求接收模块1201,接收所述第一用户的视频客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息。
信息发送模块1202,响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的视频客户端发送所述第二用户的信息,向所述第二用户的视频客户端发送所述第一用户的信息。
第二请求接收模块1203,接收所述第一用户的视频客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述第一连接建立请求表示所述第一用户的视频客户端请求与所述第二用户的视频客户端建立媒体连接。
第三请求接收模块1204,接收所述第二用户的视频客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的视频客户端请求与所述第一用户的视频客户端建立媒体连接。
建立模块1205,响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的视频客户端与所述第二用户的视频客户端之间的媒体连接,以使所述第一用户的视频客户端通过所述媒体连接与所述第二用户的视频客户端交互媒体数据。
在一些实例中,为了完善视频播放装置1200的功能,视频播放装置1200进一步还包括:传输模块,响应于接收到的第一用户的视频客户端发送的播放请求,向所述第一用户的视频客户端传输视频节目的视频流;第四请求接收模块,接收所述第一用户的视频客户端发送的判断请求,所述判断请求携带所述第一用户的图像信息,所述判断请求用于请求判断第一用户是否处于独自状态;及判断模块,响应于接收到的所述判断请求,将所述图像信息的矩阵数据输入到人脸识别模型中,确定所述图像信息中的人脸个数,通过所述人脸个数判断所述第一用户是否处于独自状态,将判断结果发送至所述第一用户的视频客户端,所述判断结果表示所述第一用户是处于独自状态或所述第一用户不是处于独自状态。
在一些实例中,所述信息发送模块1202进一步包括:第一获取单元,获取所述参与共同观看活动并且正在观看所述视频节目的候选用户 的信息;第二获取单元,通过所述候选用户的信息,从用户信息数据库中获取对应用户的属性信息;及选择单元,根据所述用户的属性信息,从所述候选用户中选择与所述第一用户的特征相匹配的第二用户。
在一些实例中,所述建立模块1205,进一步向所述第一用户的视频客户端发送第一通信信息,所述第一通信信息包括第二用户的视频客户端的地址信息,以使所述第一用户的视频客户端通过所述第一通信信息与所述第二用户的视频客户端建立媒体连接。
在一些实例中,所述建立模块1205,进一步响应于所述第一连接建立请求和所述第二连接建立请求,向所述第二用户的视频客户端发送第二通信信息,所述第二通信信息包括第一用户的视频客户端的地址信息,以使所述第二用户的视频客户端通过所述第二通信信息与所述第一用户的视频客户端建立媒体连接。
图14示出了视频播放装置1200所在的计算设备1400的组成结构图。此计算设备1400可以是视频服务器。如图14所示,该计算设备包括一个或者多个处理器(CPU)1402、通信模块1404、存储器1406、用户接口1410,以及用于互联这些组件的通信总线1008。
处理器1402可通过通信模块1404接收和发送数据以实现网络通信和/或本地通信。
用户接口1410包括一个或多个输出设备1412,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口1410也包括一个或多个输入设备1414,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器1406可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸 如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器1406存储处理器1402可执行的指令集,包括:
操作系统1416,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用1418,包括用于视频播放的各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括图12所示的视频播放装置1200中的部分或全部模块。各模块1201-1205中的至少一个模块可以存储有机器可执行指令。处理器1402通过执行存储器1406中各单元1201-1205中至少一个模块中的机器可执行指令,进而能够实现上述各模块1201-1205中的至少一个模块的功能。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。
各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
图11和图12中的模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。
另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (20)

  1. 一种视频播放方法,由终端执行,所述方法包括:
    在视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动;
    响应于接收到的表示第一用户参与共同观看活动的第一指令,向服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户;
    接收所述服务器响应于所述参与请求而发送的所述第二用户的信息;
    在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目;及
    响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的客户端交互媒体数据。
  2. 根据权利要求1所述的方法,其中,进一步包括:从服务器获取视频节目的视频流并播放所述视频节目。
  3. 根据权利要求2所述的方法,其中,在所述从服务器获取视频节目的媒体流并播放所述视频节目的步骤之后,所述方法还包括:
    当检测到所述第一用户观看视频节目时,通过本地图像采集装置获取所述第一用户的图像信息;
    将携带所述图像信息的判断请求发送至所述服务器,所述判断请求用于请求判断第一用户是否处于独自状态;及
    接收所述服务器响应于所述判断请求返回的判断结果,所述判断结果表示所述第一用户是处于独自状态或所述第一用户不是处于独自状态;
    其中,如果所述判断结果表示所述第一用户是处于独自状态,则执行所述在所述视频节目的播放界面中展示第一提示信息的步骤。
  4. 根据权利要求1所述的方法,其中,进一步包括:
    通过所述服务器建立与所述第二用户的客户端之间的媒体连接;
    其中,通过所述媒体连接执行与所述第二用户的客户端交互媒体数据的步骤。
  5. 根据权利要求4所述的方法,其中,所述通过所述服务器建立与所述第二用户的客户端之间的媒体连接,包括:
    响应于所述第二指令,向所述服务器发送媒体连接的建立请求,以请求与所述第二用户的客户端建立媒体连接;
    接收所述服务器响应于所述建立请求返回的通信信息,所述通信信息包括第二用户的客户端的地址信息;
    响应于所述通信信息,与所述第二用户的客户端建立媒体连接。
  6. 根据权利要求4所述的方法,其中,所述媒体数据包括视频数据;所述通过所述媒体连接执行与所述第二用户的客户端交互媒体数据的步骤,包括:
    在所述播放界面的第一区域中展示视频窗口;
    在所述视频窗口中展示通过所述媒体连接接收到的所述第二用户的视频图像;
    通过本地图像采集装置获取所述第一用户的视频图像并通过所述媒体连接发送至所述第二用户的客户端。
  7. 根据权利要求6所述的方法,其中,所述在所述播放界面的第一区域中展示视频窗口,包括:
    当检测到所述媒体连接已建立,在所述第一区域中拉起视频窗口浮层,以展示视频窗口。
  8. 根据权利要求4所述的方法,其中,所述媒体数据包括音频数据;所述通过所述媒体连接执行与所述第二用户的客户端交互媒体数据的步骤,包括:
    在所述播放界面的第二区域中展示语音控件;
    响应于对于所述语音控件的第一操作,通过本地语音采集装置获取所述第一用户的语音并通过所述媒体连接发送至所述第二用户的客户端;
    响应于对于所述语音控件的第二操作,播放通过所述媒体连接接收到的所述第二用户的语音;
    其中,所述语音控件至少包括操作按钮;所述第一操作和所述第二操作是对所述操作按钮的操作。
  9. 根据权利要求8所述的方法,其中,所述语音控件进一步包括语音状态图形元素;
    所述方法进一步包括:
    在获取所述第一用户的语音时通过所述语音状态图形元素展示语音采集状态;
    在播放所述第二用户的语音时通过所述语音状态图形元素展示语音播放状态。
  10. 根据权利要求4所述的方法,其中,所述媒体数据包括音频数据;
    所述通过所述媒体连接执行与所述第二用户的客户端交互媒体数据的步骤,包括:
    响应于所述媒体连接的建立,实时通过本地语音采集装置获取所述第一用户的语音并通过所述媒体连接发送至所述第二用户的客户端,并实时播放通过所述媒体连接接收到的所述第二用户的语音。
  11. 一种视频播放方法,由服务器执行,所述方法包括:
    接收所述第一用户的客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息;
    响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的客户端发送所述第二用户的信息,向所述第二用户的客户端发送所述第一用户的信息;
    接收所述第一用户的客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求;
    接收所述第二用户的客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求;及
    响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的客户端与所述第二用户的客户端之间的媒体连接,以使所述第一用户的客户端通过所述媒体连接与所述第二用户的客户端交互媒 体数据。
  12. 根据权利要求11所述的方法,其中,进一步包括:
    响应于接收到的第一用户的客户端发送的播放请求,向所述第一用户的客户端传输视频节目的视频流。
  13. 根据权利要求12所述的方法,其中,在所述向所述第一用户的客户端传输视频节目的视频流的步骤之后,所述方法还包括:
    接收所述第一用户的客户端发送的判断请求,所述判断请求携带所述第一用户的图像信息,所述判断请求用于请求判断第一用户是否处于独自状态;及
    响应于接收到的所述判断请求,将所述第一用户的图像信息输入到人脸识别模型中,确定所述图像信息中的人脸个数,通过所述人脸个数判断所述第一用户是否处于独自状态,将判断结果发送至所述第一用户的客户端,所述判断结果表示所述第一用户是处于独自状态或所述第一用户不是处于独自状态。
  14. 根据权利要求11至13中任一项所述的方法,其中,所述从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,包括:
    获取所述参与共同观看活动并且正在观看所述视频节目的候选用户的信息;
    通过所述候选用户的信息,从用户信息数据库中获取对应用户的属性信息;及
    根据所述用户的属性信息,从所述候选用户中选择与所述第一用户 的特征相匹配的第二用户。
  15. 一种视频播放装置,所述装置包括:
    第一展示模块,在所述视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动;
    第一请求发送模块,响应于接收到的表示第一用户参与共同观看活动的第一指令,向服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户;
    信息接收模块,接收所述服务器响应于所述参与请求而发送的所述第二用户的信息;
    第二展示模块,在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目;
    连接模块,响应于接收到的表示同意与所述第二用户共同观看所述视频节目的第二指令,与所述第二用户的客户端交互媒体数据。
  16. 一种视频播放装置,所述装置包括:
    第一请求接收模块,接收所述第一用户的客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息;
    信息发送模块,响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的客户端发送所述第二用户的信息,向所述第二用户的客户端发送所述第一用户的信息;
    第二请求接收模块,接收所述第一用户的客户端当所述第一用户同 意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述第一连接建立请求表示所述第一用户的客户端请求与所述第二用户的客户端建立媒体连接;
    第三请求接收模块,接收所述第二用户的客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的客户端请求与所述第一用户的客户端建立媒体连接;及
    建立模块,响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的客户端与所述第二用户的客户端之间的媒体连接,以使所述第一用户的客户端通过所述媒体连接与所述第二用户的客户端交互媒体数据。
  17. 一种视频播放装置,所述装置包括处理器和存储器,所述存储器存储有计算机可读指令,可以使所述处理器:
    在所述视频节目的播放界面中展示第一提示信息,所述第一提示信息提示是否参与共同观看活动;
    响应于接收到的表示第一用户参与共同观看活动的第一指令,向服务器发出参与请求,所述参与请求携带第一用户的信息和所述视频节目的信息,以使所述服务器从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户;
    接收所述服务器响应于所述参与请求而发送的所述第二用户的信息;
    在所述播放界面中展示第二提示信息,所述第二提示信息提示是否同意与所述第二用户共同观看所述视频节目;
    响应于接收到的表示同意与所述第二用户共同观看所述视频节目 的第二指令,与所述第二用户的客户端交互媒体数据。
  18. 一种视频播放装置,所述装置包括处理器和存储器,所述存储器存储有计算机可读指令,可以使所述处理器:
    接收所述第一用户的客户端发送的参与请求,所述参与请求表示第一用户请求参与共同观看活动,所述参与请求携带第一用户的信息和所述视频节目的信息;
    响应于接收到所述参与请求,从参与共同观看活动的用户中选择出正在观看所述视频节目的第二用户,向所述第一用户的客户端发送所述第二用户的信息,向所述第二用户的客户端发送所述第一用户的信息;
    接收所述第一用户的客户端当所述第一用户同意与所述第二用户共同观看所述视频节目时发送的第一连接建立请求,所述第一连接建立请求表示所述第一用户的客户端请求与所述第二用户的客户端建立媒体连接;
    接收所述第二用户的客户端当所述第二用户同意与所述第一用户共同观看所述视频节目时发送的第二连接建立请求,所述第二连接建立请求表示所述第二用户的客户端请求与所述第一用户的客户端建立媒体连接;及
    响应于所述第一连接建立请求和所述第二连接建立请求,建立所述第一用户的客户端与所述第二用户的客户端之间的媒体连接,以使所述第一用户的客户端通过所述媒体连接与所述第二用户的客户端交互媒体数据。
  19. 一种存储介质,,存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如 权利要求1-14中任一项所述的方法。
  20. 一种计算设备,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序;所述处理器执行所述计算机程序时实现如权利要求1-14中任一项所述的方法。
PCT/CN2018/116205 2017-11-20 2018-11-19 视频播放方法、装置、计算设备及存储介质 WO2019096307A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711160447.5 2017-11-20
CN201711160447.5A CN109819341B (zh) 2017-11-20 2017-11-20 视频播放方法、装置、计算设备及存储介质

Publications (1)

Publication Number Publication Date
WO2019096307A1 true WO2019096307A1 (zh) 2019-05-23

Family

ID=66540094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/116205 WO2019096307A1 (zh) 2017-11-20 2018-11-19 视频播放方法、装置、计算设备及存储介质

Country Status (2)

Country Link
CN (1) CN109819341B (zh)
WO (1) WO2019096307A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015506A (zh) * 2020-08-19 2020-12-01 北京字节跳动网络技术有限公司 内容展示方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110267104A (zh) * 2019-07-02 2019-09-20 北京奇艺世纪科技有限公司 一种用户匹配方法和装置
CN111741350A (zh) * 2020-07-15 2020-10-02 腾讯科技(深圳)有限公司 文件展示方法、装置、电子设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315113A (zh) * 1998-08-26 2001-09-26 联合视频制品公司 电视聊天系统
US20020061743A1 (en) * 2000-11-22 2002-05-23 Doug Hutcheson Method and system for mediating interactive services over a wireless communications network
CN1360791A (zh) * 1999-07-12 2002-07-24 汤姆森许可贸易公司 建立通信的方法和装置
CN102209273A (zh) * 2010-04-01 2011-10-05 微软公司 交互且共享的观看体验
CN102595212A (zh) * 2010-12-16 2012-07-18 微软公司 与多媒体内容的模拟组交互
CN102668554A (zh) * 2009-12-22 2012-09-12 德耳塔维德约股份有限公司 用于交互式同步视频观看的系统和方法
CN105898509A (zh) * 2015-11-26 2016-08-24 乐视网信息技术(北京)股份有限公司 一种实现播放视频时的交互方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394537B (zh) * 2008-10-29 2010-08-18 中兴通讯股份有限公司 一种实现互动聊天的手机电视终端及其实现方法
CN102170584B (zh) * 2011-03-14 2015-06-03 华为技术有限公司 同步hs终端设备之间媒体播放的方法、装置和系统
US9609043B2 (en) * 2013-10-02 2017-03-28 Dropbox, Inc. Facilitating access to content from group interactions
CN103561288A (zh) * 2013-10-17 2014-02-05 深圳市同洲电子股份有限公司 一种通过视频关联用户的方法、设备及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315113A (zh) * 1998-08-26 2001-09-26 联合视频制品公司 电视聊天系统
CN1360791A (zh) * 1999-07-12 2002-07-24 汤姆森许可贸易公司 建立通信的方法和装置
US20020061743A1 (en) * 2000-11-22 2002-05-23 Doug Hutcheson Method and system for mediating interactive services over a wireless communications network
CN102668554A (zh) * 2009-12-22 2012-09-12 德耳塔维德约股份有限公司 用于交互式同步视频观看的系统和方法
CN102209273A (zh) * 2010-04-01 2011-10-05 微软公司 交互且共享的观看体验
CN102595212A (zh) * 2010-12-16 2012-07-18 微软公司 与多媒体内容的模拟组交互
CN105898509A (zh) * 2015-11-26 2016-08-24 乐视网信息技术(北京)股份有限公司 一种实现播放视频时的交互方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015506A (zh) * 2020-08-19 2020-12-01 北京字节跳动网络技术有限公司 内容展示方法及装置
CN112015506B (zh) * 2020-08-19 2023-08-22 北京字节跳动网络技术有限公司 内容展示方法及装置

Also Published As

Publication number Publication date
CN109819341B (zh) 2021-08-13
CN109819341A (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
US10579243B2 (en) Theming for virtual collaboration
WO2019228120A1 (zh) 视频互动方法、装置、终端及存储介质
JP2019530356A (ja) 第1のスクリーンデバイスから第2のスクリーンデバイスへのリバースキャスト
US11025967B2 (en) Method for inserting information push into live video streaming, server, and terminal
CN111343476A (zh) 视频共享方法、装置、电子设备及存储介质
JP2021177625A (ja) インターネット電話に基づく通話中にリアクションを表示する方法、システム、およびコンピュータプログラム
CN107371044A (zh) 电子设备互动方法、电子设备、用户终端及服务器
CN111835531B (zh) 会话处理方法、装置、计算机设备及存储介质
US20220191557A1 (en) Method for displaying interaction data and electronic device
WO2019096307A1 (zh) 视频播放方法、装置、计算设备及存储介质
CN107526591B (zh) 切换直播间类型的方法和装置
WO2020248627A1 (zh) 一种视频通话方法和显示设备
US20220279218A1 (en) Live broadcast method and apparatus, electronic device, and storage medium
CN113709022B (zh) 消息交互方法、装置、设备及存储介质
CN113518264A (zh) 互动方法、装置、终端及存储介质
CN114205633B (zh) 直播互动方法、装置、存储介质和电子设备
CN111880865A (zh) 多媒体数据推送方法、装置、电子设备及存储介质
US20200349749A1 (en) Virtual reality equipment and method for controlling thereof
CN112261481A (zh) 互动视频的创建方法、装置、设备及可读存储介质
WO2023098011A1 (zh) 视频播放方法及电子设备
CN113490010A (zh) 基于直播视频的互动方法、装置、设备及存储介质
CN106464976B (zh) 显示设备、用户终端设备、服务器及其控制方法
CN104903844A (zh) 用于呈现网络和相关联的移动设备中的数据的方法
CN112565657B (zh) 通话互动方法、装置、设备及存储介质
US11656834B2 (en) Information processing device, non-transitory recording medium, and information processing system

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: 18879516

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18879516

Country of ref document: EP

Kind code of ref document: A1