All checksums have been double-checked against existing RMD160 and
SHA512 hashes
The following distfiles could not be fetched (for legal reasons?):
./multimedia/adobe-flash-player/distinfo adobe-flash-player-32.0.0.465/flash_player_npapi_linux.i386.tar.gz
./multimedia/adobe-flash-player/distinfo adobe-flash-player-32.0.0.465/flash_player_npapi_linux.x86_64.tar.gz
./multimedia/libdvdcss/distinfo libdvdcss-1.4.3.tar.bz2
10/09/2020: GPAC 1.0.1
This release fixes build and installation issues in 1.0.0, as well as
various bugs introduced during the migration to the filters
architecture.
It also adds several small features:
- better ttml import
- better support for MPEGH audio
- support fur DASH UTCTiming
- manifest generation from pre-fragmented DASH/HLS mp4
- speed optimization in isobmf reading (normal and fragmented)
- improved JS API for the filter session
- core tools exposed as JS module (file io, bitstream, etc ...)
- android fixes
16/06/2020: GPAC 1.0
- Complete rewrite of GPAC streaming core:
* addition of a filter-based architecture, used by MP4Client
and MP4Box.
* moving all decoders and demuxer plugins of MP4Client and most of
MP4Box import/export code as filters for this new architecture,
* moving DASH/HLS segmenter to a filter
* moving MP4Client compositor and most of the GF_Terminal internals
to a filter
* addition of a new application gpac, whose only purpose is to
create and run filter chains
* removal of MP42TS and DashCast applications since these
functionalities are provided by gpac
* deprecation of some features (widget management, MSE draft
implementation for SVG media, UPnP, TEMI player support).
- Profile system allowing to override through a static file default
options of all filters and libgpac core
- Alias system for gpac app to simplify your command lines
- Enhanced DASHer:
* Support for HLS and dual HLS / DASH generation
* Support for any input
* True low-latency mode for DASH
* Support for multiple periods
* Support for other segment formats (raw, mkv, webm currently
tested)
- Input and outputs
* Generic pipe, TCP, UDP, and Unix Domain socket input and output
* RTSP server output
* HTTP output (client and server), supporting low latency DASH access
* Ad-hoc stream format called GSF to allow serialization to file,
pipe or socket of a session (for distributed filter chains),
supporting AES-128 CBC encryption.
- Raw audio (PCM) and video (RGB, YUV) reframers and exporters
- HEVC tile spliting and merging filters
- Compositor is a standalone filter (SVG/BIFS/VRML graphics in a
filter chain)
- Image encoding support through libjpg and libpng
- Full FFMPEG support:
* Encoding/decoding through FFMPEG libavcodec
* Multiplexing/demultiplexing through FFMPEG libavformat
* Device grabbers through FFMPEG libavdevice
* Raw audio and video filters through FFMPEG libavfilter
- Support for QuickJS (ES2002) and bindings for:
* Complete filter API
* GPAC software rasterizer (EVG)
* WebGL 1.0 Core
* XmlHttpRequest and uDOM APIs
* Storage
- Inspect and analyze filter
- MPEG-2 TS splitter
- Video cropper filter with zero-copy mode
- Video flip filter
- Source concatenator filter
- Simple audio and video output filters
- Experimental audio and video rewinder filter
- Encryption
* On-the-fly encryption and decryption, now available as filters
* Segment-based encryption and decryption
- ISOBMFF
* box customization
* Better QT support, prores parsing and dumping
* Support for raw media (QT style or ISOBMFF for audio)
* Simplify HEIF batch conversion through item to track mapping
* Reading from pipes (fragmented or progressive files)
* Writing to packets rather than files
* Fast interleaved file creation mode with less storage requirements
- FileIO wrapper for cases where files are not stored in a file system
known by GPAC
- Testing and Documentation
* Live doc generation (man and wiki)
* Improved coverage
* Split test suite as dedicated repo
* Moved all resource to https://wiki.gpac.io
* Started howto pages on wiki
* Many bug fixes
- support for Dolby Vision meta-data tagging in ISOBMFF
- improved QT support
- bug fixes and security fixes
pkgsrc changes:
- pkglint: define each PLIST_VARS where it's used
* Convert to ffmpeg4 from ffmpeg3
Changelog:
We are happy to announce the new release 0.8.0 of GPAC, featuring AV1, full CENC and ATSC3.0 support.
General
Many security fixes (static compile and fuzzing through AFL, always ongoing).
Many bugs fixes
Added :ncl option in log levels to disable color logs
More tests and coverage
File Formats
Better support of QTFF / ProRes files
Support for AV1
-- import and export
-- source formats: OBUs (Section 5), IVF and AnnexB
-- AV1 in HEIF
Support for color (nclc, nclx and ICC profiles) in HEIF and ISOBMFF
Support for HDR (mdcv, clli) info in HEIF and ISOBMFF
Support for alpha in HEIF
Support for enforcing pasp presence even for 1:1 ratios
HEVC temporal sublayer split in MP4Box
Allow meta storage before mdat for meta-only files (heif and co)
Added option to keep AU delimiter in isobmff samples
Support for opus import
Support for pixi and ccst in HEIF
DolbyVision 'dvcC' and partial 'dvhe' boxes for HDR
Support for VP9 import and playback
Sample dependency in avc and hevc importers, and track thinner for non-refs images
Support for audio_roll signaling
New audio import mode to control AudioSampleEntry creation (v0, v1 ISOBMFF, v1 QTFF)
xHE-AAC import with detection of sync samples
Added support for MPEG-H 3D audio boxes (no import yet)
Handle Vobsub empty SPU packets
Added auxv and pict support
Common Encryption
Fully compliant CENC supporting cenc, cens, cbc1 and cbcs
CENC for AV1
Improved DASH+CENC support, pssh in MPD
ForceClear mode for CENC to skip encryption without sample groups
Made senc in movie fragments always stored before truns
Added default values handling for cbcs and possibility to set protection system per track
Compatibility with OpenSSL 1.1.x
Streaming and Adaptive Streaming
Support for ATSC3.0 both US and Korean versions !
Support for for live splices (xlink period insertions) in DASH client
Automatic period continuity in DASH when no codec change between periods
Added DASH cue-base segmentation (XML based) and -dsap option to generate cue files from source
Support for BBA-0 and BOLA implementations
Write fragment defaults in trex even when not using them
Support for simple ssix for keyframe data byterange at the start of a segment
Moved segment template at AdaptationSet level if only one representation
Changed default bsmode in dasher if single input file
Added init-seg-ext option
Added -mvex-after-traks option to MP4Box when dashing for CMAF
Added segmentation option to insert a tfdt per traf
Added -closest mode for DASH segmentation
Added -bound option to use audio segmenting method for video
Renamed -dash-run-for to -run-for
Added '=' in dash templates
Improved bandwith estimation when using HTTP 1.1 chunk transfer
Add option to force moof base offsets
MP4Box
Added -catpl to concatenate from playlist in MP4Box
Added options to set movie timescale at import and dash time
Added mpd rip option and top-level box compressor in MP4Box
Made -dts skip timing check and added -dtsc for that
Made force-cat option more agressive
Support for MovieFragmentRandomAccess using -mfra option
Added -dtsx to dump timing without offset
Added -dnalc opt for nal CRC dump
Added chunk extraction up to time until end
ISOBMFF single track import now removes references by default
Decoders
Updated ffmpeg to 4.0.2
Moved to openHEVC 3.0 API
Added nvdec support (windows, linux) with reuse of decoder context for tiled VR
Added HEVC support to mediacodec on android
AV1 playback through ffmpeg
Opus playback through ffmpeg
3D, VR and 360
Added vrhud for multiviewpoint 360
Added forced visibility mode of tiles in VR
Added tile visibility debug mode
Added forced stereo output for openhevc
Disable face nav if mouse grabbed
Added simple face tracking vr navigation based on udp commands
Added PSVR support
Added mouse move emulation at window border to force sphere rotation when inactive
Changed tile visibility algo to sample points in mesh
Players (Mobile and Desktop)
Added about extension
Added multiple audio objects in dynamic scene
Added addon splicing of main content
Added mosaic://v1:.:vN url support
Added gaze simulation through mouse and gaze-sphere visibility test
Subtitles
Allow * as argument of -srt|ttxt to dump all possible tracks (#925)
Improved support for WebVTT import
Improved support for WebVTT DASHing/fragmentation
Misc
OSX install now done through PKG and modify PATH env in/etc/paths
Added initial PMT version and disc marker to TS muxer
Moved dektec output to matrix API, added SDI clipping
Added temi periodic toggle and manual toggle in MP42TS
Minor bug fixes from 0.7.0
0.7.0:
General
* Many security fixes (static compile and fuzzing through AFL, always ongoing).
* Colorized log.
* Changed default audio volume to 100% instead of 75%.
* Expose more experimental options through the documentation.
* Improved GLES renderer on mobile platforms.
* Improvements on AVI dump.
* Fixed pkg-config Private.libs.
* SAT>IP playback support.
Codecs and File Formats
* Added L-HEVC File Format support (SHVC/MV-HEVC tracks and HEVC Tile Tracks).
* Added MPEG IFF (image File Format) support.
* Range extension support for AVC and HEVC.
* SHVC and MV-HEVC importers and playback: moved to final spec version (SHM6+).
Adaptive streaming
* Support of HLS with fragmented MP4 playback.
* APIs: gf_mpd_() functions and new segmenter API.
* Improved alternate groups.
* More support for PIFF PSEC and Smooth Streaming ( file format & playback).
* DASH client: pluggable algorithms + improvements with scalable contents.
* The counter source from the DASH sequences added to the public content.
* HLS and DASH playback minor fixes.
* DASH client logs are clearer.
VR and 360
* Added support for DASH SRD in 360 for independent videos videos (NxM partial spheres) more
* Added support for DASH SRD in 360 for HEVC tiled videos (NxM tiles on one sphere) - checkout tuto
Mobile
* Apple VideoToolBox hardware decoding support for OSX and iOS for AVC|H264.
* Android hardware decoding hardware acceleration for AVC|H264 (HEVC on its way).
* YUV422 and YUV444 8 and 10 bit support in GLES renderer.
* Android build is based on Android Studio.
* Android: new File Manager.
Subtitles
* Import of TTML via NHML according to MPEG-4 part 30 improved.
0.6.1:
Fixing packaging bugs in 0.6.0 (wrong version numbers were used).
0.6.0:
General:
Improved very high resolutions, high framerate, and high colorspace (10 bits) playback support.
HEVC top-notch support.
Improved video playback through OpenGL and OpenGL ES.
Video 360 navigation support on all platforms.
Many adaptive streaming improvement (HLS and DASH), see specific section below.
MP42TS (MPEG2-TS multiplexer) is production grade for adaptive streaming and reference vector streams.
TEMI extension for fine synchronization and hybrid delivery (mandated by HbbTV 2.0).
Better language tagging support.
UTF16 name handling.
Better multi-channel audio support.
Improved support for encryption (CENC/PIFF - both AES CTR and CBC are supported).
Improved generic support for subtitles (METX/METT, STPP TTML, WebVTT, SBTT, STXT, etc.).
Parallel execution of GPAC tools.
Better network support for TTL and multi-interface.
SHVC (scalable) experimental (based on SHM4.1 and old ISOBMFF spec)