IP Library Granted Patent US 10,182,257
Granted Patent B2
US 10,182,257 · App. 14/806,662 · Granted Jan 15, 2019

Client-side video transcoding and processing

Inventor: Soeren Balko (Indooroopilly, AU)
Assignee: CLIPCHAMP IP PTY LTD
H04N21/440218H04N21/4223H04N21/42203H04N21/4325H04N21/4431H04N21/440263H04N21/440281H04N21/4782H04N21/8173H04N21/439H04N21/4334
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 10,182,257
App. No.
14/806,662
Granted
Jan 15, 2019
Kind
B2
Abstract

A client-side video transcoding and processing method for transcoding and processing of video or audio files on end-user client devices, such as desktop computers, laptops, tablet computers, smartphones, wearable devices, or any other end user computing device that can access a network such as the Internet and is equipped with a standard user agent software, such as a World Wide Web browser. The client-side video transcoding and processing generally includes an end user computing device 10 , such as a workstation, personal computer, laptop, desktop computer, tablet computer, smartphone, wearable computing device or another suitable computing device, a server computer 20 that is connected to the end user computing device 10 through a network, such as the Internet, a user agent 30 , which is a standard software platform such as a World Wide Web browser that is installed on the end user computing device 10 , a user interface software component 40 , which is part of the video transcoding or processing application and runs within the user agent 30 and a video conversion software component 50 , which is part of the video transcoding or processing application and runs within the user agent 30.

Claims (59)

1. A method for transcoding files, comprising:

retrieving, via a runtime environment of a browser of computing device and from a remote server, a processing application comprising a video transcoding conversion component and a user interface component;

instantiating and executing the processing application in an application container of the runtime environment of the browser;

receiving, via the user interface component, a video or audio file; and

transcoding, via the video transcoding conversion component executed in the application container of the runtime environment of the browser, the video or audio file from a source format to a target format.

2. The method of claim 1 , wherein the video conversion component comprises a native fallback component.

3. The method of claim 2 , further comprising:

determining, via the native fallback component, native video or audio capabilities of the computing device; and

transcoding video or audio from the video or audio file via one or both of the native video or audio capabilities and the video transcoding conversion component based on the suitability of the native video or audio capabilities to handling the video or audio file.

4. The method of claim 1 , wherein the target format includes one of more of the following:

a container format;

a video resolution;

a video and audio bitrate; and

a video aspect ratio.

5. The method of claim 1 , wherein video or audio is transcoded via native video or audio transcoding capabilities of the computing device, respectively, if the native video or audio transcoding capabilities are sufficient to transcode the video or audio.

6. The method of claim 1 , wherein one or more sub-components of the video conversion component are configured to transcode video or audio based on native video or audio decoding capabilities of the computing device, respectively.

7. The method of claim 3 , wherein determining native video or audio capabilities of the computing device includes one or more of the following:

determining performance characteristics of the computing device;

determining an availability of a graphics processing unit (GPU);

determining a number of central processing units (CPUs) on the computing device;

determining a number of CPU cores on the computing device;

determining a network bandwidth;

determining an availability of an external streaming server that can deliver partially or fully transcoded video or audio data; and

determining one or more application programmable interfaces (APIs) of the computing device or the runtime environment.

8. The method of claim 1 , wherein the user interface component comprises a user interaction component and the method further comprises:

receiving, via the user interaction component, one or more user interactions or automated control requests; and

controlling one or more of the components of the processing application based on the user interactions or automated control requests.

9. The method of claim 6 comprising:

displaying, via the user interface component, one or more graphical user interfaces (GUIs) to receive the one or more user interactions.

10. The method of claim 1 , wherein the user interface component includes one or more of the following:

a means to input one or a plurality of input video or audio files;

a means to input video transcoding and processing parameters;

a status interface component for reporting status information; and

an output interface component.

11. The method of claim 10 , wherein the output interface component comprises one or more of the following operations:

sharing the video or audio file;

playing the video or audio file; and

storing the video or audio file.

12. The method of claim 1 comprising retrieving paramaterization settings as a bundle of default parameterization presets.

13. The method of claim 1 , wherein the runtime environment is:

a World Wide Web browser with a JavaScript runtime environment.

14. The method of claim 1 , wherein the processing application components comprise one or more of the following:

hypertext markup language code;

JavaScript code; and

cascading style sheet code.

15. The method of claim 1 comprising caching application code in an application cache.

16. The method of claim 12 , wherein the parameterization presets comprise configuration data for configuring the transcoding of the video or audio file.

17. The method of claim 12 , wherein the processing application selects a parameterization preset to determine the target format of the video or audio file.

18. The method of claim 1 , further comprising:

producing, via the computing device, a summary video or audio file of the video or audio file.

19. The method of claim 1 , wherein the processing application is removed from the computing device.

20. The method of claim 1 , wherein the processing application is further configured to transmit the transcoded video file from the computing device to an external computing resource.

21. A method for transcoding files, comprising:

retrieving, via a runtime environment of a browser of computing device and from a remote server, a processing application comprising a video transcoding conversion component and a user interface component, the video transcoding conversion component comprising a video transcoding component and a native fallback component;

instantiating and executing the processing application in an application container of the runtime environment of the browser;

receiving, via the user interface component, a video or audio file;

determining, via the native fallback component, performance characteristics of the computing device;

selecting, conditional upon the determined performance characteristics of the computing device, the video transcoding component or the native fallback component to perform transcoding; and

transcoding, via the video transcoding component executing in the application container of the runtime environment of the browser, or the native fallback component, the video or audio file from a source format to a target format.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2025
From: CLIPCHAMP IP PTY LTD
To: MICROSOFT CLIPCHAMP HOLDINGS PTY LTD
Reel/Frame 072033/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2021
From: BALKO, SOEREN
To: CLIPCHAMP PTY LTD
Reel/Frame 056992/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2021
From: CLIPCHAMP PTY LTD
To: CLIPCHAMP IP PTY LTD
Reel/Frame 056992/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2016
From: CLIPCHAMP PTY LTD
To: CLIPCHAMP IP PTY LTD
Reel/Frame 038981/0954 →
CHANGE OF NAME Recorded Jun 22, 2016
From: ZFAAS PTY LTD
To: CLIPCHAMP PTY LTD
Reel/Frame 039113/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2015
From: BALKO, SOEREN
To: ZFAAS PTY LTD
Reel/Frame 036998/0144 →
Continuity (2)
Provisional Application 62031168 · Jul 31, 2014
Related Publication 20160212482A1 · Jul 21, 2016