Linux debian 5和6之间的FIFO/管道更改

Linux debian 5和6之间的FIFO/管道更改,linux,ffmpeg,debian,pipe,fifo,Linux,Ffmpeg,Debian,Pipe,Fifo,我们目前正在构建一系列linux工具,用于视频广播的实时编码。为了实现这个目的,我们在C++中创建了一个程序,它为FFMPEG解码器(音频和视频)生成一些FFPEG解码器进程,通过FIFO将此输出管送到编码器(FFMPEG/MPEG2EN),然后将编码输出管到我们的MUXER,缓存了几个MB数据,然后通过ASI输出卡输出被压缩的文件。 在Debian5中,这种设置可以完美地工作,通常甚至不会产生高CPU负载。然而,在Debian6和Ubuntu10.04上,muxer的内部缓冲区逐渐减少,直到达

我们目前正在构建一系列linux工具,用于视频广播的实时编码。为了实现这个目的,我们在C++中创建了一个程序,它为FFMPEG解码器(音频和视频)生成一些FFPEG解码器进程,通过FIFO将此输出管送到编码器(FFMPEG/MPEG2EN),然后将编码输出管到我们的MUXER,缓存了几个MB数据,然后通过ASI输出卡输出被压缩的文件。 在Debian5中,这种设置可以完美地工作,通常甚至不会产生高CPU负载。然而,在Debian6和Ubuntu10.04上,muxer的内部缓冲区逐渐减少,直到达到零,之后频繁的输出中断开始出现

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

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


有人知道是什么导致了这个问题吗?或者Debian或其内核配置(版本5和版本6之间)和Ubuntu最近有哪些变化可能导致这种不希望的行为?

我可以确认从Debian 5升级到Debian 6时出现了类似的问题。如果你找到了一个解决方案,我很想听听你的意见。我可以确认在从debian 5升级到debian 6时出现了类似的问题。如果你找到了解决办法,我很想听听你的意见。