
まくまく
OpenCVで動画のファイル形式を変更してみようと思います。
mp4からaviへ変換
#ライブラリのインポート
import cv2
#VideoCaptureオブジェクトを取得
cap = cv2.VideoCapture('movie.mp4')
#動画のプロパティを取得
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
#書き出し設定
fourcc = cv2.VideoWriter_fourcc('M','J','P','G')
writer = cv2.VideoWriter('mp4_to_avi.avi', fourcc, fps, (width, height))
while True:
ret, frame = cap.read()
writer.write(frame)
if not ret:
break
writer.release()
cap.release()
拡張子mp4の動画ファイルを読み込んでavi形式に変更して書き出しを実施しました。
aviからmp4へ変換
#ライブラリのインポート
import cv2
#VideoCaptureオブジェクトを取得
cap = cv2.VideoCapture('copy_avi.avi')
#動画のプロパティを取得
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
#書き出し設定
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
writer = cv2.VideoWriter('avi_to_mp4.mp4', fourcc, fps, (width, height))
while True:
ret, frame = cap.read()
writer.write(frame)
if not ret:
break
writer.release()
cap.release()
反対に、拡張子aviの動画ファイルを読み込んでmp4形式に変更するにはこちらです。
最後の「release」を書き忘れると、処理が終わらなくなるので注意して下さい。