Opened 5 years ago
Closed 5 years ago
#3517 closed defect (fixed)
webcam: QVideoFrame size (640,480) does not match expected image size
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | VR | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description (last modified by )
The following bug report has been submitted:
Platform: Darwin-18.7.0-x86_64-i386-64bit
ChimeraX Version: 1.1.dev202007120755 (2020-07-12 07:55:44 UTC)
Description
Tried to screen capure with Microsoft Stream
Log:
UCSF ChimeraX version: 1.1.dev202007120755 (2020-07-12)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open /Users/jozef/Desktop/sys2.bild format bild
Opened BILD data containing 5 objects
> turn z 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x 1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x -1
> turn x 90 90
> turn x 90 900
> turn x 90 45
> turn x 90 3
> turn x 90 3
> turn x 90 3
> turn x 90 3
> turn x 90 3
> turn x 90 3
> turn x 90 10
> close
> open /Users/jozef/Desktop/system2.bild
Opened BILD data containing 3 objects
> open /Users/jozef/Desktop/arrow2.bild
Opened BILD data containing 1 objects
> view
> close #2
> open /Users/jozef/Desktop/arrow2.bild
Opened BILD data containing 1 objects
> close #2
> open /Users/jozef/Desktop/arrow2.bild
Opened BILD data containing 1 objects
> view
> rest
Unknown command: rest
> rese
Unknown command: rese
> reset
Unknown command: reset
> close #2
> open /Users/jozef/Desktop/arrow2.bild
Opened BILD data containing 1 objects
> open /Users/jozef/Desktop/arrow2.bild
Opened BILD data containing 1 objects
> close
> open /Users/jozef/Desktop/system2.bild
Opened BILD data containing 3 objects
> open /Users/jozef/Desktop/arrow2.bild
Opened BILD data containing 1 objects
Drag select of 3 shapes
> webcam true
Web camera "FaceTime HD Camera", width 1280, height 720, framerate 30
QVideoFrame (1280 by 720, pixel format 1) has wrong number of bytes 3686432,
expected 3686400
> close #1
> open /Users/jozef/Desktop/system2.bild
Opened BILD data containing 3 objects
> webcam true flipHorizontal true
> turn z 90 models #2
> turn z 90 models #2
> turn z 90 models #2
> turn z 90 models #2
> turn z 90 models #2 center 0 0 0
Invalid "center" argument: Expected 3 floats or object specifier
> turn z 90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> set bgColor black
> select up
Nothing selected
> webcam false
> webcam true flipHorizontal false
Web camera "FaceTime HD Camera", width 1280, height 720, framerate 30
> webcam true flipHorizontal true
set flip horizontal True
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> select up
Nothing selected
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
> turn z -90 models #2 center 0,0,0
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
[_many_ of these deleted]
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 411, in present
self._rgba_image = _numpy_rgba_array_from_qt_video_frame(frame,
self._rgba_image)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
ValueError: QVideoFrame size (640,480) does not match expected image size
(1280,720)
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 446, in
_numpy_rgba_array_from_qt_video_frame
% (w, h, iw, ih))
See log for complete Python traceback.
OpenGL version: 4.1 NVIDIA-12.0.24 355.11.10.50.10.103
OpenGL renderer: NVIDIA GeForce GT 750M OpenGL Engine
OpenGL vendor: NVIDIA CorporationHardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro11,3
Processor Name: Intel Core i7
Processor Speed: 2.5 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Hyper-Threading Technology: Enabled
Memory: 16 GB
Boot ROM Version: 151.0.0.0.0
SMC Version (system): 2.19f12
Software:
System Software Overview:
System Version: macOS 10.14.6 (18G5033)
Kernel Version: Darwin 18.7.0
Time since boot: 2 days 3:09
Graphics/Displays:
Intel Iris Pro:
Chipset Model: Intel Iris Pro
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Vendor: Intel
Device ID: 0x0d26
Revision ID: 0x0008
Automatic Graphics Switching: Supported
gMux Version: 4.0.8 [3.2.8]
Metal: Supported, feature set macOS GPUFamily1 v4
NVIDIA GeForce GT 750M:
Chipset Model: NVIDIA GeForce GT 750M
Type: GPU
Bus: PCIe
PCIe Lane Width: x8
VRAM (Total): 2 GB
Vendor: NVIDIA (0x10de)
Device ID: 0x0fe9
Revision ID: 0x00a2
ROM Revision: 3776
Automatic Graphics Switching: Supported
gMux Version: 4.0.8 [3.2.8]
Metal: Supported, feature set macOS GPUFamily1 v4
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2880 x 1800 Retina
Framebuffer Depth: 24-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported
Automatically Adjust Brightness: No
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Change History (5)
comment:1 by , 5 years ago
| Component: | Unassigned → VR |
|---|---|
| Description: | modified (diff) |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → webcam: QVideoFrame size (640,480) does not match expected image size |
comment:2 by , 5 years ago
I suspect what happened here is ChimeraX was happily using 1280 x 720 video frames from your Mac laptop webcam. Then you turned on Microsoft Stream and it grabbed the webcam and switched it to 640 x 480 resolution. ChimeraX is not expecting some other app might change the camera resolution while ChimeraX is using the camera. I can probably make it handle that by accepting whatever resolution it gets.
I have never used Microsoft Stream. Perhaps you can tell it not to use the web cam since your webcam image will come through the ChimeraX window.
comment:3 by , 5 years ago
Another trick to make ChimeraX webcam work with Microsoft Stream would be to tell ChimeraX to use 640 x 480 resolution. Unfortunately I don't have that webcam option yet, you can only ask for a framerate. But I can probably add such an option.
follow-up: 4 comment:4 by , 5 years ago
Thank you, Tom. It is not crucial. I was just trying with MS Stream but there are other tools that work.
I think that getting other camera formats working as you mentioned in the SBGrid talk is more important (that was awesome!).
Thanks,
Józef
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Wednesday, July 15, 2020 7:44 PM
Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; Lewandowski, Jozef <J.R.Lewandowski@warwick.ac.uk>
Subject: Re: [ChimeraX] #3517: webcam: QVideoFrame size (640, 480) does not match expected image size
#3517: webcam: QVideoFrame size (640,480) does not match expected image size
----------------------------------------+-------------------------
Reporter: j.r.lewandowski@… | Owner: Tom Goddard
Type: defect | Status: assigned
Priority: normal | Milestone:
Component: VR | Version:
Resolution: | Keywords:
Blocked By: | Blocking:
Notify when closed: | Platform: all
Project: ChimeraX |
----------------------------------------+-------------------------
Comment (by Tom Goddard):
Another trick to make ChimeraX webcam work with Microsoft Stream would be
to tell ChimeraX to use 640 x 480 resolution. Unfortunately I don't have
that webcam option yet, you can only ask for a framerate. But I can
probably add such an option.
--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/3517#comment:3>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
comment:5 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
I made the webcam handle the case when the camera changes the size of the video frames mid-stream. Also I added a webcam size option (e.g. webcam on size 640,480) to allow you to choose the desired resolution.
Reported by Jozef Lewandowski