Patentable/Patents/US-8874779
US-8874779

Method and apparatus for retrieving and rendering live streaming data

PublishedOctober 28, 2014
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A live streaming system/method provides cross platform live streaming capabilities to mobile devices. A file format compatible with legacy HTTP infrastructure is used to deliver media over a persistent connection. Legacy client media players can dynamically change the encoded rate of the media delivered over a persistent connection. Standard HTTP servers may be used without modification, leveraging standard media players embedded in mobile devices for seamless media delivery over wireless networks with high bandwidth fluctuations.

Patent Claims
28 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. Apparatus for retrieving live streaming data from a server, comprising: a processor for executing a segment downloader and network proxy; a memory for storing downloaded segments; instructions executable by the processor to constitute a rendering engine for rendering downloaded data, wherein the rendering engine communicates through the network proxy; and instructions executable by the processor for: measuring bandwidth at a client device; selecting an appropriate bit rate for a current bandwidth in a delivery channel; selecting an appropriate encoding for the client device; and performing the following with respect to segments of the live streaming data: (1) requesting the segments from a server, (2) downloading the segments via the delivery channel, (3) storing the downloaded segments, (4) decrypting the stored segments, (5) parsing the decrypted segments, and (6) delivering the parsed segment data to a local media player through the network proxy, wherein the network proxy is a proxy server engaging in internal client-server media delivery with the local media player for delivering the parsed segment data to the local media player in response to explicit segment data requests from the local media player according to an internal client-server media delivery protocol.

2

2. Apparatus according to claim 1 , wherein the segments are requested and downloaded using the HTTP protocol.

3

3. Apparatus according to claim 1 , wherein the stored segments are deleted upon delivery of the parsed segment data to the local media player.

4

4. Apparatus according to claim 1 , wherein the stored segments are kept for a period of time after the parsed segment data is delivered to the local media player to support a rewind function.

5

5. Apparatus according to claim 1 , wherein segment parsing includes decoding individual frames.

6

6. Apparatus according to claim 1 , wherein segment parsing includes parsing file location information for use in generating playlists.

7

7. Apparatus according to claim 1 , wherein the local network proxy is an HTTP server.

8

8. Apparatus according to claim 1 , wherein the local network proxy is an RTSP server.

9

9. A method for retrieving live streaming data from a server, comprising: measuring bandwidth at a client device; selecting an appropriate bit rate for a current bandwidth in a delivery channel; selecting an appropriate encoding for the client device; and performing the following with respect to segments of the live streaming data: (1) requesting the segments from a server, (2) downloading the segments via the delivery channel, (3) storing the downloaded segments, (4) decrypting the stored segments, (5) parsing the decrypted segments, and (6) delivering the parsed segment data to a local media player through a network proxy, wherein the network proxy is a proxy server engaging in internal client-server media delivery with the local media player for delivering the parsed segment data to the local media player in response to explicit segment data requests from the local media player according to an internal client-server media delivery protocol.

10

10. A method according to claim 9 , wherein the segments are requested and downloaded using the HTTP protocol.

11

11. A method according to claim 9 , wherein the stored segments are deleted upon delivery of the parsed segment data to the local media player.

12

12. A method according to claim 9 , wherein the stored segments are kept for a period of time after the parsed segment data is delivered to the local media player to support a rewind function.

13

13. A method according to claim 9 , wherein segment parsing includes decoding individual frames.

14

14. A method according to claim 9 , wherein segment parsing includes parsing file location information for use in generating playlists.

15

15. A method according to claim 9 , wherein the local network proxy is an HTTP server.

16

16. A method according to claim 9 , wherein the local network proxy is an RTSP server.

17

17. An apparatus, comprising: a processor for executing a segment downloader and network proxy; a memory for storing downloaded segments; instructions executable by the processor to constitute a rendering engine for rendering downloaded data, wherein the rendering engine communicates through the network proxy; and instructions executable by the processor for: connecting to a server to retrieve segments; decrypting retrieved file data; storing retrieved and decrypted segment data to the memory; detecting a change in bandwidth that necessitates a change in bit rate and changing the bit rate at which future segments are retrieved; parsing frames from the segment; providing frames to the network proxy; accepting connections to the network proxy from the rendering engine; and streaming frame data to the rendering engine from the network proxy, wherein the network proxy is a proxy server engaging in internal client-server media delivery with the local media player for delivering the parsed segment data to the local media player in response to explicit segment data requests from the local media player according to an internal client-server media delivery protocol.

18

18. An apparatus, comprising: a processor for executing a segment downloader and network proxy; a memory for storing downloaded segments; instructions executable by the processor to constitute a rendering engine for rendering downloaded data, wherein the rendering engine communicates through the network proxy; and instructions executable by the processor for: connecting to a server to retrieve segments; decrypting retrieved file data; storing retrieved and decrypted segment data to the memory; detecting a change in bandwidth that necessitates a change in bit rate and changing the bit rate at which future segments are retrieved; generating a playlist file for the stored segments; accepting connections to the network proxy from the rendering engine; and sending playlist and segment data to the rendering engine from the network proxy, wherein the network proxy is a proxy server engaging in internal client-server media delivery with the local media player for delivering the parsed segment data to the local media player in response to explicit segment data requests from the local media player according to an internal client-server media delivery protocol.

19

19. Apparatus according to claim 1 wherein the segment downloader is a client engaging in external client-server media delivery with the server for downloading the segments from the server according to a separate external client-server media delivery protocol.

20

20. Apparatus according to claim 19 , wherein the external client-server media delivery protocol is of a different type than the internal client-server media delivery protocol and the network proxy is a protocol conversion proxy converting from adaptive bitrate segment delivery from the server to variable-bitrate playback by the local media player.

21

21. Apparatus according to claim 5 , wherein parsing includes separating out RTP frames for audio, RTP frames for video, RTCP frames for audio, RTCP frames for video and proprietary control frames from the segment.

22

22. Apparatus according to claim 6 , wherein the playlist generated is one of an HTTP Live Streaming m3u8 manifest file or a Smooth Streaming manifest file.

23

23. Apparatus according to claim 7 , wherein the HTTP server responds to HTTP Live Streaming m3u8 manifest file requests, HTTP Live Streaming MPEG-TS segment requests, Smooth Streaming manifest file requests, or Smooth Streaming MP4 fragment requests with downloaded segment data and information.

24

24. Apparatus according to claim 8 , wherein the RTSP server creates RTP channels for audio, RTP channels for video, RTCP channels for audio, and RTCP channels for video, over which parsed segment data is streamed.

25

25. A method according to claim 13 , wherein parsing includes separating out RTP frames for audio, RTP frames for video, RTCP frames for audio, RTCP frames for video and proprietary control frames from the segment.

26

26. A method according to claim 14 , wherein the playlist generated is one of an HTTP Live Streaming m3u8 manifest file or a Smooth Streaming manifest file.

27

27. A method according to claim 15 , wherein the HTTP server responds to HTTP Live Streaming m3u8 manifest file requests, HTTP Live Streaming MPEG-TS segment requests, Smooth Streaming manifest file requests, or Smooth Streaming MP4 fragment requests with downloaded segment data and information.

28

28. A method according to claim 16 , wherein the RTSP server creates RTP channels for audio, RTP channels for video, RTCP channels for audio, and RTCP channels for video, over which parsed segment data is streamed.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

September 15, 2011

Publication Date

October 28, 2014

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method and apparatus for retrieving and rendering live streaming data” (US-8874779). https://patentable.app/patents/US-8874779

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.