FFmpeg CLI supports multi-threading – the “most complex refactoring” in decades

FFmpeg CLI has recently ushered in major improvements - incorporating multi- threaded transcoding pipelines  , which is expected to be available in FFmpeg 7.0 released next year.

Source: https://ffmpeg.org/index.html#cli_threading

According to its development team, this work is "one of the most complex refactorings of the FFmpeg CLI in decades" and includes adding a thread-aware transcoding scheduling infrastructure, moving encoding tasks to independent threads, and various other Underlying changes. This means that FFmpeg can now implement parallel processing tasks, which will increase throughput and CPU utilization and reduce latency.

Source: https://up.khirnov.net/7m.pdf

According to reports, this update is not multi-threaded for the codec itself, because modern codecs usually already support multi-threading. Instead, what FFmpeg decides to parallelize is ffmpeg itself, including filters, etc. This means that the FFmpeg CLI can now handle video transcoding tasks more efficiently.

Developers on Hacker News have come up with some ideas for video encoding , such as segmenting key frames and processing them independently to achieve better multi-core performance. This method can improve coding efficiency to a certain extent, but it also needs to consider the complexity of memory and coding logic.

Guess you like

Origin www.oschina.net/news/270790/ffmpeg-cli-multi-threading-merged