System and method for obtaining video streams
First Claim
1. A computer-implemented method, comprising:
- at a client device communicatively coupled to one or more media devices, the client device having one or more processors and memory;
obtaining a listing of video streams that are available from a particular media device of the one or more media devices; and
for each of a plurality of video streams that are available from the particular media device;
determining a video stream type for the video stream;
based on the video stream type, identifying a particular type of universal resource identifier (URI) for the video stream selected from a plurality of URI types, the URI including the video stream type and at least one device-specific parameter for the video stream; and
generating a record in a streams database located at the client device, the record including the URI;
obtaining, at the client device, a request to obtain a first URI for a particular video stream, the request including a type of the particular video stream and a name of the particular video stream;
in accordance with the request, obtaining the first URI from the streams database by querying the streams database using the type of the particular video stream and the name of the particular video stream; and
after obtaining the first URI;
receiving, from an application executing on the client device, a request to obtain the particular video stream, the request including the first URI;
obtaining the particular video stream from the particular media device identified by the first URI; and
outputting the particular video stream for display at an output device.
0 Assignments
0 Petitions
Accused Products
Abstract
A system, computer-readable storage medium storing at least one program, and a computer-implemented method for obtaining video streams is presented. A device-agnostic request to obtain a video stream is received from an application executing on a client device, the device-agnostic request including a universal resource identifier (URI) for the video stream, the URI including a type of the video stream and at least one of a name of the video stream and device-specific parameters for the video stream. The URI is analyzed to identify a media device from which the video stream is available. A device-specific library for the media device is identified. A device-specific request corresponding to the device-agnostic request is executed to obtain the video stream, the device-specific request including the URI. The video stream is received from the media device responsive to executing the device-specific request. The video stream is provided to the application.
31 Citations
27 Claims
-
1. A computer-implemented method, comprising:
at a client device communicatively coupled to one or more media devices, the client device having one or more processors and memory; obtaining a listing of video streams that are available from a particular media device of the one or more media devices; and for each of a plurality of video streams that are available from the particular media device; determining a video stream type for the video stream; based on the video stream type, identifying a particular type of universal resource identifier (URI) for the video stream selected from a plurality of URI types, the URI including the video stream type and at least one device-specific parameter for the video stream; and generating a record in a streams database located at the client device, the record including the URI; obtaining, at the client device, a request to obtain a first URI for a particular video stream, the request including a type of the particular video stream and a name of the particular video stream; in accordance with the request, obtaining the first URI from the streams database by querying the streams database using the type of the particular video stream and the name of the particular video stream; and after obtaining the first URI; receiving, from an application executing on the client device, a request to obtain the particular video stream, the request including the first URI; obtaining the particular video stream from the particular media device identified by the first URI; and outputting the particular video stream for display at an output device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A client system, comprising:
-
at least one processor; memory; and at least one program stored in the memory and executable by the at least one processor, the at least one program comprising instructions to; obtain a listing of video streams that are available from a particular media device of the one or more media devices; and for each of a plurality of video streams that are available from the particular media device; determine a video stream type for the video stream; based on the video stream type, identify a particular type of universal resource identifier (URI) for the video stream selected from a plurality of URI types, the URI including the video stream type and at least one device-specific parameter for the video stream; and generate a record in a streams database located at the client system, the record including the URI; obtain a request to obtain a first URI for a particular video stream, the request including a type of the particular video stream and a name of the particular video stream; in accordance with the request, obtain the first URI from the streams database by querying the streams database using the type of the particular video stream and the name of the particular video stream; and after obtaining the first URI; receive, from an application executing on the client system, a request to obtain the particular video stream, the request including the first URI; obtain the particular video stream from the particular media device identified by the first URI; and output the particular video stream for display at an output device. - View Dependent Claims (9, 10, 11)
-
-
12. A computer-implemented method, comprising:
at a client device communicatively coupled to one or more media devices, the client device having one or more processors and memory; obtaining, from records in a streams database located at the client device, a plurality of universal resource identifiers (URIs), each of the plurality of URIs having a particular URI type and including a video stream type and at least one device-specific parameter for a corresponding video stream; obtaining, at the client device, a request to obtain a first URI for a particular video stream, the request including a type of the particular video stream and a name of the particular video stream; in accordance with the request, obtaining the first URI from the streams database by querying the streams database using the type of the particular video stream and the name of the particular video stream; and after obtaining the first URI; receiving, from an application executing on the client device, user selection of a particular video stream corresponding to a particular URI of the plurality of URIs; generating a device-agnostic request to obtain the particular video stream, the device-agnostic request including the particular URI; identifying, based on the URI type of the particular URI, a particular media device of the one or more media devices from which the particular video stream is available; identifying one or more mappings at the client device between device-agnostic requests and device-specific requests that are executable by the client device to perform requests with respect to the particular media device; utilizing a particular mapping of the one or more mappings to send a device-specific request corresponding to the device-agnostic request to obtain the particular video stream from the particular media device; responsive to the device-specific request, receiving the particular video stream from the particular media device; and providing the particular video stream to the application. - View Dependent Claims (13, 14, 15, 16, 17)
-
18. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing system communicatively coupled to one or more media devices, cause the system to:
-
obtain a listing of video streams that are available from a particular media device of the one or more media devices; and for each of a plurality of video streams that are available from the particular media device; determine a video stream type for the video stream; based on the video stream type, identify a particular type of universal resource identifier (URI) for the video stream selected from a plurality of URI types, the URI including the video stream type and at least one device-specific parameter for the video stream; and generate a record in a streams database, the record including the URI; obtain a request to obtain a first URI for a particular video stream, the request including a type of the particular video stream and a name of the particular video stream; in accordance with the request, obtain the first URI from the streams database by querying the streams database using the type of the particular video stream and the name of the particular video stream; and after obtaining the first URI; receive, from an application executing on the system, a request to obtain the particular video stream, the request including the first URI; obtain the particular video stream from the particular media device identified by the first URI; and output the particular video stream for display at an output device. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing system communicatively coupled to one or more media devices, cause the system to:
-
obtain, from records in a streams database, a plurality of universal resource identifiers (URIs), each of the plurality of URIs having a particular URI type and including a video stream type and at least one device-specific parameter for a corresponding video stream; obtain a request to obtain a first URI for a particular video stream, the request including a type of the particular video stream and a name of the particular video stream; in accordance with the request, obtain the first URI from the streams database by querying the streams database using the type of the particular video stream and the name of the particular video stream; and after obtaining the first URI; receive, from an application executing on the system, user selection of a particular video stream corresponding to a particular URI of the plurality of URIs; generate a device-agnostic request to obtain the particular video stream, the device-agnostic request including the particular URI; identify, based on the URI type of the particular URI, a particular media device of the one or more media devices from which the particular video stream is available; identify one or more mappings at the client device between device-agnostic requests and device-specific requests that are executable by the client device to perform requests with respect to the particular media device; utilize a particular mapping of the one or more mappings to send a device-specific request corresponding to the device-agnostic request to obtain the particular video stream from the particular media device; responsive to the device-specific request, receive the particular video stream from the particular media device; and provide the particular video stream to the application. - View Dependent Claims (26, 27)
-
Specification