Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync/20240201 #219

Merged
merged 2 commits into from
Feb 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 30 additions & 15 deletions .github/workflows/linter-documentation-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ jobs:
workflowfile=linter-documentation-links.yml

# Version specific URL strings
acap3_type_urls="help.axis.com/acap-3-developer-guide \
www.axis.com/techsup/developer_doc"
acap3_base_url="axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3"
acap3_type_urls="$acap3_base_url www.axis.com/techsup/developer_doc"
acap4_type_urls="axiscommunications.github.io/acap-documentation"

# Decide which SDK version this repo is
Expand All @@ -32,26 +32,41 @@ jobs:
*acap-native-sdk-examples*)
search_urls=$acap3_type_urls
incorrect_sdk_version=3

# Check for incorrect URLs
set +e
found_error=n
for doc_url in $search_urls
do
found_doc_url=$(grep -nir "$doc_url" --exclude $workflowfile)
[ -z "$found_doc_url" ] || {
printf "\nERROR: $doc_url is an ACAP $incorrect_sdk_version documentation URL found in:\n$found_doc_url\n"
found_error=y
}
done
set -e

;;
*acap3-examples*)
search_urls=$acap4_type_urls
incorrect_sdk_version=4

# Check for incorrect URLs
set +e
found_error=n
for doc_url in $search_urls
do
found_doc_url=$(grep -nir "$doc_url" --exclude $workflowfile | grep -v $acap3_base_url)
[ -z "$found_doc_url" ] || {
printf "\nERROR: $doc_url is an ACAP $incorrect_sdk_version documentation URL found in:\n$found_doc_url\n"
found_error=y
}
done
set -e

;;
esac

# Check for incorrect URLs
set +e
found_error=n
for doc_url in $search_urls
do
found_doc_url=$(grep -nir "$doc_url" --exclude $workflowfile)
[ -z "$found_doc_url" ] || {
printf "\nERROR: $doc_url is an ACAP $incorrect_sdk_version documentation URL found in:\n$found_doc_url\n"
found_error=y
}
done
set -e

if [ $found_error = n ]; then
printf "\nNo ACAP $incorrect_sdk_version documentation URL was found -> PASS"
else
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,16 @@
- Business intelligence applications that improve business efficiency.
- Camera feature plug-ins that add value beyond the Axis product's core functionality

# Prerequisites for ACAP development
## ACAP SDK version 3

