Transcoding completely rewritten as an advanced Flow workflow
We rewrote the entire transcoding workflow. The old logic was confusing and overly complex. Screenshots, slicing, fast slicing, animations, preview images, preview videos, transcoding, deleting or retaining the source, and uploading sources to cloud storage have all been reorganized. Overall stability has improved by 1 times its previous level.
Independent transcoding units
The workflow is now split into independent units: video metadata retrieval, single and multiple screenshots, playback-preview thumbnails, animated images, fast slicing, slicing, posters, preview videos, single- and multi-bitrate transcoding, portrait and landscape transcoding, watermark and scrolling-text removal, CPU transcoding and GPU transcoding.
These units link together into a Flow workflow. For example, enabling screenshots, animations, thumbnails and preview videos, with 360 and 720P outputs, gives this flow:
读取视频元数据 -----> 生成预览视频 ----> 生成预览图缩略图 ---> 生成动图
----> 转码(合并水印添加、跑马灯添加、去除跑马灯、水印等子单元)
----> 截图 ----> 生成海报 ----> 切片 ----> 删除原片 ----> 保留转码后视频或删除
Stability testing
We tested 5000 videos consecutively under maximum load, with all features enabled and no intervention. Every workflow completed successfully, improving stability by at least a factor of two.
Test platform: CPU Intel Xeon E3-1271 v3, 8 threads, 4 physical cores, CPU frequency 3.60GHz, 16GB RAM, kernel 4.14.129-bbrplus, linux platform, CentOS Linux7.
For 5000 videos, outputs were 720P and original quality; animations, 6 screenshots, preview videos and preview thumbnails were enabled; 5 jobs ran simultaneously, retaining the transcoded 720P video.
Result: all transcoding completed in 3 days without errors.


