Ne peut pas ouvrir la vidéo à l'aide d'opencv

La opencv fonctionne bien lorsque d'autres choses à faire. Il peut ouvrir les images et afficher les images. Mais il ne peut pas ouvrir une vidéo.

Le code que j'utilise pour ouvrir une vidéo est comme ci-dessous

import cv2

cap = cv2.VideoCapture("MOV_0006.mp4")

while True:
    ret, frame = cap.read()

    cv2.imshow('video', frame)
    if cv2.waitKey(1) & 0xff == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

Mais lors de l'exécution, il affiche des messages d'erreur comme ci-dessous

[h264 @ 0x1053ba0] AVC: nal size 554779904
[h264 @ 0x1053ba0] AVC: nal size 554779904
[h264 @ 0x1053ba0] no frame!

Mon vlc et mplayer pouvez lire cette vidéo, mais la opencv ne le peuvent pas.

J'ai installé x264 et libx264-142 codec package. (à l'aide de sudo apt-get install)

Ma version d'ubuntu est 14.04 trusty.

Je ne suis pas sûr que c'est un problème de codec ou pas?

J'ai reconstruit opencv soit avec WITH_UNICAP=ON ou avec WITH_UNICAP=OFF, mais cela n'affecte pas le problème. Les messages d'erreur ne changent jamais.

avez-vous essayez de l'ouvrir avec ffmpeg (opencv "enveloppe" ffmpeg...) ?
Quelle est la version d'OpenCV utilisez-vous?
Aussi, avez-vous exécutez les tests post-construction?
avez-vous essayé de sauter d'un cadre qui ne peut pas être lu et essayer le prochain?
Qu'entendez-vous par là? Comment faire?

OriginalL'auteur AnnieFromTaiwan | 2015-06-25