IP Library Granted Patent US 8,656,442
Granted Patent B1
US 8,656,442 · App. 11/986,682 · Granted Feb 18, 2014

Efficient video delivery

Inventors: Donald Peregrine Clarke (Gilroy, CA); Edward Deitz Crump (Santa Cruz, CA); Barrett Gibson Lyon (Pacifica, CA)
Assignee: BitGravity, Inc.
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 8,656,442
App. No.
11/986,682
Granted
Feb 18, 2014
Kind
B1
Abstract

Efficient video delivery is disclosed. In some embodiments, at least a part of a video stream received from a video source is converted to a dividable video format file. The dividable video format file is split into a sequence of small files, and one or more of the sequence of small files is published.

Claims (59)

1. A method for publishing a video stream, comprising:

receiving at a formatting server at least a part of a video stream comprising a real time streaming video format;

converting at a formatting server the received part of the video stream from the real time streaming video format into a dividable video format;

splitting at the formatting server the dividable video format into a sequence of small files; and

publishing the sequence of small files as portions of a single file to a node of a CDN;

assembling, at the CDN node, the sequence of small files together in a correct order, and

delivering, at the CDN node, the assembled sequence of small files to a web server within the CDN node;

wherein a client request for the single file is at least in part serviceable by providing one or more of the sequence of small files as portions of the single file to the client; and

wherein said sequence of small files are provided using an internet communication protocol.

2. The method as recited in claim 1 , wherein the video stream comprising the real time streaming video format comprises a Real Time Streaming Protocol (RTSP) stream.

3. The method as recited in claim 1 , wherein the video stream comprising the real time streaming video format comprises a Real Time Messaging Protocol (RTMP) stream.

4. The method as recited in claim 1 , wherein the video stream comprising the real time streaming video format is received from a video source comprising one or more of a camera, a Real Time Streaming Protocol (RTSP) server, and a Real Time Messaging Protocol (RTMP) server.

5. The method as recited in claim 1 , wherein the dividable video format comprises a Flash FLV file.

6. The method as recited in claim 1 , wherein the dividable video format is split into small files of a prescribed size.

7. The method as recited in claim 1 , wherein the dividable video format is split into small files of a prescribed time duration.

8. The method as recited in claim 1 , wherein the dividable video format is split at key frames.

9. The method as recited in claim 1 , wherein a sequence number is associated with each small file in the sequence of small files.

10. The method according to independent claim 1 , wherein

the web server delivers the sequence of small files to the client as a single file, and

the single file is continuously being generated and provided to the client.

11. The method as recited in claim 1 , wherein one or more of the sequence of small files is published to one or more clients.

12. The method as recited in claim 1 , further comprising delivering one or more of the sequence of small files as portions of the single file to a client.

13. The method as recited in claim 1 , wherein each of the dividable video format and the single file comprises a continuously growing file in real time.

14. The method as recited in claim 12 , further comprising delivering one or more ads, logos, public service announcements, and static air.

15. The method as recited in claim 12 , further comprising selecting a starting small file or a part thereof from the sequence of small files with which to begin delivering.

16. The method as recited in claim 1 , further comprising delivering, by the web server, one or more of the sequence of small files to a requesting client.

17. The method as recited in claim 1 , further comprising splitting the dividable video format into a sequence of large files.

18. The method as recited in claim 17 , further comprising publishing one or more of the sequence of large files to one or more nodes of a content delivery network.

19. The method as recited in claim 17 , further comprising delivering one or more of the sequence of large files to a client in response to a request from the client for old data of the video stream.

20. The method as recited in claim 1 , wherein one or more of the sequence of small files is published using one or more reliable communication protocols.

21. A system for publishing a video stream, comprising:

a processor configured to:

receive at least a part of a video stream comprising a real time streaming video format;

convert the received part of the video stream from the real time streaming video format into a dividable video format;

split the dividable video format into a sequence of small files; and

publish the sequence of small files as portions of a single file to a node of a CDN;

assemble, at the CDN node, the sequence of small files together in a correct order, and

deliver, at the CDN node, the assembled sequence of small files to a web server within the CDN node;

wherein a client request for the single file is at least in part serviceable by providing one or more of the sequence of small files as portions of the single file to the client; and

a memory coupled to the processor and configured to provide the processor with instructions; wherein providing said sequence of small files is done using an internet communication protocol.

22. The system as recited in claim 21 , wherein the video stream comprising the real time streaming video format comprises a Real Time Streaming Protocol (RTSP) stream or a Real Time Messaging Protocol (RTMP) stream.

23. A system for delivering video data, comprising:

a processor configured to:

receive a sequence of small files, wherein the sequence of small files is generated by splitting at least a part of a dividable video format that had been converted from at least a part of a video stream comprising a real time streaming video format; and

provide one or more of the sequence of small files to a client, using an internet communication protocol, as portions of a single file;

assemble, at a CDN node, the sequence of small files together in a correct order, and

deliver, at the CDN node, the assembled sequence of small files to a web server within the CDN node;

a memory coupled to the processor and configured to provide the processor with instructions.

24. The system as recited in claim 23 , wherein the video stream comprising the real time streaming video format comprises a Real Time Streaming Protocol (RTSP) stream or a Real Time Messaging Protocol (RTMP) stream.

25. A computer program product for publishing a video stream, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving at least a part of a video stream comprising a real time streaming video format that is not amenable for communication over a network using a reliable communication protocol;

converting the received part of the video stream from the real time streaming video format into a dividable video format;

splitting the dividable video format into a sequence of small files; and

publishing the sequence of small files as portions of a single file to a node of a CDN;

assembling, at the CDN node, the sequence of small files together in a correct order, and

delivering, at the CDN node, the assembled sequence of small files to a web server within the CDN node;

wherein a client request for the single file is at least in part serviceable by providing one or more of the sequence of small files as portions of the single file to the client;

wherein providing said one or more sequence of small files is done using an internet communication protocol.

26. The computer program product as recited in claim 25 , wherein the video stream comprising the real time streaming video format comprises a Real Time Streaming Protocol (RTSP) stream or a Real Time Messaging Protocol (RTMP) stream.

Assignments (2)
MERGER Recorded Oct 7, 2015
From: BITGRAVITY, INC.
To: TATA COMMUNICATIONS (AMERICA) INC.
Reel/Frame 036750/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2008
From: CLARKE, DONALD PEREGRINE; CRUMP, EDWARD DEITZ; LYON, BARRETT GIBSON
To: BITGRAVITY, INC.
Reel/Frame 020805/0560 →