共计 551 个字符,预计需要花费 2 分钟才能阅读完成。
在 PyAV 中指定线程数目能够通过设置 threads 属性来实现。该属性通常利用于 demuxer、decoder、filter 和 encoder。例如,上面的代码将在 demuxer 和 decoder 中应用 4 个线程:
import av
container = av.open('video.mp4')
container.streams.video[0].thread_type = 'AUTO'
container.streams.video[0].threads = 4
for packet in container.demux():
for frame in packet.decode():
# 解决每一帧
在这个例子中,咱们应用 av.open() 关上视频文件,而后设置第一个视频流的 thread_type 为 AUTO。AUTO 意味着 PyAV 将依据须要主动创立和销毁线程。接下来,咱们将 threads 属性设置为 4,以指定在 demuxer 和 decoder 中应用的线程数。最初,咱们遍历 container.demux() 的输入,以获取视频帧。
如果您应用的是 filter 或 encoder,请将相应的线程属性设置为 filter.thread_type 和 filter.threads 或 encoder.thread_type 和 encoder.threads。
正文完