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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1284閲覧

『cv2』を使う際に拡張子についてのエラーが出てしまいます。

dd_

総合スコア111

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/19 08:48

編集2021/11/19 08:49

やりたい事

cv2を使用するにあたって、エラーが出てしまいます。
それを解消したいです。

環境

windows10
エディタは visual studio code
python3

やったこと

動画にぼかしを入れたいという事で
https://qiita.com/hitomatagi/items/12a2eceaf65f142ec3df

こちらのサイトにあるコードを少し書き換えて

python

1import cv2 2 3# cv2.cv.CV_FOURCC 4def cv_fourcc(c1, c2, c3, c4): 5 return (ord(c1) & 255) + ((ord(c2) & 255) << 8) + \ 6 ((ord(c3) & 255) << 16) + ((ord(c4) & 255) << 24) 7 8 9if __name__ == '__main__': 10 # 定数定義 11 ESC_KEY = 27 # Escキー 12 INTERVAL= 33 # 待ち時間 13 FRAME_RATE = 30 # fps 14 15 ORG_WINDOW_NAME = "org" 16 GAUSSIAN_WINDOW_NAME = "gaussian" 17 18 GAUSSIAN_FILE_NAME = "6608995824326151429.mp4" 19 20 DEVICE_ID = 0 21 22 # カメラ映像取得 23 cap = cv2.VideoCapture(DEVICE_ID) 24 25 # 保存ビデオファイルの準備 26 end_flag, c_frame = cap.read() 27 height, width, channels = c_frame.shape 28 rec = cv2.VideoWriter(GAUSSIAN_FILE_NAME, \ 29 cv_fourcc('X', 'V', 'I', 'D'), \ 30 FRAME_RATE, \ 31 (width, height), \ 32 True) 33 34 # ウィンドウの準備 35 cv2.namedWindow(ORG_WINDOW_NAME) 36 cv2.namedWindow(GAUSSIAN_WINDOW_NAME) 37 38 # 変換処理ループ 39 while end_flag == True: 40 # ガウシアン平滑化 41 g_frame = cv2.GaussianBlur(c_frame, (15, 15), 10) 42 43 # フレーム表示 44 cv2.imshow(ORG_WINDOW_NAME, c_frame) 45 cv2.imshow(GAUSSIAN_WINDOW_NAME, g_frame) 46 47 # フレーム書き込み 48 rec.write(g_frame) 49 50 # Escキーで終了 51 key = cv2.waitKey(INTERVAL) 52 if key == ESC_KEY: 53 break 54 55 # 次のフレーム読み込み 56 end_flag, c_frame = cap.read() 57 58 # 終了処理 59 cv2.destroyAllWindows() 60 cap.release() 61 rec.release()

こちらを実行すると

OpenCV: FFMPEG: tag 0x44495658/'XVID' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)' OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'

このようなエラーが出ます。

対象の動画ファイルのプロパティは下の画像のようになってます
イメージ説明

エラー内容をググると
https://teratail.com/questions/149953
こちらのページを見つけ
読んでみると
拡張子を変更して、やってみるとうまくいく様な内容だと見受けられました。

質問

扱う拡張子が間違っているのでしょうか?
それともコード自体が間違っているのでしょうか?

教えて頂けると幸いです。
よろしくお願い致します。

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

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

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

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

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

dd_

2021/11/19 10:36

教えて頂きありがとうございます。読んでみます。
guest

回答1

0

ベストアンサー

Can't write and save a video file using OpenCV and Python
によると、「XVID」と、ファイル名の拡張子「.mp4」の組み合わせがダメなようです
実行可能な組み合わせを調べて、どちらかを変えてみてください

投稿2021/11/24 02:22

jbpb0

総合スコア7653

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問