Tôi muốn quay video từ webcam và lưu video vào tệp mp4 bằng cách sử dụng opencv. Tôi tìm thấy mã ví dụ trên stackoverflow (dưới đây) mà các công trình lớn. Điều duy nhất là tôi đang cố gắng lưu nó dưới dạng mp4 chứ không phải avi. Một phần của những gì tôi không nhận được là đối số 'XVID' được truyền cho nhà văn FOURCC được cho là, tôi nghĩ, một bộ giải mã mp4 (từ this link). Nếu tôi thay đổi tên tệp thành 'output.mp4', nó cho tôi biết rằng thẻ không hợp lệ, vì vậy tôi phải tin rằng codec XVID thực sự tạo một tệp avi. Đây có phải là một câu hỏi ngu ngốc? Làm cách nào để ghi vào mp4?Viết video mp4 bằng python opencv
Tôi đã tìm thấy các liên kết hiển thị cách chuyển đổi avi sang mp4 sau khi thực tế nhưng điều đó có vẻ không hiệu quả. Có vẻ như tôi sẽ có thể làm điều đó trong lúc viết ban đầu.
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object
fourcc = cv2.cv.CV_FOURCC(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,0)
# write the flipped frame
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
Hãy thử sử dụng -> fourcc = cv2.cv.CV_FOURCC (* 'H264') – Aphire
Bạn sẽ cần ffmpeg dù – Aphire
Hãy thử với CV_FOURCC ('m', 'p', '4', 'v') . Dưới đây là ví dụ: http://stackoverflow.com/a/28904970/4481702 –