-
Notifications
You must be signed in to change notification settings - Fork 3
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
Update developer section, add Filter API tutorials #10
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
c32d052
add Developers/javascript.md
nlsdvl 09d4c04
adds tutorials from @soheibthriber
nlsdvl 5c0a0cf
fix tutorials formatting
nlsdvl 7fa8dba
update dev section nav tree
nlsdvl 7e2e42b
update developer section
nlsdvl 214f755
broken links
nlsdvl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,49 @@ | ||
--- | ||
title: GPAC developer guide | ||
--- | ||
|
||
## Developer resources | ||
## Contributing | ||
|
||
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). | ||
|
||
|
||
## Tutorials | ||
|
||
- [Intro to Filter Session](/Developers/tutorials/filter-session-intro) | ||
- [Writing a custom Filter](/Developers/tutorials/custom-filter) | ||
|
||
|
||
## 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 |
---|---|---|
@@ -0,0 +1,16 @@ | ||
|
||
Javascript developers have two options to work with GPAC, the most appropriate solution depends on the project's goal: | ||
|
||
## 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 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. | ||
|
||
[JSF documentation](/Howtos/jsf/jsfilter){ .md-button } | ||
|
||
## NodeJS | ||
|
||
GPAC's NodeJS bindings allow **writing custom NodeJS applications**. It differs slightly from the Javascript Filters API available in the QuickJS runtime. | ||
|
||
[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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. pipeplines => pipelines |
||
|
||
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]() |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
foradaptive -> for adaptive (missing space)