IP Library Granted Patent US 9,088,804
Granted Patent B2
US 9,088,804 · App. 13/592,161 · Granted Jul 21, 2015

On-demand selection of transcoding formats for multimedia broadcast streams

Inventors: Gyula Feher (Budapest, HU); Akos Gyimesi (Budapest, HU); Zoltan Ponekker (Szabadbattyan, HU); Daniel Palffy (Budaors, HU); Gergely Hodicska (Budapest, HU); Zoltan Nemeth (Budapest, HU)
Assignee: Ustream, Inc.
H04N21/234336H04L29/06455H04L29/06503H04N21/25833H04L29/06489
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 9,088,804
App. No.
13/592,161
Granted
Jul 21, 2015
Kind
B2
Abstract

An on-demand multimedia stream processing system receives multimedia streams from broadcasters and processes the streams for viewing on a wide range of client devices. To decrease the use of computing resources, processing jobs are started and stopped based on user demand. When a multimedia stream is received from a broadcaster, the processing system does not start processing the multimedia broadcast stream until a request for a processed stream is received. The processing system automatically terminates processing jobs when the audience of a processed stream drops to zero or some other stop condition is met.

Claims (45)

1. A method of transcoding streaming multimedia items, the method comprising:

at a computing device, receiving a plurality of streaming multimedia items in a first format from a plurality of broadcasters, wherein one or more streaming multimedia items is received from each broadcaster;

for each of the received streaming multimedia items:

receiving requests from a plurality of remote user devices for each of the streaming multimedia items;

responsive to detecting that one or more of the requesting remote user devices is not capable of reproducing each of the streaming multimedia items in the first format, transcoding each of the streaming multimedia items into a second format, the second format differing from the first format in at least one multimedia setting;

packetizing each of the transcoded streaming multimedia items into multimedia packets of a predetermined length;

waiting another predetermined length of time before sending the multimedia packets to the remote user devices;

sending a multimedia stream or a series of multimedia streams other than the transcoded stream to the remote user devices during the other predetermined length of time;

transferring the multimedia packets to the plurality of requesting remote user devices over a network, each of the transcoded streaming multimedia items in the multimedia packets capable of being reproduced on the plurality of remote user devices; and

stopping the transcoding of each of the streaming multimedia items responsive to satisfying a stop condition on the computing device, the stop condition comprising detecting that no remote users have been receiving each of the transcoded streaming multimedia items for at least a predetermined length of time.

2. The method of claim 1 , wherein one or more of the streaming multimedia items is not transcoded responsive to detecting that each of the plurality of requesting remote user devices is capable of reproducing the streaming multimedia items in the first format.

3. The method of claim 1 , wherein the computing device receives the streaming multimedia items in real-time.

4. The method of claim 3 , wherein the computing device transcodes the streaming multimedia items and transfers the streaming multimedia items to the plurality of requesting remote user devices in real-time.

5. The method of claim 1 , further comprising receiving information describing the multimedia playback capabilities of the remote user devices.

6. The method of claim 5 , further comprising choosing multimedia formats that are capable of being played back by the requesting remote users as the second format based on analysis of the information describing the multimedia playback capabilities of the requesting remote user devices.

7. The method of claim 1 , wherein the stop condition further comprising detecting that the broadcaster for each of the streaming multimedia items has disconnected.

8. The method of claim 1 , further comprising checking a list of active transcoding jobs or packetizing jobs at the computing device before each transcoding the streaming multimedia items responsive to detecting that the one or more of the requesting remote user devices is not capable of reproducing each of the streaming multimedia items in the first format.

9. The method of claim 1 , further comprising transferring each of the streaming multimedia items in the first format to the plurality of requesting remote user devices over a network responsive to detecting that one or more of the requesting remote user devices is capable of reproducing each of the streaming multimedia items in the first format.

10. A computing system for transcoding streaming multimedia items, the computing system comprising:

a streaming component comprising a first network interface coupled to a network and configured to receive a plurality of streaming multimedia items in a first format from a plurality of broadcasters, wherein one or more streaming multimedia items is received from each broadcaster;

