【问题标题】:OpenCV: FFMPEG: tag 0x00000021/'!???' is not found (format 'mp4 / MP4 (MPEG-4 Part 14)')'OpenCV: FFMPEG: 标签 0x00000021/'!???'未找到(格式'mp4 / MP4(MPEG-4 Part 14)')'
【发布时间】:2020-08-28 21:56:16
【问题描述】:

尝试运行 python 脚本时出错。我正在尝试根据pyimagesearch 教程制作一个项目。

代码: 在第一个脚本中:

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

在主脚本中:

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

我收到的错误:

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'

感谢您的建议:)

【问题讨论】:

标签: python opencv ffmpeg mp4


【解决方案1】:

我有同样的错误。这对我有用:

fourcc = cv2.VideoWriter_fourcc(*"mp4v")
tempVideo = TempFile(ext=".mp4")
writer = cv2.VideoWriter(tempVideo.path, fourcc, 30, (W, H), True)

【讨论】:

  • 在我的例子中,Linux 的 CODEC = 0x00000021。然而,最近的 Ubuntu 20.04 要求我使用 *"mp4v" videofourcc 代码。
猜你喜欢
  • 2017-06-08
  • 2022-11-30
  • 2018-05-31
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
  • 2013-08-13
  • 2018-05-08
相关资源
最近更新 更多