Opened 21 months ago
Closed 21 months ago
#14386 closed defect (duplicate)
Intel ffmpeg on ARM
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Platform | Version: | |
Keywords: | Cc: | pett | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: macOS-13.0.1-arm64-arm-64bit ChimeraX Version: 1.6.1 (2023-05-09 17:57:07 UTC) Description I am running the following script to render a movie and encode it. Everything on the script works fine until the movie encoding part. Apparently the ffmpeg in chimerax is not compiled for my apple silicon cpu. However, this should not be the case since I have installed a M1 native version of ChimeraX. I am working on a MacBook Air M1 (2020). This is the script I am running: # Import necessary module from chimerax.core.commands import run # Define your map model number map_model_number = 1 # Define the range of threshold values you want to cycle through # For example, from 0.1 to 1.0 in steps of 0.1 threshold_start = 0.1 threshold_end = 1.0 threshold_step = 0.1 # Define the number of frames for each threshold value frames_per_threshold = 10 # Start recording the movie run(session, 'movie record') # Loop through the threshold values current_threshold = threshold_start while current_threshold <= threshold_end: # Set the threshold for the map run(session, f'volume #{map_model_number} level {current_threshold}') # Wait for the given number of frames run(session, f'wait {frames_per_threshold}') # Increment the threshold current_threshold += threshold_step # Stop recording the movie run(session, 'movie stop') # Encode the movie to an MP4 file run(session, 'movie encode output my_movie.mp4') The script is also attached. Please get in touch if you need more information regarding the experienced error. I am working with ChimeraX v 1.6 (should all be in the gathered information I guess). Thank you for your support. Log: UCSF ChimeraX version: 1.6.1 (2023-05-09) © 2016-2023 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open > /Users/d.dannecker/Downloads/ChimeraX/cryo_em_density_maps/cryosparc_P117_J510_005_volume_map_sharpened_extbox_450.mrc Opened cryosparc_P117_J510_005_volume_map_sharpened_extbox_450.mrc as #1, grid size 450,450,450, pixel 1, shown at level 0.268, step 2, values float32 > open /Users/d.dannecker/Downloads/ChimeraX/scripts/thresholding_movie.py > movie record > volume #1 level 0.1 > wait 10 > volume #1 level 0.2 > wait 10 > volume #1 level 0.30000000000000004 > wait 10 > volume #1 level 0.4 > wait 10 > volume #1 level 0.5 > wait 10 > volume #1 level 0.6 > wait 10 > volume #1 level 0.7 > wait 10 > volume #1 level 0.7999999999999999 > wait 10 > volume #1 level 0.8999999999999999 > wait 10 > volume #1 level 0.9999999999999999 > wait 10 > movie stop > movie encode output my_movie.mp4 Traceback (most recent call last): File "/Users/d.dannecker/Downloads/ChimeraX/scripts/thresholding_movie.py", line 35, in <module> run(session, 'movie encode output my_movie.mp4') File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/core/commands/run.py", line 38, in run results = command.run(text, log=log, return_json=return_json) File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/core/commands/cli.py", line 2897, in run result = ci.function(session, **kw_args) File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/movie/moviecmd.py", line 185, in movie_encode encode_op(session, output[-1], format, quality, qscale, bitrate, File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/movie/moviecmd.py", line 243, in encode_op movie.start_encoding(output, f['ffmpeg_name'], output_size, f['ffmpeg_codec'], "yuv420p", f['size_restriction'], File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/movie/movie.py", line 320, in start_encoding self.encoder.run(Status_Reporter()) File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/movie/encode.py", line 231, in run p = Popen(self.arg_list, stdin=DEVNULL, stdout=PIPE, stderr=PIPE) File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 951, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/Applications/ChimeraX-1.6.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 1821, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) OSError: [Errno 86] Bad CPU type in executable: '/Applications/ChimeraX-1.6.1.app/Contents/bin/ffmpeg' Error opening python file /Users/d.dannecker/Downloads/ChimeraX/scripts/thresholding_movie.py OpenGL version: 4.1 Metal - 83 OpenGL renderer: Apple M1 OpenGL vendor: Apple Python: 3.9.11 Locale: UTF-8 Qt version: PyQt6 6.4.2, Qt 6.4.2 Qt runtime version: 6.4.3 Qt platform: cocoa Hardware: Hardware Overview: Model Name: MacBook Air Model Identifier: MacBookAir10,1 Model Number: MGN93D/A Chip: Apple M1 Total Number of Cores: 8 (4 performance and 4 efficiency) Memory: 8 GB System Firmware Version: 10151.1.1 OS Loader Version: 8419.41.10 Software: System Software Overview: System Version: macOS 13.0.1 (22A400) Kernel Version: Darwin 22.1.0 Time since boot: 35 days, 8 hours, 20 minutes Graphics/Displays: Apple M1: Chipset Model: Apple M1 Type: GPU Bus: Built-In Total Number of Cores: 7 Vendor: Apple (0x106b) Metal Support: Metal 3 Displays: Color LCD: Display Type: Built-In Retina LCD Resolution: 2560 x 1600 Retina Main Display: Yes Mirror: Off Online: Yes Automatically Adjust Brightness: Yes Connection Type: Internal Installed Packages: alabaster: 0.7.13 appdirs: 1.4.4 appnope: 0.1.3 asttokens: 2.2.1 Babel: 2.12.1 backcall: 0.2.0 beautifulsoup4: 4.11.2 blockdiag: 3.0.0 build: 0.10.0 certifi: 2021.10.8 cftime: 1.6.2 charset-normalizer: 3.1.0 ChimeraX-AddCharge: 1.5.9.1 ChimeraX-AddH: 2.2.5 ChimeraX-AlignmentAlgorithms: 2.0.1 ChimeraX-AlignmentHdrs: 3.3.1 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.9.3 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.3 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.43.10 ChimeraX-AtomicLibrary: 10.0.6 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.3.2 ChimeraX-BasicActions: 1.1.2 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.1.2 ChimeraX-BondRot: 2.0.1 ChimeraX-BugReporter: 1.0.1 ChimeraX-BuildStructure: 2.8 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.2.2 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.3.2 ChimeraX-ChangeChains: 1.0.2 ChimeraX-CheckWaters: 1.3.1 ChimeraX-ChemGroup: 2.0.1 ChimeraX-Clashes: 2.2.4 ChimeraX-Clipper: 0.21.0 ChimeraX-ColorActions: 1.0.3 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.3 ChimeraX-CommandLine: 1.2.5 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.6.1 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.4.2 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.3 ChimeraX-Dicom: 1.2 ChimeraX-DistMonitor: 1.4 ChimeraX-DockPrep: 1.1.1 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ESMFold: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.3 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1.1 ChimeraX-Hbonds: 2.4 ChimeraX-Help: 1.2.1 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ISOLDE: 1.6.0 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-Label: 1.1.7 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.5 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.2 ChimeraX-Map: 1.1.4 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0.1 ChimeraX-MapFilter: 2.0.1 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1.1 ChimeraX-Markers: 1.0.1 ChimeraX-Mask: 1.0.2 ChimeraX-MatchMaker: 2.0.12 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.2 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.12 ChimeraX-MMTF: 2.2 ChimeraX-Modeller: 1.5.9 ChimeraX-ModelPanel: 1.3.7 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.2 ChimeraX-MouseModes: 1.2 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nifti: 1.0 ChimeraX-NRRD: 1.0 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.10.1 ChimeraX-PDB: 2.7.2 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.1 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 3.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5.1 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0.1 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0.1 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.8.3 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.1.1 ChimeraX-ShowSequences: 1.0.1 ChimeraX-SideView: 1.0.1 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.10.3 ChimeraX-STL: 1.0.1 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.1.2 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0.1 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.2.1 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1.2 ChimeraX-ToolshedUtils: 1.2.1 ChimeraX-Topography: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.28.4 ChimeraX-uniprot: 2.2.2 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.2 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.2 ChimeraX-WebServices: 1.1.1 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.1.3 contourpy: 1.0.7 cxservices: 1.2.2 cycler: 0.11.0 Cython: 0.29.33 debugpy: 1.6.7 decorator: 5.1.1 docutils: 0.19 executing: 1.2.0 filelock: 3.9.0 fonttools: 4.39.3 funcparserlib: 1.0.1 grako: 3.16.5 h5py: 3.8.0 html2text: 2020.1.16 idna: 3.4 ihm: 0.35 imagecodecs: 2022.2.22 imagesize: 1.4.1 importlib-metadata: 6.6.0 ipykernel: 6.21.1 ipython: 8.10.0 ipython-genutils: 0.2.0 ipywidgets: 8.0.6 jedi: 0.18.2 Jinja2: 3.1.2 jupyter-client: 8.0.2 jupyter-core: 5.3.0 jupyterlab-widgets: 3.0.7 kiwisolver: 1.4.4 line-profiler: 4.0.2 lxml: 4.9.2 lz4: 4.3.2 MarkupSafe: 2.1.2 matplotlib: 3.6.3 matplotlib-inline: 0.1.6 msgpack: 1.0.4 nest-asyncio: 1.5.6 netCDF4: 1.6.2 networkx: 2.8.8 nibabel: 5.0.1 nptyping: 2.5.0 numexpr: 2.8.4 numpy: 1.23.5 openvr: 1.23.701 packaging: 21.3 ParmEd: 3.4.3 parso: 0.8.3 pep517: 0.13.0 pexpect: 4.8.0 pickleshare: 0.7.5 Pillow: 9.3.0 pip: 23.0 pkginfo: 1.9.6 platformdirs: 3.5.0 prompt-toolkit: 3.0.38 psutil: 5.9.4 ptyprocess: 0.7.0 pure-eval: 0.2.2 pycollada: 0.7.2 pydicom: 2.3.0 Pygments: 2.14.0 pynrrd: 1.0.0 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.9 pyproject-hooks: 1.0.0 PyQt6-commercial: 6.4.2 PyQt6-Qt6: 6.4.3 PyQt6-sip: 13.4.1 PyQt6-WebEngine-commercial: 6.4.0 PyQt6-WebEngine-Qt6: 6.4.3 python-dateutil: 2.8.2 pytz: 2023.3 pyzmq: 25.0.2 qtconsole: 5.4.0 QtPy: 2.3.1 RandomWords: 0.4.0 requests: 2.28.2 scipy: 1.9.3 setuptools: 67.4.0 setuptools-scm: 7.0.5 sfftk-rw: 0.7.3 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 soupsieve: 2.4.1 sphinx: 6.1.3 sphinx-autodoc-typehints: 1.22 sphinxcontrib-applehelp: 1.0.4 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 2.0.1 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.5 stack-data: 0.6.2 tables: 3.7.0 tcia-utils: 1.2.0 tifffile: 2022.10.10 tinyarray: 1.2.4 tomli: 2.0.1 tornado: 6.3.1 traitlets: 5.9.0 typing-extensions: 4.5.0 tzdata: 2023.3 urllib3: 1.26.15 wcwidth: 0.2.6 webcolors: 1.12 wheel: 0.38.4 wheel-filename: 1.4.1 widgetsnbextension: 4.0.7 zipp: 3.15.0 File attachment: thresholding_movie.py
Attachments (1)
Change History (5)
by , 21 months ago
Attachment: | thresholding_movie.py added |
---|
comment:1 by , 21 months ago
Cc: | added |
---|---|
Component: | Unassigned → Platform |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Intel ffmpeg on ARM |
comment:2 by , 21 months ago
Hi Dennis,
This happens because the ffmpeg executable is an Intel binary, which would normally run fine under emulation on your M1, but only if you have the emulator installed. To install the emulator, open Terminal.app (in the Utilities subfolder of your Applications folder) and type/paste "oftwareupdate --install-rosetta" and hit Return.
--Eric
Eric Pettersen
UCSF Computer Graphics Lab
comment:4 by , 21 months ago
Resolution: | → duplicate |
---|---|
Status: | assigned → closed |
This was fixed in ChimeraX 1.7 which includes Mac ARM ffmpeg.
Note:
See TracTickets
for help on using tickets.
Added by email2trac