IP Library Granted Patent US 11,019,367
Granted Patent B2
US 11,019,367 · App. 16/382,211 · Granted May 25, 2021

Live video transmission method and system, and apparatus

Inventors: Qikun Wei (Nanjing, CN); Yihong Huang (Nanjing, CN); Yuping Jiang (Beijing, CN); Ruichuan You (Beijing, CN); Shen Zhang (Nanjing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N21/2187H04L29/06H04L65/4076H04L65/605H04L69/16H04N21/2381H04N21/26616H04N21/633H04N21/6373H04N21/643H04N21/6405H04N21/6408H04N21/6437H04N21/84H04N21/8586
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,019,367
App. No.
16/382,211
Granted
May 25, 2021
Kind
B2
Abstract

The present invention provides a live video transmission method and system and an apparatus. According to the method, an M2U device receives a UDP request sent by a client, where the UDP request includes a live channel identifier and is used to request video data of a live channel corresponding to the live channel identifier, and the live channel identifier includes a multicast address or a URL. Then, the M2U device obtains the video data corresponding to the live channel identifier, and obtains a source IP address and a source port of the UDP request, where the source IP address and the source port of the UDP request are used as a destination IP address and a destination port of a UDP unicast packet to be subsequently sent to the client.

Claims (120)

1. A live video transmission method, wherein the method is applied to a multicast to unicast (M2U) device, and comprises:

receiving a User Datagram Protocol (UDP) request sent by a client, wherein the UDP request comprises:

a live channel identifier, wherein the UDP request is used to request video data of a live channel corresponding to the live channel identifier; and

obtaining the video data of the live channel in a multicast manner, wherein the video data corresponds to the live channel identifier;

obtaining a source IP address and a source port comprised in the UDP request, wherein the source IP address is an IP address of the client, and the source port is a port through which the client sends the UDP request; and

sending the video data in a UDP unicast manner to the client based on the source IP address and the source port.

2. The method according to claim 1 , wherein sending the video data in a UDP unicast manner to the client based on the source IP address and the source port comprises:

obtaining a multicast packet in the video data;

changing a destination IP address of the multicast packet into the source IP address of the UDP request, and changing a destination port of the multicast packet into the source port of the UDP request, to obtain a UDP unicast packet; and

sending the UDP unicast packet to the client.

3. The method according to claim 2 , wherein:

the live channel identifier comprises a multicast address; and

obtaining the video data of the live channel corresponding to the live channel identifier comprises:

sending a multicast join message to a unicast to multicast (U2M) device corresponding to the multicast address, wherein the multicast join message comprises the multicast address; and

receiving the video data that is of the live channel corresponding to the multicast address and that is returned by the U2M device.

4. The method according to claim 2 , wherein:

the live channel identifier comprises a multicast address;

before receiving a User Datagram Protocol (UDP) request sent by a client, the method further comprises:

sending a multicast join message to a unicast to multicast (U2M) device, wherein the multicast join message is used to request video data of a plurality of live channels corresponding to a plurality of multicast addresses; and

receiving the video data of the plurality of live channels that is sent by the U2M device; and

obtaining the video data of the live channel corresponding to the live channel identifier comprises:

obtaining, based on the multicast address, the video data of the live channel corresponding to the multicast address from the video data of the plurality of live channels.

5. The method according to claim 2 , wherein:

the live channel identifier comprises a uniform resource locator (URL); and

obtaining the video data of the live channel corresponding to the live channel identifier comprises:

obtaining a multicast address corresponding to the URL based on the URL;

sending a multicast join message to a unicast to multicast (U2M) device corresponding to the multicast address, wherein the multicast join message comprises the multicast address; and

receiving the video data that is of the live channel corresponding to the multicast address and that is returned by the U2M device.

6. The method according to claim 2 , wherein:

the live channel identifier comprises a uniform resource locator URL; and

before receiving a User Datagram Protocol (UDP) request sent by a client, the method further comprises:

sending a multicast join message to a unicast to multicast (U2M) device, wherein the multicast join message is used to request video data of a plurality of live channels corresponding to a plurality of multicast addresses; and

receiving the video data of the plurality of live channels that is sent by the U2M device; and

obtaining the video data of the live channel corresponding to the live channel identifier comprises:

obtaining a multicast address corresponding to the URL based on the URL; and

obtaining, based on the multicast address, the video data of the live channel corresponding to the multicast address from the video data of the plurality of live channels.

7. The method according to the claim 5 , wherein obtaining a multicast address corresponding to the URL based on the URL comprises:

querying a pre-obtained correspondence between a multicast address and a URL, and finding the multicast address corresponding to the URL; or

sending a multicast address query message comprising the URL to a live-broadcast management platform, and receiving the multicast address that is corresponding to the URL and that is returned by the live-broadcast management platform.

8. The method according to claim 1 , wherein:

the UDP request further comprises a user identifier; and

before obtaining the video data of the live channel corresponding to the live channel identifier, the method further comprises:

determining whether a user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier; and

if the user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier, performing the step of obtaining the video data of the live channel corresponding to the live channel identifier.

9. The method according to claim 8 , wherein determining whether a user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier comprises:

sending the user identifier, verification information, and the live channel identifier that are carried in the UDP request to a live-broadcast management platform for verification, and receiving a verification result returned by the live-broadcast management platform, wherein the verification result is used to indicate whether the user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier; or

sending authorization information and the live channel identifier that are carried in the UDP request to the live-broadcast management platform for verification, and receiving a verification result returned by the live-broadcast management platform, wherein the verification result is used to indicate whether the user corresponding to the user identifier has permission to watch the channel corresponding to the live channel identifier.

10. A multicast to unicast M2U device, comprising:

a receiving module, configured to receive a User Datagram Protocol (UDP) request sent by a client, wherein the UDP request comprises:

a live channel identifier, wherein the UDP request is used to request video data of a live channel corresponding to the live channel identifier; and

a processing module, configured to obtain the video data of the live channel in a multicast manner, wherein the video data corresponds to the live channel identifier, wherein

the processing module is further configured to obtain a source IP address and a source port comprised in the UDP request, wherein the source IP address is an IP address of the client, and the source port is a port through which the client sends the UDP request; and

a sending module, configured to send the video data in a UDP unicast manner to the client based on the source IP address and the source port.

11. The M2U device according to claim 10 , wherein the sending module is specifically configured to:

obtain a multicast packet in the video data;

change a destination IP address of the multicast packet into the source IP address of the UDP request, and change a destination port of the multicast packet into the source port of the UDP request, to obtain a UDP unicast packet; and

send the UDP unicast packet to the client.

12. The M2U device according to claim 11 , wherein:

the live channel identifier comprises a multicast address;

the sending module is further configured to send a multicast join message to a unicast to multicast (U2M) device corresponding to the multicast address, wherein the multicast join message comprises the multicast address; and

the receiving module is further configured to receive the video data that is of the live channel corresponding to the multicast address and that is returned by the U2M device.

13. The M2U device according to claim 11 , wherein:

the live channel identifier comprises a multicast address;

before the receiving module receives the User Datagram Protocol (UDP) request sent by the client, the sending module is further configured to send a multicast join message to a unicast to multicast (U2M) device, wherein the multicast join message is used to request video data of a plurality of live channels corresponding to a plurality of multicast addresses;

the receiving module is further configured to receive the video data of the plurality of live channels that is sent by the U2M device; and

the processing module is specifically configured to obtain, based on the multicast address, the video data of the live channel corresponding to the multicast address from the video data of the plurality of live channels.

14. The M2U device according to claim 11 , wherein:

the live channel identifier comprises a uniform resource locator (URL);

the processing module is further configured to obtain a multicast address corresponding to the URL based on the URL;

the sending module is further configured to send a multicast join message to a unicast to multicast (U2M) device corresponding to the multicast address, wherein the multicast join message comprises the multicast address; and

the receiving module is further configured to receive the video data that is of the live channel corresponding to the multicast address and that is returned by the U2M device.

15. The M2U device according to claim 11 , wherein:

the live channel identifier comprises a uniform resource locator (URL);

before the receiving module receives the User Datagram Protocol (UDP) request sent by the client, the sending module is further configured to send a multicast join message to a unicast to multicast (U2M) device, wherein the multicast join message is used to request video data corresponding to a plurality of live channels corresponding to a plurality of multicast addresses;

the receiving module is further configured to receive the video data of the plurality of live channels that is sent by the U2M device; and

the processing module is specifically configured to:

obtain a multicast address corresponding to the URL based on the URL; and

obtain, based on the multicast address, the video data of the live channel corresponding to the multicast address from the video data of the plurality of live channels.

16. The M2U device according to claim 14 , wherein:

the processing module is further configured to query a pre-obtained correspondence between a multicast address and a URL, and find the multicast address corresponding to the URL; or

the sending module is further configured to send a multicast address query message comprising the URL to a live-broadcast management platform; and

the receiving module is further configured to receive the multicast address that is corresponding to the URL and that is returned by the live-broadcast management platform.

17. The M2U device according to claim 10 , wherein:

the UDP request further comprises a user identifier; and

the processing module is further configured to:

determine whether a user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier; and

if the user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier, perform the step of obtaining the video data of the live channel corresponding to the live channel identifier.

18. The M2U device according to claim 17 , wherein:

the sending module is further configured to send the user identifier, verification information, and the live channel identifier that are carried in the UDP request to a live-broadcast management platform for verification, and

the receiving module is further configured to receive a verification result returned by the live-broadcast management platform, wherein the verification result is used to indicate whether the user corresponding to the user identifier has permission to watch the live channel corresponding to the live channel identifier; or

the sending module is further configured to send authorization information and the live channel identifier that are carried in the UDP request to the live-broadcast management platform for verification, and

the receiving module is further configured to receive a verification result returned by the live-broadcast management platform, wherein the verification result is used to indicate whether the user corresponding to the user identifier has permission to watch the channel corresponding to the live channel identifier.

19. A live video transmission system, comprising:

a multicast to unicast (M2U) device; and

a client,

wherein the M2U device is configured to:

receive a User Datagram Protocol (UDP) request sent by the client, wherein the UDP request comprises:

a live channel identifier, wherein the UDP request is used to request video data of a live channel corresponding to the live channel identifier; and

obtain the video data of the live channel corresponding to the live channel identifier;

obtain a source IP address and a source port comprised in the UDP request, wherein the source IP address is an IP address of the client, and the source port is a port through which the client sends the UDP request; and

send the video data in a UDP unicast manner to the client based on the source IP address and the source port; and

wherein the client is configured to:

send the UDP request to the M2U device,

receive the video data that is of the live channel in a multicast manner and that is sent by the M2U device, and

parse the UDP unicast packet to play a video on the live channel.

20. The system according to claim 19 , wherein the system further comprises:

a unicast to multicast (U2M) device, and the U2M device is configured to:

receive a multicast join message that comprises a multicast address and that is sent by the M2U device, and return the video data of a live channel corresponding to the multicast address to the M2U device; or

receive a multicast join message that is used to request video data that is of live channels corresponding to a plurality of multicast addresses and that is sent by the M2U device, and return the video data of the plurality of live channels to the M2U device.

21. The method according to claim 1 , wherein sending the video data in a UDP unicast manner to the client based on the source IP address and the source port comprises:

sending, through hardware forwarding, the video data to the client in the UDP unicast manner.

22. A multicast to unicast M2U device, comprising:

a processor; wherein the processor is configured to:

receive a User Datagram Protocol (UDP) request sent by a client, wherein the UDP request comprises:

a live channel identifier, wherein the UDP request is used to request video data of a live channel corresponding to the live channel identifier; and

authorization information;

obtain the video data of the live channel in a multicast manner, wherein the video data corresponds to the live channel identifier; and

obtain a source IP address and a source port included in the UDP request, wherein the source IP address is an IP address of the client and the source port is a port through which the client sends the UDP request; and

a hardware forwarding module, wherein the hardware forwarding module is configured to:

send the video data in a UDP unicast manner to the client based on the source IP address and the source port.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: WEI, QIKUN; HUANG, YIHONG; ZHANG, SHEN; JIANG, YUPING; YOU, RUICHUAN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 055189/0138 →
Priority Claims (1)
CN 201610896179.2 · Oct 13, 2016 · national
Continuity (2)
Continuation PCTCN2017105693 · Oct 11, 2017
Related Publication 20190238897A1 · Aug 1, 2019
Cited By (1)
US 12,707,120