PROVIDING VIDEO TO SUBSCRIBERS OF A MESSAGING SYSTEM
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.
1 . A method, comprising:
receiving a video stream generated by a video source; and
publishing, by a computer processing device, one or more messages comprising one or more frames of the video stream to a channel of a plurality of channels of a publish-subscribe system.
2 . The method of claim 1 , wherein the video stream comprises a live video stream.
3 . The method of claim 1 , wherein the video source is associated with the channel.
4 . The method of claim 1 , wherein the one or more messages are published to the channel while the video source continues to generate the video stream.
5 . The method of claim 1 , comprising:
dividing the one or more frames of the video stream into a plurality of portions, wherein each message of the one or more messages comprises one of the plurality of portions.
6 . 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 video stream;
a height of the video frame;
a frame type of the video frame; and
a codec of the video frame.
7 . The method of claim 1 , wherein each message of the one or more messages comprises a video stream identifier that identifies the video stream.
8 . The method of claim 1 , 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.
9 . The method of claim 8 , 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.
10 . The method of claim 1 , comprising:
receiving, on a second channel of the plurality of channels, a request to filter the one or more messages for a subscriber client;
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 subscriber client.
11 . A system, comprising:
a computer processing device to:
receive a video stream generated by a video source; and
publish one or more messages comprising one or more frames of the video stream to a channel of a plurality of channels of a publish-subscribe system.
12 . The system of claim 11 , wherein the video stream comprises a live video stream.
13 . The system of claim 11 , wherein the video source is associated with the channel.
14 . The system of claim 11 , wherein the one or more messages are published to the channel while the video source continues to generate the video stream.
15 . The system of claim 11 , wherein the computer processing device is further to:
divide the one or more frames of the video stream into a plurality of portions, wherein each message of the one or more messages comprises one of the plurality of portions.
16 . The system of claim 11 , 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 video stream;
a height of the video frame;
a frame type of the video frame; and
a codec of the video frame.
17 . The system of claim 11 , wherein the computer processing device is further to:
publish 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.
18 . The system of claim 17 , 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.
19 . The system of claim 17 , 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 for a subscriber client;
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 subscriber client.
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:
receive a 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 video stream to a channel of a plurality of channels of a publish-subscribe system.