a transcoding component comprising a first processor and a first memory coupled to the first processor, the first processor configured to execute instructions to transcode the streaming multimedia items into a second format, the second format differing from the first format in at least one multimedia setting, the transcoding component further configured to stop the transcoding of the streaming multimedia items responsive to satisfying a stop condition on the computing system;

a packetizing component configured to packetize the transcoded streaming multimedia items into multimedia packets of a predetermined length; and

a request processing component comprising a second network interface, a second processor, and a second memory, the second memory coupled to the second processor, the second processor configured to:

execute instructions to receive requests from a plurality of remote user devices for the streaming multimedia items via the second network interface,

wait another predetermined length of time before sending the multimedia packets to the remote user devices,

send a multimedia stream or a series of multimedia streams other than the transcoded stream to the remote user devices during the other predetermined length of time, and

transfer the multimedia packets to the plurality of requesting remote user devices over a network via the second network interface, the transcoded streaming multimedia items in the multimedia packets capable of being reproduced on the plurality of remote user devices, the stop condition for a streaming multimedia item satisfied when the computing device detects that no remote users have been receiving the transcoded streaming multimedia item for a predetermined length of time.

11. The system of claim 10 , wherein the transcoding system is further configured not to transcode one or more of the streaming multimedia items responsive to detecting that each of the plurality of requesting remote user devices is capable of reproducing the streaming multimedia items in the first format.

12. The system of claim 10 , wherein the streaming component is further configured to receive the streaming multimedia items in real-time.

13. The system of claim 12 , wherein the transcoding component is further configured to transcode the streaming multimedia items in real-time.

14. The system of claim 12 , wherein the request processing component is further configured to transfer the streaming multimedia items to the plurality of requesting remote user devices in real-time.

15. The system of claim 10 , wherein the request processing component is further configured to receive information describing the multimedia playback capabilities of the remote user devices.

16. The system of claim 15 , wherein the transcoding component chooses multimedia formats that are capable of being played back by the requesting remote users as the second format based on analysis of the information describing the multimedia playback capabilities of the requesting remote user devices.

17. The system of claim 10 , wherein the stop condition for the streaming multimedia item is further satisfied when the computing device detects that the broadcaster for the streaming multimedia item has disconnected.

18. A non-transitory computer readable medium configured to store instructions, the instructions when executed by a processor cause the processor to:

receive a plurality of streaming multimedia items in a first format from a plurality of broadcasters, wherein one or more streaming multimedia items is received from each broadcaster;

for each of the received streaming multimedia items:

receive requests from a plurality of remote user devices for each of the streaming multimedia items;

responsive to detecting that one or more of the requesting remote user devices is not capable of reproducing each of the streaming multimedia items in the first format, transcode each of the streaming multimedia items into a second format, the second format differing from the first format in at least one multimedia setting;

packetize each of the transcoded streaming multimedia items into multimedia packets of a predetermined length;

wait another predetermined length of time before sending the multimedia packets to the remote user devices;

send a multimedia stream or a series of multimedia streams other than the transcoded stream to the remote user devices during the other predetermined length of time;

transfer the multimedia packets to the plurality of requesting remote user devices over a network, each of the transcoded streaming multimedia items in the multimedia packets capable of being reproduced on the plurality of remote user devices; and

stop the transcoding of each of the streaming multimedia items responsive to satisfying a stop condition on the computing device, the stop condition comprising detecting that no remote users have been receiving each of the transcoded streaming multimedia items for at least a predetermined length of time.

19. The computer readable medium of claim 18 , wherein one or more of the streaming multimedia items is not transcoded responsive to detecting that each of the plurality of requesting remote user devices is capable of reproducing the streaming multimedia items in the first format.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 8, 2016
From: USTREAM, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 040254/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2016
From: USTREAM, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040100/0567 →
SECURITY INTEREST Recorded Jun 3, 2014
From: USTREAM, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 033080/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2012
From: FEHER, GYULA; GYIMESI, AKOS; PONEKKER, ZOLTAN; PALFFY, DANIEL; HODICSKA, GERGELY; NEMETH, ZOLTAN
To: USTREAM, INC.
Reel/Frame 028854/0527 →
Continuity (3)
Provisional Application 61527485 · Aug 25, 2011
Provisional Application 61562377 · Nov 21, 2011
Related Publication 20130054827A1 · Feb 28, 2013