Auf OSX kann ich von meiner Webcam aufnehmen und eine Videodatei mit dem folgenden einfachen Skript schreiben:Wie mp4 Videodatei mit H264 Codec schreiben?
import cv2
camera = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object to save the video
fourcc = cv2.VideoWriter_fourcc(*'XVID')
video_writer = cv2.VideoWriter('output.avi', fourcc, 25.0, (640, 480))
while True:
try:
(grabbed, frame) = camera.read() # grab the current frame
frame = cv2.resize(frame, (640, 480)) # resize the frame
video_writer.write(frame) # Write the video to the file system
except KeyboardInterrupt:
camera.release()
break
Die resultierende AVI-Datei allerdings recht groß ist. Ich möchte eine kleinere Datei, vorzugsweise ein mp4. Also änderte ich den Dateinamen auf output.mp4
und den fourcc Codec zu H264
. Das schreibt eine Videodatei, die funktioniert, aber gibt mir die folgende Fehlermeldung:
$ python write_video_file.py
OpenCV: FFMPEG: tag 0x34363248/'H264' is not supported with codec id 28 and format 'mp4/MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x00000021/'!???'
Da ich dachte, ich vermisse den H264-Codec in ffmpeg entschied ich mich ffmpeg und opencv zu deinstallieren und neu installieren sie wieder mit H264 Unterstützung. Dazu habe ich die folgenden Befehle:
# First ffmpeg
brew install ffmpeg --with-fdk-aac --with-libvidstab --with-openh264 \
--with-openjpeg --with-openssl --with-tools --with-webp --with-x265 --with-zeromq
# then opencv3
brew tap homebrew/science
brew install opencv3 --with-contrib --with-ffmpeg --with-tbb
Danach ich das Drehbuch wieder lief, die folgenden Kombinationen verwendet: Leider
output.mp4
mitH264
output.mp4
mitX264
Ich bekomme immer noch die OpenCV Warnungen/Fehler. Die Datei ist lesbar, aber es ärgert mich immer noch, dass ich diese Fehler erhalte. Hat jemand eine Idee, wie ich OpenCV mp4 Videodatei mit dem H264 Codec schreiben kann?
Alle Tipps sind willkommen!
Haben Sie einen Neustart versucht? –
@StavrosAvramidis - Nein, das Neustarten hat nicht geholfen – kramer65
Stellen Sie sicher, dass Sie ffdshow haben (sowohl x32 als auch x64) –