python - Opencv VideoCapture 在 Heroku 上总是返回 false

标签 python opencv heroku ffmpeg video-processing

我正在使用以下代码打开视频流:

import cv2
video = cv2.VideoCapture()
video.open("some_m3u8_link")
success, image = video.read()

但是,即使代码在本地按预期运行,在 Heroku 上 success 始终为 false。

我将 cedar-14 堆栈与以下构建包一起使用:

heroku/python

https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git

(我为 ffmpeg 尝试了几个构建包选项)

在 heroku 实例上运行 ffmpeg --version 将返回 ffmpeg version 4.0-static https://johnvansickle.com/ffmpeg/

我是否遗漏了任何设置/配置以使其在部署时起作用?谢谢!

稍后编辑:我尝试了几个“some_m3u8_link”链接,包括来自 twitch 和其他流媒体服务(包括流量流媒体 li 复制示例:

python -c "import cv2; video=cv2.VideoCapture(); video.open('https://hddn01.skylinewebcams.com/live.m3u8?a=5tm6kfqrhqbpblan9j5d4bmua4'); success, image = video.read(); print(success)"

在本地机器上返回 True,在 Heroku 上返回 False。

(链接取自here)

最佳答案

  • 您可以将 pafy 模块与 cv2 一起使用

-尝试 opencv3,如果它不能与 cv2 一起工作

    import cv2, pafy
    url = "Some url to stream"
    video = pafy.new(url)
    best = video.getbest(preftype="webm")
    video=cv2.VideoCapture(best.url)

关于python - Opencv VideoCapture 在 Heroku 上总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50114993/

相关文章:

python - 为什么 rst2html5 会搞乱编码?

python - Opencv 与 wxpython 的集成

opencv - 如何找到形状边界的直线近似值?

ruby-on-rails - PostgreSQL 错误, "no pg_hba.conf entry"

ruby-on-rails - 有什么方法可以暂时禁用 Heroku 托管的 Ruby on Rails 应用程序以停止每月付款?

python - 如何找到用 matplotlib 绘制的图传递的像素

python - 如何循环遍历每个Excel工作表名称

python - 使用字典和复合字段 format() 并将整数键存储为字符串

python - boxPoints 返回负 y 值

sql - 添加没有表锁的新列?