网页:显示来自另一个程序的Python代码

0 投票
1 回答
48 浏览
提问于 2025-04-14 18:28

我有个问题,想知道我正在尝试的事情一般来说是否可行。

@app.route('/live' , methods=['GET', 'POST'])
def live():
  import livestreamcamera      <--- this is what i want (java file, code executed on webpage)
  output = livestreamcamera
  return output

我在我的树莓派5上用Flask运行一个网页,这个网页可以录制、直播、播放和删除视频。不过有个问题,就是当我在直播的同时录制视频时,opencv会使用相同的画面来录制(这就导致直播和录制都卡顿)。当我关闭直播后,录制就正常了。所以我建立了一个重定向到http://myip:port/live,想尝试把直播显示在另一个程序里。当两个方法共享同一个摄像头时,我发现opencv运行得不流畅(即使使用线程也不行)。

我正在尝试的事情一般来说可行吗?我已经尝试过用另一个端口来设置程序,但我想把它保持在同一个端口上。谢谢!

1 个回答

0

我自己找到了答案:

你需要直接在另一个文件中调用那个方法:

直播文件:

def test():
    output = "test"
    return output

你想要导入的文件:

@app.route('/live' , methods=['GET', 'POST'])
def live():
  import livestreamcamera
  output = livestreamcamera.test()
  return output

这样做可能能修正语法错误,但并不能解决问题,因为OpenCV不允许对同一个摄像头进行多次初始化,即使是在不同的方法中也是不行的。

撰写回答