Summary of the invention
The present invention provides a kind of media stream data clone method and equipment, so that data are played back to other clients simultaneously.
In order to achieve the above object; The present invention provides a kind of media stream data clone method; Be applied to comprise in the supervisory control system of data management DM server and videoconference client VC; When the real time streaming transport protocol RTSP data flow that will send to said VC when needs sent to other VC simultaneously, this method may further comprise the steps:
Said DM server obtains the session identification Session ID of said RTSP data flow and address information and the port information that said other VC receive the RTSP data flow;
Said DM server is searched the RTSP data flow that sends to said VC through said Session ID, and when said VC sends the RTSP data flow that finds, through said address information and port information said RTSP data flow is sent to said other VC.
Also comprise video management VM server in the said supervisory control system, said DM server obtains the session identification Session ID of said RTSP data flow and address information and the port information that said other VC receive the RTSP data flow, specifically comprises:
Said VM server by utilizing initial session protocol sip message obtains the Session ID of said RTSP data flow from said VC, and said Session ID is notified to said other VC;
Said other VC utilize RTSP message that the address information and the port information of said Session ID and self reception RTSP data flow are sent to said DM server.
Also comprise video management VM server in the said supervisory control system, said DM server obtains the session identification Session ID of said RTSP data flow and address information and the port information that said other VC receive the RTSP data flow, specifically comprises:
Said VM server by utilizing sip message obtains to receive the address information and the port information of RTSP data flow from said other VC, and said address information and port information are sent to said VC;
Said VC utilizes RTSP message that the Session ID of said RTSP data flow and said address information and port information are sent to said DM server.
Said method also comprises: said DM server carries the Salve sign in the response message that sends after receiving said RTSP message, said Salve identifies the RTSP data flow that unique expression sends to said other VC;
When said DM server receive be used to discharge the RTSP data flow carry the RTSP message of Salve sign the time, said DM server is searched the RTSP data flow that sends to said other VC through said Salve sign, and discharges the RTSP data flow that this finds.
Said method also comprises: when needs release sends to the RTSP data flow of said VC and said other VC; If said DM server receives the RTSP message of carrying Session ID that is used to discharge the RTSP data flow; Said DM server is searched the RTSP data flow that sends to said VC and said other VC through said Session ID, and discharges the RTSP data flow that this finds.
A kind of data management DM server is applied to comprise in the supervisory control system of said DM server and videoconference client VC, and when the real time streaming transport protocol RTSP data flow that will send to said VC when needs sent to other VC simultaneously, said DM server comprised:
Acquisition module is used to obtain the session identification Session ID of said RTSP data flow and address information and the port information that said other VC receive the RTSP data flow;
Enquiry module is used for searching the RTSP data flow that sends to said VC through said Session ID;
Sending module is used for through said address information and port information said RTSP data flow being sent to said other VC when said VC sends the RTSP data flow that finds.
Said acquisition module specifically is used to receive said Session ID, address information and the port information that utilizes RTSP message to send from said other VC; Perhaps, receive said Session ID, address information and the port information that utilizes RTSP message to send from said VC.
Said sending module also is used for after receiving said RTSP message, in the response message that sends, carries the Salve sign, and said Salve identifies the RTSP data flow that unique expression sends to said other VC;
Said enquiry module, also be used for when receive be used to discharge the RTSP data flow carry the RTSP message of Salve sign the time, search the RTSP data flow that sends to said other VC through said Salve sign, and discharge the RTSP data flow that this finds.
Said enquiry module; Also be used for when needs release sends to the RTSP data flow of said VC and said other VC; If receive the RTSP message of carrying Session ID that is used to discharge the RTSP data flow; Search the RTSP data flow that sends to said VC and said other VC through said Session ID, and discharge the RTSP data flow that this finds.
A kind of video management VM server; Be applied to comprise in the supervisory control system of said VM server, data management DM server and videoconference client VC; When the real time streaming transport protocol RTSP data flow that will send to said VC when needs sent to other VC simultaneously, said VM server comprised:
Obtain module, be used to utilize the initial session protocol sip message, perhaps, utilize sip message to obtain to receive the address information and the port information of RTSP data flow from said other VC from the Session ID that said VC obtains said RTSP data flow;
Sending module; Be used for when obtaining said Session ID; Said Session ID is notified to said other VC, indicate said other VC to utilize RTSP message that the address information and the port information of said Session ID and self reception RTSP data flow are sent to said DM server; Perhaps,
When obtaining said address information and port information; Said address information and port information are sent to said VC, indicate said VC to utilize RTSP message that the Session ID of said RTSP data flow and said address information and port information are sent to said DM server.
Compared with prior art, the present invention has the following advantages at least: sending in the process of RTSP data flow to certain VC, can the RTSP data flow be sent to other VC simultaneously, thereby realize the distribution procedure that duplicates of RTSP data flow.
Embodiment
With Fig. 1 is grid of reference model sketch map of the present invention, and the present invention proposes a kind of media stream data clone method, and this method is applied to comprise in the supervisory control system of EC, IPSAN, VM server, DM server and VC, includes XP on this VC and based on the UI of Web; It should be noted that VC passes through SIP (Session Initiation Protocol, initial session protocol) message and the VM server is consulted alternately, VC holds consultation through RTSP message and DM server when playback of data; Because adopt RTSP message to realize data readback, the data of subsequent playback are example with the RTSP data flow.
As shown in Figure 3, this media stream data clone method may further comprise the steps:
Step 301, the RTSP data flow that the VC1 request will send to self sends to VC2 simultaneously.
Before this step, VC1 sets up session with the DM server, and the RTSP data flow that the DM server will read from IPSAN sends to VC1, and this process and flow process shown in Figure 2 are similar, repeat no more at this.It should be noted that the session for a foundation, have unique Session ID (session identification), and the DM server can find corresponding RTSP data flow through Session ID, subsequent process is the processing to same session.
In this step, receive in the process of RTSP data flow at VC1, if hope the RTSP data flow is also sent to VC2 simultaneously, then VC1 can send request to the VM server, and the RTSP data flow that request will send to self sends to VC2 simultaneously.
Need to prove, be not limited to the RTSP data flow that VC1 request will send to self among the present invention and send to VC2 simultaneously that other make the VM server know to need mode that the RTSP data flow that will send to VC1 sends to VC2 simultaneously all within the present invention.For example, VC2 is to the request of sending of VM server, and the RTSP data flow that request will send to VC1 sends to self simultaneously, and the RTSP data flow that directly configuration will send to VC1 on the VM server sends to the information of VC2 etc. simultaneously.
Step 302; VM server notification VC1 or VC2 send to the DM server with the Session ID of RTSP data flow, address information and the port information that VC2 receives the RTSP data flow, by VC1 or VC2 Session ID, address information and port information are sent to the DM server.
Situation one, VM server notification VC1 send to the DM server with Session ID, address information and port information, by VC1 Session ID, address information and port information are sent to the DM server.
Under this situation, VM server by utilizing sip message obtains address information and the port information that VC2 receives the RTSP data flow from VC2, and the address information and the port information that obtain are notified to VC1; Because VC1 and DM server have been set up session, VC1 can directly be known the SessionID of RTSP data flow; Therefore, VC1 can send to the DM server with Session ID, address information and port information.
Among the present invention, this sip message can be INVITE (request) message, and this INVITE is used for request address information and port information; After VC2 receives the INVITE from the VM server, the address information that self receives the RTSP data flow and port information be carried at return to the VM server in the 200OK message; Afterwards, VM server ACK capable of using (affirmation) message notifies address information and port information to VC1.Above-mentioned INVITE, 200OK message and ACK message all are based on the message of current SIP, in this explanation no longer in detail.
Situation two, VM server notification VC2 send to the DM server with Session ID, address information and port information, by VC2 Session ID, address information and port information are sent to the DM server.
Under this situation, VM server by utilizing sip message obtains the Session ID of RTSP data flow from VC1, and the Session ID that obtains is notified to VC2; VC2 sends to the DM server with the address information and the port information of this Session ID and self reception RTSP data flow.
Among the present invention, this sip message can be INVITE, and this INVITE is used to ask the Session ID of RTSP data flow; After VC1 received the INVITE from the VM server, because VC1 and DM server have been set up session, VC1 can be known the SessionID of RTSP data flow, so VC1 can be carried at Session ID and returns to the VM server in the 200OK message; Afterwards, VM server ACK message capable of using notifies Session ID to VC2.
In practical application, the INVITE in above-mentioned situation one and the situation two can also be designated 3005 with the service number among the SIP-URI, is the business of duplicating the RTSP data flow in the replayed section to indicate this INVITE corresponding service.
Because current RTSP message is not supported in session and sets up after the completion; Add new destination address and carry out the distribution of RTSP data flow, thus on current RTSP message basis, increase JOIN (adding) message among the present invention, DETACH (release) message and Slave (subordinate) header field.
JOIN message is used for the RTSP data flow is sent to a plurality of VC simultaneously, and the RTSP data flow that is about to send to VC1 sends to VC2 simultaneously; DETACH message is used to discharge the RTSP data flow of sending through JOIN message, promptly discharges the RTSP data flow that sends to VC2; When the DM server is received JOIN message; Can in response message, carry the Slave header field; Carry unique expression in the Slave header field and sent to the Salve sign of the RTSP data flow of VC2; And need carry this Salve sign in the DETACH message, follow-up DM server can find the corresponding RTSP data flow that sends to VC2 through the Salve sign, and discharges the RTSP data flow that sends to VC2.
Among the present invention, VC1 or VC2 RTSP message capable of using sends to the DM server with Session ID, address information and port information, and this RTSP message is above-mentioned JOIN message.
Step 303, DM server receive address information and the port information that receives the RTSP data flow from the Session ID of the RTSP data flow of VC1 or VC2, VC2.
To above-mentioned situation one, the DM server can receive the JOIN message that carries Session ID, address information and port information from VC1; To above-mentioned situation two, the DM server can receive the JOIN message that carries Session ID, address information and port information from VC2.
Step 304, DM server are searched the RTSP data flow that sends to VC1 through this Session ID.
Because the session for a foundation has unique Session ID, therefore after receiving JOIN message, the Session ID that DM server JOIN message capable of using is carried finds the RTSP data flow that sends to VC1.
In addition, after receiving JOIN message, the DM server can also distribute unique identification SlaveID, and in the 200OK message of returning, carries the Slave header field, and the value of this Slave header field is SlaveID.
Step 305, the DM server sends to VC2 through above-mentioned address information and port information with this RTSP data flow when VC1 sends the RTSP data flow that finds.
Among the present invention; Can utilize above-mentioned address information and port information to create a new flow object; When sending the RTSP data flow, the DM server will get access to two flow objects to VC1 and VC2, and in two flow objects, write the RTSP data flow respectively; Make the RTSP data flow can send to VC1 and VC2, VC2 can obtain the RTSP data flow synchronous with VC1 afterwards.
Need to prove; After the RTSP data flow that sends to VC2 is set up completion; Because the RTSP data flow is to send to VC1 and VC2 simultaneously; Therefore all controls (like time-out, redirect, change speed etc.) to the RTSP data flow that sends to VC1 come into force to the RTSP data flow that sends to VC2 too, and the RTSP data flow that promptly sends to VC1 and VC2 can keep synchronous fully.
Below the dispose procedure of RTSP data flow is elaborated.
(1) only discharges the RTSP data flow that sends to VC2.The DM server can receive the DETACH message of carrying the Salve sign that is used to discharge the RTSP data flow, and the DM server can find the RTSP data flow that sends to VC2 through this Salve sign, and discharges the RTSP data flow that this finds.
Concrete, when the independent release of needs sent to the RTSP data flow of VC2, the VM server can send BYE (leaving) message to VC1 and VC2 respectively, and VC1 and VC2 then return 200OK message to the VM server respectively; Send DETACH message by VC1 or VC2 to the DM server afterwards; Carry Session header field and Slave header field in this DETACH message; Through the Session ID of Session header field and the Slave ID of Slave header field; The DM server can identify needs to discharge the RTSP data flow that sends to VC2, when VC1 sends the RTSP data flow, no longer sends the RTSP data flow to VC2 afterwards; Above-mentioned processing can not have influence on the RTSP data flow that sends to VC1.
(2) discharge the RTSP data flow that sends to VC1, can discharge the RTSP data flow that sends to VC2 this moment simultaneously.When needs release sends to the RTSP data flow of VC1 and VC2; The DM server can receive the TEARDOWN that carries Session ID (release) message that is used to discharge the RTSP data flow; The DM server can find the RTSP data flow that sends to VC1 and VC2 through this Session ID, and discharges the RTSP data flow that this finds.
Concrete; When needs release sent to the RTSP data flow of VC1, VC1 can send TEARDOWN message to the DM server, carry the Session header field in this TEARDOWN message; Session ID through the Session header field; The DM server can identify and need discharge the RTSP data flow that sends to VC1, sends in the process of RTSP data flow of VC1 in release, and the RTSP data flow that sends to VC2 is discharged simultaneously.
VC1 sends BYE message to the VM server after TEARDOWN accomplishes, the VM server sends BYE message to VC2 after receiving BYE message, and last whole session is fully closed.
Below in conjunction with a concrete application scenarios each RTSP message is described.
(1) before the step 301, set up in the process of session at VC1 and DM server, SETUP message is:
SETUP?rtsp://192.168.1.1:554/came5/20080201T102135Z/20080201T102135Z?RTSP/1.0
CSeq:114
Transport:RTP/AVP;unicast;destination=192.168.1.8;client_port=10000-10001
Can know that from this SETUP message address and port that VC1 receives the RSTP data flow are respectively: 192.168.1.8 and 10000-10001.
(2) before the step 301, set up in the process of session at VC1 and DM server, the response of SETUP message is:
RTSP/1.0?200OK
Cseq:114
Session:6229504842051150702
Transport:RTP/AVP;unicast;destination=192.168.1.8;source=192.168.1.1;client_port=10000-10001;server_port=6000-6001;
Can know that from this response message Session ID is 6229504842051150702.
(3) in the step 302; At VC1 in the JOIN message that the DM server sends; The Session ID of the Session header field that carries is identical with former Session ID (being the Session ID that obtains in the above-mentioned response); And the destination field in the Transport header field is the address information of VC2, and the client_port field is the port information of VC2.JOIN message is:
JOIN?rtsp://192.168.1.1:554/came5/20080201T102135Z/20080201T102135Z?RTSP/1.0
CSeq:115
Transport:RTP/AVP;unicast;destination=192.168.1.57;client_port=20000-20001Session:6229504842051150702
From this JOIN message, can know: the Session ID that it carries is 6229504842051150702, and is identical with the Session ID that carries in the above-mentioned response message; And 192.168.1.57 and 20000-20001 are respectively address and the port of VC2.
(4) in the step 304, in the 200OK message of returning, carry the Slave header field, the value of this Slave header field is SlaveID, and this 200OK message is:
RTSP/1.0?200OK
Cseq:115
Session:6229504842051150702
Transport:RTP/AVP;unicast;destination=192.168.1.57;source=192.168.1.1;client_port=20000-20001;server_port=6000-6001;
Slave:25456562212
Can know that from this 200OK message the Session ID that it carries is 6229504842051150702, and carry the Slave header field, SlaveID and 25456562212.
(5) when only release sent to the RTSP data flow of VC2, DETACH message was:
rtsp://192.168.1.1:554/came5/20080201T102135Z/20080201T102135Z?RTSP/1.0
Cseq:116Session:6229504842051150702
Slave:25456562212
Can know that from this DETACH message SlaveID is 25456562212, identical with the SlaveID value of carrying in the 200OK message.
(6) when only release sent to the RTSP data flow of VC2, the response of DETACH message was:
RTSP/1.0?200OK
Cseq:116
Session:6229504842051150702
Slave:25456562212
(7) when release sent to the RTSP data flow of VC1, TEARDOWN message was:
TEARDOWNrtsp://192.168.1.1:554/came5/20080201T102135Z/20080201T102135Z?RTSP/1.0
Cseq:117
Session:6229504842051150702
(8) when release sent to the RTSP data flow of VC1, the response of TEARDOWN message was:
RTSP/1.0?200OK
Cseq:117
Session:6229504842051150702
In sum, the present invention has the following advantages: (1) can send to VC2 with the RTSP data flow simultaneously sending in the process of RTSP data flow to VC1, thereby realizes the distribution procedure that duplicates of RTSP data flow.(2) support with the RTSP data flow replication be distributed to video wall owing to can watch on the video wall and analyze, therefore need not occupy the video wall resource for a long time midway the RTSP data flow being sent to of VC1 playback; For example, when finding special event, the RTSP data flow is sent on the video wall, to practice thrift the video wall resource.(3) can the RTSP data flow be distributed to other needed places, and a plurality of RTSP data flow of duplicating can carry out Synchronization Control, can monitoring video be incorporated in the video conferencing system, people's explaining operation listens for other participants.
Based on the inventive concept same with said method; The invention allows for a kind of data management DM server; Be applied to comprise in the supervisory control system of said DM server and videoconference client VC; When the real time streaming transport protocol RTSP data flow that will send to said VC when needs sent to other VC simultaneously, as shown in Figure 4, said DM server comprised:
Acquisition module 11 is used to obtain the session identification Session ID of said RTSP data flow and address information and the port information that said other VC receive the RTSP data flow;
Enquiry module 12 is used for searching the RTSP data flow that sends to said VC through said Session ID;
Sending module 13 is used for through said address information and port information said RTSP data flow being sent to said other VC when said VC sends the RTSP data flow that finds.
Said acquisition module 11 specifically is used to receive said Session ID, address information and the port information that utilizes RTSP message to send from said other VC; Perhaps, receive said Session ID, address information and the port information that utilizes RTSP message to send from said VC.
Said sending module 13 also is used for after receiving said RTSP message, in the response message that sends, carries the Salve sign, and said Salve identifies the RTSP data flow that unique expression sends to said other VC;
Said enquiry module 12, also be used for when receive be used to discharge the RTSP data flow carry the RTSP message of Salve sign the time, search the RTSP data flow that sends to said other VC through said Salve sign, and discharge the RTSP data flow that this finds.
Said enquiry module 12; Also be used for when needs release sends to the RTSP data flow of said VC and said other VC; If receive the RTSP message of carrying Session ID that is used to discharge the RTSP data flow; Search the RTSP data flow that sends to said VC and said other VC through said Session ID, and discharge the RTSP data flow that this finds.
Based on the inventive concept same with said method; The invention allows for a kind of video management VM server; Be applied to comprise in the supervisory control system of said VM server, data management DM server and videoconference client VC; When the real time streaming transport protocol RTSP data flow that will send to said VC when needs sent to other VC simultaneously, as shown in Figure 5, said VM server comprised:
Obtain module 21, be used to utilize the initial session protocol sip message, perhaps, utilize sip message to obtain to receive the address information and the port information of RTSP data flow from said other VC from the Session ID that said VC obtains said RTSP data flow;
Sending module 22; Be used for when obtaining said Session ID; Said Session ID is notified to said other VC, indicate said other VC to utilize RTSP message that the address information and the port information of said Session ID and self reception RTSP data flow are sent to said DM server; Perhaps,
When obtaining said address information and port information; Said address information and port information are sent to said VC, indicate said VC to utilize RTSP message that the Session ID of said RTSP data flow and said address information and port information are sent to said DM server.
Through the description of above execution mode, those skilled in the art can be well understood to the present invention and can realize through hardware, also can realize by the mode that software adds necessary general hardware platform.Based on such understanding; Technical scheme of the present invention can be come out with the embodied of software product, this software product can be stored in a non-volatile memory medium (can be CD-ROM, USB flash disk; Portable hard drive etc.) in; Comprise some instructions with so that computer equipment (can be personal computer, server, the perhaps network equipment etc.) carry out the described method of each embodiment of the present invention.
It will be appreciated by those skilled in the art that accompanying drawing is the sketch map of a preferred embodiment, module in the accompanying drawing or flow process might not be that embodiment of the present invention is necessary.
It will be appreciated by those skilled in the art that the module in the device among the embodiment can be distributed in the device of embodiment according to the embodiment description, also can carry out respective change and be arranged in the one or more devices that are different from present embodiment.The module of the foregoing description can be merged into a module, also can further split into a plurality of submodules.
The invention described above sequence number is not represented the quality of embodiment just to description.
More than disclosedly be merely several specific embodiment of the present invention, still, the present invention is not limited thereto, any those skilled in the art can think variation all should fall into protection scope of the present invention.