-
Notifications
You must be signed in to change notification settings - Fork 30
Laravel
The Laravel rework of the DASH-IF Conformance tools can be installed on any modern system. The installation instruction below assume Ubuntu 24.04.
git clone https://github.com/Dash-Industry-Forum/DASH-IF-Conformance
git checkout laravel-beta
- PHP 8.3 or above
- OpenJDK21 (might work with different versions)
- NodeJS 18.x or above
-
GPAC (specifically the
MP4Boxexecutable)- Support for the ISOSegmentValidator will be backported in a future version
sudo apt install \
php php-dev php-curl php-sqlite3 php-xdebug composer \
nodejs \
opendjk-21-jdk \
gpac
Make sure that java and javac will use openjdk-21-jdk.
update-alternatives --list java
sudo update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/jre/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-21-openjdk-amd64/bin/javac
In order for Laravel to work, we need to create some initial configuration:
# Install PHP Dependencies (Backend)
composer install
# Install and build NodeJS dependencies (Frontend)
npm install
npm run build
# Initial configuration of laravel
cp env_production.example .env # Copy default environment file
php artisan key:generate # Create a unique application key
php artisan migrate # Create the default SQLite tables
You can update the default environment based on your own preferences.
Start the framework: composer run dev
By default, Laravel will try to bind to port 8000. However, if it is already in use, it will try some extra ports. You can find the used port number in the terminal, following the APP_URL line.
NOTE: By default 2 ports are opened, one by laravel and one by vite. Make sure to use the correct one.
Navigate to http://localhost:8000/
For the command line interface (CLI) we make use of Laravel's artisan framework.
Run php artisan app:analyze-manifest -h for a full list of parameters.
By default only the 'Global Module' is enabled.
To analyze a manifest with all modules enabled:
php artisan app:analyze-manifest --all <URL>
To use only select modules:
php artisan app:analyze-manifest --modules # List all available module names
php artisan app:analyze-manifest <URL> "<Module 1>" "<Module ...>"