×

Using worker nodes in a distributed video encoding system

  • US 10,375,156 B2
  • Filed: 09/11/2015
  • Issued: 08/06/2019
  • Est. Priority Date: 09/11/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, implemented at a server in a distributed network, comprising:

  • receiving a video for encoding;

    associating the video with a target encoding time;

    splitting the video into multiple segments;

    determining, for each of the multiple segments, one of an encoding implementation from central processing unit (CPU)-based encoding and graphics processing unit (GPU)-based encoding, wherein the determining is performed by analyzing the multiple segments using factors including target resolution and quality considerations;

    queuing a number of the multiple segments for which CPU-based encoding is determined in a CPU-queue and a number of the multiple segments for which GPU-based encoding is determined in a GPU-queue, wherein the CPU-queue and the GPU-queue includes segments from at least one other video, and wherein the number of the multiple segments to be queued is dynamically adjusted based on encoding progress relative to the target encoding time;

    submitting the segments from the CPU-queue and the GPU-queue to a pool of worker nodes for encoding on a priority order based on monitoring of completion speed of the video, wherein each segment is submitted to a worker node at least comprising a CPU resource capable of CPU-based encoding and a GPU resource capable of GPU-based encoding based on a run-time availability of the resource of the worker node with the corresponding encoding implementation, wherein the run-time availability is determined by comparing an available CPU resource or GPU resource with a threshold;

    instructing, for each submitted segment, a corresponding resource of the worker node to encode the submitted segment based on the corresponding determined encoding implementation; and

    receiving encoded segments from the worker nodes.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×