ACAP is Axis own open platform for applications that run on-board an Axis product. If you are new to ACAP, start with learning more about the platform, [prerequisites](https://www.axis.com/developer-community/acap-fundamentals), [compatible architectures](https://www.axis.com/developer-community/acap-sdk) and [SDK user manual](https://help.axis.com/acap-3-developer-guide).
ACAP is Axis own open platform for applications that run on-board an Axis
product. If you are new to ACAP, start with learning more about the platform:

# Getting started with the repository
- [AXIS ACAP 3 SDK Documentation](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3)
- [Introduction](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/introduction)
- [Getting Started](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/get-started)

## Getting started with the repository

This repository contains a set of application examples which aims to enrich the
developers analytics experience. All examples are using Docker framework and
Expand Down Expand Up @@ -47,7 +52,7 @@ Below is the list of examples available in the repository.
- [utility-libraries](./utility-libraries/)
- These examples covers how to build, bundle and use external libraries with ACAP.
- [vdo-larod](./vdo-larod/)
- The example code is written in C and loads a pretrained person-car classification model to the [Machine learning API (Larod)](https://help.axis.com/acap-3-developer-guide#machine-learning-api) and then uses the [Video capture API (VDO)](https://help.axis.com/acap-3-developer-guide#video-capture-api) to fetch video frames in YUV format and finally run inference.
- The example code is written in C and loads a pretrained person-car classification model to the [Machine learning API (Larod)](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api#machine-learning-api) and then uses the [Video capture API (VDO)](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api#video-capture-api) to fetch video frames in YUV format and finally run inference.
- [vdo-opencl-filtering](./vdo-opencl-filtering/)
- This example illustrates how to capture frames from the vdo service, access the received buffer, and finally perform a GPU accelerated Sobel filtering with OpenCL.
- [vdostream](./vdostream/)
Expand Down
2 changes: 1 addition & 1 deletion axevent/send_event/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> .
Expand Down
2 changes: 1 addition & 1 deletion axevent/subscribe_to_event/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> .
Expand Down
2 changes: 1 addition & 1 deletion axevent/subscribe_to_events/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> .
Expand Down
2 changes: 1 addition & 1 deletion axoverlay/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> --build-arg ARCH=<ARCH> .
Expand Down
2 changes: 1 addition & 1 deletion hello-world/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> .
Expand Down
7 changes: 3 additions & 4 deletions licensekey/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ This README file explains how to build an ACAP application that uses the license

Together with this README file, you should be able to find a directory called app. That directory contains the application source code which can easily be compiled and run with the help of the tools and step by step below.

This example illustrates how to check the license key status. A license key is a signed file which has been generated for a specific device ID and application ID. The ACAP Service Portal is maintaining both license keys and application IDs, see [Online manual](https://help.axis.com/acap-3-developer-guide#acap-service-portal-for-administrators)

This example illustrates how to check the license key status. A license key is a signed file which has been generated for a specific device ID and application ID. The ACAP Service Portal is maintaining both license keys and application IDs, see [Online manual](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/services-for-partners/acap-service-portal-for-administrators.html)
License key status i.e. valid or invalid is logged in the Application log.

## Getting started
Expand Down Expand Up @@ -49,7 +48,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> .
Expand Down Expand Up @@ -134,7 +133,7 @@ or by clicking on the "**App log**" link in the device GUI.
10:31:43.058 [ INFO ] licensekey_handler[14660]: Licensekey is invalid
```

A valid license key for a registered application ID is only accessible through ACAP Service Portal, see [Online manual](https://help.axis.com/acap-3-developer-guide#acap-service-portal-for-administrators).
A valid license key for a registered application ID is only accessible through ACAP Service Portal, see [Online manual](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/services-for-partners/acap-service-portal-for-administrators.html).

Support for installing license key though device web page is available, if acapPackageConf.copyProtection.method is set to "axis" in the **manifest.json** file, by the following steps:

Expand Down
2 changes: 1 addition & 1 deletion reproducible-package/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Standing in your working directory follow the commands below:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

In all examples the option `--no-cache` is used to ensure that image is rebuilt.

Expand Down
2 changes: 1 addition & 1 deletion using-opencv/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ building-opencv
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

1. Standing in your working directory run the following commands:

Expand Down
2 changes: 1 addition & 1 deletion utility-libraries/custom_lib_example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> .
Expand Down
12 changes: 6 additions & 6 deletions utility-libraries/openssl_curl_example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ building the ACAP application. That is because the older `libc` from the SDK
can't find these newer symbols and functions.
- **Don't depend on all available libraries in SDK** - It's recommended to only
use `libc` and the documented [ACAP
API](https://help.axis.com/acap-3-developer-guide#api)
API](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api)
libraries in the SDK. Don't use other libraries from the SDK in an ACAP
application. Instead, download, compile and bundle libraries such as
`libcrypto.so` and `libssl.so` (OpenSSL) and `libcurl.so` (curl) with the ACAP
Expand Down Expand Up @@ -102,7 +102,7 @@ the application on a device.
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

Standing in your working directory run:

Expand Down Expand Up @@ -200,7 +200,7 @@ device.

> **Note**
> Make sure
> [SSH is enabled](https://help.axis.com/acap-3-developer-guide#access-the-device-with-ssh)
> [SSH is enabled](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/get-started/set-up-the-device.html#access-the-device-with-ssh)
> on the device to run the following commands.

Compare the web page source code to the content of file `www.example.com.txt`.
Expand All @@ -225,7 +225,7 @@ extracting the logs using the following commands in the terminal.

> **Note**
> Make sure
> [SSH is enabled](https://help.axis.com/acap-3-developer-guide#access-the-device-with-ssh)
> [SSH is enabled](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/get-started/set-up-the-device.html#access-the-device-with-ssh)
> on the device to run the following commands.

```sh
Expand Down Expand Up @@ -253,7 +253,7 @@ which are also available in the SDK, by accident. To achieve this, we
recommend removing any OpenSSL or curl libraries in the SDK library path.

Why not remove these libraries from the SDK? The [Licensekey
API](https://help.axis.com/acap-3-developer-guide#license-api)
API](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api#license-api)
has a dependency on `libcrypto`.

2. **Build OpenSSL libraries** - The SDK environment is sourced to compile with
Expand Down Expand Up @@ -334,7 +334,7 @@ objdump -p openssl_curl_example | grep -E "NEEDED|RUNPATH|RPATH"

> **Note**
> Make sure
> [SSH is enabled](https://help.axis.com/acap-3-developer-guide#access-the-device-with-ssh)
> [SSH is enabled](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/get-started/set-up-the-device.html#access-the-device-with-ssh)
> on the device to run the following commands.

For even better information on where the application binary will search for
Expand Down
6 changes: 3 additions & 3 deletions vdo-larod/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

This README file explains how to build an ACAP application that uses:

- the [Video capture API (VDO)](https://help.axis.com/acap-3-developer-guide#video-capture-api) to fetch frames from e.g. a camera
- the [Machine learning API (Larod)](https://help.axis.com/acap-3-developer-guide#machine-learning-api) to load a graph model and run preprocessing and classification inferences
- the [Video capture API (VDO)](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api#video-capture-api) to fetch frames from e.g. a camera
- the [Machine learning API (Larod)](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api#machine-learning-api) to load a graph model and run preprocessing and classification inferences

It is achieved by using the containerized API and toolchain images.

Expand Down Expand Up @@ -84,7 +84,7 @@ Below is the step by step instructions on how to execute the program. So basical
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

Depending on selected chip, different models are trained and are used for running laord.
In this example, model files are downloaded from an AWS S3 bucket,
Expand Down
4 changes: 2 additions & 2 deletions vdo-opencl-filtering/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ vdo-opencl-filtering

The example is done for a captured video stream in YUV NV12 format. For different stream formats the OpenCL program must be altered.

This example requires OpenCL 1.2 with GPU accelleration, see [SDK user manual](https://help.axis.com/acap-3-developer-guide#open-standard-apis).
This example requires OpenCL 1.2 with GPU accelleration, see [SDK user manual](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/api#open-standard-apis).

### How to run the code

Expand All @@ -52,7 +52,7 @@ Standing in your working directory run the following commands:
> Depending on the network you are connected to, you may need to add proxy settings.
> The file that needs these settings is: `~/.docker/config.json`. For reference please see
> https://docs.docker.com/network/proxy and a
> [script for Axis devices](https://help.axis.com/acap-3-developer-guide#configure-network-proxy-settings) in the ACAP documentation.
> [script for Axis devices](https://axiscommunications.github.io/acap-documentation/docs/acap-sdk-version-3/develop-applications/build-install-and-run-the-application.html#configure-network-proxy-settings) in the ACAP documentation.

```sh
docker build --tag <APP_IMAGE> --build-arg ARCH=<ARCH> .
Expand Down
Loading