python - 多处理 | python中的多线程ffmpeg

标签 python ffmpeg wsgi python-multithreading python-multiprocessing

我正在开发 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/

相关文章:

Django apache-wsgi 配置问题

python - 转换日期时间对象

nginx - ffmpeg hls 流到 nginx webdav。删除旧段

django - 在生产服务器上使用 django 日志记录时出现 Apache WSGI 权限错误

python - 在 Pylons 中流式处理 POST 大请求

video - 即时更改 ffmpeg 输入

python - Neo4Django - SyncDB 不创建表和图

python - Unicode 字符串的 lxml.etree.XML ValueError

python - Tensorflow - 无法在 Estimator 中使用带有 MirroredStrategy 分布的 BasicLSTMCell

ffmpeg - ffmpeg 可移植性所需的文件