#3976 closed defect (fixed)
pixel format not supported by webcam command
| 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
The following bug report has been submitted:
Platform: Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
Camera "HP Wide Vision HD Camera: HP Wi" pixel formats () are not supported by webcam command (ARGB32,YUYV)
Log:
UCSF ChimeraX version: 1.1 (2020-09-09)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open /home/christian/heavy-
> data/20200914-COLLECT/maps/cryosparc_P21_J717_004_volume_map_sharp.mrc
Opened cryosparc_P21_J717_004_volume_map_sharp.mrc, grid size 140,140,140,
pixel 1.64, shown at level 0.37, step 1, values float32
> volume #1 level 0.386
> volume #1 level 0.3806
> webcam true
Starting camera without viewfinder available
Camera "HP Wide Vision HD Camera: HP Wi" pixel formats () are not supported by
webcam command (ARGB32,YUYV)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py", line 275, in execute
cmd.run(cmd_text)
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2805, in run
result = ci.function(session, **kw_args)
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 27, in webcam
w,h = wc.size
TypeError: cannot unpack non-iterable NoneType object
TypeError: cannot unpack non-iterable NoneType object
File "/usr/lib/ucsf-chimerax/lib/python3.7/site-
packages/chimerax/webcam/webcam.py", line 27, in webcam
w,h = wc.size
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 390.138
OpenGL renderer: GeForce GTX 1050/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: HP
Model: HP Pavilion Gaming Laptop 15-cx0xxx
OS: Ubuntu 18.04 bionic
Architecture: 64bit ELF
CPU: 8 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Cache Size: 8192 KB
Memory:
total used free shared buff/cache available
Mem: 15G 6.4G 3.9G 287M 5.3G 8.6G
Swap: 2.0G 1.0M 2.0G
Graphics:
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 [8086:5917] (rev 07)
Subsystem: Hewlett-Packard Company UHD Graphics 620 [103c:8477]
Kernel driver in use: i915
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.8.0
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2020.6.20
chardet: 3.0.4
ChimeraX-AddH: 2.1.1
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.1
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.6.1
ChimeraX-AtomSearch: 2.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 1.0.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.0
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.0
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.1
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.0
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-CommandLine: 1.1.3
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.1
ChimeraX-CoreFormats: 1.0
ChimeraX-coulombic: 1.0.1
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-DataFormats: 1.0
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1
ChimeraX-DistUI: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.1
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.0
ChimeraX-Hbonds: 2.0
ChimeraX-Help: 1.0
ChimeraX-HKCage: 1.0
ChimeraX-IHM: 1.0
ChimeraX-ImageFormats: 1.0
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0
ChimeraX-Label: 1.0
ChimeraX-LinuxSupport: 1.0
ChimeraX-ListInfo: 1.0
ChimeraX-Log: 1.1.1
ChimeraX-LookingGlass: 1.1
ChimeraX-Map: 1.0.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.0
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 1.1
ChimeraX-MDcrds: 2.0
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.0
ChimeraX-mmCIF: 2.2
ChimeraX-MMTF: 2.0
ChimeraX-Modeller: 1.0
ChimeraX-ModelPanel: 1.0
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.0
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0
ChimeraX-OpenCommand: 1.2.1
ChimeraX-PDB: 2.1
ChimeraX-PDBBio: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0
ChimeraX-PubChem: 2.0
ChimeraX-Read-Pbonds: 1.0
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.0
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.2
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SeqView: 2.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.0
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.0
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.0.4
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-Struts: 1.0
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.0
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.0
ChimeraX-ToolshedUtils: 1.0
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.2.3
ChimeraX-uniprot: 2.0
ChimeraX-ViewDockX: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0
ChimeraX-WebServices: 1.0
ChimeraX-Zone: 1.0
colorama: 0.4.3
comtypes: 1.1.7
cxservices: 1.0
cycler: 0.10.0
Cython: 0.29.20
decorator: 4.4.2
distlib: 0.3.1
distro: 1.5.0
docutils: 0.16
filelock: 3.0.12
funcparserlib: 0.3.6
grako: 3.16.5
h5py: 2.10.0
html2text: 2020.1.16
idna: 2.10
ihm: 0.16
imagecodecs: 2020.5.30
imagecodecs-lite: 2020.1.31
imagesize: 1.2.0
ipykernel: 5.3.0
ipython: 7.15.0
ipython-genutils: 0.2.0
jedi: 0.17.2
Jinja2: 2.11.2
jupyter-client: 6.1.3
jupyter-core: 4.6.3
kiwisolver: 1.2.0
line-profiler: 2.1.2
lxml: 4.5.1
MarkupSafe: 1.1.1
matplotlib: 3.2.1
msgpack: 1.0.0
netifaces: 0.10.9
networkx: 2.4
numexpr: 2.7.1
numpy: 1.18.5
numpydoc: 1.0.0
openvr: 1.12.501
packaging: 20.4
parso: 0.7.1
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 7.1.2
pip: 20.2.2
pkginfo: 1.5.0.1
prompt-toolkit: 3.0.7
psutil: 5.7.0
ptyprocess: 0.6.0
pycollada: 0.7.1
pydicom: 2.0.0
Pygments: 2.6.1
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 2.4.7
PyQt5-commercial: 5.12.3
PyQt5-sip: 4.19.19
PyQtWebEngine-commercial: 5.12.1
python-dateutil: 2.8.1
pytz: 2020.1
pyzmq: 19.0.2
qtconsole: 4.7.4
QtPy: 1.9.0
RandomWords: 0.3.0
requests: 2.24.0
scipy: 1.4.1
setuptools: 49.4.0
sfftk-rw: 0.6.6.dev0
six: 1.15.0
snowballstemmer: 2.0.0
sortedcontainers: 2.2.2
Sphinx: 3.1.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 2.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 1.0.3
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.4
suds-jurko: 0.6
tables: 3.6.1
tifffile: 2020.6.3
tinyarray: 1.2.2
tornado: 6.0.4
traitlets: 5.0.4
urllib3: 1.25.10
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.34.2
Change History (5)
comment:1 by , 5 years ago
| Component: | Unassigned → VR |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → pixel format not supported by webcam command |
comment:2 by , 5 years ago
The web camera named "HP Wide Vision HD Camera: HP Wi" reported no available pixel formats. The QCamera documentation for supportedViewfinderPixelFormats() says this will happen if the camera is not loaded. I am not sure why the camera is not loaded. Maybe ChimeraX needs to wait until the camera is loaded, I'll check that.
https://doc.qt.io/qt-5/qcamera.html#supportedViewfinderPixelFormats
comment:3 by , 5 years ago
Looking at the ChimeraX webcam code it only asks for the pixel formats supported by the camera after the camera goes into the active state and is loaded. So it appears the camera driver simply does not list any pixel formats. That seems like a bug in the camera driver, or possibly in the Qt window toolkit QCamera module, neither of which I can fix. Do you have any other usb web cam you can try on this computer? Possibly another camera will work.
Another idea is that no camera formats are listed because ChimeraX does not have permission to use the camera. I do not know how camera security works on ubuntu 18.04. I think this is unlikely to be the problem because the camera would not have loaded and become active if the application did not have permission.
I have an Ubuntu 18.04 machine and will try webcam with my Logitech web camera to see if it is working. If it is I think there is nothing i can do to make your camera work.
comment:4 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed in tomorrow's ChimeraX daily builds. Thanks for reporting the problem.
Testing on Ubuntu 18.04 with a Logitech C922 camera showed the same error. Investigation showed that on Linux QCamera.setViewfinder() must be called before starting the camera, as was suggested by the log warning message "Starting camera without viewfinder available". On macOS and Windows this is not necessary. So I put in special code for Linux. Also I had the code monitor QCamera status changes instead of state changes to decide when the video capture can begin. Tested new code on Ubuntu 18.04, macOS 10.15 and Windows 10, working.
follow-up: 5 comment:5 by , 5 years ago
Thank you Tom, I will check the daily build. Best regards, Christian
Reported by Christian Galicia