我正在开发 python WSGI script与 HDHomeRun Prime 接口(interface)。在理想情况下,它将 URI 值作为命令传递给 FFMPEG,并在浏览器中显示结果流。我的“在浏览器中显示内容”和“将指令传递给 FFMPEG”部分工作正常,但我没有让它们同时工作。
1) 鉴于此中间件被用于将 MPEG-2 转码为 h.264,使用多处理或多线程来启动和停止各自的进程是否更有意义?
2)如果 WSGI 脚本代理启动 FFMPEG 提要(如果输入提要尚未代理)并将客户端连接到关联的 FFServer 流,则意味着我需要使用某种池来跟踪中间件的事件?
最佳答案
我不太了解您的整个过程,但是 IMO 您应该从 multithreading
开始,因为它更容易设置(变量在 Python 中像往常一样共享)。如果不符合您的要求(例如不够快),您可以转到 multiprocessing
但是如果你从不使用 multiprocessing
会增加复杂性在 Python 中(process
之间没有通信,需要使用 queues
或共享变量)。
设置你的线程:
import threading
a = threading.Thread(target = func, args=(vars))
a.start()
一个不错的教程here.
你也应该知道python的GIL了解您在 Threading/multiprocessing 中所做的事情。
关于python - 多处理 | python中的多线程ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40007815/