1
我創建了一個nodejs
應用程序,它獲取rtsp
流與FFMPEG
與Opencv3
分析它。如果我在本地安裝FFMPEG
和opencv
,它正在工作。ffmpeg失敗 - 455方法在此狀態下無效
但是現在我創建了一個包含這些庫的安裝的docker鏡像,並且我將它用作創建另一個鏡像的基礎&容器,我試圖運行我的應用程序。當我在容器中運行它時,我試圖獲得rtsp
流指令rtsp
指令「流程設置失敗: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
你有什麼想法,這個錯誤是什麼,以及如何解決它?我認爲它可能與安裝它們時的初始配置(FFMPEG
或OPENCV
)有關。
感謝您的幫助
您可能需要做一些試驗和錯誤。刪除'--enable-gpl --enable-avresample --enable-libopencore-amrnb \ --enable-libx264 --enable-libxvid --enable-postproc --enable-version3 \ --enable-shared - -enable-pic --extra-ldexeflags = -pie',每次移除一個開關後重新編譯。這個測試,雖然乏味,但會告訴你,如果你的一個啓用是導致錯誤。 – cube
謝謝@cube。我現在遇到的問題是,我需要啓用TCP作爲傳輸方法。 Eny的想法,我怎麼可以做到這一點與啓用? –