質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Q&A

解決済

1回答

15151閲覧

Opencv でVideoCaptureできない

kokawa2003

総合スコア217

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

0グッド

1クリップ

投稿2018/06/07 05:42

編集2018/06/07 05:49

表題のとおりなのですが
C言語で

lang

1#include <iostream> 2#include "opencv2/opencv.hpp" 3 4using namespace std; 5 6int main() 7{ 8 cv::VideoCapture cap("/home/kokawa2003/Videos/in.mp4"); 9 cout << "Hello World!" << endl; 10 return 0; 11} 12

このようなコードを書いて実行すると実行エラーになり
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
VIDEOIO ERROR: V4L: device /home/kokawa2003/Videos/in.mp4: Unable to query number of channels
Hello World!
このようなエラーになります。
この理由なのですが現在OpenCVの環境に自前ビルドしたものを使っていてそのせいだと思われます。
OpenCVは3.3.0を使っていて
cmakeでmakeしたときの表示では
イメージ説明
こうなるのでフラグも間違ってないと考えています。
ただ
Video I/O:
DC1394 1.x: NO
DC1394 2.x: YES (ver 2.2.4)
FFMPEG: NO
avcodec: YES (ver 56.60.100)
avformat: YES (ver 56.40.101)
avutil: YES (ver 54.31.100)
swscale: YES (ver 3.1.101)
avresample: YES (ver 3.7.0)
GStreamer:
こうなっていてFFMPEGの一番上のNOは気になってはいます。
ただしWITH_FFMPEGはONです。
なぜできないのか知っている人はいますか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

FFMPEG: NO

動画コーデックであるFFMPEGが存在していないため、動画ファイルを開けないものと思われます。

依存ファイルを確認の上、再度OpenCVをビルドすることで解決すると思われます。

投稿2018/06/07 05:59

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kokawa2003

2018/06/07 06:38

とりあえず $ sudo apt-get install --assume-yes build-essential cmake git $ sudo apt-get install --assume-yes build-essential pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy $ sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev $ sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev $ sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev $ sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils をおこない。もう一度 cmakeしてみました。が FFMPEG: NO で変わりませんでした。
kazto

2018/06/07 06:46

お使いの環境はubuntuで合っていますでしょうか。
kokawa2003

2018/06/07 06:52

お騒がせします。ビルドフォルダをクリアしてもういちどするとOKでした。 -- FFMPEG: YES -- avcodec: YES (ver 57.107.100) -- avformat: YES (ver 57.83.100) -- avutil: YES (ver 55.78.100) -- swscale: YES (ver 4.8.100) -- avresample: YES (ver 3.7.0)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問