A while back, we had a customer that wanted to transcode video files into several different formats as quickly as possible. In this particular case, he had access to as much computing power as one could imagine. Even with his large array of high-end servers, the customer was expecting more speed. Initially, our support staff found they weren't taking full advantage of our encoders' multi-threading capabilities. Therefore our first suggestion was to make use of all the available CPU cores. While this significantly improved their transcoding time, it still didn't achieve their goals.
Although we maximized the processing power on a single server, there were plenty of other servers in their farm just waiting to be used. Using multiple servers to each convert a single file would be acceptable for large batches of small files, but it would provide no benefit for large videos. Since LEADTOOLS has the ability to split and merge files, our next idea for improvement was to split the file into multiple pieces, transcode each piece on a different server, then merge the pieces back together. Splitting and merging (or demultiplexing and remultiplexing) are much faster operations than transcoding, so they would have minimal impact on the overall conversion time. We threw together a quick POC, and in a matter of hours we were using an entire farm of machines to transcode a single file. We were able to cut down the conversion time of a 1.22 GB video from ~23 minutes on a single server to ~9 minutes on the farm of servers. That was a speed increase of 61%!
The performance was great, but there was one problem. In some cases, there were slight glitches between each section that was merged together. The audio and video would jump or hiccup if the timestamps didn't line up perfectly, so we needed a way to intelligently choose and synchronize the split points. Our multimedia engineering team went to work and returned with two new DirectShow filters that discovered the perfect split/merge points, resulting in a smooth playback indistinguishable from the video transcoded on a single server.
These filters have not yet been released but I have played with them quite a bit. Not only are the results amazing, but there is still potential to make this an even more efficient process. If you read my last blog about our Cloud SDK, you can probably see where I am going with this. By integrating this new functionality with our Cloud SDK, you can create powerful applications that identify which servers in your farm are available, and use these machines to process a single task as fast as possible.
Thanks,
Otis Goodwin
Distributed Transcoding
Posted on 2012-02-29 Greg
Recent Posts
- Programmatically Format Excel Cell Styles with LEADTOOLS
- Using the LEADTOOLS Excel Web Editor to Implement Functions
- Load an Existing Excel File and Programmatically Change Data with LEADTOOLS
- LEADTOOLS Version 23 is HERE - Overview of What's New!
- Capture it all with LEADTOOLS Multi-Capture Video Support
Categories
- Virtual Printer (2)
- General Imaging (18)
- Multimedia Imaging (35)
- HTML5 (19)
- Video Tutorials (5)
- Speech Recognition (1)
- Document Converter (8)
- Excel (4)
- Image Processing (9)
- Barcode (16)
- OCR (31)
- Analyzer (2)
- News (119)
- .net (4)
- File Formats (3)
- Recognition (2)
- PDF (24)
- Document Imaging (67)
- Annotations (5)
- Cloud Services (1)
- Forms Recognition and Processing (13)
- Medical Imaging (28)
- General (35)
- MICR (1)
- Web Scanning (1)
Tags
- Paperless Office (2)
- Medical Imaging (57)
- Cine (1)
- Credit Card (3)
- SD Times 100 (3)
- Intel Quick Sync Video (1)
- Document Imaging (109)
- Sony (1)
- OCR (103)
- Cloud (18)
- Text Overlay (1)
- XLS (1)
- Bates (1)
- MultiStreamSource (1)
- Swift (3)
- Houston (1)
- iPad (6)
- Micro QR (2)
- Web Editor (1)
- Document (7)
- EML (1)
- Product Review (4)
- ENT (2)
- CORS (1)
- VB.NET (1)
- Cross-Platform (4)
- study (1)
- Product Announcement (48)
- AFP (1)
- Print to PACS (3)
- Scanning (9)
- Vector Imaging (2)
- Bitonal (1)
- Documents SDK (5)
- h.264 (8)
- News (8)
- Scroll (1)
- SANE (1)
- Going Paperless (1)
- HEVC (1)
- topworkplaces (1)
- PST (1)
- 25 projects in 25 days (28)
- AnDevCon (3)
- Alignment (1)
- Windows 10 (1)
- SVCC (1)
- credit card reader (1)
- Windows (1)
- Discontinuity (1)
- LEADTOOLS (7)
- NVIDIA CUDA (1)
- medical web viewer (2)
- DICOM (67)
- Driver's License (6)
- PowerShell (3)
- .NETCore (3)
- LEADTOOLS Cloud Services (4)
- color reduction (1)
- Baseline Profile (1)
- Client (1)
- Jolt (1)
- AIIM Conference (2)
- Recognition (6)
- image conversion (1)
- HTML (2)
- Discount (1)
- Wang (2)
- Web Workers (1)
- NHIT (2)
- Dental (3)
- Push Mode (1)