You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

Summary

A special treatment for 3d models in glb/gltf format is implemented in the Binaries Service. 

If URLs to files of this format are submitted to the service then these files will not only be downloaded and saved. A preview image of the model contained in the file is generated and exported to the IIIF Image server. Therefore the same reference-id used to download the model can be used to retrieve a preview image. 

This preview generation happens on the cluster nodes. A Chrome browser instance is started on a virtual framebuffer device. The model is loaded by the browser and then a screenshot of the browser is taken. 

Obtain Sources

The software can be obtained by executing

git clone https://dev.fiz-karlsruhe.de/stash/scm/ddb/3d-screenshot-generator.git

Installation

In order for the scripts to work the following things need to be done on the cluster nodes: 


sudo yum install npm xorg-x11-server-Xvfb atk java-atk-wrapper at-spi2-atk gtk3 libXt ImageMagick

# Register and start Xvfb service 
sudo echo "
[Unit]
Description=Xvfb headless plotting
After=network.target

[Service]
User=root
ExecStart=/usr/bin/Xvfb :0 -screen 0 1280x1024x24

[Install]
WantedBy=multi-user.target
Alias=Xvfb.service
Alias=xvfbd.service
" > /etc/systemd/system/xvfb.service

sudo systemctl daemon-reload
sudo systemctl enable xvfb
sudo systemctl start xvfb

Configuration and Problem solving

Please always refer to the projects Readme file (especially for CentOS 7 systems). The configuration in appconfig.json needs to be adapted.

Regular problems

If some models work and other models don't work do the following checks:

  1. Always first check if the timeout setting in appconfig.json is high enough.
  2. Is is the correct Binary Server?
  3. It could be that the Puppeteer (Chromium) version is to old for newer generated model version. Update Puppeteer (and Node itself).




  • No labels