PackagePackagetypeA library you install and call yourself.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →Starting point

openui5-camera

A UI5 control that renders a live camera preview from the device's camera and hands the app the picture as a base64-encoded PNG when the user taps it.

The control reaches the device's camera through the HTML5 media capture API, renders the live preview in a view as <cam:Camera> and fires a snapshot event when the user clicks or taps the preview. The handler reads the picture from oEvent.getParameter("image") as a base64-encoded PNG string, which the README attaches directly to the src of an Image or posts to a server inside a JSON message. Installing it is not a plain npm dependency: after npm install openui5-camera the built dist/openui5/camera/library-preload.js is copied into the application and registered through a resourceRoots entry under sap.ui5 in the manifest. The README heads the repository with EXPERIMENTAL CODE and calls the code a proof of concept rather than a finished product.

Facts

Latestv0.0.11ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Custom controls and librariesUI5Custom controls and librariescapabilityExtending the set of controls an app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from [Web Components interop](capability:ui5-web-components), which brings in standard custom elements, and from [generators](capability:generators), which scaffold a control project rather than being one.
Add-on to
@openui5/sap.ui.core@openui5/sap.ui.coreartifactThe OpenUI5 core: the module loader, the MVC runtime, data binding, routing, theming and the test stack, which is everything a UI5 app does before a single community package is added.
Requires
@openui5/sap.ui.core@openui5/sap.ui.coreartifactThe framework the control is written for and registered in: the application declares it under resourceRoots inside sap.ui5 in its manifest and uses it in an XML view.

Who is behind it

Tiago AlmeidaTiago AlmeidaPersonMaintains this
In the atlas: maintains 1, contributes to 1
@tiagobalmeida
maintainer

Before choosing this

Signals

ActivityQuietRelease and repository quiet for 28 months

Both observable publication channels have been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.

What it declares

Every artifact

Type
Package
Origin
Independently maintained

As a package

Where it runs
does not say
Distributed through
does not say

Connections2

Install

npm add openui5-camera

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from tiagobalmeida/openui5-camera under Apache-2.0, read
tiagobalmeida/openui5-camera/README.mdOn GitHub

OpenUI5-Camera

EXPERIMENTAL CODE

An UI5 control which uses the HTML5 media capture API to access the device's camera. The control renders a live camera preview and can take pictures when the users clicks/taps on it. This a proof of concept, not a finished product. Use at your own risk.

Demo

Please check here

TODO

  • Add an optional button instead of clicking on the preview only
  • Allow the image format to be configurable
  • Allow an easy way to get the actual image pixels for manipulation
  • Configurable camera (front-facing vs back-facing)
  • Think about video and audio streams

Usage

To use it you must first install this code in your app.

Instalation
  1. Make sure your app has a package.json at the root. If it does not, do npm init and follow the prompts.
  2. Do npm install openui5-camera at the root of your project. This will pull this code into a subfolder named node_modules.
  3. Copy file node_modules\openui5-camera\dist\openui5\camera\library-preload.js into thirdparty\openui5\camera\library-preload.js (create folders as necessary).
  4. In your manifest, declare a dependency to this control by adding the following inside sap.ui5:
"resourceRoots": {
   "openui5.camera": "./thirdparty/openui5/camera/"
}
  1. Check test/demo/manifest.json if you're unclear about the previous step.
Usage in your app
  1. In the view you want to display the camera preview, insert the following:
<cam:Camera
    id="idCamera"
    width="800"
    height="600"
    snapshot=".onSnapshot" />
  1. Add the following to the same view's namespace declarations: xmlns:cam="openui5.camera"

  2. In the corresponding controller, add an event handler. This function will be called everytime the user clicks/taps the preview. It contains the picture in PNG format encoded in base64 (so it is a character string).

 onSnapshot: function (oEvent) {
    // The image is inside oEvent, on the image parameter,
    // let's grab it.
    var sSnapshot = oEvent.getParameter("image")});
    // Do something with it!
    // As you see in the demo, you can attach it directly to a src of an Image. 
    // Because it is already a text string it is also easy to POST to a server inside a json message. 
},

