Release of GPAC 0.6.0.
Release notes are available at: https://github.com/gpac/gpac/releases/tag/v0.6.0
Bug tracker at: https://github.com/gpac/gpac/issues
Enjoy and spread the news!
Release of GPAC 0.6.0.
Release notes are available at: https://github.com/gpac/gpac/releases/tag/v0.6.0
Bug tracker at: https://github.com/gpac/gpac/issues
Enjoy and spread the news!
Dear adaptive streaming followers,
Many of you reported issues when packaging your encoded content to respectively HLS or MPEG-DASH using GPAC (resp. the MP42TS and MP4Box tools). Most of the time, this is due to misalignment of key-frames across the different encoded qualities. In this article, we are going to show how to check key-frame alignment.
Continue reading Check key-frame alignment with MP4Box
For each platform you’ll find instructions for building MP4Box only or the whole GPAC suite.
Dear readers,
As many of you know, GPAC is a full framework providing authoring tools, packagers, streamers, a player and now some js stuff. This can make GPAC cumbersome to build.
However many of you are mainly interested in MP4Box which is easy to build. Whether you are on Linux, Windows or MacOS, here is the definite guide to build MP4Box easily 🙂
Edit 2015/11/03: added MSVC MP4Box minimal build.
We published a minimal solution to build MP4Box.exe only, with zero dependency. No DLL to distribute.
You need Visual Studio 2010 or more recent (a pop-up will ask you to upgrade your projects, just accept). Open build/msvc10/gpac_mp4box_mini.sln and build (Debug or Release).
That’s all!
On your system, you need the following tools installed on your system:
In your favorite terminal, type:
git clone https://github.com/gpac/gpac.git cd gpac ./configure --static-mp4box --use-zlib=no make -j4
To execute MP4Box, assuming you are still in the same directory (i.e. the root of the GPAC repository), you will find the MP4Box executable at:
bin/gcc/MP4Box
To install MP4Box on your system:
sudo make install
now when you type
$ which MP4Box
you should see
/usr/local/bin/MP4Box
which is the default install folder for the version we have just built. You can tweak this with the ‘-prefix=’ configure option.
If you see /usr/bin/MP4Box (no “local/” in here), uninstall GPAC from your local packager. On MacOS, go to Finder and unmount the app on the left panel, or uninstall it from your package manager (‘port’ or ‘homebrew’ or ‘fink’).
Of course you want to keep updated with the latest build without having to download the full repository again or re-execute the configuration when not necessary (it may be necessary sometimes, see below “Clean your build” if things go unexpectedly):
cd gpac git pull make -j4 sudo make install
That’s all!
If things go wrong and you suspect there is an issue in your configuration, the fastest way to restart a clean build is:
cd gpac make distclean ./configure --static-mp4box --use-zlib=no make -j4
Cross-compiling GPAC is quite standard, and requires only a modification at the ‘configure’ step. Use ‘–extra-cflags=’ and ‘–extra-ldflags=’ to add your environmment flags:
cd gpac ./configure --target-os=$OS --cross-prefix="$crossPrefix" --extra-cflags="-I$PREFIX/$host/include" --extra-ldflags="-L$PREFIX/$host/lib" --prefix=$PREFIX/$host --static-mp4box --use-zlib=no make -j4
For example, to use the ‘x86_64-w64-mingw32’ toolchain to cross-build from Linux to Windows:
cd gpac ./configure --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --prefix=build/x86_64-w64-mingw32 --static-mp4box --use-zlib=no --extra-cflags="-Ibuild/x86_64-w64-mingw32/include" --extra-ldflags="-Lbuild/x86_64-w64-mingw32/lib" make -j4
You can find more examples in our TravisCI script.
We have started a multimedia component-level build system called Zenbuild. Zenbuild builds FFmpeg/libav, VLC or GPAC with most of their features enabled (librtmp, jack, openHEVC, etc.). You can start using Zenbuild, it is fully operational!
Dear followers,
One of the target platform for GPAC is Windows. Developing for Windows in a comfortable manner requires Visual Studio, in particular for debugging. Microsoft recently announced great changes that will make Visual Studio users (including the GPAC developers) happy:
Edit: update from Microsoft on 2015/11/18.
Setup for local debugging
Install software:
Build:
Debugging:
gdbserver host:port path/to/executable
Debug.GDBLaunch /Executable:path\to\executable /GDBPath:path\to\gdb.exe /GDBServerAddress:host:port /TargetArchitecture:x64
That’s all! Once Debug.GDBLaunch is attached your program will run. Breakpoints are effective. And you can enjoy the Visual Studio debugging experience:
Setup for remote debugging
This is an extension of the gdbserver we used above. It allows to debug mobile (android/iOS) or any platform (linux, …) executables from a remote
For specific remote parameters, see:
Dear readers,
For the last few years, the GPAC tools backed demos at the French Tennis Open (Roland Garros) in its demo corner called RG Labs. This year, through the H2B2VS project, we participated in a demonstration showing the use of Hybrid Broadcast Broadband delivery for Ultra HD video content.
The video was encoded using the SHVC format with two layers. The encoder was MPEG reference software. The base HEVC layer, corresponding to HD content, was delivered using MPEG-2 TS, produced by our MP42TS tool. The enhancement layer, enhancing the spatial resolution to UHD, was delivered using MPEG-DASH generated by MP4Box. Both streams were synchronized based on the recent MPEG-2 TS TEMI extensions (inserted by MP42TS in the mux) and played by MP4Client, rendered on this nice curved 4K TV. You can find the press release by France TV here.
The GPAC player is very powerful. It features a graphical statistics module able to display and control the player. Look at the screenshot below. It can also be used to choose your HLS or MPEG-DASH quality or limit the download bandwidth to simulate a saturated server environment.
During the first week of June we were also present at the MediaSync 2015 workshop for talk and demos, as well as invited in the demo session of TVX 2015. We presented some demonstrations developed during the H2B2VS project:
The demonstrations were all using MP42TS for broadcast génération, MP4Box for live or onDemand DASH packaging and MP4Client for the playback. Complete instructions for reproducing the test bed are available here.