Abstract:
The present invention provides method and system for sharing video among mobile terminals. The method comprises: a calling terminal uploads a video file to a media server; a called terminal establishes a video link with the media server through a mobile network; the media server sends a video stream to the called terminal through the video link; the called terminal receives the video stream from the media server and plays the video file. The method and system provided by the present invention enable simultaneous sharing of the same video among multiple called terminals and enable a called terminal to watch the same shared video multiple times, therefore not only time and labour are saved, but also user experience is enhanced. By playing shared video through a mobile network, stream media is played directly and more smoothly, and problems of video buffering and video stagnating in video sharing are solved.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a video sharing technology in a mobile network, and in particular to a method and a system for sharing a video among mobile terminals. 
       BACKGROUND OF THE INVENTION 
       [0002]    Along with popularization of the Third Generation (3G) mobile network, higher requirements on entertainment of the network are put forward by users. In recent years, the Internet is popular with video uploading and sharing which have gradually found a way into life of everyone. A service amount and a user amount of video website, such as overseas YouTube, domestic Tudou website, increase rapidly. A video shooting function of a mobile terminal has also been popularized substantially and becomes the most convenient and quickest way of the video shooting. Consequently, a video sharing service among mobile terminals owns a great market potential. 
         [0003]    At present, the video sharing in a non-mobile network is generally realized in the following ways: uploading a video file to a server and watching the video file by logging in the website using a browser; or providing a media address by the opposite party and watching the video by visiting the media address through a media player. Substantially, in the two ways, the video can be watched only when it is downloaded. 
         [0004]    At present, the video sharing in a mobile network is mainly performed in the way of establishing a video session between a calling terminal and a called terminal, or utilizing a video conference or other ways. The sharing procedure can be completed only when the calling terminal and the called terminal are participated at the same time. Moreover, the video playing is one-off, if a user needs to share the video with a plurality of other users, it is required to call each user to perform video sharing with each user respectively so as to realize the sharing procedure. As a result, such video sharing process is wasted in time and labour, in addition, it is unfriendly and will cause influence to the user experience. 
       SUMMARY OF THE INVENTION 
       [0005]    In view of the above, the present invention provides a method and a system for sharing a video among mobile terminals to solve the problem that the existing video sharing among mobile terminals through a mobile network is wasted in time and labour. 
         [0006]    The technical solution of the present invention is realized as follows. 
         [0007]    The present invention provides a method for sharing a video among mobile terminals, comprising the steps of: a calling terminal uploading a video file to a media server; a called terminal establishing a video link with the media server through a mobile network, the media server sending a video stream of the video file to the called terminal through the established video link; and the called terminal receiving the video stream sent by the media server and completing playing of the video file. 
         [0008]    In the above solution, the step of the calling terminal uploading the video file to the media server comprises the steps of: the calling terminal sending a video uploading request to an application server through the mobile network; after receiving the video uploading request, the application server returning an uploading command to the calling terminal; after receiving the uploading command, the calling terminal uploading the video file to be uploaded to the application server; after receiving the uploaded video file, the application server allocating a storage address in the media server for the video file and forwarding the video file to the allocated storage address; and the media server receiving the video file forwarded by the application server and storing the video file to the allocated storage address. 
         [0009]    In the above solution, after receiving the video uploading request, the method further comprises a step of: the application server generating a video code for identifying the uploaded video file; after the step of allocating the storage address in the media server, the method further comprises the steps of: the application server storing the generated video code and the storage address allocated for the video file in correspondence, then returning the video code to the calling terminal, and the calling terminal receiving and storing the video code; 
         [0010]    after the step of the calling terminal uploading the video file to the media server and before the called terminal establishing the video link with the media server through the mobile network, the method further comprises the steps of: the calling terminal sending a video sharing request to the application server through the mobile network, wherein the video sharing request comprises the video code of the uploaded video file and an identifier of the called terminal; and the application server generating a network terminal identifier according to the video code in the video sharing request, and sending a video sharing prompt to the called terminal based on the generated network terminal identifier to inform the called terminal to share the video file, wherein the network terminal identifier is used for identifying the application server itself and comprises the video code and a video access code which is used for triggering a video sharing service. 
         [0011]    In the above solution, the step of the called terminal establishing the video link with the media server through the mobile network comprises the steps of: after receiving the video sharing prompt, the called terminal initiating, to the application server through the mobile network, a video call for sharing the video file; the application server sending a sending request of the video stream to the media server according to the video call; after receiving the sending request of the video stream, the media server returning an IP address, through which the media server sends the video stream, to the application server; the application server establishing a video link with an IP interface, through which the media server sends the video stream, according to the IP address returned by the media server; and the application server sending the IP address, through which the media server sends the media stream, to the called terminal through the mobile network, and establishing a video link with the called terminal so that a video link is established between the called terminal and the IP interface through which the media server sends the video stream, to complete establishment of the video link between the called terminal and the media server. 
         [0012]    In the above solution, the step of the media server sending the video stream of the video file to the called terminal through the video link comprises the steps of: after the video link is established between the called terminal and the IP interface through which the media server sends the video stream, the application server sending a playing command to the media server, wherein the playing command comprises the storage address of the video file; after receiving the playing command, the media server returning a response message to the application server; and the media server sending the video stream of the video file to the called terminal through the video link according to the storage address of the video file. 
         [0013]    The present invention also provides a system for sharing a video among mobile terminals, comprising: a calling terminal for uploading a video file; a media server for receiving the video file uploaded by the calling terminal and sending a video stream of the video file; further for sending the video stream of the video file to a called terminal through an established video link; and a called terminal for receiving the video stream sent by the media server and completing playing of the video file; further for establishing the video link with the media server through a mobile network. 
         [0014]    In the above solution, the system further comprises an application server for processing a video uploading service, the application server comprising: a first receiving unit for receiving a video uploading request sent by the calling terminal; a first sending unit for returning an uploading command to the calling terminal; a second receiving unit for receiving the video file uploaded by the calling terminal; an allocating unit for allocating a storage address for the video file received by the second receiving unit in the media server; and a forwarding unit for forwarding the video file received by the second receiving unit to the storage address allocated by the allocating unit; the calling terminal comprises: a first sending unit for sending the video uploading request to the application server; and an uploading unit for uploading the video file to be uploaded to the application server; and the media server is used for receiving the video file forwarded by the application server and storing the video file to the storage address. 
         [0015]    In the above solution, the application server further comprises: a first generating unit for generating a video code for identifying the uploaded video file; a storing unit for storing the video code generated by the first generating unit and the storage address allocated for the video file by the allocating unit in correspondence; a second sending unit for returning the video code generated by the first generating unit to the calling terminal; a third receiving unit for receiving a video sharing request sent by the calling terminal through the mobile network, wherein the video sharing request comprises the video code of the uploaded video file and an identifier of the called terminal; a second generating unit for generating a network terminal identifier according to the video sharing request received by the third receiving unit, wherein the network terminal identifier is used for identifying the application server itself and comprises the video code in the video sharing request and a video access code which is used for triggering a video sharing service; and an informing unit for sending a video sharing prompt to the called terminal based on the network terminal identifier generated by the second generating unit to inform the called terminal to share the video file; 
         [0016]    the calling terminal further comprises: a second storing unit for receiving and storing the video code sent by the second sending unit of the application server; and a second sending unit for sending the video sharing request to the application server, wherein the video sharing request comprises the video code of the uploaded video file and the identifier of the called terminal. 
         [0017]    In the above solution, the application server is further used for processing the video sharing service, the application server further comprising: a media connecting unit for, after sending a sending request of the video stream to the media server, receiving an IP address, through which the media server sends the media stream, returned by the media server, and establishing a video link with an IP interface, through which the media server sends the video stream, according to the IP address returned by the media server; and a terminal connecting unit for sending the IP address returned by the media server, through which the media server sends the video stream, to the called terminal through the mobile network, and establishing a video link with the called terminal. 
         [0018]    In the above solution, the application server further comprises: a third sending unit for sending a playing command to the media server, wherein the playing command comprises the storage address of the video file; and a fourth receiving unit for receiving a response message returned by the media server; the media server is further used for, when receiving the playing command sent by the application server, returning the response message to the application server and sending the video stream of the video file to the called terminal through the video link between the called terminal and the IP interface, through which the media server sends the video stream, according to the storage address of the video file. 
         [0019]    Through the solution of sharing a video among mobile terminals in the present invention, the calling terminal uploads a shared video to the media server, the called terminal establishes a video link with the media server through the mobile network, and completes the sharing of the video file via a way of receiving a video stream. There is no need to establish a video session between the called and calling terminals. One same video can be shared by a plurality of called terminals at the same time; and a called terminal can watch the same shared video multiple times, therefore, not only the time and labour are saved, but also the user experience is enhanced. Moreover, the uploading of the video is realized through the mobile network, which makes the uploading of the video more quickly and conveniently; the playing of the video sharing is realized through the mobile network, stream media is played directly without any browser, control installation and downloading, the playing is smoother, and the problems of video buffering and video stagnating etc. in the process of video sharing are solved. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]      FIG. 1  shows a flowchart of a method for sharing a video among mobile terminals in accordance with an embodiment of the present invention; 
           [0021]      FIG. 2  shows a flowchart of a method for uploading a video by a calling terminal in accordance with an embodiment of the present invention; 
           [0022]      FIG. 3  shows a flowchart of another method for uploading a video by a calling terminal in accordance with an embodiment of the present invention; 
           [0023]      FIG. 4  shows a flowchart of a method for sharing a video by a called terminal in accordance with an embodiment of the present invention; 
           [0024]      FIG. 5  shows a signaling flowchart of sharing a video by a called terminal in accordance with an embodiment of the present invention; and 
           [0025]      FIG. 6  shows a structure block diagram of a system for sharing a video among mobile terminals in accordance with an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0026]    The technical solution of the present invention is described hereinafter in detail with reference to accompanying drawings and embodiments. 
         [0027]    An embodiment of the present invention provides a method for sharing a video among mobile terminals. Referring to  FIG. 1 , the method mainly comprises the steps as follows. 
         [0028]    Step  101 , a calling terminal uploads a video file to a media server. 
         [0029]    Step  102 , a called terminal establishes a video link with the media server through a mobile network; and the media server sends a video stream of the video file to the called terminal through the video link. 
         [0030]    Step  103 , the called terminal receives the video stream sent by the media server and completes the playing of the video file. 
         [0031]    Referring to  FIG. 2 , the procedure that the calling terminal uploads the video file to the media server in the Step  101  can be realized in the way as follows. 
         [0032]    Step  201 , the calling terminal sends a video uploading request to an application server through the mobile network. 
         [0033]    Step  202 , after receiving the video uploading request, the application server returns an uploading command to the calling terminal. 
         [0034]    Step  203 , after receiving the uploading command, the calling terminal uploads the video file to be uploaded to the application server, wherein the calling terminal can upload the video file via HTTP, FTP or other ways. 
         [0035]    Step  204 , after receiving the uploaded video file, the application server allocates a storage address in the media server for the video file and forwards the video file to the allocated storage address. 
         [0036]    Step  205 , the media server receives the video file forwarded by the application server and stores the video file to the allocated storage address. 
         [0037]    During the procedure that the calling terminal uploads the video file to the media server, it can further comprise: after the video uploading request is received, the application server generates a video code for identifying the uploaded video file, stores the generated video code and the storage address allocated for the video file in correspondence, and then returns the video code to the calling terminal; and the calling terminal receives and stores the video code. 
         [0038]    The video code is one identifier of the uploaded video file, and each video code corresponds to one uploaded video file. 
         [0039]    For example, referring to  FIG. 3 , a user can realize the uploading process of the video file through the following steps. 
         [0040]    Step  301 , a calling user can select a video file at a calling terminal and click the uploading. 
         [0041]    Step  302 , the calling terminal sends a video uploading request to an application server which is used for processing a video uploading service. 
         [0042]    Step  303 , after receiving the video uploading request, the application server generates and stores a video code and sends an uploading command to the calling terminal, wherein the uploading command carries the generated video code. 
         [0043]    Step  304 , after receiving the uploading command sent by the application server, the calling terminal uploads the video file to the application server and stores the received video code. 
         [0044]    Step  305 , after receiving the video file uploaded by the calling terminal, the application server allocates a storage address in the media server for the received video file, stores the allocate storage address and the corresponding video code in correspondence and forwards the video file to the allocated storage address. 
         [0045]    Step  306 , the media server receives the video file forwarded by the application server and stores the video file to the storage address allocated by the application server. 
         [0046]    Referring to  FIG. 4 , after the calling terminal uploads the video file to the media server and before the called terminal establishes a video link with the media server through the mobile network, the method further comprises steps as follows. 
         [0047]    Step  401 , the calling terminal sends a video sharing request to the application server through the mobile network, wherein the video sharing request comprises the video code of the uploaded video file and an identifier of the called terminal. 
         [0048]    The identifier of the called terminal can be a number used by the called terminal in the mobile network, such as a mobile phone number. 
         [0049]    Step  402 , according to the video code in the video sharing request, the application server generates a network terminal identifier and sends a video sharing prompt to the called terminal based on the generated network terminal identifier to inform the called terminal to share the video file, wherein the network terminal identifier is used for identifying the application server itself and comprises the video code and a video access code for triggering a video sharing service. 
         [0050]    The network terminal identifier can be a temporary number which is formed by adding the video code and the video access code. For example, if a video serial number corresponding to a video file is 0000000001 and the video access number for triggering the video sharing service in the mobile network is 12599, the network terminal identifier generated at this moment is a temporary number 125990000000001. 
         [0051]    The video sharing prompt can be a short message prompt sent by the application server based on the network terminal identifier. For example, when the network terminal identifier is the temporary number 125990000000001, the application server can sent a short message, which having a content of “a friend shares a section of video with you, please recall this number if you want to watch”, as the video sharing prompt for informing the called user to the called terminal through this number, so that the called user can initiate a video call for sharing the video file having the video serial number of 0000000001 to the application server by recalling the temporary number 125990000000001. 
         [0052]    Referring to  FIG. 4 , the procedure that the called terminal establishes a video link with the media server through the mobile network in the Step  102  may further comprise the steps as follows. 
         [0053]    Step  403 , after receiving the video sharing prompt, the called terminal initiates a video call for sharing the video file to the application server through the mobile network. 
         [0054]    Step  404 , according to the video call, the application server sends a sending request for a video stream to the media server; after receiving the sending request of the video stream, the media server returns an IP address, through which the media server sends the video stream, to the application server; the application server establishes a video link with an IP interface, through which the media server sends the video stream, according to the IP address returned by the media server. 
         [0055]    Step  405 , the application server sends the IP address, through which the media server sends the media stream, to the called terminal through the mobile network and establishes a video link with the called terminal, so that a video link is established between the called terminal and the IP interface through which the media server sends the video stream, to complete establishment of the video link between the called terminal and the media server. 
         [0056]    The called terminal can establish a video link based on a call control protocol (H.245 protocol) with the media server through the mobile network. Before establishing the call, the H.245 protocol is used for solving calling medium problem and establishing media stream. 
         [0057]    Referring to  FIG. 4 , the procedure that the media server sends the video stream of the video file to the called terminal through the video link in the Step  102  can specifically comprise the steps as follows. 
         [0058]    Step  406 , after a video link between the called terminal and the IP interface through which the media server sends the video stream is established, the application server sends a playing command containing the storage address of the video file to the media server. 
         [0059]    Step  407 , after receiving the playing command, the media server returns a response message to the application server. 
         [0060]    Step  408 , according to the storage address of the video file, the media server sends the video stream of the video file to the called terminal through the video link. 
         [0061]    The specific procedure of sharing a video by a called terminal is introduced in detail by taking the signaling flowchart for sharing the video by the called terminal as shown in  FIG. 5  as an example, and the specific procedure is as follows. 
         [0062]    Steps  501 - 502 , the called terminal sends a video request (Invite) of a video call, wherein Invite carries sdpA message; and a mobile switching centre in a mobile network sends the Invite to a soft switch in the mobile network. 
         [0063]    In the above, the sdpA message contains a video code of a video file which is requested to be shared and a video access code for triggering a video sharing service, the two contents can be the network terminal identifier mentioned above. 
         [0064]    Steps  503 - 504 , the soft switch sends, to the application server, the video request (Invite) of the video call which carries the sdpA message according to the network terminal identifier included in the sdpA message; and the application server returns a 100Trying message and the triggering of the video sharing service is completed. 
         [0065]    Steps  505 - 507 , according to the video request (Invite) of the video call sent by the soft switch, the application server sends, to the media server, a video request (Invite) for sending a video stream; the media server returns a 200 OK confirm message; the application server sends an Ack confirm message to the media server; and the video link between the application server and the media server is completed. 
         [0066]    In the Invite sent from the application server to the media server, the sdpA is also carried. The sdpA message here can include information such as a storage address of the video file so that the media server can confirm that the video file is stored therein. The application server can determine the storage address corresponding to the video code according to a stored corresponding relationship between the video code and the storage address allocated for the video file. 
         [0067]    The 200 OK confirm message carries an sdpCA message, which is a Session Description Protocol (SDP) message in a Signaling Control Protocol (SIP) signaling of an application layer, contains information such as IP address through which the media server sends a media stream. 
         [0068]    Steps  508 - 510 , the application server sends a  183  message to the soft switch, wherein the  183  message carries the sdpCA message which contains the information such as IP address through which the media server sends the media stream; the soft switch sends the sdpCA message to the mobile switching centre by using a  180  message; and the mobile switching centre forwards the  180  message to the called terminal. 
         [0069]    Steps  511 - 513 , the called terminal sends a reply confirm (Prack) message to the mobile switching centre; the mobile switching centre sends a Prack message to the software switch; and the soft switch sends a Prack message to the application server. 
         [0070]    Steps  514 - 516 , the application server sends a reply confirm (200Prack) message to the soft switch; the soft switch sends a reply confirm (200Prack) message to the mobile switching centre; and the mobile switching centre sends a reply confirm (200Prack) message to the called terminal, the establishment of the video link based on the H.245 between the called terminal and the IP interface through which the media server sends the video stream is completed. 
         [0071]    Steps  517 - 518 , the application server sends an Info message which represents a displaying command to the media server, wherein the Info message contains the storage address of the video file in the media server; the media server receives the Info message, after returning a response message of 200Info to the application server, the media server sends the video stream to the called terminal through the established video link; the called terminal receives the video stream and plays the video file, and the called user can start watching the video. 
         [0072]    The above soft switch can be a core network assembly positioned at a network control layer and used for completing services such as calling control, routing, authorization, resource management and etc. 
         [0073]    In addition, an embodiment of the present invention further provides a system for sharing a video among mobile terminals. Referring to  FIG. 6 , the system mainly comprises the follows: 
         [0074]    a calling terminal  61  for uploading a video file; 
         [0075]    a media server  62  for receiving the video file uploaded by the calling terminal  61  and sending a video stream of the video file; further for sending the video stream of the video file to a called terminal  63  through an established video link; 
         [0076]    a called terminal  63  for receiving the video stream sent by the media server  62  and completing the playing of the video file; and for establishing the video link with the media server  62  through the mobile network. 
         [0077]    In the above, the called terminal  63  establishes the video link with the media server  62  through the mobile network; and the media server  62  sends the video stream of the video file to the called terminal  63  through the video link. 
         [0078]    The system may further comprise an application server  64  for processing a video uploading service; and the application server  64  comprises: 
         [0079]    a first receiving unit  641  for receiving a video uploading request sent by the calling terminal  61 ; 
         [0080]    a first sending unit  642  for returning an uploading command to the calling terminal  61 ; 
         [0081]    a second receiving unit  643  for receiving the video file uploaded by the calling terminal  61 ; 
         [0082]    an allocating unit  644  for allocating a storage address for the video file received by the second receiving unit  643  in the media server  62 ; and 
         [0083]    a forwarding unit  645  for forwarding the video file to the storage address allocated by the allocating unit  644 . 
         [0084]    The calling terminal  61  comprises: 
         [0085]    a first sending unit  611  for sending the video uploading request to the application server  64 ; and 
         [0086]    an uploading unit  612  for uploading the video file to be uploaded to the application server  64 . 
         [0087]    The media server  62  is used for receiving the video file forwarded by the forwarding unit  645  of the application server  64  and storing the video file to the storage address allocated by the allocating unit  644 . 
         [0088]    The application server  64  further comprises: 
         [0089]    a first generating unit  646  for generating a video code for identifying the uploaded video file; 
         [0090]    a storing unit  647  for storing the video code generated by the first generating unit  646  and the storage address allocated by the allocating unit  644  in correspondence; 
         [0091]    a second sending unit  648  for returning the video code generated by the first generating unit  646  to the calling terminal  61 ; 
         [0092]    a third receiving unit  649  for receiving the video sharing request, which comprises the video code of the uploaded video file and an identifier of the called terminal  63 , sent by the calling terminal  61  through the mobile network; 
         [0093]    a second generating unit  6410  for generating a network terminal identifier according to the video sharing request received by the third receiving unit  649 , wherein the network terminal identifier is used for identifying the application server  64  itself and comprises the video code in the video sharing request and a video access code for triggering a video sharing service; and 
         [0094]    an informing unit  6411  for sending a video sharing prompt to the called terminal  63  based on the network terminal identifier generated by the second generating unit  6410  to inform the called terminal  63  to share the video file. 
         [0095]    The calling terminal  61  further comprises: a storing unit  613  for receiving and storing the video code sent by the second sending unit  648  of the application server  64 ; and a second sending unit  614  for sending the video sharing request, which comprises the video code of the uploaded video file and the identifier of the called terminal  63 , to the third receiving unit  649  of the application server  64 . 
         [0096]    The application server  64  is further used for processing a video sharing service; and the application server  64  further comprises: 
         [0097]    a media connecting unit  6412  for, after sending a sending request of the video stream to the media server  62 , receiving an IP address, through which the media server  62  sends the media stream, returned by the media server  62  and establishing a video link with an IP interface, through which the media server  62  sends the video stream, according to the IP address returned by the media server  62 ; and 
         [0098]    a terminal connecting unit  6413  for sending the IP address, through which the media server  62  sends the video stream, to the called terminal  63  through the mobile network and establishing a video link with the called terminal  63 . 
         [0099]    The application server  64  further comprises: a third sending unit  6414  for sending a playing command containing the storage address of the video file to the media server  62  and determining the storage address corresponding to the video code according to the corresponding relationship, stored in the storing unit  613 , between the video code and the storage address allocated for the video file; and a fourth receiving unit  6415  for receiving the response message returned by the media server  62 . 
         [0100]    The media server  62  is further used for, when receiving the playing command sent by the third sending unit  6414  of the application server  64 , returning the response message to the fourth receiving unit  6415  of the application server  64  and sending the video stream of the video file to the called terminal  63  through the video link between the IP interface through which the media server  62  sends the video stream and the called terminal  63  according to the storage address of the video file. 
         [0101]    In implementation, a plurality of called terminals can respectively establish respective video link with the media server so that the plurality of called terminals can share the video at the same time. 
         [0102]    By adopting the system for sharing the video among the mobile terminals, through the mobile network, the terminal user can shoot a video at any time, upload a video at any time and watch a video at any time without browser, play controls, downloading and trouble of video buffering and time delay; and the video playing is smoother. A video sharing service with more entertainment and interactivity is provided for mobile network users. 
         [0103]    The above are only the preferable embodiments of the present invention and not intended to limit the scope of protection of the present invention. Any modifications, equivalent replacements, improvements and the like within the spirit and principle of the present invention shall fall within the scope of protection of the present invention.