opencv - ffmpeg 失败 - 455 方法在此状态下无效

标签 opencv ffmpeg docker streaming rtsp

我创建了一个 nodejs 应用程序,它使用 FFMPEG 获取 rtsp 流,然后使用 Opencv3 对其进行分析。如果我在我的本地安装 FFMPEGopencv 它就可以工作。

但现在我创建了一个包含这些库安装的 docker 镜像,我将其用作创建另一个镜像和容器的基础,我试图在其中运行我的应用程序。当我在该容器内运行它时,当我尝试使用 FFMPEG 指令获取 rtsp 流时,我一遍又一遍地收到此错误 "method SETUP失败:455 方法在此状态下无效”

这就是我在图像中安装 FFMPEG 的方式:

# ---------------------- OpenCV ffmpeg ---------------------------#
RUN mkdir -p /opt/src \
 && curl -Lo /opt/src/ffmpeg-${FFMPEG_VERSION}.tar.gz \
    http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 \
  && tar -xvf /opt/src/ffmpeg-${FFMPEG_VERSION}.tar.gz -C /opt/src \
  && cd /opt/src/ffmpeg-${FFMPEG_VERSION} \
  && ./configure --enable-gpl --enable-avresample --enable-libopencore-amrnb \
  --enable-libx264 --enable-libxvid --enable-postproc --enable-version3 \
  --enable-shared --enable-pic --extra-ldexeflags=-pie \
  && make -j $(nproc) \
  && make install \
  && ldconfig -v \
  && rm -rf /opt/src

# ---------------------- OpenCV stuff ---------------------------#
RUN mkdir -p /opt/src/opencv-${OPENCV_VERSION}/build \
  && curl -sLo /opt/src/opencv3.tar.gz \
     https://github.com/Itseez/opencv/archive/${OPENCV_VERSION}.tar.gz \
  && tar -xzvf /opt/src/opencv3.tar.gz -C /opt/src \
  && cd /opt/src/opencv-${OPENCV_VERSION}/build \
  && cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D WITH_TBB=ON \
    -D WITH_OPENMP=ON \
    -D WITH_FFMPEG=ON .. \
  && make -j "$(nproc)" \
  && make install \
  && ldconfig -v \
  && rm -rf /opt/src

您知道这个错误是什么以及如何解决吗?我认为这可能与安装它们(FFMPEGOPENCV)时的初始配置有关。

谢谢你的帮助

最佳答案

事实证明,最近发布的新版 OpenCV (Opencv3.1) 中有一个考虑到 tcp 传输的修复程序,所以通过升级到最新版本我设法解决了这个问题

关于opencv - ffmpeg 失败 - 455 方法在此状态下无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34645103/

相关文章:

docker - SaltStack : dockerng is not available

python - 我怎么知道opencv中的轮廓是打开还是关闭?

python - 如何为 python 版本 2 和 3 构建 OpenCV?

image - 使用 FFMPEG 创建多个视频帧的单个图像

windows - 在 Ubuntu 上启动 Docker 时出错

docker - 在另一个容器 docker 中执行另一个容器命令

c++ - 如何在 SVM 分类器中重用训练信息

.net - 使用 .NET 和 OpenCV 进行线程化?

image - 使用 FFmpeg 为图像添加边框

javascript - Fluent-ffmpeg : merging video and audio = wrong frames