Found a bug? Want to contribute to this project?

  1. Install node.js (get it from nodejs.org).
  • If working behind a proxy, you need to configure it properly (HTTP_PROXY / HTTPS_PROXY / NO_PROXY environment variables)
  1. Clone the repository and navigate into it
git clone https://github.com/jumpifzero/openui5-camera
cd openui5-camera
  1. Install all npm dependencies (also installs all bower dependencies)
npm install
  1. Run npm start or grunt to lint, build and run a local server (have a look into Gruntfile.js to see all the tasks).
grunt
  1. Open a test page in your browser: http://localhost:8080/test/demo/index.html Attention: In Chrome, the camera API is blocked when using http as the protocol. For this reason, you have to either disable web security or setup a self-signed https local server.
Contributing

Contributions are welcomed. Please use a feature branch and don't forget to include your name (alphabetical order) in the list below.

Contributors

@stermi repo openui5-chartjs was also critical as an example, so thanks @stermi and all other UI5Lab contributors :)

Apache-2.0, read

History

Latest

v0.0.11

  1. v0.0.10

  2. v0.0.9

  3. v0.0.8

  4. v0.0.7

  5. v0.0.6

  6. v0.0.5

  7. v0.0.4

  8. v0.0.2deprecated on npm

  9. v0.0.1deprecated on npm

On npm
13downloads per week, npm
Weekly downloads for openui5-camera26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 13.20 Apr – 26 Apr: 927 Apr – 3 May: 134 May – 10 May: 2711 May – 17 May: 1518 May – 24 May: 925 May – 31 May: 231 Jun – 7 Jun: 178 Jun – 14 Jun: 1515 Jun – 21 Jun: 3022 Jun – 28 Jun: 2229 Jun – 5 Jul: 146 Jul – 12 Jul: 3613 Jul – 19 Jul: 2020 Jul – 26 Jul: 2527 Jul – 2 Aug: 273 Aug – 9 Aug: 2110 Aug – 16 Aug: 1517 Aug – 23 Aug: 1224 Aug – 30 Aug: 2031 Aug – 6 Sept: 47 Sept – 13 Sept: 1414 Sept – 20 Sept: 2121 Sept – 27 Sept: 1228 Sept – 4 Oct: 35 Oct – 11 Oct: 212 Oct – 18 Oct: 13
Custom controls and libraries
  1. custom-controlsThirteen custom UI5 controls for abap2UI5 appsfrom ABAP
  2. @abap2ui5/embed-controlUI5 custom control that runs an abap2UI5 app inside a host appfrom UI5
  3. ui5-cc-timerbuttonUI5 control library with a button that delays enabling or showingfrom UI5
  4. ui5-control-generatorCommand line generator of UI5 custom controls from htmlfrom UI5
  5. @marianfoo/ui5-cc-dayjsUI5 custom control formatting dates with Day.jsfrom UI5
  6. ui5-cc-pdfviewerUI5 custom control rendering a PDF from a base64 data URIfrom UI5
  7. openui5-passwordOpenUI5 password input with strength scoring and rulesfrom UI5
  8. openui5-tourOpenUI5 control library for guided app toursfrom UI5
  9. ui5-lib-visualizationUI5 control library wrapping C3.js charts as ui5.viz controlsfrom UI5
  10. UI5XUI5 library of eight composite controls under the ui5x namespacefrom UI5
  11. ui5-cc-chartUI5 custom control wrapping Chart.js for line chartsfrom UI5
  12. ui5-cc-mdUI5 custom control rendering Markdown to HTMLfrom UI5
  13. ui5-fontawesome-libUI5 library adding Font Awesome icon sets to sap-icon://from UI5
  14. openui5-paginatorA UI5 custom control that pages through large data in a table, for backends that serve pages over REST rather than OData.from UI5

Details

Sources4
GitHub APIdiscovered herechecked
npm registry, openui5-cameraversion, releases, installschecked
github.com/git+https://github.com/jumpifzero/openui5-camera.gittree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
latestv0.0.11
first release
releases and cadence10, ~0d median
discovered viaGitHub API
first seen in the atlas
ecosystem and domainui5, ui-and-frontend-bridge
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:tiagobalmeida-openui5-camera
JSON
/artifacts/tiagobalmeida-openui5-camera.json
MCP
Connecting an agent