-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
90 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,39 @@ | ||
## Contributing | ||
|
||
## Developer resources | ||
A complex project like GPAC wouldn’t exist and persist without the support of its community. Please contribute: a nice message, supporting us in our communication, reporting issues when you see them … any gesture, even the smallest ones, counts. | ||
|
||
## Getting support and reporting issues | ||
|
||
Please use [github issues](https://github.com/gpac/gpac/issues) for feature requests and bug reports. When filing a request there, please tag it as feature-request. | ||
|
||
|
||
## API documentation | ||
|
||
The [API documentation](https://doxygen.gpac.io/modules.html) provides information on the GPAC Filter API. | ||
|
||
GPAC's core is writen in C, but it can be easily extended using [Javascipt Filters](/Developers/javascript), used in a [Python](/Howtos/python) or [NodeJS application](/Developers/javascript). | ||
|
||
|
||
## Building | ||
|
||
Detailed build [Build](/Build/Build-Introduction) instructions for MP4Box and GPAC on all supported platforms. | ||
|
||
|
||
## Testing | ||
|
||
Learn how to [build and run GPAC's test suite](/Build/tests/GPAC_tests). | ||
|
||
The <a href="https://github.com/gpac/testsuite/tree/master/scripts" target="_blank">testsuite scripts</a> is always a good place to understand GPAC tools usage. | ||
|
||
|
||
## Continuous integration | ||
|
||
GPAC is continuously built and tested through a buildbot server: | ||
|
||
* Build status of GPAC: <a href="https://buildbot.gpac.io" target="_blank">buildbot.gpac.io</a> | ||
* Tests status of GPAC: <a href="https://tests.gpac.io" target="_blank">tests.gpac.io</a> | ||
|
||
|
||
## Archives | ||
|
||
* current build status of GPAC: <a href="https://buildbot.gpac.io" target="_blank">buildbot.gpac.io</a> | ||
* current test suite status of GPAC: <a href="https://tests.gpac.io" target="_blank">tests.gpac.io</a> | ||
* C API documentation: <a href="https://doxygen.gpac.io/modules.html" target="_blank"> doxygen.gpac.io</a> | ||
* the <a href="https://github.com/gpac/testsuite/tree/master/scripts" target="_blank">testsuite scripts</a> might give you additional info on how to use GPAC tools | ||
* tips and tricks in our [github discussions](https://github.com/gpac/gpac/issues?utf8=%E2%9C%93&q=) and our old [sourceforge forums](https://sourceforge.net/p/gpac/discussion/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,16 @@ | ||
|
||
Javascript developers have several options to work with GPAC. | ||
The most appropriate solution depends on the project's goal. | ||
Javascript developers have two options to work with GPAC, the most appropriate solution depends on the project's goal: | ||
|
||
## customize the gpac application with custom javascript filters | ||
## Javascript Filters | ||
|
||
GPAC embeds the [QuickJS](https://bellard.org/quickjs/) runtime, making it easy to extend and customize gpac using custom *javascript filters*. | ||
The JS filter API makes it easy to **extend gpac** using the internal QuickJS runtime, giving access to the Filter API for frame and packet processing, but also APIs foradaptative streaming, compositing, storage, ... | ||
|
||
Some of the gpac application features are actualy implemented as custom javascript filters, for instance [avgen](Filters/avgen) which produces procedural content, or [avmix](Filters/avmix) which provides advanced audio/video mixing. | ||
Some of the gpac built-in filters - eg. [avgen](Filters/avgen), [avmix](Filters/avmix) - are actualy implemented as custom javascript filters. Their source code can be found under the[`share/scripts/jsf`](https://github.com/gpac/gpac/tree/master/share/scripts/jsf) directory. | ||
|
||
These - and more - custom *javascript filters* can be found in the gpac's source code [under the `share/scripts/jsf` directory](https://github.com/gpac/gpac/tree/master/share/scripts/jsf). | ||
[JSF documentation](/Howtos/jsf/jsfilter){ .md-button } | ||
|
||
- **[Javascript filters documentation](Howtos/jsf/jsfilter)** | ||
## NodeJS | ||
|
||
GPAC's NodeJS bindings allow **writing custom NodeJS applications**. It differs slightly from the Javascript Filters API available in the QuickJS runtime. | ||
|
||
## write applications with the NodeJS API | ||
|
||
GPAC also offers NodeJS bindings to write custom applications using javascript. | ||
|
||
The GPAC's NodeJS API differs slightly from the Javascript Filters API available in the QuickJS runtime, it is most suitable to custom application development. | ||
|
||
- **[NodeJS documentation](Howtos/nodejs)** | ||
[NodeJS documentation](/Howtos/nodejs){ .md-button } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
|
||
## What is GPAC ? | ||
|
||
The **GPAC Filter API** is at the core of the [MP4Box and GPAC](Howtos/gpac-mp4box) applications. | ||
|
||
The `gpac` application allows building media pipeplines by conveniently [combining and configuring Filters](Filters/filters_general) from the command line. | ||
|
||
Filters are configurable processing units consuming and producing data packets. | ||
|
||
GPAC provides a wide range of Filters supporting advanced media protocols, formats, codecs, for input, output and processing tasks. | ||
|
||
It defines the infrastructure and helper classes to develop applications with advanced media capabilities. | ||
|
||
|
||
### Concepts | ||
|
||
**Filter Session** | ||
|
||
- [API documentation](https://doxygen.gpac.io/group__fs__grp.html#details) | ||
- [tutorial](https://git.gpac-licensing.com/slarbi/API_FIlters_tutos/src/branch/master/T0_Filters_session/simple%20gpac%20session.md) | ||
|
||
**Filter** | ||
- [API documentation](https://doxygen.gpac.io/group__fs__filter.html#details) | ||
|
||
**Filter Properties** | ||
- [API documentation](https://doxygen.gpac.io/group__fs__props.html#details) | ||
- [Built in Properties](https://wiki.gpac.io/Filters/filters_properties/?h=properties) | ||
|
||
**Filter Events** | ||
- [API documentation](https://doxygen.gpac.io/group__fs__evt.html#details) | ||
|
||
**Filter PIDs & Capabilities** | ||
- [API documentation](https://doxygen.gpac.io/group__fs__pid.html) | ||
|
||
**Filter Packet** | ||
- [API documentation](https://doxygen.gpac.io/group__fs__pck.html#details) | ||
|
||
**Custom Filter** | ||
- [doxygen](https://doxygen.gpac.io/group__filters____cust__grp.html#details) | ||
- [writing a custom Filter]() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters