OpenCV: FFMPEG: tag 0x00000021/'!???' is not found (format 'mp4 / MP4 (MPEG-4 Part 14)')'

1

I got error when trying to run a python script. Iam trying to make a project based on pyimagesearch tutorial.

Code: In first script:

filename = tempVideo.path[tempVideo.path.rfind("/") + 1:]
    s3.upload_file(tempVideo.path, self.conf["s3_bucket"],
        filename, ExtraArgs={"ACL": "public-read",
        "ContentType": "video/mp4"})

In main script:

tempVideo = TempFile(ext=".mp4")
    writer = cv2.VideoWriter(tempVideo.path, 0x21, 30, (W, H),
        True)

Error I recieved:

OpenCV: FFMPEG: tag 0x00000021/'!???' is not found (format 'mp4 / MP4 (MPEG-4 Part 14)')'
Exception in thread Thread-4:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pi/Desktop/pi-security-camera/pyimagesearch/notifications/twilionotifier.py", line 27, in _send
    "ContentType": "video/mp4"})
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/boto3/s3/inject.py", line 131, in upload_file
    extra_args=ExtraArgs, callback=Callback)
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/boto3/s3/transfer.py", line 279, in upload_file
    future.result()
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/s3transfer/futures.py", line 106, in result
    return self._coordinator.result()
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/s3transfer/futures.py", line 265, in result
    raise self._exception
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/s3transfer/tasks.py", line 255, in _main
    self._submit(transfer_future=transfer_future, **kwargs)
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/s3transfer/upload.py", line 549, in _submit
    upload_input_manager.provide_transfer_size(transfer_future)
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/s3transfer/upload.py", line 237, in provide_transfer_size
    transfer_future.meta.call_args.fileobj))
  File "/home/pi/.virtualenvs/cv/lib/python3.7/site-packages/s3transfer/utils.py", line 245, in get_file_size
    return os.path.getsize(filename)
  File "/usr/lib/python3.7/genericpath.py", line 50, in getsize
    return os.stat(filename).st_size
FileNotFoundError: [Errno 2] No such file or directory: './/13675f07-ecec-48ae-97bf-32109eb3ed7d.mp4'

Thanks for advices :)

python
opencv
ffmpeg
mp4
asked on Stack Overflow May 12, 2020 by Hepo8421

1 Answer

1

I had the same error. This worked for me:

fourcc = cv2.VideoWriter_fourcc(*"mp4v")
tempVideo = TempFile(ext=".mp4")
writer = cv2.VideoWriter(tempVideo.path, fourcc, 30, (W, H), True)
answered on Stack Overflow Jun 10, 2020 by Raouf Chebri

User contributions licensed under CC BY-SA 3.0