<commit_before>[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/ubuntu64)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/linux64)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/ubuntu32)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/linux32)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/windows64)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/win64)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/windows32)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/win32)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/macos)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/macos)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/ios)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/android)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)

[![Coverage](http://gpacvm-ext.enst.fr/django/testres/badge/cov/linux64)](http://gpacvm-ext.enst.fr/django/testres/)

![License](https://img.shields.io/badge/license-LGPL-blue.svg)

README for GPAC version 0.9.0-ALPHA

# Introduction

GPAC is a multimedia framework oriented towards rich media and distributed under the LGPL license (see COPYING).

GPAC supports many multimedia formats, from simple audiovisual containers (avi, mov, mpg) to complex  presentation formats (MPEG-4 Systems, SVG Tiny 1.2, VRML/X3D) and 360 videos. GPAC supports presentation scripting for MPEG4/VRML/X3D through mozilla SpiderMonkey javascript engine.

GPAC currently supports local file playback, HTTP progressive download, Adaptive HTTP Streaming (MPEG-DASH, HLS), RTP/RTSP streaming over UDP (unicast or multicast) or TCP,  TS demuxing (from file, IP or DVB4Linux), ATSC 3.0 ROUTE sessions, desktop grabbing, camera/microphone inputs and any input format supported by FFmpeg.

For more information, visit the GPAC website:
	http://gpac.io

GPAC includes the following applications built by default:
## MP4Box
MP4Box is a multi-purpose MP4 file manipulation for the prompt, featuring media importing and extracting, file inspection, DASH segmentation, RTP hinting, ... See MP4Box -h for more info on the tool
MP4Box documentation is available online at https://gpac.wp.imt.fr/mp4box/


## MP4Client
MP4Client is a media player built upon libgpac, featuring a rich media interactive composition engine with MPEG-4 BIFS, SVG, VRML/X3D support.
For GPAC configuration instruction, check gpac/doc/configuration.html or gpac/doc/man/gpac.1 (man gpac when installed)

## MP42TS (deprecated)
MP42TS is a TS multiplexer from MP4 and RTP sources.

## gpac 
As of version 0.9.0, GPAC features a filter engine in charge of stream management and used by most applications in GPAC. For API backward compatibility, old apps (MP4Box, MP4Client, ...) have been kept but rewritten to match the new filter architecture, but do not expose all possible filter connections. The gpac application is a direct interface to the filter engine of GPAC, allowing any combinaison of filers not enabled by other apps. See gpac -h for more details.


# Compilation and Installation

## Quick Instructions
Installation instructions for latest GPAC GIT version - June 2018:

For Windows: https://gpac.wp.imt.fr/2011/04/18/command-line-gpac-compiling-on-windows-x86-using-free-microsoft-visual-c/
For Linux Ubuntu: https://gpac.wp.imt.fr/2011/04/20/compiling-gpac-on-ubuntu/
For Mac OS X: https://gpac.wp.imt.fr/2011/05/02/compiling-gpac-for-macos-x/
For Android: https://gpac.wp.imt.fr/compiling-gpac-for-android/


## Generic Instructions

GPAC may be compiled without any third party libraries, but in this case its functionalities are very limited (no still image, no audio, no video, no text, no scripting). It is therefore recommended to download the extra lib package available at http://sourceforge.net/projects/gpac. Compilation instructions for these libraries are provided per library in the package. <commit_msg>updated doc<commit_after>[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/ubuntu64)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/linux64)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/ubuntu32)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/linux32)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/windows64)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/win64)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/windows32)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/win32)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/macos)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)
[![Tests](http://gpacvm-ext.enst.fr/django/testres/badge/tests/macos)](http://gpacvm-ext.enst.fr/django/testres/)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/ios)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)

[![Build Status](http://gpacvm-ext.enst.fr/django/testres/badge/build/android)](http://gpacvm-ext.enst.fr/buildbot/#/grid?branch=master)

[![Coverage](http://gpacvm-ext.enst.fr/django/testres/badge/cov/linux64)](http://gpacvm-ext.enst.fr/django/testres/)

![License](https://img.shields.io/badge/license-LGPL-blue.svg)

README for GPAC version 0.9.0-ALPHA

# Introduction

GPAC is a multimedia framework oriented towards rich media and distributed under the LGPL license (see COPYING).

GPAC supports many multimedia formats, from simple audiovisual containers (avi, mov, mpg) to complex  presentation formats (MPEG-4 Systems, SVG Tiny 1.2, VRML/X3D) and 360 videos. GPAC supports presentation scripting for MPEG4/VRML/X3D through mozilla SpiderMonkey javascript engine.

GPAC currently supports local file playback, HTTP progressive download, Adaptive HTTP Streaming (MPEG-DASH, HLS), RTP/RTSP streaming over UDP (unicast or multicast) or TCP,  TS demuxing (from file, IP or DVB4Linux), ATSC 3.0 ROUTE sessions, desktop grabbing, camera/microphone inputs and any input format supported by FFmpeg.

For more information, visit the [GPAC website](http://gpac.io)

GPAC includes the following applications built by default:
## MP4Box
MP4Box is a multi-purpose MP4 file manipulation for the prompt, featuring media importing and extracting, file inspection, DASH segmentation, RTP hinting, ... See MP4Box -h for more info on the tool
MP4Box documentation is [available online](https://gpac.wp.imt.fr/mp4box/)


## MP4Client
MP4Client is a media player built upon libgpac, featuring a rich media interactive composition engine with MPEG-4 BIFS, SVG, VRML/X3D support.
For GPAC configuration instruction, check gpac/doc/configuration.html or gpac/doc/man/gpac.1 (man gpac when installed)

## MP42TS (deprecated)
MP42TS is a TS multiplexer from MP4 and RTP sources.

## gpac 
As of version 0.9.0, GPAC features a filter engine in charge of stream management and used by most applications in GPAC. For API backward compatibility, old apps (MP4Box, MP4Client, ...) have been kept but rewritten to match the new filter architecture, but do not expose all possible filter connections. The gpac application is a direct interface to the filter engine of GPAC, allowing any combinaison of filers not enabled by other apps. See gpac -h for more details.


# Roadmap
## Ongoing tasks and bugs
Please use [our github](https://github.com/gpac/gpac/issues) for feature requests and bug reports. When filing a request there, please tag it as feature-request.	

## V0.9.0
Remaining before release
- [ ] move encrypter to filter
- [ ] move ATSC demux to filter
- [ ] move NVDec to filter
- [ ] move MediaCodec to filter
- [ ] move DekTec output to filter
- [ ] move SVC/SHVC splitters and aggregators to filter
- [ ] move HEVC tiling splitter to filter
- [ ] merge AV1 branch
- [ ] move iOS client to filters
- [ ] move Android client to filters
- [ ] rewrite MP42TS to filters or drop it
- [ ] add generic pipe and tcp source and sink
- [ ] add segmentation handling in TS muxer
- [ ] unify vout color handling (complete) and compositor GLSL shaders (partial color support)
- [ ] pass all test suite

## V1.0.0
Targets:
- [ ] freeze filter API
- [ ] filter API documentation
- [ ] add ffmpeg muxer support
- [ ] add ffmpeg simple avfilter support
- [ ] improve filter scheduler ?
- [ ] improve filter graph resolver ?
- [ ] move input sensors to filter ?
- [ ] scriptable JS filters
- [ ] scriptable other filters ?

# Compilation and Installation

## Quick Instructions
Installation instructions for latest GPAC GIT version - June 2018:

For Windows: https://gpac.wp.imt.fr/2011/04/18/command-line-gpac-compiling-on-windows-x86-using-free-microsoft-visual-c/
For Linux Ubuntu: https://gpac.wp.imt.fr/2011/04/20/compiling-gpac-on-ubuntu/
For Mac OS X: https://gpac.wp.imt.fr/2011/05/02/compiling-gpac-for-macos-x/
For Android: https://gpac.wp.imt.fr/compiling-gpac-for-android/


## Generic Instructions

GPAC may be compiled without any third party libraries, but in this case its functionalities are very limited (no still image, no audio, no video, no text, no scripting). It is therefore recommended to download the extra lib package available at http://sourceforge.net/projects/gpac. Compilation instructions for these libraries are provided per library in the package. 
{'fraction_non_alphanumeric': 0.1297790585975024, 'fraction_numerical': 0.017002881844380403, 'mean_word_length': 4.624527282549973, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 13, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3884585', 'n_tokens_mistral': 3610, 'n_tokens_neox': 3402, 'n_words': 923}