如何建立延迟/缓冲管道?

dro*_*nus 5 linux bash pipe

是否有可能构建一个缓冲管道,从cat,dd等标准linux工具中保留数据(对于某些给定量的字节或某些给定时间)?

例如,收集定义数量的数据包,音频数据或其他内容.

例如.构建一个脚本delaybuffer来做类似的事情:

arecord | delaybuffer 16000 | aplay
Run Code Online (Sandbox Code Playgroud)

播放延迟录制的音频16000字节.

Mar*_*tin 6

另一种方法是使用dd(如果你的dist上不存在缓冲区).

    arecord | dd ibs=16000 iflag=fullblock oflag=dsync | aplay
Run Code Online (Sandbox Code Playgroud)

我不太确定旗帜,可能有更好的方法,而不是一次爆破一块.


And*_*ath 5

有一个工具叫做buffer工作.(链接到Debian软件包 - 也可能在其他发行版中提供.).

缓冲区使用共享内存将可变输入数据速率转换为恒定输出数据速率.