IP Library Patent Application 14590517
Patent Application
App. No. 14/590,517

METHOD AND SYSTEM FOR LIVE STREAMING VIDEO WITH DYNAMIC RATE ADAPTATION

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 None
App. No.
14/590,517
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.

Claims (54)

1 . A live streaming system for distributing live streaming data to client devices, comprising:

a processor for executing a live stream recorder and segmenter, wherein the live stream recorder accepts a live media stream and a configuration file;

a memory for storing output of the live stream recorder and segmenter; and

instructions executable by the processor for:

recording the live streaming data;

dynamically transcoding the live streaming data into a plurality of encodings;

packing the plurality of encodings in a plurality of file formats each having formatted data;

writing the formatted data out in segments;

transferring the segments to a storage device accessible to a server; and

delivering the segments to the client devices sequentially for live media playback.

2 . A live streaming system according to claim 1 , wherein the live streaming data includes audio and/or video data.

3 . A live streaming system according to claim 1 , wherein the live stream data is transcoded into different formats for different types of client devices.

4 . A live streaming system according to claim 3 , further comprising transcoding each file format into different bit rates.

5 . A live streaming system according to claim 3 , further comprising adding custom frame headers to transcoded frames.

6 . A live streaming system according to claim 5 , wherein the custom frame headers include audio/video track information for each frame.

7 . A live streaming system according to claim 5 , wherein the custom frame headers include frame length information.

8 . A live streaming system according to claim 5 , wherein the custom frame headers include RTP packet headers.

9 . A live streaming system according to claim 1 , wherein each of the segments is of a predetermined fixed duration being an integral number of seconds.

10 . A live streaming system according to claim 1 , wherein at least some of the segments are of variable durations each being a respective integral numbers of seconds.

11 . A live streaming system according to claim 1 , wherein the segments are encrypted before being transferred to the storage device.

12 . A live streaming system according to claim 1 , wherein the storage device is local to the segmenter.

13 . A live streaming system according to claim 1 , wherein the storage device is remote from the segmenter.

14 . A live streaming system according to claim 1 , wherein the storage device is accessible to an HTTP server, and wherein the segments are delivered to the client devices using the HTTP protocol.

15 . A live streaming system according to claim 1 , wherein a multiplicity of metadata associated with the live streaming data is created and stored in a database and made available to the client devices, and wherein previously stored segments of video can be searched using the metadata stored in the database.

16 . A method for distributing live streaming data to client devices, comprising:

recording the live streaming data;

dynamically transcoding the live streaming data into a plurality of encodings;

packing the plurality of encodings in a plurality of file formats each having formatted data;

writing the formatted data out in segments;

transferring the segments to a storage device accessible to a server; and

delivering the segments to the client devices sequentially for live media playback.

17 . A method according to claim 16 , wherein the live streaming data includes audio and/or video data.

18 . A method according to claim 16 , wherein the live stream data is transcoded into different formats for different types of client devices.

19 . A method according to claim 18 , further comprising transcoding each file format into different bit rates.

20 . A method according to claim 18 , further comprising adding custom frame headers to transcoded frames.

21 . A method according to claim 20 , wherein the custom frame headers include audio/video track information for each frame.

22 . A method according to claim 20 , wherein the custom frame headers include frame length information.

23 . A method according to claim 20 , wherein the custom frame headers include RTP packet headers.

24 . A method according to claim 16 , wherein each of the segments is of a predetermined fixed duration being an integral number of seconds.

25 . A method according to claim 16 , wherein at least some of the segments are of variable durations each being a respective integral numbers of seconds.

26 . A method according to claim 16 , wherein the segments are encrypted before being transferred to the storage device.

27 . A method according to claim 16 , wherein the storage device is local to a segmenter which performs the writing of the formatted data in segments.

28 . A method according to claim 16 , wherein the storage device is remote from a segmenter which performs the writing of the formatted data in segments.

29 . A method according to claim 16 , wherein the storage device is accessible to an HTTP server, and wherein the segments are delivered to the client devices using the HTTP protocol.

30 . A method according to claim 16 , wherein a multiplicity of metadata associated with the live streaming data is created and stored in a database and made available to the client devices, and wherein previously stored segments of video can be searched using the metadata stored in the database.

31 . An apparatus, comprising:

a processor for executing a live stream recorder and segmenter, wherein the recorder accepts a live media stream and a configuration file;

a memory for storing output of the live stream recorder and segmenter; and

instructions executable by the processor for:

recording the live media stream;

transcoding the recorded stream into a plurality of encodings as defined by the configuration file;

storing the encoded data in segments;

encrypting the plurality of resultant segments as defined by the configuration file; and

storing the transcoded and encrypted segments in the memory.