关于python:pyav-指定线程数目

46次阅读

共计 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。

正文完
 0