繁体   English   中英

多处理| python中的多线程ffmpeg

[英]Multiprocessing | Multithreading ffmpeg in python

我正在开发一个Python WSGI脚本来与HDHomeRun Prime交互。 在理想情况下,它将URI值作为命令传递给FFMPEG,并在浏览器中显示结果流。 我的“在浏览器中显示内容”和“将指令传递给FFMPEG”部分工作正常,但是我没有让它们同时工作。

1)假设使用了这种中间件将MPEG-2转换为h.264,使用多处理或多线程启动和停止相应进程是否更有意义?

2)如果WSGI脚本代理FFMPEG提要的启动(如果输入提要尚未被代理)并将客户端连接到关联的FFServer流,这确实意味着我需要使用某种池来跟踪中间件的活动?

我不太了解您的整个过程,但是IMO应该从multithreading开始,因为它更容易设置(变量与Python中的平常一样共享)。 如果不满足您的要求(例如不够快),则可以转到multiprocessing但是如果您从未在Python中使用multiprocessingprocess之间没有通信,需要使用queues或共享变量),则会增加复杂性。

设置线程:

import threading 
a = threading.Thread(target = func, args=(vars)) 
a.start() 

一个不错的教程

您还应该了解python的GIL,以了解您在Threading / multiprocessing中正在做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM