3

我的工作需要我在几天内编码几千部电影。每部电影都需要以 3 种不同的格式进行编码。我使用 ffmpeg 与输入源的单次读取并行输出这些格式,如下所述:http: //ffmpeg.org/trac/ffmpeg/wiki/Creating%20multiple%20outputs

此外,我正在使用 GNU Parallel 对多个视频文件进行并行编码。我们有四个不同配置(48、32、16 和 16 核)的刀片服务器并行编码视频。理想情况下,我们应该能够并行编码 112 个视频。

但是,似乎在内核较少的机器上编码完成得更快。我在大约 4 个小时内在 16 个核心服务器上完成了 16 个编码,而在 48 个核心系统上完成 48 个编码需要近 10 个小时。瓶颈可能是什么?一个典型的编码命令如下:

ffmpeg -i sample.mpg -y -vcodec libx264 -vprofile baseline -level 30 -acodec libfdk_aac -ab 128k -ac 2 -b:v 500K -threads 1  encoded/sample_enc.mp4

任何指针高度赞赏。谢谢!

4

1 回答 1

1

1 个编码拆分到几个 n 个内核上是可以的,但是 n 个并行编码每个内核 1 个会导致带宽饱和......

尝试为每个转码器激活 4 个线程以加快 1 个视频的吞吐量,并将并行编码的视频数量限制为 2 或 3 个,但这取决于您拥有的内存、带宽和视频(SD 与 HD例子)

于 2013-08-16T05:08:24.230 回答