2017-02-10 15 views
1

私のpythonスクリプトでOpenCv3(これはconda envにインストールされています)のmp4ファイルをubuntuに読み込もうとしています。しかし、次のメッセージを受け取る:AnacondaとOpencvはmp4を開けません

Unable to stop the stream: Inappropriate ioctl for device 

OpenCvは、そのままの状態でmp4をサポートしていないことがわかりました。私のマシンに余分なlibsをインストールして、Opencvを再ビルドせずにビデオを稼働させることは可能ですか?いくつかの設定かもしれない?ここで

コードを付属しています。

def workOnVideoFile(path) : 
    print('Reading the video from ' + path) 
    cap = cv2.VideoCapture(path) 

    print('Is video opened? ' + str(cap.isOpened())) 
    while(cap.isOpened()): 

     ret, frame = cap.read() 
     print('Frame has been read ' + str(ret)) 
     workOnFrame(frame) 
     if cv2.waitKey(1) & 0xFF == ord('q'): 
      break 

    print('Releasing the video' + str(cap)) 
    cap.release() 


#img = cv2.imread('car.jpg') 



if __name__ == "__main__": 
    if (os.path.isfile(videoFile)) : 
     workOnVideoFile(videoFile) 
    else : 
     print('File ' + videoFile + ' is not found') 


cv2.destroyAllWindows() 
+0

すべてのmp4ファイルについて説明したように機能しますか?小さいmp4ファイルを共有してください。失敗します。 –

+0

任意のファイルですが、Ubuntuは@Mickが述べたように特許のためにビデオに問題があります。 – Anton

答えて

1

私はそのおそらくUbuntuのボックスのうち、MP4をサポートしていないと思う - MP4は、いくつかの特許問題を持っているためです。

この名前多分ルックスを

須藤はapt-getをインストールUbuntuの制限 - エクストラ:

通常のアプローチは、次のようにインストールのUbuntuに標準的な方法でMP4のサポートを追加することです少し奇妙しかしその多かれ少なかれ標準の練習 - あなたを安心させるため、ここでのヘルプ記事を参照してください。

ビデオを再生したい多くの人は、これをすべて処理するVideoLanをインストールするだけで、上記の手順を実行する必要はありません。

+0

私はstepaboveそれは助けなかった – Anton

+0

基本的にそれは私の質問、インストールする方法、および/またはどのように変更を認識するために構成するopencv。それはMac上でうまく動作したかもしれない – Anton

関連する問題