View Single Post
Old 8th July 2017, 21:39   #5443  |  Link
x265_Project
Guest
 
Posts: n/a
Quote:
Originally Posted by Sagittaire View Post
x264 and x265 coding are really problematic with new CPU with multiple core like "threadripper" or "skylake-X". x264 and x265 are unable to make encoding at 100% for CPU charge for 2K or even for 4K with 16C/32T or more.

@ x265 team

Not possible to create a new encoding mode in x265 with multiple instance for better threading compatibility?

Use for exemple high lookahead buffer for make frame type decision and open new instance coding at each new Iframe (will be IDR).

This mode imply certainely high frame buffer but if you have "threadripper" or "skylake-X" CPU, you must have at least 16 GB for RAM or more.

This mode imply just Closed GOP and perhaps short GOP (60 frames maximum) to minimize frame buffer.
For a single instance of x265, we are limited in the # of threads we can use at any one time due to the serial nature of video encoding. For 4K encoding you should be able to utilize at least 20 threads efficiently. To increase parallelism, you can increase the number of frame threads, but this can affect rate control (although if you are using CRF rate control and you aren't using VBV, you shouldn't have any problem). You can also use --pme and/or --pmode. These functions will definitely increase CPU utilization, but they are not work-efficient (you won't see an increase in FPS that correlates with the increase in CPU utilization).

We have a commercial product called UHDkit that can run multiple x264 or x265 instances, in order to get more performance under different circumstances. As you know, x265 is free for anyone who can comply with the terms of the GPL v2 license. This includes large web video services, who don't distribute x265 (they distribute video). UHDkit is our value-added solution designed as an incentive for commercial customers to come to us to get a commercial license, which means they go from being free-riders on the x265 open source project to being sponsors of the project, which means we can hire more developers to improve x265 for everyone. The features in UHDkit are features that only commercial users would need, like the ability to produce multiple bit/quality rate tiers from a single video file twice as efficiently as doing unique encodes, or the ability to do live 4K 60P 10 bit encoding on a many-core (dual socket) server. Of course, anyone can run multiple instances of x265 on a single machine by themselves, but it wouldn't be easy to match the performance optimization features, or the other value-added features in UHDkit.
  Reply With Quote