Code Monkey home page Code Monkey logo

gpac-wasm-graph's Introduction

GPAC/WASM Interactive Graph Demo

This is a demo of using GPAC in WebAssembly to import media files and use a graph builder to generate a command to execute such a graph.

WARNING: This is a very early demo, there may be instabilities and bugs. It's flooded with typing and lint errors :)

Important notes

  • ui/lib/gpac/index.ts: This file shows a very primitive way of using GPAC in WASM. It handles file import and executing the GPAC.
  • ui/lib/io/file.ts: Here, you can find an example of how to use the above wrapper to execute a GPAC command.
  • generator/src/main.py: Parses the help output of GPAC and generates the ui/src/data/[filters,codecs].json files. Usage of Poetry is recommended.
  • Due to the security requirements of SharedArrayBuffer, Vite server adds two additional headers to the response. Keep this in mind if you plan on running this demo on a different server.

Running

To run this demo, you need to have Poetry installed. Then, run the following commands:

Since this is a demo, the JSON files are already generated and commited. You can skip the generator steps if you want.

# Install dependencies
cd generator/
poetry install
poetry run python src/main.py

# Run the UI
cd ../ui/
npm ci
npm run dev

gpac-wasm-graph's People

Contributors

rbouqueau avatar denizugur avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.