Video on demand method, device, equipment and storage medium based on intermediate number
Through the video on demand method based on the intermediate number, video data is transmitted through the video channel of the media server and the on-demand terminal during the voice call, which solves the problem of lack of emotional communication and privacy protection in traditional voice calls, and realizes diversified video on-demand Delivery.
Patent Information
- Application Number
- CN202311323904.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-12
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2043-10-12
AI Technical Summary
Traditional end-to-end voice calls lack the diversity of emotional communication and information transmission, and the existing video calls methods are relatively single in terms of privacy protection and video formats.
The video on-demand method based on the intermediate number is adopted to transmit video data through the video channel between the media server and the on-demand terminal, so that video on-demand is performed during the voice call, and the resource identifier is sent to serve video data after the media channel is updated successfully.
During the real-time call process, diversified video on demand is realized, user privacy is protected, and diverse video formats are supported.
Smart Images

Figure CN117439980B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, in particular to the field of communication core network signaling processing and media processing technology, and specifically to a video on demand method, device, equipment and storage medium based on an intermediate number. Background Art
[0002] In daily life and various business scenarios, mobile phone calls are a channel for communication and information transmission. In the process of traditional end-to-end voice calls, the mobile phone interfaces of both parties can only display the mobile phone number and the corresponding contact information, call duration, etc. These contents are not very useful for emotional communication and information transmission. Therefore, in the process of traditional calls, the only channel for emotional communication and information transmission between the calling and called terminals is voice, which needs to be enriched.
[0003] This is enriched in the end-to-end real-time voice call process, where video is superimposed on the traditional call. In the related technology, there is already a way to make a video call using a mobile phone dial or an application (APP), but this method only supports the communication party to collect video in real time during the video call, which is a relatively simple form and is not conducive to privacy protection.
[0004] Application Contents
[0005] The present application provides a video on demand method, device, equipment and storage medium based on intermediate numbers.
[0006] In a first aspect, the present application provides a video on demand method based on an intermediate number, which is applied to an intermediate number platform, and includes: during a voice call between a first terminal and a second terminal, receiving a resource identifier of a video requested by the first terminal; initiating media renegotiation of the video call to the first terminal and the second terminal to add a video channel to the media channel between a media server and the requested terminal, wherein the requested terminal is the first terminal and / or the second terminal; and when the media channel is updated successfully, sending the resource identifier to the media server, wherein the resource identifier is used to send the video data corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal.
[0007] In a second aspect, the present application provides another video on demand method based on an intermediate number, wherein one of the first terminal and the second terminal is the requested terminal; the other of the first terminal and the second terminal is a non-requested terminal; the media renegotiation of initiating a video call to the first terminal and the second terminal to establish a video channel between the media server and the requested terminal includes: performing media renegotiation with the non-requested terminal to determine the candidate media capability information sent by the non-requested terminal; adding video media information to the candidate media capability information of the non-requested terminal and adjusting the audio media information accordingly to obtain target media capability information; performing media renegotiation with the requested terminal based on the target media capability information to determine the media capability information selected by the requested terminal; and sending a media call update request to the media server, wherein the media call update request carries the media capability information selected by the requested terminal, and is used by the media server to update the media channel based on the media capability information of the requested terminal.
[0008] In a third aspect, the present application provides another video on demand method based on an intermediate number, wherein media re-negotiation is performed with the non-on-demand terminal to determine the media capability information of the non-on-demand terminal, comprising: sending a first re-negotiation request to the non-on-demand terminal, wherein the first re-negotiation request does not carry the media capability information; and receiving a first response message sent by the non-on-demand terminal, wherein the first response message carries the candidate media capability information sent by the non-on-demand terminal.
[0009] In a fourth aspect, the present application provides another video on demand method based on an intermediate number, wherein media re-negotiation is performed with the video on demand terminal based on the target media capability information to determine the media capability information selected by the video on demand terminal, including: sending a second re-negotiation request to the video on demand terminal, wherein the second re-negotiation request carries the target media capability information, which is used to select the media capability information of the video on demand terminal for the media channel from the target media capability information; and receiving a second response message sent by the video on demand terminal, wherein the second response message carries the media capability information selected by the video on demand terminal.
[0010] In the fifth aspect, the present application provides another video on demand method based on an intermediate number, which, after receiving the second response message sent by the on-demand terminal, also includes: removing the video media information from the media capability information selected by the on-demand terminal; and sending a third response message to the non-on-demand terminal, wherein the third response message carries the media capability information after removing the video media information.
[0011] In a sixth aspect, the present application provides another video on demand method based on an intermediate number, which adds video media information to the candidate media capability information of the non-on-demand terminal and correspondingly adjusts the audio media information to obtain the target media capability information, including: adding video media information based on a set video encoding format to the candidate media capability information of the non-on-demand terminal, and modifying the audio media information in the candidate media capability information to the set audio encoding format, so as to use the modified candidate media capability information as the target media capability information.
[0012] In the seventh aspect, the present application provides another video on demand method based on an intermediate number, wherein the first terminal and the second terminal are both the requested terminals, and the media renegotiation of initiating a video call to the first terminal and the second terminal to establish a video channel between the media server and the requested terminal includes: based on the set candidate media capability information, performing media renegotiation with the first terminal to obtain the media capability information selected by the first terminal based on the candidate media capability information; modifying the audio and video media ports in the media capability information selected by the first terminal to obtain the target media capability information; performing media renegotiation with the second terminal based on the target media capability information to determine the media capability information of the second terminal; and sending a media call update request to the media server, wherein the media call update request carries the media capability information of the second terminal, and is used for the media server to update the media channel based on the media capability information of the second terminal.
[0013] In an eighth aspect, the present application provides another video on demand method based on an intermediate number, wherein the audio and video media ports in the media capability information selected by the first terminal are modified to obtain the target media capability information, including: modifying the network address in the media capability information selected by the first terminal to the network address of the media server, and modifying the port in the media capability information selected by the first terminal to the port of the media server.
[0014] In the ninth aspect, the present application provides a cross-network video call device, which is applied to an intermediate number platform, and the device includes: a first receiving module, which is used to receive the resource identifier of the video requested by the first terminal during a voice call between the first terminal and the second terminal; a media renegotiation module, which is used to initiate media renegotiation of the video call to the first terminal and the second terminal, so as to add a video channel to the media channel between the media server and the requested terminal, wherein the requested terminal is the first terminal and / or the second terminal; a first sending module, which is used to send the resource identifier to the media server when the media channel is updated successfully, wherein the resource identifier is used to send the video data corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal.
[0015] In the tenth aspect, the present application provides a communication device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method as described in the first aspect, or execute the method as described in the second aspect, or execute the method as described in the third aspect.
[0016] In the eleventh aspect, the present application provides a storage medium, which stores instructions. When the instructions are executed on a communication device, the communication device executes the method as described in the first aspect of the embodiment of the present application, or executes the method as described in the second aspect of the embodiment of the present application, or executes the method as described in the third aspect of the embodiment of the present application.
[0017] In a twelfth aspect, the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the method described in the first aspect, or implements the method described in the second aspect, or implements the method described in the third aspect.
[0018] The technical solution provided by the embodiments of the present application brings at least the following beneficial effects:
[0019] In an embodiment of the present application, during a voice call between a first terminal and a second terminal, a resource identifier of a video requested by the first terminal is received; media renegotiation of the video call is initiated to the first terminal and the second terminal to add a video channel to a media channel between a media server and the requested terminal, wherein the requested terminal is the first terminal and / or the second terminal; and when the media channel is updated successfully, a resource identifier is sent to the media server, wherein the resource identifier is used to send video data corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal, thereby achieving video on demand delivery to the first terminal and / or the second terminal during a real-time call based on the intermediate number, protecting the user's privacy and supporting the diversification of on-demand videos. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0021] Figure 1 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 1 ;
[0022] Figure 2 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 2 ;
[0023] Figure 3 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 3 ;
[0024] Figure 4 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 4 ;
[0025] Figure 5 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 5 ;
[0026] Figure 6 A schematic diagram of a framework corresponding to a video file upload and call establishment interface and a signaling interaction process is provided for an embodiment of the present application;
[0027] Figure 7 Interactive diagram of the service architecture of the intermediate number video on demand function provided in the embodiment of the present application;
[0028] Figure 8 A schematic diagram of a framework corresponding to a unilateral on-demand video interface and a signaling interaction process during a call provided in an embodiment of the present application;
[0029] Fig. 9 A schematic diagram of a framework corresponding to the bilateral on-demand video interface and signaling interaction process during a call provided in an embodiment of the present application;
[0030] Fig.10 A schematic diagram of the structure of a video-on-demand device based on an intermediate number provided in an embodiment of the present application;
[0031] Fig.11 A schematic diagram of the structure of another video-on-demand device based on intermediate numbers provided in an embodiment of the present application;
[0032] Fig.12 A schematic diagram of the structure of a communication device provided in an embodiment of the present application.
[0033] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0034] The following is a description of exemplary embodiments of the present application in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0035] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations.
[0036] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0037] Figure 1 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 1 .
[0038] like Figure 1 As shown, the method provided in this embodiment can be executed by the intermediate number platform, and the method can include the following steps:
[0039] Step 101: During a voice call between a first terminal and a second terminal, a resource identifier of a video requested by the first terminal is received.
[0040] It should be noted that the terminal mentioned in this embodiment can be any device with computing capabilities, such as a personal computer, a mobile terminal, a server, etc. The mobile terminal can be, for example, a vehicle-mounted device, a mobile phone, a tablet computer, a personal digital assistant, a wearable device, and other hardware devices with various operating systems, touch screens and / or display screens.
[0041] In some examples, the resource identifier of the video requested by the first terminal is subsequently used to send the resource identifier to the media server using the intermediate number platform, and the resource identifier is used to query the audio and video media library to obtain the corresponding video data.
[0042] It should be noted that, as a possible implementation method, the intermediate number platform in this example can be an intermediate number platform AS (application server). AS interacts with the video on demand capability exposure service and the audio and video media library, wherein the video on demand capability exposure service is mainly responsible for opening the audio and video file upload interface and the video playback control interface to the outside world; the audio and video media library is used to store the audio and video files uploaded by the user.
[0043] In this example, when the first terminal performs a video-on-demand operation and orders a video in a video-on-demand application, a request message is sent to the background server of the video-on-demand application, wherein the request message carries the video identifier and playback control parameters of the video on demand, and is used to query and obtain the resource identifier of the video ordered by the first terminal based on a combination of the video identifier and the first terminal identifier.
[0044] It can be understood that, according to the video requested by the first terminal, the video on demand capability exposure service will assign a corresponding video identifier to it, and return the corresponding video identifier to the background server of the video on demand application and store it in the database to determine the video identifier of the on-demand operation video, wherein the video identifier of the on-demand operation video can be used to identify the corresponding video requested by the first terminal.
[0045] It should be noted that when the first terminal initiates a call request with the second terminal, a corresponding identifier is assigned to the first terminal, and the corresponding identifier is returned to the background server of the video on demand application. It can be understood that the corresponding identifier is the first terminal identifier.
[0046] Step 102: Initiate media renegotiation of the video call to the first terminal and the second terminal to add a video channel to the media channel between the media server and the requested terminal, wherein the requested terminal is the first terminal and / or the second terminal.
[0047] Among them, it should be noted that there are three possible situations for the first terminal and the second terminal. The first situation is that the first terminal is a non-on-demand terminal and the second terminal is an on-demand terminal. The second situation is that the first terminal is an on-demand terminal and the second terminal is a non-on-demand terminal. The third situation is the first situation that both the first terminal and the second terminal are on-demand terminals.
[0048] It can be understood that the first case and the second case can be collectively referred to as a one-sided on-demand case, and the third case can be referred to as a two-sided on-demand case.
[0049] Media renegotiation refers to the process of re-negotiating media capabilities when the first terminal and the called terminal need to switch the media capability format and the media stream receiving and sending address due to various reasons after the media channel has been established during the call process.
[0050] Optionally, in the case of one-sided on-demand, in some examples, the intermediate number platform first performs media renegotiation with the non-on-demand terminal among the first terminal and the second terminal, adds video media information and correspondingly adjusts audio media information to the candidate media capability information of the non-on-demand terminal, and then performs media renegotiation with the on-demand terminal among the first terminal and the second terminal to complete the media renegotiation for initiating a video call to the first terminal and the second terminal.
[0051] Optionally, in the case of bilateral on-demand, in some examples, the intermediate number platform first performs media re-negotiation with the first terminal and modifies the audio and video media ports in the media capability information selected by the first terminal, and then performs media re-negotiation with the second terminal to complete the media re-negotiation of initiating a video call to the first terminal and the second terminal.
[0052] Step 103: When the media channel is updated successfully, a resource identifier is sent to the media server, wherein the resource identifier is used to send video data corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal.
[0053] Optionally, in the case of one-sided on-demand, in some examples, based on the updated media channel between the media server and the on-demand terminal in the first terminal and the second terminal, the resource identifier is used to pull the corresponding target audio and video information from the audio and video media library, and send the corresponding audio and video information to the first terminal and the on-demand terminal in the second terminal.
[0054] Optionally, in the case of bilateral on-demand, in some examples, based on the updated media channel between the media server and the on-demand terminal, the resource identifier is used to pull the corresponding target audio and video information from the audio and video media library, and send the corresponding audio and video information to the on-demand terminal.
[0055] It can be understood that the target audio and video information includes video data corresponding to the resource identifier, and audio data obtained by mixing the audio of the video corresponding to the resource identifier with the audio collected by the non-on-demand terminal.
[0056] According to the call method of the intermediate number of the embodiment of the present application, during a voice call between a first terminal and a second terminal, a resource identifier of a video requested by the first terminal is received; media renegotiation of the video call is initiated to the first terminal and the second terminal to add a video channel to the media channel between the media server and the requested terminal, wherein the requested terminal is the first terminal and / or the second terminal; when the media channel is updated successfully, a resource identifier is sent to the media server, wherein the resource identifier is used to send the number of videos corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal, thereby realizing video on demand delivery to the first terminal and / or the second terminal during a real-time call based on the intermediate number platform, protecting the privacy of the user and supporting the diversification of on-demand videos.
[0057] Based on the above embodiment, in the case of unilateral on-demand, how to initiate media renegotiation of a video call to the first terminal and the second terminal, so as to add a video channel to the media channel between the media server and the on-demand terminal, and send a resource identifier to the media server when the media channel is successfully updated, is described below in conjunction with Figure 2 The method of this embodiment is further described illustratively.
[0058] Figure 2 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 2 .
[0059] like Figure 2 As shown, the method is to perform the following steps through the intermediate number platform, and the method may include:
[0060] Step 201 , one of the first terminal and the second terminal plays a video on demand in a video on demand application, triggering the intermediate number platform to initiate media renegotiation of the video call to the first terminal and the second terminal.
[0061] It can be understood that one of the first terminal and the second terminal is an on-demand terminal, and the other of the first terminal and the second terminal is a non-on-demand terminal.
[0062] In some examples, after a non-on-demand terminal places an on-demand operation on a video in a video on demand application, the background server of the video on demand application detects the on-demand operation performed by the video on demand application, and based on the video on which the on-demand operation is performed, sends a request message to the background server of the video on demand application, wherein the request message carries a video identifier and playback control parameters.
[0063] Among them, it can be understood that the video identifier is used to trigger the intermediate number platform to initiate media re-negotiation of the video call to the first terminal and the second terminal.
[0064] In some examples, based on a request message sent to a background server of a video-on-demand application, the background server of the video-on-demand application encapsulates various messages in the request message to obtain a resource identifier of the requested video.
[0065] The combination of the video identifier and the first terminal identifier is used to query and obtain the resource identifier of the requested video.
[0066] Step 202: Perform media re-negotiation with the non-on-demand terminal to determine the candidate media capability information sent by the non-on-demand terminal.
[0067] In some examples, the specific steps of performing media re-negotiation with a non-on-demand terminal to determine the candidate media capability information sent by the non-on-demand terminal are as follows: the intermediate number platform AS sends a first re-negotiation request to the non-on-demand terminal, wherein the first re-negotiation request does not carry the media capability information; the intermediate number platform AS receives a first response message sent by the non-on-demand terminal, wherein the first response message carries the candidate media capability information sent by the non-on-demand terminal.
[0068] It is understandable that a voice call is conducted before the video call, so the candidate media capability information does not carry video media information.
[0069] Step 203: Add the video media information to the candidate media capability information of the non-on-demand terminal and adjust the audio media information accordingly to obtain the target media capability information.
[0070] In this example, in order to make the target media capability information supportable in the communication network, video media information based on the set video encoding format is added to the candidate media capability information of the non-on-demand terminal, and the audio media information in the candidate media capability information is modified to the set audio encoding format, so that the modified candidate media capability information is used as the target media capability information.
[0071] For example, the video media information based on H264 encoding is added to the candidate media capability information of the non-on-demand terminal, and the original audio media information is adjusted to amrwb encoding.
[0072] Step 204: Perform media re-negotiation with the on-demand terminal based on the target media capability information to determine the media capability information selected by the on-demand terminal.
[0073] In some examples, the specific steps of performing media re-negotiation with the requested terminal based on the target media capability information to determine the media capability information selected by the requested terminal are as follows: sending a second re-negotiation request to the requested terminal, wherein the second re-negotiation request carries the target media capability information for selecting the media capability information used by the requested terminal for the media channel from the target media capability information; and receiving a second response message sent by the requested terminal, wherein the second response message carries the media capability information selected by the requested terminal.
[0074] Among them, it should be noted that after the intermediate number platform AS receives the second response message sent by the on-demand terminal, it also includes: removing the video media information from the media capability information selected by the on-demand terminal; sending a third response message to the non-on-demand terminal, wherein the third response message carries the media capability information after removing the video media information.
[0075] It can be understood that when the non-on-demand terminal receives the third response message, the entire process of media re-negotiation between the intermediate number platform and the non-on-demand terminal is completed.
[0076] It can be understood that, during the entire process of media re-negotiation between the intermediate number platform and the non-on-demand terminal, the encoding format of the audio media information is the set audio encoding format.
[0077] Step 205: Send a media call update request to the media server, wherein the media call update request carries the media capability information selected by the on-demand terminal, and is used by the media server to update the media channel based on the media capability information of the on-demand terminal.
[0078] In some examples, after the intermediate number platform AS receives the second response message sent by the on-demand terminal, the intermediate number platform AS sends a media call update request to the media server.
[0079] Among them, it can be understood that the intermediate number platform AS and the media server both belong to the intermediate number platform.
[0080] It can be understood that the media channel may include a video media channel and an audio media channel.
[0081] In this example, media re-negotiation of the video call is initiated to the first terminal and the second terminal through the intermediate number platform to update the media channel of the media server based on the on-demand terminal, so that one-sided on-demand video calls can be carried out without burden, which significantly improves the user experience.
[0082] Based on the above embodiment, in the case of bilateral on-demand, how to initiate media renegotiation of a video call to the first terminal and the second terminal, so as to add a video channel to the media channel between the media server and the on-demand terminal, and send a resource identifier to the media server when the media channel is successfully updated, is described below in conjunction with Figure 3 The method of this embodiment is further described illustratively.
[0083] Figure 3 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 3 .
[0084] like Figure 3 As shown, the method is to perform the following steps through the intermediate number platform, and the method may include:
[0085] Step 301: Based on the set candidate media capability information, media re-negotiation is performed with the first terminal to obtain the media capability information selected by the first terminal based on the candidate media capability information.
[0086] In this example, since the candidate media capability information has been set in advance, the intermediate number platform can automatically initiate media re-negotiation of the video call to the first terminal and the second terminal.
[0087] It can be understood that both the first terminal and the second terminal are on-demand terminals.
[0088] It should be noted that the video media information in the set candidate media capability information is based on the set video encoding format and the audio media information is based on the set audio encoding format.
[0089] The video encoding format is set the same as the audio encoding format and step 203, and will not be described again.
[0090] Step 302: modify the audio and video media ports in the media capability information selected by the first terminal to obtain target media capability information.
[0091] In this example, the network address in the media capability information selected by the first terminal is modified to the network address of the media server, and the port in the media capability information selected by the first terminal is modified to the port of the media server.
[0092] It is understandable that when a request is made to a media server, the IP and port of the media server may be automatically allocated.
[0093] Step 303: Perform media re-negotiation with the second terminal based on the target media capability information to determine the media capability information of the second terminal.
[0094] Step 304: Send a media call update request to the media server, wherein the media call update request carries the media capability information of the second terminal, and is used by the media server to update the media channel based on the media capability information of the second terminal.
[0095] In this example, when the media channel is updated successfully, a delivery request is sent to the media server, wherein the delivery request carries a resource identifier. After receiving the delivery request, the media server finds the corresponding video file and audio file from the audio and video media library according to the resource identifier, and delivers the corresponding video file and audio file to the first terminal and the second terminal respectively.
[0096] In some examples, in order to establish an audio media channel and a video media channel between the media server and the first terminal and the second terminal, the audio and video media information in the media capability information sent by the on-demand terminal and received by the intermediate number platform AS can be modified.
[0097] For example, line c in the audio and video information is modified to control the establishment of an audio media channel and a video media channel between the first terminal and the second terminal and the media server of the intermediate number platform.
[0098] In this example, the audio and video media information in the media capability information sent by the on-demand terminal and received by the intermediate number platform AS is modified, thereby introducing media processing capabilities in the end-to-end real-time call process.
[0099] In some examples, in order to make the video media information conform to the set video encoding format and the audio media information conform to the set audio encoding format, the m lines in the audio and video information can be modified to control the audio and video media encoding format during the media re-negotiation process between the first terminal and the second terminal and the intermediate number platform.
[0100] In this example, media re-negotiation of the video call is initiated to the first terminal and the second terminal through the intermediate number platform to update the media channel of the media server based on the on-demand terminal, so that bilateral on-demand video calls can be carried out without burden, thereby improving the user experience.
[0101] Based on the above embodiments, the different behaviors of the intermediate number platform according to different playback instructions are described below. Figure 4 The method of this embodiment is further described illustratively.
[0102] Figure 4 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 4 .
[0103] like Figure 4As shown, the method is to perform the following steps through the intermediate number platform, and the method may include:
[0104] Step 401: receiving a play instruction sent by a backend server of a video-on-demand application or a video-on-demand capability exposure service.
[0105] Step 402: Send a play instruction to the media server, wherein the play instruction is used to control the pause or stop of playing the video data.
[0106] Step 403, correspondingly, when the play instruction is used to control the play of video data, media re-negotiation of the video call is initiated to the first terminal and the second terminal, a resource identifier is sent to the media server, and video data corresponding to the resource identifier is sent to the requested terminal through the video channel between the media server and the requested terminal.
[0107] It can be understood that the detailed description of step 403 can refer to the above embodiment and will not be repeated here.
[0108] Step 404, correspondingly, when the play instruction is used to control the stop of playing the video data, media re-negotiation of the video call is initiated again to the first terminal and the second terminal to fall back the media channel between the media server and the requested terminal to the voice call.
[0109] It is understandable that, whether it is a case of single-side on-demand or double-side on-demand, it supports stopping the playback of video data.
[0110] In some examples, when a request to stop video playback is received or the video has finished playing, the intermediate number platform AS first initiates a negotiation request without media capability information to the first terminal, notifying the first terminal to conduct a new round of media renegotiation. After the intermediate number platform AS receives the media capability information in the new round of media renegotiation, it removes the video information in the media capability information and modifies the IP and port to obtain the new media capability information and notify the intermediate number platform AS to conduct a new round of media renegotiation with the second terminal, sends a request to the media server, and the first terminal and the second terminal successfully fall back to a voice call.
[0111] It can be understood that after the video media information in the media capability information is removed, the media capability information only carries the audio media information.
[0112] In some examples, after the media channel between the media server and the on-demand terminal falls back to a voice call, a notification to update the audio and video media channel is initiated to the media server, the media server closes the video media channel between the first terminal and the second terminal, and closes the mixing operation, and transparently transmits the audio media data received in the audio media channel of the first terminal to the audio media channel of the second terminal, and transparently transmits the audio media data received in the audio media channel of the second terminal to the audio media channel of the first terminal.
[0113] It can be understood that the above examples are described based on the situation of two-sided on-demand.
[0114] Based on the above embodiment, how the audio and video files are uploaded to the intermediate number platform and stored is described below. Figure 5 The method of this embodiment is further described illustratively.
[0115] Figure 5 A schematic diagram of a video on demand method based on an intermediate number provided in an embodiment of the present application Figure 5 .
[0116] like Figure 5 As shown, the method may include:
[0117] Step 501 : Encode the video to be uploaded using a video-on-demand application to obtain audio and video data in a set format.
[0118] It should be noted that the audio and video data has a corresponding video identifier, and the audio and video data includes the video data of the video, or includes the audio data and video data of the video.
[0119] It should be noted that the video on demand application integrates a video file encoder, which can encode the uploaded video into a set video transmission format and a set audio transmission format.
[0120] For example, the video file encoder encodes the uploaded common video file formats such as mp4 files or picture files into the video transmission format H264 and the audio transmission format amrwb supported by the communication network.
[0121] It should be noted that the H264 video file converted from the picture file only has key frames, the same key frame is inserted at regular intervals, and there is no audio file.
[0122] Step 502, sending a video identifier and corresponding audio and video data to the background server of the video on demand application, wherein the audio and video data are used to be stored in the audio and video media library through the background server of the video on demand application and the video on demand capability exposure service, and the audio and video data in the audio and video media library are assigned with corresponding resource identifiers; the video identifier is a resource identifier mapped to the combination of the video identifier and the first terminal identifier stored in the background server.
[0123] Among them, it can be understood that the video on demand capability exposure service located on the middle number platform opens the audio file upload interface and the video file upload interface to the video on demand application background server.
[0124] Step 503: After receiving the video identifier and the corresponding audio and video data sent by the background server of the video on demand application, the video on demand capability opening service transfers the video identifier and the corresponding audio and video data to the audio and video media library.
[0125] In this example, the audio and video data are converted into H264 files and amr files that can be stored in the audio and video media library.
[0126] It can be understood that the video data is an H264 file and the audio data is an amr file.
[0127] Step 504, after the transfer operation is completed, the resource identifier is returned to the video on demand application background server, and the resource identifier is stored in the video on demand application background server.
[0128] It can be understood that the data interactions in the above steps can all be carried out through the https interface.
[0129] In some examples, after the video identifier and the corresponding audio and video data are transferred to the audio and video media library, when the first terminal or the second terminal makes a call for the first time, it is necessary to establish a voice call with the intermediate number platform.
[0130] It is understandable that before the first call is made, the first terminal and the second terminal have not yet conducted media negotiation with the intermediate number platform.
[0131] Based on the above embodiments, in order to clearly understand how the first terminal or the second terminal establishes a voice call with the intermediate number platform when making a call for the first time, the following is combined with Figure 6 The method of this embodiment is further described illustratively.
[0132] It should be noted that the following embodiments are described by taking the first terminal making a call for the first time as an example.
[0133] As an example, in order to achieve the task of establishing a voice call with the intermediate number platform when the first terminal or the second terminal makes a call for the first time, the present application initiates a call request at the first terminal and sends a signal to the intermediate number platform AS. When the intermediate number platform AS receives the signal, it initiates a session creation request to the media server in the intermediate number platform and allocates a network address and port to the media server. At the same time, the intermediate number platform AS will modify the c and m lines of the audio media information in the signal. Based on the modification of the audio media information in the signal, the modified signal is sent to the second terminal. Next, the second terminal performs a series of signaling interactions with the first terminal through the intermediate number platform to complete resource reservation. Then, the first terminal sends a signal carrying media capability information to the intermediate number platform AS. When the intermediate number platform AS receives the signal carrying media capability information, the intermediate number platform AS will perform a series of signaling interactions with the second terminal, and finally returns a signal to the first terminal and modifies the two a lines of audio media information in the signal. At this point, the first terminal and the second terminal complete media negotiation through the intermediate number platform. The framework diagram corresponding to the video file upload and call establishment interface and the signaling interaction process can be shown as follows: Figure 6 As shown, after the first call, the intermediate number platform completes resource reservation and media negotiation through the intermediate number platform to establish a voice call.
[0134] Taking the first call made by the calling terminal as an example, the specific technical implementation process is as follows:
[0135] It should be noted that in Figure 6 The calling terminal may be the first terminal, and the called terminal may be the second terminal.
[0136] Step 601: The calling terminal converts the video source code of the audio and video file.
[0137] Step 602: The calling terminal sends the audio and video files to the video on demand background server, and the video on demand background server receives the audio and video files from the calling terminal.
[0138] Step 603: the video on demand backend server sends the audio and video files to the video on demand capability exposure service, and the video on demand capability exposure service receives the audio and video files.
[0139] Step 604: the video on demand capability exposure service sends the audio and video files to the audio and video media library, and the audio and video media library receives the audio and video files from the video on demand capability exposure service.
[0140] It is understandable that when the audio and video media library receives the audio and video files, the audio and video files can be stored in the library.
[0141] Step 605: the video on demand capability opening service sends a video resource ID to the video on demand background server, and the video on demand background server receives the video resource ID from the video on demand capability opening service.
[0142] It can be understood that the video resource ID can identify the corresponding audio and video files from the audio and video media library.
[0143] Step 606: The calling terminal initiates an invitation signaling to the intermediate number platform, and the intermediate number platform receives the invitation signaling from the calling terminal.
[0144] It can be understood that the invitation signaling may also be an INVITE signaling.
[0145] In this example, after the intermediate number platform receives the invitation signaling from the calling terminal, the intermediate number platform AS in the intermediate number platform will initiate a session creation request to the intermediate number platform media server and obtain the session network address (IP, Internet Protocol) and port assigned by the media server. The intermediate number platform AS modifies the c and m lines of the audio media information in the SDP (Software Defined Perimeter) carried by the invitation signaling, so that the IP and port assigned by the calling terminal are modified to the session IP and port assigned by the media server, and assembles a new invitation signaling with the modified SDP (Software Defined Perimeter).
[0146] Step 607: the intermediate number platform sends a new invitation signaling to the called terminal, and the called terminal receives the invitation signaling from the intermediate number platform.
[0147] Step 608: When the called terminal receives the invitation signaling from the intermediate number platform, it sends a call ID to the video on demand background server at the same time. The video on demand background server receives the call ID and stores it in the database.
[0148] It is understandable that the called terminal will allocate a globally unique call ID for the call. It is understandable that the called terminal sends the call ID to the video on demand backend server via an HTTPS request.
[0149] It is understandable that, because the intermediate number platform has signed the IFC contract, the invitation signaling carrying SDP (Software Defined Perimeter) sent by the calling terminal will be routed by the I-CSCF of the core network to the intermediate number platform AS.
[0150] It is understandable that the calling terminal initially initiates a voice call, so the SDP (Software Defined Perimeter) in the invitation signaling sent by the calling terminal and the invitation signaling connected to the called terminal does not carry video media information, but only carries audio media information.
[0151] It should be noted that the intermediate number platform also needs to detect whether the Contact field in the invitation signaling sent by the calling terminal carries a video parameter and record it. If the Contact field does not carry a video parameter, it means that the calling terminal does not support sending video.
[0152] In this example, the c and m lines of the audio media information are modified through the intermediate number platform AS to control the establishment of audio media channels and video media channels between the calling and called terminals and the media server of the intermediate number platform, and to control the audio and video media encoding formats selected by the media negotiation between the calling and called terminals, thereby realizing video on-demand delivery to the first terminal and / or the second terminal during a real-time call based on the intermediate number, supporting the diversification of on-demand videos and protecting the privacy of users.
[0153] Step 609: The called terminal sends a 183 signaling carrying the called terminal media information SDP (Software Defined Perimeter) to the intermediate number platform, and the intermediate number platform receives the 183 signaling from the called terminal.
[0154] In this example, after the intermediate number platform receives the 183 signaling from the called terminal, it modifies the c and m lines of the audio information in the SDP (Software Defined Perimeter) of the 183 signaling of the called terminal so that the IP and port allocated by the called terminal are modified to the session IP and port allocated by the media server, and uses the modified SDP (Software Defined Perimeter) to assemble a new 183 signaling and return it to the calling terminal.
[0155] Step 610: the intermediate number platform sends a new 183 signaling to the calling terminal, and the calling terminal receives the new 183 signaling from the intermediate number platform.
[0156] Step 611: The calling terminal sends a PRACK signaling to the intermediate number platform, and the intermediate number platform receives the PRACK signaling from the calling terminal.
[0157] Step 612: The intermediate number platform sends a PRACK signaling to the called terminal, and the called terminal receives the PRACK signaling from the intermediate number platform.
[0158] Step 613: The called terminal sends a 200 signaling to the intermediate number platform, and the intermediate number platform receives the 200 signaling from the called terminal.
[0159] Step 614: the intermediate number platform sends a 200 signaling to the calling terminal, and the calling terminal receives the 200 signaling from the intermediate number platform.
[0160] It can be understood that after the calling terminal receives the 200 signaling from the intermediate number platform, the calling and called terminals complete the resource reservation through the intermediate number platform.
[0161] In step 615, the calling terminal sends an update signaling carrying SDP (Software Defined Perimeter) to the intermediate number platform, and the intermediate number platform receives the update signaling carrying SDP from the calling terminal.
[0162] It can be understood that the update signaling can be UPDATE signaling.
[0163] In this example, after receiving the update signaling carrying SDP, the intermediate number platform AS in the intermediate number platform processes the SDP in the update signaling in the same way as the invitation signaling in the previous steps 601 and 604 to obtain a new update signaling carrying SDP.
[0164] Step 616: The intermediate number platform sends a new update signaling carrying SDP to the called terminal, and the called terminal receives the new update signaling carrying SDP from the intermediate number platform.
[0165] Step 617: The called terminal sends a 200 signaling carrying SDP to the intermediate number platform, and the intermediate number platform receives the 200 signaling carrying SDP from the called terminal.
[0166] In this example, after the intermediate number platform receives the 200 signaling carrying SDP from the called terminal, the intermediate number platform AS in the intermediate number platform processes the 200 signaling in the same manner as the 183 signaling in step 604 to obtain a new 200 signaling carrying SDP.
[0167] Step 618: The intermediate number platform sends a new 200 signaling carrying SDP to the calling terminal, and the calling terminal receives the new 200 signaling carrying SDP from the intermediate number platform.
[0168] In this example, after the calling terminal receives the new 200 signaling carrying SDP, the two a lines of the audio information in the SDP (Software Defined Perimeter) of the calling and called terminals are modified at the same time, that is, a=curr:qoslocal and a=curr:qos remote are both updated to sendrecv, and the calling and called terminals are modified according to the two a lines of the audio information, and the media negotiation is completed.
[0169] It can be understood that when resource reservation and media negotiation are completed through the intermediate number platform, at this time, media channels are established between the intermediate number platform media server in the intermediate number platform and the calling and called terminals.
[0170] Among them, it can be understood that if the calling and called terminals have signed up for ringback tone services, the calling and called terminals will conduct more than two rounds of Update-200 media negotiation processes. In this case, in the early stage of the call, the intermediate number platform media server does not establish a media channel with the called terminal, but establishes a media channel with the ringback tone media server of the called terminal.
[0171] It should be noted that the intermediate number platform also needs to detect whether the Contact field in the 183 signaling returned by the called terminal carries a video parameter and record it. If the Contact field does not carry a video parameter, it means that the called terminal does not support video.
[0172] Step 619: The called terminal sends a 180 signaling to the intermediate number platform, and the intermediate number platform receives the 180 signaling from the called terminal.
[0173] It is understandable that the called terminal sends the 180 signaling to indicate that the ringing has been initiated.
[0174] Step 620: the intermediate number platform sends a 180 signaling to the calling terminal, and the calling terminal receives the 180 signaling from the intermediate number platform.
[0175] Step 621: The called terminal sends a 200 signaling to the intermediate number platform, and the intermediate number platform receives the 200 signaling from the called terminal.
[0176] It can be understood that the called terminal sending the 200 signaling indicates that the called terminal has picked up the phone.
[0177] Step 622: the intermediate number platform sends a 200 signaling to the calling terminal, and the calling terminal receives the 200 signaling from the intermediate number platform.
[0178] Step 623: The calling terminal sends an ACK signal to the intermediate number platform, and the intermediate number platform receives the ACK signal from the calling terminal.
[0179] Step 624: the intermediate number platform sends an ACK signaling to the called terminal, and the called terminal receives the ACK signaling from the intermediate number platform.
[0180] Step 625: The calling and called terminals make a voice call through the intermediate number platform.
[0181] It can be understood that after the called terminal receives the ACK signaling from the intermediate number platform, the voice call is successfully established, and the calling and called terminals can conduct voice calls through the intermediate number platform.
[0182] It should be noted that if the called terminal has signed a contract for a ringback tone service, before the called terminal sends a 200 signaling, a round of update-200 media negotiation process is required to update the media channel between the intermediate number media server and the ringback tone media server of the called terminal to the media channel between the intermediate number media server and the called terminal.
[0183] Step 626: The called terminal sends a BYE signaling to the intermediate number platform, and the intermediate number platform receives the BYE signaling from the called terminal.
[0184] It can be understood that the called terminal sending the BYE signaling indicates that the called terminal has hung up.
[0185] Step 627: the intermediate number platform sends a BYE signaling to the calling terminal, and the calling terminal receives the BYE signaling from the intermediate number platform.
[0186] Step 628: The calling terminal sends a 200 signaling to the intermediate number platform, and the intermediate number platform receives the 200 signaling from the calling terminal.
[0187] It can be understood that the sending of the 200 signaling by the calling terminal indicates that the information that the called terminal has hung up has been received.
[0188] Step 629: the intermediate number platform sends a 200 signaling to the called terminal, and the called terminal receives the 200 signaling from the intermediate number platform.
[0189] As an example, in order to achieve the task of realizing the video on demand function based on the intermediate number, the video on demand APP in the Internet of this application will encode and decode the video or picture uploaded by the calling terminal, and then the video on demand APP will upload the encoded and decoded video and audio files to the video on demand APP background service, and at the same time, the video on demand APP will send a video playback control request to the video on demand APP background service, and then the video on demand APP background service will upload the video file and audio file to the video on demand capability opening service in the communication network and send a video playback control request to the video on demand capability opening service. After the video on demand capability opening service receives the video file, audio file and video playback control request, it will transfer the video file and audio file to the audio and video media library in the communication network.
[0190] When the intermediate number platform AS (application server) in the communication network receives a video playback control request for the video on demand capability exposure service, the intermediate number platform AS will establish a signaling channel with the called terminal. At the same time, the intermediate number platform media server will pull the corresponding audio and video files from the audio and video media library, and establish an audio media channel and a video media channel with the called terminal and the calling terminal.
[0191] The service architecture interaction diagram of the intermediate number video on demand function can be as follows Figure 7 As shown, the intermediate number platform thus realizes video on demand delivery to the first terminal and / or the second terminal during a real-time call, supports the diversification of on-demand videos and protects the privacy of users.
[0192] As an example, in order to implement the media renegotiation of a video call to the first terminal and the second terminal in the case of unilateral on-demand video, so as to add a video channel to the media channel between the media server and the on-demand terminal, and send a resource identifier to the media server when the media channel is successfully updated, the framework diagram corresponding to the unilateral on-demand video interface and the signaling interaction process in the call can be as follows: Figure 8 shown.
[0193] Among them, it should be noted that Figure 8 The calling terminal in the method may be the first terminal, and the called terminal may be the second terminal.
[0194] The following takes the example of unilateral on-demand broadcasting to the calling terminal, and the specific technical implementation process is as follows:
[0195] Step 801, after the calling terminal clicks on the video it wants to play in the video on demand APP (application), the calling terminal sends a video on demand request to the video on demand background server, and the video on demand background server receives the video on demand request from the calling terminal.
[0196] In this example, after receiving the video on demand request, the video on demand background server encapsulates the request parameters, and then maps them to the globally unique video resource id through the calling terminal account id and video id, and uses them together with the playback control parameters and the globally unique call id reported by the intermediate number platform AS when the call starts as new request parameters, and sends an HTTPS request carrying the video id (identifier) and playback control parameters to the video on demand capability exposure service.
[0197] It is understandable that the video id is the id corresponding to the video that the calling terminal clicks on to be played in the video on demand APP (application).
[0198] Step 802: the video on demand backend server sends an HTTPS request carrying the video id (identifier) and playback control parameters to the video on demand capability exposure service, and the video on demand capability exposure service receives the HTTPS request carrying the video id (identifier) and playback control parameters.
[0199] It is understandable that after receiving the HTTPS request, the video on demand capability exposure service will parse the call ID in the parameters of the HTTPS request to locate the intermediate number platform AS that is currently processing the call.
[0200] Step 803, the video on demand capability exposure service sends an HTTPS request carrying the video id (identifier) and playback control parameters to the intermediate number platform AS, and the intermediate number platform AS receives the HTTPS request carrying the video id (identifier) and playback control parameters from the video on demand capability exposure service.
[0201] It is understandable that after receiving the HTTPS request, the intermediate number platform AS can find the corresponding ongoing call according to the call ID.
[0202] Step 804: the intermediate number platform AS sends an invitation signaling without SDP to the called terminal, and the called terminal receives the invitation signaling from the intermediate number platform AS.
[0203] It should be noted that, because the invitation signaling sent by the intermediate number platform AS to the called terminal does not carry SDP (Software Defined Perimeter), the offer negotiated by SDP (Software Defined Perimeter) must be initiated by the called terminal.
[0204] Step 805: The called terminal sends a 200 signaling carrying SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying SDP from the called terminal.
[0205] In this example, after the intermediate number platform AS receives the 200 signaling carrying SDP sent by the called terminal, the intermediate number platform AS adds video media information based on H264 encoding on the basis of the SDP of the called terminal 200 signaling, and modifies the original audio media information to amrwb encoding, and then encapsulates the modified SDP (Software Defined Perimeter) to obtain an invitation signaling containing audio and video media information SDP (Software Defined Perimeter).
[0206] Step 806: the intermediate number platform AS sends an invitation signaling carrying SDP to the calling terminal, and the calling terminal receives the invitation signaling carrying SDP from the intermediate number platform AS.
[0207] Step 807: The calling terminal sends a 200 signaling carrying the video SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying the video SDP from the calling terminal.
[0208] It can be understood that the video SDP contains the video media information of the calling terminal.
[0209] In this example, the intermediate number platform AS receives the video media information of the SDP (Software Defined Perimeter) in the 200 signaling sent by the calling terminal, and encapsulates the modified SDP (Software Defined Perimeter) into an ACK signaling.
[0210] Step 808: the intermediate number platform AS sends an ACK signaling carrying SDP to the called terminal, and the called terminal receives the ACK signaling carrying SDP from the intermediate number platform AS.
[0211] It can be understood that after the called terminal receives the ACK signaling, the media re-negotiation between the intermediate number platform and the called terminal is completed, and the audio encoding format in the audio media channel between the intermediate number platform and the called terminal is changed to amrwb.
[0212] Step 809: the intermediate number platform AS sends an ACK signaling to the calling terminal, and the calling terminal receives the ACK signaling from the intermediate number platform AS.
[0213] It can be understood that after the calling terminal receives the ACK signaling, the media re-negotiation between the intermediate number platform and the calling terminal is completed.
[0214] Step 810: the intermediate number platform AS sends an audio and video media channel update request to the intermediate number platform media server, and the intermediate number platform media server receives the audio and video media channel update request from the intermediate number platform AS.
[0215] It can be understood that after the intermediate number platform media server receives the audio and video media channel update request, it updates the media channel.
[0216] Step 811, the intermediate number platform AS sends a request to the intermediate number platform media server to play the video to the calling terminal, and the intermediate number platform media server receives the request from the intermediate number platform AS to play the video to the calling terminal.
[0217] Step 812: the intermediate platform media server pulls the audio and video files from the audio and video media library.
[0218] Among them, it can be understood that after the intermediate number platform media server receives a request to play a video to the calling terminal, it finds the corresponding video file and audio file from the audio and video media library according to the video resource ID carried in the request, and loads them.
[0219] Step 813: The calling terminal sends the calling terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the calling terminal side voice from the calling terminal.
[0220] Step 814: the intermediate number platform media server sends the calling terminal side voice to the called terminal, and the called terminal receives the calling terminal side voice from the intermediate number platform media server.
[0221] Step 815: The called terminal sends the called terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the called terminal side voice of the calling terminal.
[0222] Step 816: The intermediate number platform media server performs frequency combination and stream mixing processing on the voice on the calling terminal side and the voice on the called terminal side.
[0223] Among them, it can be understood that after the intermediate number platform media server completes the loading of the audio and video files, since only the video needs to be delivered to the calling terminal, the audio data transmitted from the audio media channel on the called terminal side and the audio data in the loaded audio file can be mixed.
[0224] Step 817: The intermediate number platform media server sends audio media and video media to the calling terminal, and the calling terminal receives the audio media and video media from the intermediate number platform media server.
[0225] It should be noted that the process of on-demand video on the called terminal side is generally the same as that on the calling terminal side, except that the direction of initiating media renegotiation is changed to the calling terminal, and the direction of audio data mixing and video data transmission is changed to the called terminal. For specific interface requests, signaling interaction processes, and media processing and transmission processes, see Figure 7The specific technical implementation process of on-demand video to the called terminal is as follows:
[0226] Step 818, after the calling terminal clicks on the video it wants to play in the video on demand APP (application), the calling terminal sends a video on demand request to the video on demand background server, and the video on demand background server receives the video on demand request from the calling terminal.
[0227] Step 819: the video on demand backend server sends an HTTPS request carrying the video id (identifier) and playback control parameters to the video on demand capability exposure service, and the video on demand capability exposure service receives the HTTPS request carrying the video id (identifier) and playback control parameters.
[0228] Step 820, the video on demand capability exposure service sends an HTTPS request carrying the video id (identifier) and playback control parameters to the intermediate number platform AS, and the intermediate number platform AS receives the HTTPS request carrying the video id (identifier) and playback control parameters from the video on demand capability exposure service.
[0229] Step 821: the intermediate number platform AS sends an invitation signaling without SDP to the calling terminal, and the calling terminal receives the invitation signaling from the intermediate number platform AS.
[0230] Step 822: The calling terminal sends a 200 signaling carrying SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying SDP from the calling terminal.
[0231] Step 823: the intermediate number platform AS sends an invitation signaling carrying SDP to the called terminal, and the called terminal receives the invitation signaling carrying SDP from the intermediate number platform AS.
[0232] In step 824, the called terminal sends a 200 signaling carrying the video SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying the video SDP from the called terminal.
[0233] Step 825: the intermediate number platform AS sends an ACK signaling carrying SDP to the calling terminal, and the calling terminal receives the ACK signaling carrying SDP from the intermediate number platform AS.
[0234] Step 826: the intermediate number platform AS sends an ACK signaling to the called terminal, and the called terminal receives the ACK signaling from the intermediate number platform AS.
[0235] Step 827: the intermediate number platform AS sends an audio and video media channel update request to the intermediate number platform media server, and the intermediate number platform media server receives the audio and video media channel update request from the intermediate number platform AS.
[0236] In step 828, the intermediate number platform AS sends a request to the intermediate number platform media server to play the video to the called terminal, and the intermediate number platform media server receives the request from the intermediate number platform AS to play the video to the called terminal.
[0237] Step 829: The intermediate platform media server pulls the audio and video files from the audio and video media library.
[0238] Step 830: The called terminal sends the called terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the calling terminal side voice from the called terminal.
[0239] Step 831: the intermediate number platform media server sends the called terminal side voice to the calling terminal, and the calling terminal receives the called terminal side voice from the intermediate number platform media server.
[0240] Step 832: The calling terminal sends the calling terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the calling terminal side voice from the calling terminal.
[0241] Step 833: The intermediate number platform media server performs frequency combination and stream mixing processing on the voice on the calling terminal side and the voice on the called terminal side.
[0242] Step 834: the intermediate number platform media server sends audio media and video media to the called terminal, and the called terminal receives the audio media and video media from the intermediate number platform media server.
[0243] As an example, in order to implement the media renegotiation of a video call to the first terminal and the second terminal in the case of bilateral on-demand video, so as to add a video channel to the media channel between the media server and the on-demand terminal, and send a resource identifier to the media server when the media channel is successfully updated, the framework diagram corresponding to the bilateral on-demand video interface and the signaling interaction process in the call can be as follows: Fig. 9 shown.
[0244] After the intermediate number platform AS receives the video delivery request from the calling or called terminal, the specific technical processing flow is as follows: Fig. 9 Part of the video on demand for the calling and called terminals:
[0245] Step 901: The calling terminal sends a video-on-demand request to the video-on-demand background server, and the video-on-demand background server receives the video-on-demand request from the calling terminal.
[0246] Step 902: the video on demand backend server sends an HTTPS request carrying the video id (identifier) and playback control parameters to the video on demand capability exposure service, and the video on demand capability exposure service receives the HTTPS request carrying the video id (identifier) and playback control parameters.
[0247] Step 903, the video on demand capability exposure service sends an HTTPS request carrying the video id (identifier) and playback control parameters to the intermediate number platform AS, and the intermediate number platform AS receives the HTTPS request carrying the video id (identifier) and playback control parameters from the video on demand capability exposure service.
[0248] Step 904: the intermediate number platform AS sends an invitation signaling carrying SDP to the calling terminal, and the calling terminal receives the invitation signaling from the intermediate number platform AS.
[0249] It can be understood that the intermediate number platform AS finds the corresponding ongoing call according to the call ID in the received request.
[0250] It can be understood that the SDP in the invitation signaling carrying SDP sent by the intermediate number platform AS to the calling terminal includes audio and video media information.
[0251] It should be noted that the video media information in the SDP (Software Defined Perimeter) supports the encoding H264, and the audio media information supports the encoding amewb.
[0252] It should be noted that in the case of bilateral on-demand video calls, the intermediate platform AS actively provides the SDP (Software Defined Perimeter) offer for media re-negotiation to initiate the video call.
[0253] Step 905: The calling terminal sends a 200 signaling carrying SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying SDP from the calling terminal.
[0254] In this example, after the intermediate number platform AS receives the 200 signaling sent by the calling terminal, it modifies the c and m lines in the audio and video media information of the SDP (Software Defined Perimeter). The IP and port in the audio and video media information are changed to the IP and port assigned by the intermediate number platform media server, and the modified SDP (Software Defined Perimeter) is encapsulated to obtain a new invitation signaling, which is then sent to the called terminal.
[0255] It should be noted that the purpose of modifying line c in the audio and video media information of the SDP (Software Defined Perimeter) is to control the establishment of an audio media channel and a video media channel between the calling and called terminals and the media server of the intermediate number platform.
[0256] It should be noted that the purpose of modifying the m lines in the audio and video media information of the SDP (Software Defined Perimeter) is to control the audio and video media coding format selected by the media negotiation between the calling and called terminals.
[0257] Step 906: the intermediate number platform AS sends an invitation signaling to the called terminal, and the called terminal receives the invitation signaling from the intermediate number platform AS.
[0258] Step 907: the intermediate number platform AS sends an ACK signaling to the calling terminal, and the calling terminal receives the ACK signaling from the intermediate number platform AS.
[0259] Step 908: The called terminal sends a 200 signaling carrying SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying SDP from the called terminal.
[0260] Step 909: the intermediate number platform AS sends an ACK signaling carrying SDP to the called terminal, and the called terminal receives the ACK signaling carrying SDP from the intermediate number platform AS.
[0261] Step 910: the intermediate number platform AS sends an audio and video media channel update request to the intermediate number platform media server, and the intermediate number platform media server receives the audio and video media channel update request from the intermediate number platform AS.
[0262] In step 911, the intermediate number platform AS sends a request to the intermediate number platform media server to play the video to the calling and called terminals, and the intermediate number platform media server receives the request from the intermediate number platform AS to play the video to the calling and called terminals.
[0263] Step 912: the intermediate platform media server pulls the audio and video files from the audio and video media library.
[0264] Step 913: The called terminal sends the called terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the calling terminal side voice of the called terminal.
[0265] Step 914: The calling terminal sends the calling terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the calling terminal side voice from the calling terminal.
[0266] Step 915: The intermediate number platform media server performs frequency combination and stream mixing processing on the voice on the calling terminal side and the voice on the called terminal side.
[0267] Step 916: the intermediate number platform media server sends audio media and video media to the calling and called terminals, and the calling and called terminals receive the audio media and video media from the intermediate number platform media server.
[0268] It should be noted that if images are played instead of videos, the intermediate number platform media server only loads the video file. In this case, the media server only needs to send the video file media data through the video media channel and transparently transmit the audio media data of the calling and called terminals, without mixing the audio media data.
[0269] After receiving a request to pause video playback, the specific technical processing flow is as follows: Fig. 9 Stop playing part:
[0270] Step 917: the calling terminal sends a request to the video on demand background server to stop playing the video, and the video on demand background server receives the request from the calling terminal to stop playing the video.
[0271] Step 918: The video on demand backend server sends a request to stop playing the video to the video on demand capability exposure service, and the video on demand capability exposure service receives the request to stop playing the video.
[0272] Step 919: The video on demand capability exposure service sends a request to the intermediate number platform AS to stop playing the video, and the intermediate number platform AS receives the request from the video on demand capability exposure service to stop playing the video.
[0273] Step 920: the intermediate number platform AS sends a request to stop playing the video to the intermediate number platform media server, and the intermediate number platform media server receives the request from the intermediate number platform AS to stop playing the video.
[0274] Among them, it can be understood that the request to stop playing the video is initiated from the video on demand APP, forwarded to the intermediate number platform AS via the video on demand background server and the video on demand capability exposure service, and the intermediate number platform AS notifies the intermediate number platform media server to stop playing.
[0275] In this example, after receiving the request to stop playing the video, the intermediate number platform media server stops sending video media data to the video media channel of the calling terminal and the called terminal, and stops the audio media mixing operation, and transparently transmits the audio media data received in the audio media channel on the calling terminal side to the audio media channel on the called terminal side, and transparently transmits the audio media data received in the audio media channel on the called terminal side to the audio media channel on the calling terminal side.
[0276] Correspondingly, when playback needs to be resumed, the intermediate number platform media server retransmits the media data of the video file on the video media channel, and mixes the audio data on the audio media channel of the calling and called terminals with the audio media data of the audio file and sends them to the audio media channel of the other end to resume video playback.
[0277] It is understandable that what is displayed on the calling and called terminals which have stopped playing is a frozen frame of the video playing picture, and no sound of the audio file is heard.
[0278] After the intermediate number platform AS receives a request to stop video playback or the video playback ends, the intermediate number platform media server reports the playback completion result to the intermediate number platform AS. The intermediate number platform AS needs to control the calling and called terminals to fall back to the audio call. For the specific technical processing flow, see Fig. 9 In the fallback language call section:
[0279] Step 921: the intermediate number platform AS sends an invitation signaling to the calling terminal, and the calling terminal receives the invitation signaling from the intermediate number platform AS.
[0280] Step 922: The calling terminal sends a 200 signaling carrying the video SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying the video SDP from the calling terminal.
[0281] In this example, after receiving the 200 signaling carrying the video SDP, the intermediate number platform AS removes the video information in the SDP (Software Defined Perimeter) and modifies the IP and port, and encapsulates the modified SDP (Software Defined Perimeter) to obtain a new invitation signaling and send it to the called terminal.
[0282] Step 923: the intermediate number platform AS sends an invitation signaling for removing the video SDP to the called terminal, and the called terminal receives the invitation signaling for removing the video SDP from the intermediate number platform AS.
[0283] It is understandable that the called terminal receives the invitation signaling without the video media information SDP, knows that the calling terminal wants to fall back to the audio call, and then returns a 200 signaling without the video media information SDP.
[0284] In step 924, the called terminal sends a 200 signaling carrying the video SDP to the intermediate number platform AS, and the intermediate number platform receives the 200 signaling carrying the video SDP from the called terminal.
[0285] Step 925: The intermediate platform media server pulls the audio and video files from the audio and video media library.
[0286] Step 926: the intermediate number platform AS sends an ACK signaling carrying SDP to the calling terminal, and the calling terminal receives the ACK signaling carrying SDP from the intermediate number platform AS.
[0287] Step 927: the intermediate number platform AS sends an ACK signaling to the called terminal, and the called terminal receives the ACK signaling from the intermediate number platform AS.
[0288] Step 928: The intermediate number platform AS sends the calling terminal side voice to the intermediate number platform media server, and the intermediate number platform media server receives the calling terminal side voice from the intermediate number platform AS.
[0289] Step 929: The called terminal sends a voice call to the intermediate number platform media server, and the intermediate number platform media server receives the voice call of the called terminal.
[0290] Step 930: The calling terminal sends a voice call to the intermediate number platform media server, and the intermediate number platform media server receives the voice call from the calling terminal.
[0291] In some examples, during the media negotiation process for initiating a video call, a=curr:qoslocal in the video media information a line in the SDP (Software Defined Perimeter) sent by the intermediate number platform AS to the calling and called terminals is set to recvonly, and a=curr:qos remote is set to sendonly.
[0292] In this example, the video media information line a is modified to notify the user's mobile phone that it only needs to receive video media and does not need to send video media. The camera of the user's mobile phone will not be called up, which affects the user experience.
[0293] It should be noted that before the intermediate number platform AS receives the request to play the video, it will first detect whether the corresponding mobile phone supports video and whether it supports the set audio media format. If the target mobile phone does not support the set video media format and the set audio media format, the video call should not be renegotiated, and the video playback failure should be directly returned and the upstream should be informed of the reason.
[0294] In order to implement the above embodiment, the present application also proposes a video-on-demand device based on an intermediate number.
[0295] Fig.10 A schematic diagram of the structure of a video-on-demand device based on an intermediate number provided in an embodiment of the present application.
[0296] like Fig.10 As shown, the video on demand device 1000 based on the intermediate number includes a first receiving module 1001, a media re-negotiation module 1002, and a first sending module 1003:
[0297] The first receiving module 1001 is used to receive a resource identifier of a video requested by the first terminal during a voice call between the first terminal and the second terminal;
[0298] The media renegotiation module 1002 is used to initiate a media renegotiation of a video call to a first terminal and a second terminal, so as to add a video channel to a media channel between a media server and a requested terminal, wherein the requested terminal is the first terminal and / or the second terminal;
[0299] The first sending module 1003 is used to send a resource identifier to the media server when the media channel is updated successfully, wherein the resource identifier is used to send video data corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal.
[0300] It should be noted that the above explanation of the embodiment of the video on demand method based on the intermediate number is also applicable to the video on demand device based on the intermediate number of this embodiment, and will not be repeated here.
[0301] According to the video on demand device based on the intermediate number of the embodiment of the present application, during a voice call between a first terminal and a second terminal, a resource identifier of a video requested by the first terminal is received; media renegotiation of the video call is initiated to the first terminal and the second terminal to add a video channel to the media channel between the media server and the requested terminal, wherein the requested terminal is the first terminal and / or the second terminal; when the media channel is updated successfully, a resource identifier is sent to the media server, wherein the resource identifier is used to send the number of videos corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal, thereby realizing video on demand delivery to the first terminal and / or the second terminal during a real-time call based on the intermediate number platform, protecting the privacy of the user and supporting the diversification of on-demand videos.
[0302] Based on the above embodiment, the embodiment of the present application also provides another possible implementation method of the video on demand device based on the intermediate number. On the basis of the above embodiment, Fig.11 As shown, the video on demand device 1100 based on the intermediate number also includes:
[0303] In an embodiment, one of the first terminal and the second terminal is a requested terminal; the other of the first terminal and the second terminal is a non-requested terminal, media renegotiation of a video call is initiated to the first terminal and the second terminal to establish a video channel between the media server and the requested terminal, and the media renegotiation module 1102 is specifically configured to:
[0304] Perform media re-negotiation with the non-on-demand terminal to determine the candidate media capability information sent by the non-on-demand terminal;
[0305] Adding video media information to candidate media capability information of non-on-demand terminals and adjusting audio media information accordingly to obtain target media capability information;
[0306] Performing media re-negotiation with the on-demand terminal based on the target media capability information to determine the media capability information selected by the on-demand terminal;
[0307] A media call update request is sent to the media server, wherein the media call update request carries the media capability information selected by the on-demand terminal, and is used by the media server to update the media channel based on the media capability information of the on-demand terminal.
[0308] In one embodiment, media re-negotiation is performed with a non-on-demand terminal to determine media capability information of the non-on-demand terminal. The media re-negotiation module 1102 is specifically configured to:
[0309] Sending a first re-negotiation request to a non-on-demand terminal, wherein the first re-negotiation request does not carry media capability information;
[0310] A first response message sent by a terminal that is not on-demand is received, wherein the first response message carries candidate media capability information sent by the terminal that is not on-demand.
[0311] In one embodiment, media renegotiation is performed with the on-demand terminal based on the target media capability information to determine the media capability information selected by the on-demand terminal. The media renegotiation module 1102 is specifically configured to:
[0312] Sending a second negotiation request to the on-demand terminal, wherein the second negotiation request carries target media capability information, which is used to select media capability information used by the on-demand terminal for the media channel from the target media capability information;
[0313] A second response message sent by the on-demand terminal is received, wherein the second response message carries media capability information selected by the on-demand terminal.
[0314] In one embodiment, after receiving the second response message sent by the on-demand terminal, the media renegotiation module 1102 is specifically configured to:
[0315] Remove the video media information from the media capability information selected by the on-demand terminal;
[0316] A third response message is sent to the non-on-demand terminal, wherein the third response message carries the media capability information after the video media information is removed.
[0317] In one embodiment, video media information is added to candidate media capability information of a non-on-demand terminal and audio media information is adjusted accordingly to obtain target media capability information. The media renegotiation module 1102 is specifically configured to:
[0318] In the candidate media capability information of the non-on-demand terminal, video media information based on the set video coding format is added, and the audio media information in the candidate media capability information is modified to the set audio coding format, so that the modified candidate media capability information is used as the target media capability information.
[0319] In one embodiment, when both the first terminal and the second terminal are on-demand terminals, the media re-negotiation module 1102 is specifically configured to:
[0320] Based on the set candidate media capability information, perform media re-negotiation with the first terminal to obtain the media capability information selected by the first terminal based on the candidate media capability information;
[0321] Modifying the audio and video media ports in the media capability information selected by the first terminal to obtain target media capability information;
[0322] Performing media re-negotiation with the second terminal based on the target media capability information to determine the media capability information of the second terminal;
[0323] A media call update request is sent to the media server, wherein the media call update request carries the media capability information of the second terminal, and is used by the media server to update the media channel based on the media capability information of the second terminal.
[0324] In one embodiment, the audio and video media ports in the media capability information selected by the first terminal are modified to obtain target media capability information. The media renegotiation module 1102 is specifically configured to:
[0325] The network address in the media capability information selected by the first terminal is modified to be the network address of the media server, and the port in the media capability information selected by the first terminal is modified to be the port of the media server.
[0326] In one embodiment, when the media channel is updated successfully, the resource identifier is sent to the media server, and the first sending module 1103 is specifically configured to:
[0327] When the media channel is updated successfully, a delivery request is sent to the media server, wherein the delivery request carries a resource identifier.
[0328] In one embodiment, when the media channel is updated successfully, after sending the resource identifier to the media server, the device further includes:
[0329] The second receiving module 1104 is configured to receive a play instruction sent by a background server of the video-on-demand application or a video-on-demand capability exposure service.
[0330] The play instruction module 1105 is used to send a play instruction to the media server, wherein the play instruction is used to control the pause or stop of playing the video data.
[0331] In one embodiment, when the play instruction is used to control the stop of playing the video data, the media renegotiation module 1102 is specifically used to:
[0332] Initiate media re-negotiation of the video call to the first terminal and the second terminal again, so as to fall back the media channel between the media server and the requested terminal to the voice call;
[0333] Notify the media server of the subsequent media channels.
[0334] In one embodiment, applied to a first terminal, the apparatus further includes:
[0335] The first detection module 1106 is configured to detect a video-on-demand operation performed by a video-on-demand application during a voice call between the first terminal and the second terminal.
[0336] The second sending module 1107 is used to send the video identifier of the video to the background server of the video on demand application based on the video performing the on-demand operation, wherein the video identifier is used to trigger the intermediate number platform to initiate media re-negotiation of the video call to the first terminal and the second terminal, so as to add a video channel to the media channel between the media server and the on-demand terminal, and send the corresponding video data to the on-demand terminal through the added video channel between the media server and the on-demand terminal.
[0337] In one embodiment, when the first terminal is a non-on-demand terminal and the second terminal is an on-demand terminal, the media renegotiation module 1102 is specifically configured to:
[0338] receiving a first re-negotiation request sent by the intermediate number platform, wherein the first re-negotiation request does not carry media capability information;
[0339] A first response message is sent to the intermediate number platform, wherein the first response message carries candidate media capability information provided by the non-on-demand terminal.
[0340] In one embodiment, when the first terminal is a requested terminal and the second terminal is a non-requested terminal, the media renegotiation module 1102 is specifically configured to:
[0341] receiving a second negotiation request sent by the intermediate number platform, wherein the second negotiation request carries target media capability information; the target media capability information is obtained by adding video media information to candidate media capability information of the non-on-demand terminal and adjusting audio media information accordingly;
[0342] Sending a second response message to the intermediate number platform, wherein the second response message carries the media capability information selected from the target media capability information and used by the on-demand terminal for the media channel, and updating the media channel based on the target media capability information;
[0343] Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is received and displayed, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with the audio collected by the non-on-demand terminal.
[0344] In one embodiment, when the first terminal and the second terminal are both on-demand terminals, the media renegotiation module 1102 is specifically configured to:
[0345] Receive candidate media capability information sent by the intermediate number platform;
[0346] Based on the set candidate media capability information, the selected media capability information is sent to the intermediate number platform, wherein the media capability information selected by the first terminal is used to modify the audio and video media port to obtain the target media capability information, and the media is renegotiated with the second terminal based on the target media capability information, and the media channel is updated based on the media capability information of the second terminal determined by the media renegotiation;
[0347] Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is received and displayed, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with the audio collected by the second terminal.
[0348] In one embodiment, the apparatus further comprises:
[0349] A second detection module 1108, configured to detect a control operation performed by the video on demand application;
[0350] The play instruction module 1105 is specifically used for:
[0351] Based on the play instruction corresponding to the control operation, the play instruction is sent to the media server through the background server of the video on demand application, wherein the play instruction is used to control the pause or stop of the play of the video data.
[0352] In one embodiment, the second sending module 1107 is specifically used to notify the background server of the video on demand application to perform the video on demand operation:
[0353] Send a request message to the backend server of the video on demand application, where the request message carries the video identifier and playback control parameters of the video;
[0354] Among them, the combination of the video identifier and the first terminal identifier is used to query the resource identifier of the video on demand by the first terminal, and send the resource identifier to the media server through the intermediate number platform used for voice calls to query the corresponding video data in the audio and video media library.
[0355] In one embodiment, the apparatus further comprises:
[0356] The encoding module 1109 is used to encode the video to be uploaded using a video-on-demand application to obtain audio and video data in a set format; wherein the audio and video data has a corresponding video identifier, and the audio and video data includes video data of the video, or includes audio data and video data of the video;
[0357] The third sending module 1110 is used to send a video identifier and corresponding audio and video data to the background server of the video on demand application; wherein the audio and video data are used to be stored in the audio and video media library through the background server of the video on demand application and the video on demand capability exposure service, and the audio and video data in the audio and video media library are assigned with corresponding resource identifiers; the video identifier is a resource identifier mapped to the combination of the video identifier and the first terminal identifier stored in the background server.
[0358] In one embodiment, the method is applied to a media server. During a voice call between a first terminal and a second terminal, a media re-negotiation of a video call is initiated to the first terminal and the second terminal based on an intermediate number platform, and a media channel between the media server and the requested terminal is updated to add a video channel to the media channel; wherein the requested terminal is the first terminal and / or the second terminal:
[0359] The first receiving module 1101 is specifically configured to:
[0360] Receive the resource identifier sent by the intermediate number platform;
[0361] The device also includes:
[0362] The fourth sending module 1111 is used to send the video data corresponding to the resource identifier to the requested terminal through the updated media channel between the media server and the requested terminal.
[0363] In an embodiment, one of the first terminal and the second terminal is an on-demand terminal; the other of the first terminal and the second terminal is a non-on-demand terminal, and video data corresponding to the resource identifier is sent to the on-demand terminal through a media channel updated between the media server and the on-demand terminal. The fourth sending module 1111 is specifically configured to:
[0364] Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is sent to the on-demand terminal, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with the audio collected by the non-on-demand terminal.
[0365] In one embodiment, the first terminal and the second terminal are both on-demand terminals, and the video data corresponding to the resource identifier is sent to the on-demand terminal through the media channel updated between the media server and the on-demand terminal. The fourth sending module 1111 is specifically used to:
[0366] Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is sent to the on-demand terminal, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with the audio collected by another on-demand terminal.
[0367] The video on demand device based on the intermediate number provided in the embodiment of the present application can be used to execute the technical solution of the video on demand method based on the intermediate number in the above embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
[0368] It should be noted that it should be understood that the division of the various modules of the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And these modules can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some modules can also be implemented in the form of software calling through processing elements, and some modules can be implemented in the form of hardware. For example, the media renegotiation module 1102 can be a separately established processing element, or it can be integrated in a chip of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and called and executed by a processing element of the above device. The function of the above media renegotiation module 1102. The implementation of other modules is similar. In addition, these modules can be fully or partially integrated together, or they can be implemented independently. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each module above can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.
[0369] In order to implement the above embodiments, the present application also proposes a communication device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the cross-network video call method proposed in the aforementioned embodiments of the present application.
[0370] In order to implement the above embodiments, the present application also proposes a storage medium, which stores instructions. When the instructions are executed on a communication device, the communication device can execute the cross-network video call method as described in the first aspect embodiment.
[0371] In order to implement the above embodiments, the present application also proposes a computer program product, including a computer program, which implements the method described in the first aspect of the embodiment when executed by a processor.
[0372] Fig.12 A block diagram of an exemplary communication device suitable for implementing the embodiments of the present application is shown. Fig.12 The communication device 12 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0373] like Fig.12 As shown, the communication device 12 is implemented in the form of a general purpose computing device. Components of the communication device 12 may include, but are not limited to: one or more processors or processing units 16, memory 28, and a bus 18 that connects various system components (including the memory 28 and the processing unit 16).
[0374] The bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of a variety of bus structures. For example, these architectures include but are not limited to Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnection (PCI) bus.
[0375] The communication device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the communication device 12, including volatile and non-volatile media, removable and non-removable media.
[0376] The memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The communication device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Fig.12 Not shown, often called a "hard drive").
[0377] although Fig.12 Not shown, a disk drive for reading and writing a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing a removable non-volatile optical disk (e.g., a compact disc read only memory (CD-ROM), a digital versatile disc read only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present application.
[0378] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in the memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of the embodiments described herein.
[0379] The communication device 12 may also communicate with one or more external devices 14 (e.g., a keyboard, a pointing device, a display 24, etc.), one or more devices that enable a user to interact with the communication device 12, and / or any device that enables the communication device 12 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed through an input / output (I / O) interface 22. Furthermore, the communication device 12 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 20. Fig.12As shown, the network adapter 20 communicates with other modules of the communication device 12 via the bus 18. It should be understood that although Fig.12 Not shown, other hardware and / or software modules may be used in conjunction with the communication device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0380] The processing unit 16 executes various functional applications and data processing by running the programs stored in the memory 28, such as implementing the cross-network video call method mentioned in the above embodiment.
[0381] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the inventions claimed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary techniques in the art that are not claimed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the claims below.
[0382] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A video on demand method based on an intermediate number, characterized in that: Applied to the intermediate platform, including: During a voice call between a first terminal and a second terminal, receiving a resource identifier of a video requested by the first terminal; Initiating media renegotiation of a video call to the first terminal and the second terminal to add a video channel to a media channel between a media server and a requested terminal, wherein the requested terminal is the first terminal and / or the second terminal, and the media renegotiation includes a process of re-negotiating media capabilities when the first terminal and the second terminal need to switch media capability formats after the media channel has been established during the call; In the case where the media channel is updated successfully, the resource identifier is sent to the media server, wherein the resource identifier is used to send video data corresponding to the resource identifier to the requested terminal through the video channel between the media server and the requested terminal.
2. The method according to claim 1, characterized in that One of the first terminal and the second terminal is the requested terminal; the other of the first terminal and the second terminal is a non-requested terminal; The initiating media re-negotiation of the video call to the first terminal and the second terminal to establish a video channel between the media server and the video-on-demand terminal includes: Performing media re-negotiation with the non-on-demand terminal to determine the candidate media capability information sent by the non-on-demand terminal; Adding video media information to the candidate media capability information of the non-on-demand terminal and adjusting audio media information accordingly to obtain target media capability information; Performing media re-negotiation with the on-demand terminal based on the target media capability information to determine the media capability information selected by the on-demand terminal; A media call update request is sent to the media server, wherein the media call update request carries the media capability information selected by the on-demand terminal, and is used by the media server to update the media channel based on the media capability information of the on-demand terminal.
3. The method according to claim 2, characterized in that The performing media re-negotiation with the non-on-demand terminal to determine the media capability information of the non-on-demand terminal includes: Sending a first re-negotiation request to the non-on-demand terminal, wherein the first re-negotiation request does not carry media capability information; A first response message sent by the non-on-demand terminal is received, wherein the first response message carries the candidate media capability information sent by the non-on-demand terminal.
4. The method according to claim 2, characterized in that: The performing media re-negotiation with the on-demand terminal based on the target media capability information to determine the media capability information selected by the on-demand terminal includes: Sending a second re-negotiation request to the requested terminal, wherein the second re-negotiation request carries the target media capability information, and is used to select the media capability information of the requested terminal for the media channel from the target media capability information; A second response message sent by the on-demand terminal is received, wherein the second response message carries media capability information selected by the on-demand terminal.
5. The method according to claim 4, characterized in that After receiving the second response message sent by the on-demand terminal, the method further includes: Removing video media information from the media capability information selected by the on-demand terminal; A third response message is sent to the non-on-demand terminal, wherein the third response message carries the media capability information after the video media information is removed.
6. The method according to claim 2, characterized in that The adding of the video media information to the candidate media capability information of the non-on-demand terminal and the corresponding adjustment of the audio media information to obtain the target media capability information includes: In the candidate media capability information of the non-on-demand terminal, video media information based on the set video encoding format is added, and the audio media information in the candidate media capability information is modified to the set audio encoding format, so that the modified candidate media capability information is used as the target media capability information.
7. The method according to claim 1, characterized in that The first terminal and the second terminal are both the requested terminals; The initiating media re-negotiation of the video call to the first terminal and the second terminal to establish a video channel between the media server and the video-on-demand terminal includes: Based on the set candidate media capability information, perform media re-negotiation with the first terminal to obtain the media capability information selected by the first terminal based on the candidate media capability information; Modifying the audio and video media ports in the media capability information selected by the first terminal to obtain target media capability information; performing media re-negotiation with the second terminal based on the target media capability information to determine the media capability information of the second terminal; A media call update request is sent to the media server, wherein the media call update request carries the media capability information of the second terminal, and is used by the media server to update the media channel based on the media capability information of the second terminal.
8. The method according to claim 7, characterized in that The modifying the audio and video media ports in the media capability information selected by the first terminal to obtain target media capability information includes: The network address in the media capability information selected by the first terminal is modified to be the network address of the media server, and the port in the media capability information selected by the first terminal is modified to be the port of the media server.
9. The method according to any one of claims 1 to 8, characterized in that: When the media channel is updated successfully, sending the resource identifier to the media server includes: When the media channel is updated successfully, a delivery request is sent to the media server, wherein the delivery request carries the resource identifier.
10. The method according to any one of claims 1 to 8, characterized in that: In the case where the media channel is updated successfully, after sending the resource identifier to the media server, the method further includes: Receiving a play instruction sent by a backend server of a video-on-demand application or a video-on-demand capability exposure service; The play instruction is sent to the media server, wherein the play instruction is used to control pausing or stopping playing of the video data.
11. The method according to claim 10, characterized in that When the play instruction is used to control the stop of playing the video data, the method further includes: Initiate media re-negotiation of the video call to the first terminal and the second terminal again, so as to fall back the media channel between the media server and the requested terminal to the voice call; Notify the media server of the subsequent media channel.
12. A video on demand method based on an intermediate number, characterized in that: Applied to the first terminal, comprising: During a voice call between the first terminal and the second terminal, a video-on-demand operation performed by a video-on-demand application is detected; Based on the video performing the on-demand operation, the video identifier of the video is sent to the background server of the video on-demand application, wherein the video identifier is used to trigger the intermediate number platform to initiate media renegotiation of the video call to the first terminal and the second terminal, so as to add a video channel to the media channel between the media server and the on-demand terminal, and send corresponding video data to the on-demand terminal through the added video channel between the media server and the on-demand terminal. The media renegotiation includes a process of renegotiating media capabilities when the first terminal and the second terminal need to switch media capability formats after the media channel has been established during the call process.
13. The method according to claim 12, characterized in that The first terminal is a non-on-demand terminal, and the second terminal is an on-demand terminal; the method further includes: Receiving a first re-negotiation request sent by the intermediate number platform, wherein the first re-negotiation request does not carry media capability information; A first response message is sent to the intermediate number platform, wherein the first response message carries the candidate media capability information provided by the non-on-demand terminal.
14. The method according to claim 12, characterized in that The first terminal is an on-demand terminal, and the second terminal is a non-on-demand terminal; the method further includes: Receive a second re-negotiation request sent by the intermediate number platform, wherein the second re-negotiation request carries target media capability information; the target media capability information is obtained by adding video media information to the candidate media capability information of the non-on-demand terminal and adjusting audio media information accordingly; Sending a second response message to the intermediate number platform, wherein the second response message carries the media capability information of the on-demand terminal used for the media channel selected from the target media capability information, and updating the media channel based on the target media capability information; Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is received and displayed, wherein the target audio and video information includes video data of the video, and audio data obtained by mixing the audio of the video with the audio collected by the non-on-demand terminal.
15. The method according to claim 12, characterized in that The first terminal and the second terminal are both the on-demand terminals; and the method further includes: Receiving candidate media capability information sent by the intermediate number platform; Based on the set candidate media capability information, the selected media capability information is sent to the intermediate number platform, wherein the media capability information selected by the first terminal is used to modify the audio and video media port to obtain the target media capability information, and media re-negotiation is performed with the second terminal based on the target media capability information, and the media channel is updated based on the media capability information of the second terminal determined by the media re-negotiation; Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is received and displayed, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with the audio collected by the second terminal.
16. The method according to any one of claims 12 to 15, characterized in that: The method further comprises: detecting a control operation performed through a video-on-demand application; Based on the play instruction corresponding to the control operation, the play instruction is sent to the media server through the background server of the video on demand application, wherein the play instruction is used to control the pause or stop of playing the video data.
17. The method according to any one of claims 12 to 15, characterized in that: Notifying the backend server of the video-on-demand application to execute the video-on-demand operation includes: Sending a request message to a backend server of the video on demand application, wherein the request message carries a video identifier and a playback control parameter of the video; Among them, the combination of the video identifier and the first terminal identifier is used to query and obtain the resource identifier of the video on demand by the first terminal, and send the resource identifier to the media server through the intermediate number platform used by the voice call to query and obtain the corresponding video data in the audio and video media library.
18. The method according to claim 17, characterized in that The method further comprises: The video to be uploaded is encoded using the video-on-demand application to obtain audio and video data in a set format; wherein the audio and video data has the corresponding video identifier, and the audio and video data includes the video data of the video, or includes the audio data and video data of the video; The video identifier and the corresponding audio and video data are sent to the background server of the video on demand application; wherein the audio and video data are used to be stored in the audio and video media library through the background server of the video on demand application and the video on demand capability exposure service, and the audio and video data in the audio and video media library are assigned with the corresponding resource identifier; the video identifier is used for the background server to store the resource identifier mapped by the combination of the video identifier and the first terminal identifier.
19. A video on demand method based on an intermediate number, characterized in that: Applicable to media servers, including: During a voice call between a first terminal and a second terminal, a media renegotiation of a video call is initiated to the first terminal and the second terminal based on an intermediate number platform, and a media channel between the media server and the requested terminal is updated to add a video channel to the media channel; wherein the requested terminal is the first terminal and / or the second terminal, and the media renegotiation includes a process of re-negotiating media capabilities when the first terminal and the second terminal need to switch media capability formats after the media channel has been established during the call; Receiving the resource identifier sent by the intermediate number platform; The video data corresponding to the resource identifier is sent to the on-demand terminal through the updated media channel between the media server and the on-demand terminal.
20. The method according to claim 19, characterized in that One of the first terminal and the second terminal is the requested terminal; the other of the first terminal and the second terminal is a non-requested terminal; The sending the video data corresponding to the resource identifier to the on-demand terminal through the media channel updated between the media server and the on-demand terminal includes: Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is sent to the on-demand terminal, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with the audio collected by the non-on-demand terminal.
21. The method according to claim 19, characterized in that The first terminal and the second terminal are both the requested terminals; The sending the video data corresponding to the resource identifier to the on-demand terminal through the media channel updated between the media server and the on-demand terminal includes: Based on the updated media channel between the media server and the on-demand terminal, target audio and video information is sent to the on-demand terminal, wherein the target audio and video information includes video data of the video and audio data obtained by mixing the audio of the video with audio collected by another on-demand terminal.
22. A video-on-demand device based on an intermediate number, characterized in that: Applied to the intermediate platform, including: A first receiving module, configured to receive a resource identifier of a video requested by a first terminal during a voice call between the first terminal and the second terminal; a media renegotiation module, configured to initiate a media renegotiation of a video call to the first terminal and the second terminal, so as to add a video channel to a media channel between a media server and a requested terminal, wherein the requested terminal is the first terminal and / or the second terminal, and the media renegotiation includes a process of re-negotiating media capabilities when the first terminal and the second terminal need to switch media capability formats after the media channel has been established during the call; The first sending module is used to send the resource identifier to the media server when the media channel is updated successfully, wherein the resource identifier is used to send video data corresponding to the resource identifier to the on-demand terminal through the video channel between the media server and the on-demand terminal.
23. A communication device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method of any one of claims 1-11, or the method of any one of claims 12-17, or the method of any one of claims 18-21.
24. A storage medium storing instructions, characterized in that: When the instruction is executed on a communication device, the communication device is enabled to execute the method according to any one of claims 1 to 11, or execute the method according to any one of claims 12 to 17, or execute the method according to any one of claims 18 to 21.
Citation Information
Patent Citations
Call processing method and equipment
CN112583982A
Call implementation method and device for intermediate number service and electronic equipment
CN114979373A
A method, a device and a system for playing video
WO2009076847A1