我有一个音频流到达stdout,该音频流将通过管道传输到媒体播放器(例如VLC,ffplay)。我想知道是否可以通过以下方式将音频流延迟几秒钟(假定在Ubuntu bash shell中):
<audio stream> | <stream delay program> | <media player, e.g. ffplay>
我想延迟音频流,使其与另一个视频流更加同步。
是否有任何程序/方法可以实现此目标?
感谢您的任何建议。
最佳答案
您可以尝试以下操作(python脚本):
import sys
chunk_size = 100000 # adjust according to sample rate, nb_channels, etc..
buffer2=None
while True:
buffer1 = sys.stdin.read(chunk_size)
if buffer2:
sys.stdout.write(buffer2)
buffer2 = sys.stdin.read(chunk_size)
sys.stdout.write(buffer1)
将读取2次而仅写入一次,因此将被移位。
告诉我它是否有效,这只是一个尝试。如果没有,我将删除答案。
关于bash - 如何在stdout中延迟直播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40932983/