【问题标题】:Multiprocessing | Multithreading ffmpeg in python多处理 | python中的多线程ffmpeg
【发布时间】:2016-10-12 20:31:02
【问题描述】:

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

1) 鉴于此中间件被用于将 MPEG-2 转码为 h.264,使用多处理或多线程来启动和停止相应的进程是否更有意义?

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

【问题讨论】:

    标签: python ffmpeg wsgi python-multithreading python-multiprocessing


    【解决方案1】:

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

    设置你的线程:

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

    一个不错的教程here.

    您还应该了解 python 的 GIL 以了解您在线程/多处理中所做的事情。

    【讨论】:

    • 谢谢哈利!抱歉回复慢。我喜欢你提供的教程,我会看看我是否可以在周末实施它。
    猜你喜欢
    • 2013-04-03
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多