FIFO /管道在debian 5和6之间变化

时间:2011-08-08 15:35:02

标签: linux ffmpeg debian pipe fifo

我们目前正在构建一系列linux工具,以便为视频广播目的进行实时编码。为了实现这一目标,我们用C ++创建了一个程序,它产生了一些ffmpeg解码器进程(用于音频和视频),通过fifo将此输出传输到编码器(ffmpeg& mpeg2enc),然后将编码输出传输到我们的复用器它缓存几MB数据,然后通过ASI输出卡输出多路复用文件。

在debian 5中,这种设置完美无瑕,通常甚至不会产生高CPU负载。然而,在debian 6和Ubuntu 10.04上,多路复用器的内部缓冲区逐渐减小,直到达到零,之后频繁的输出hickup开始发生。

使用nice和ionice似乎无法解决此问题。我也尝试了各种自定义内核编译选项(频率增加,抢占等),但这似乎也不起作用。

尽管ffmpeg或mpeg2enc可能存在严重的退化,但我猜这个问题与新内核/发行版处理FIFO的方式有关。

有人知道可能导致此问题的原因吗?或者最近Debian或它的内核配置(版本5和版本6)和Ubuntu最近发生了哪些可能导致这种不良行为的变化?

0 个答案:

没有答案