IP Library Granted Patent US 10,341,277
Granted Patent B2
US 10,341,277 · App. 15/909,842 · Granted Jul 2, 2019

Providing video to subscribers of a messaging system

Inventors: Boaz Sedan (Palo Alto, CA); Kyle Lau (Sunnyvale, CA); Oleg Khabinov (Sunnyvale, CA); Mykhailo Aizatskyi (San Franciso, CA)
H04L51/10H04L65/4076H04L65/4084H04L67/26H04N21/2187H04N21/2353
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 10,341,277
App. No.
15/909,842
Granted
Jul 2, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing a video to subscribers of a messaging system. A method includes obtaining a live video stream generated by a video source. The method also includes publishing one or more messages including one or more frames of the live video stream to a first channel of a plurality of channels. The video source is associated with the first channel.

Claims (57)

1. A method, comprising:

obtaining a first live video stream generated by a video source; and

publishing, by one or more computer processors, one or more messages comprising one or more frames of the first live video stream to a first channel of a plurality of channels of a publish-subscribe system, wherein the video source is associated with the first channel.

2. The method of claim 1 , wherein the one or more messages are published to the first channel while the video source continues to generate the first live video stream.

3. The method of claim 1 , further comprising:

dividing the one or more frames of the first live video stream into a plurality of portions, wherein each message of the one or more messages comprises one of the plurality of portions.

4. The method of claim 1 , wherein each message of the one or more messages comprises data indicative of one or more of:

a width of a video frame of the first live video stream;

a height of the video frame;

a frame type of the video frame; and

a codec of the video frame.

5. The method of claim 1 , wherein each message of the one or more messages comprises a video stream identifier that identifies the first live video stream.

6. The method of claim 5 , wherein each message of the one or more messages comprises a sequence time associated with the video stream identifier.

7. The method of claim 1 , further comprising:

obtaining a second video stream generated by a second video source; and

publishing one or more second messages comprising the second video stream to the first channel of the plurality of channels, wherein the second video source is associated with the first channel.

8. The method of claim 1 , further comprising:

obtaining a second video stream generated by a second video source; and

publishing one or more second messages comprising the second video stream to a second channel of the plurality of channels, wherein the second video source is associated with the second channel.

9. The method of claim 1 , further comprising:

obtaining a second video stream, wherein the second video stream is generated by the video source or is based on the first live video stream; and

publishing one or more second messages comprising the second video stream to the first channel of the plurality of channels.

10. The method of claim 1 , further comprising:

obtaining a second video stream, wherein the second video stream is generated by the video source or is based on the first live video stream; and

publishing one or more second messages comprising the second video stream to a second channel of the plurality of channels.

11. The method of claim 1 , further comprising:

publishing one or more second messages to a second channel of the plurality of channels, wherein the one or more second messages comprise metadata associated with the video source.

12. The method of claim 11 , wherein the metadata comprises one or more of:

a video source identifier that identifies the video source;

a geographical location of the video source;

an indication that audio is available from the video source; and

a type for the video source.

13. The method of claim 1 , further comprising:

receiving, on a second channel of the plurality of channels, a request to filter the one or more messages from a client device;

identifying a subset of the one or more messages based on the request to filter the one or more messages; and

providing the subset of the one or more messages to the client device.

14. The method of claim 1 , further comprising:

determining whether a number of messages provided to a client device should be reduced;

identifying a subset of the one or more messages in response to determining that the number of messages provided to a client device should be reduced; and

providing the subset of the one or more messages to the client device.

15. The method of claim 1 , wherein obtaining a live video stream comprises:

receiving the one or more messages from the video source, wherein the one or more messages are generated by the video source.

16. An apparatus, comprising: a computer processing device to:

obtain a first live video stream generated by a video source; and

publish one or more messages comprising one or more frames of the first live video stream to a first channel of a plurality of channels of a publish-subscribe system, wherein the video source is associated with the first channel.

17. The apparatus of claim 16 , wherein the computer processing device is further to:

receive, on a second channel of the plurality of channels, a request to filter the one or more messages from a client device;

identify a subset of the one or more messages based on the request to filter the one or more messages; and

provide the subset of the one or more messages to the client device.

18. The apparatus of claim 16 , wherein the computer processing device is further to:

determine whether a number of messages provided to a client device should be reduced;

identify a subset of the one or more messages in response to determining that the number of messages provided to the client device should be reduced; and

provide the subset of the one or more messages to the client device.

19. The apparatus of claim 16 , wherein the one or more messages are published to the first channel while the video source continues to generate the first live video stream.

20. A non-transitory computer-readable medium having instruction stored thereon that, when executed by a computer processing device, cause the computer processing device to:

obtain a first live video stream generated by a video source; and

publish, by the computer processing device, one or more messages comprising one or more frames of the first live video stream to a first channel of a plurality of channels of a publish-subscribe system, wherein the video source is associated with the first channel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: SEDAN, BOAZ; LAU, KYLE; KHABINOV, OLEG; AIZATSKYI, MYKHAILO
To: SATORI WORLDWIDE, LLC
Reel/Frame 045511/0762 →
Continuity (2)
Provisional Application 62511195 · May 25, 2017
Related Publication 20180343217A1 · Nov 29, 2018