環境・やりたいこと
- Windows10
- Anaconda
- python3.10
mp4ファイルの容量を小さくしたい
試したこと
opencv-pythonを使って以下のようにリサイズしました。
画素数を下げることと、fpsを下げることをしています。
fourccなどについてはよく理解できてません。
python
1import cv2 2#リサイズしたいファイル:input_filepath 3 4resize = 2 #ファイルサイズを2分の1にしたい 5resize = resize**0.5 #ルート2 6cap = cv2.VideoCapture(input_filepath) 7 8#生成する無音動画ファイルのパス 9temp_videopath = f".\\temp_video.mp4" 10 11#動画のプロパティを取得 12width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 13height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 14fps = cap.get(cv2.CAP_PROP_FPS) 15 16#動画をリサイズ 17fourcc = cv2.VideoWriter_fourcc('m','p','4','v') 18min_fps = 30 19if fps <= min_fps: 20 writer = cv2.VideoWriter(temp_videopath,fourcc, fps, (int(width/resize), int(height/resize))) 21else: 22 writer = cv2.VideoWriter(temp_videopath,fourcc, min_fps, (int(width/resize), int(height/resize))) 23while True: 24 ret, frame = cap.read() 25 if not ret: 26 break 27 cv2.imshow("Frame", frame) 28 frame = cv2.resize(frame,(int(width/resize), int(height/resize))) 29 writer.write(frame) 30writer.release() 31cap.release() 32print("リサイズ完了") 33 34#この後音声を抽出したり結合したりするが割愛
発生している問題
期待していた通りに容量が減ることもあるが、リサイズ前よりも後の方がサイズが大きくなってしまうことがある
245MB→432MBに増加するなど。
これをどうにかしたいのですが、方法が分かりません。
回答1件
あなたの回答
tips
プレビュー