我有一个MPEG-2 TS,其中包含视频流和KLV元数据流。我可以使用ffmpeg-python独立处理每个流。例如,我可以获取视频流,使用numpy处理每个帧,如文档所示。我还可以获取数据流并按以下方式显示(使用库klvdata):
process = (
ffmpeg
.input(in_filename)
.output('pipe:', format='data', codec='copy', map='data-re')
.run_async(pipe_stdout=True, pipe_stderr=True)
)
for packet in klvdata.StreamParser(process.stdout.read()):
packet.structure()
process.wait()
如何同时执行这些操作?我需要将TS数据拆分为数据流,并对它们进行处理,以使其保持同步。 ffmpeg本身可以将流多路分解为单独的文件,但是如何使用python处理流。 KLV具有我想显示在视频流顶部的信息(识别框)。