All Projects → gpac → Gpac

gpac / Gpac

Licence: lgpl-2.1
Modular Multimedia framework for packaging, streaming and playing your favorite content.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Gpac

Ffplayout Engine
python and ffmpeg based playout
Stars: ✭ 128 (-90.31%)
Mutual labels:  broadcast, streaming, hls
Awesome Video
A curated list of awesome streaming video tools, frameworks, libraries, and learning resources.
Stars: ✭ 397 (-69.95%)
Mutual labels:  mp4, streaming, hls
Nginx Vod Module
NGINX-based MP4 Repackager
Stars: ✭ 1,378 (+4.31%)
Mutual labels:  mp4, streaming, hls
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+1972.82%)
Mutual labels:  mp4, streaming, hls
Mediaelement
HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, enabling a consistent UI in all browsers.
Stars: ✭ 7,767 (+487.96%)
Mutual labels:  mp4, streaming, hls
Sjmediacacheserver
A HTTP Media Caching Framework. It can cache FILE or HLS media. 音视频边播边缓存框架, 支持 HLS(m3u8) 和 FILE(mp4, mp3等).
Stars: ✭ 87 (-93.41%)
Mutual labels:  mp4, hls
Fastocloud
Self-hosted IPTV/NVR/CCTV/Video service (Community version)
Stars: ✭ 464 (-64.88%)
Mutual labels:  broadcast, hls
Mediaelement Files
Sample media files (MP4, WebM, Ogv, MP3, etc.) for the MediaElement.js library
Stars: ✭ 92 (-93.04%)
Mutual labels:  mp4, hls
Clappr
🎬 An extensible media player for the web.
Stars: ✭ 5,436 (+311.51%)
Mutual labels:  mp4, hls
Yuna
ツ An anime player that integrates with AniList, Simkl, Crunchyroll, and Hidive.
Stars: ✭ 361 (-72.67%)
Mutual labels:  streaming, hls
Server
CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
Stars: ✭ 572 (-56.7%)
Mutual labels:  graphics, broadcast
Video Stream.js
🔜 📼 Video stream middleware for express.js
Stars: ✭ 37 (-97.2%)
Mutual labels:  mp4, streaming
Xgplayer
A HTML5 video player with a parser that saves traffic
Stars: ✭ 4,792 (+262.76%)
Mutual labels:  mp4, hls
Ustreamer
µStreamer - Lightweight and fast MJPG-HTTP streamer
Stars: ✭ 533 (-59.65%)
Mutual labels:  broadcast, streaming
Mxreality.js
普通全景视频,直播全景视频,hls和flv全景VR视频直播,全景图片、VR模型、多终端自适应
Stars: ✭ 386 (-70.78%)
Mutual labels:  hls, vr
Webxdownloader
Browser extension to download Webex meeting recordings
Stars: ✭ 52 (-96.06%)
Mutual labels:  mp4, hls
Node Media Server
Node.js Media Server / VOD / HLS / DRM
Stars: ✭ 49 (-96.29%)
Mutual labels:  mp4, hls
Shinobi
☮️ 🇵🇸 Shinobi CE - The Free Open Source CCTV platform written in Node.JS (Camera Recorder - Security Surveillance Software - Restreamer
Stars: ✭ 1,099 (-16.81%)
Mutual labels:  mp4, hls
Enterprisepbrshadingmodel
Stars: ✭ 299 (-77.37%)
Mutual labels:  graphics, vr
Vue Babylonjs
A ready-to-go 3d environment for Vue.js using Babylon.js
Stars: ✭ 356 (-73.05%)
Mutual labels:  graphics, vr

Build Status Tests

Build Status Tests

Build Status Tests

Build Status Tests

Build Status Tests

Build Status Build Status

Coverage Coverage

License OpenHub

GPAC Introduction

Current version: 1.1-DEV

Latest Release: 1.0.1

GPAC is an open-source multimedia framework focused on modularity and standards compliance. GPAC provides tools to process, inspect, package, stream, playback and interact with media content. Such content can be any combination of audio, video, subtitles, metadata, scalable graphics, encrypted media, 2D/3D graphics and ECMAScript. GPAC is best-known for its wide MP4 capabilities and is popular among video enthusiasts, academic researchers, standardization bodies, and professional broadcasters.

For more information, visit GPAC website

GPAC is distributed under the LGPL v2.1 or later, and is also available, for most of it, under a commercial license.

Please cite our work in your research:

Features

GPAC can process, analyse, package, stream, encode, decode and playback a wide variety of contents. Selected feature list:

  • Audio: MPEG audio (mp1/2/3, aac), AC3, E-AC3, Opus, FLAC, …
  • Video: MPEG 1 / 2 / 4 (H264/AVC) / H (HEVC), AV1, VP9, Theora, ...
  • Subtitles: WebVTT, TTML (full, EBU-TTD, …), 3GPP/Apple Timed Text, …
  • Encryption: CENC, PIFF, ISMA, OMA, ...
  • Containers: MP4/fMP4/CMAF/Quicktime MOV/ProRes MOV, AVI, MPG, OGG, MKV, ...
  • Streaming: MPEG-2 Transport Stream, RTP, RTSP, HTTP, Apple HLS, MPEG-DASH, ATSC 3.0 ROUTE, ...
  • Supported IOs: local files, pipes, UDP/TCP, HTTP(S), custom IO
  • Presentation formats: MPEG-4 BIFS, SVG Tiny 1.2, VRML/X3D
  • JS scripting through QuickJS for both SVG/BIFS/VRML and extending GPAC framework tools
  • 3D support (360 videos, WebGL JS filters…)
  • Inputs: microphone, camera, desktop grabbing
  • Highly configurable media processing pipeline

Features are encapsulated in processing modules called filters:

  • to get the full list of available features, you can run the command line gpac -h filters or check filters' wiki.
  • to get the full list of playback features, check the dedicated wiki page.

Tools

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, man MP4Box or our wiki.

gpac

As of version 0.9.0, GPAC includes a filter engine in charge of stream management and used by most applications in GPAC - read this post for more discussion on how this impacts MP4Box and MP4Client. The gpac application is a direct interface to the filter engine of GPAC, allowing any combinaison of filters not enabled by other applications. See gpac -h, man gpac, man gpac-filters or our wiki for more details.

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 MP4Client -h , man MP4Client or our wiki.

Getting started

Download

Stable and nightly builds installers for Windows, Linux, OSX, Android, iOS are available on gpac.io.

If you want to compile GPAC yourself, please follow the instructions in the build section of our wiki.

Documentation

The general GPAC framework documentation is available on wiki.gpac.io, including HowTos.

GPAC tools are mostly wrappers around an underlying library called libgpac which can easily be embedded in your projects. The libgpac developer documentation is available at doxygen.gpac.io, including documentation of JS APIs.

Testing

GPAC has a test suite exercising most features of the framework. The test suite is in a separate repository https://github.com/gpac/testsuite/, but is available as a submodule of the GPAC main repository. To initialize the testsuite submodule, do git submodule update --init.

For more details on the test suite, read this page and check the testsuite readme.

Per-commit build and tests results are available.

Support

Please use github for feature requests and bug reports. When filing a request there, please tag it as feature-request.

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.

If you use GPAC in your published research, ! please cite ! using

If you want to contribute to GPAC, you can find ideas at GSoC page or look for ‘good first issue’ on github. In any doubt please feel free to contact us.

Team

GPAC is brought to you by an experienced team of developers with a wide track-record on media processing.

The project is mainly developed at Telecom Paris, in the MultiMedia group, with the help of many great contributors

GPAC has a peculiar story: started as a startup in NYC, GPAC gained traction from research and a nascent multimedia community as it was open-sourced in 2003. Since then we have never stopped transforming GPAC into a useful and up-to-date project, with many industrial R&D collaborations and a community of tens of thousands of users. This makes GPAC one of the few open-source multimedia projects that gathers so much diversity.

Roadmap

Users are encouraged to use the latest tag or the master branch.

The previous v0.8.X release (the last one using the legacy architecture) is LTS until 30/06/2021. Important bug fixes will be backported but new features won’t. API compatibility between both versions should make the migration easy. If not please file a bug.

Ongoing tasks and bugs

Please use github for feature requests and bug reports. When filing a request there, please tag it as feature-request.

V1.1.0

Targets:

  • [ ] add kvazaar/other encoders support?
  • [ ] improve remotery support
  • [x] more JS filters
  • [x] Python bindings for libgpac
  • [ ] move input sensors to filter ?
  • [ ] fixed features disabled during rearchitecture or drop them (FILTER_FIXME macro)
  • [x] move Android client to filters
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].