All Projects → MPEGGroup → isobmff

MPEGGroup / isobmff

Licence: other
Official repository of the ISO Base Media File Format Reference Software

Programming Languages

c
50402 projects - #5 most used programming language
HTML
75241 projects
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
CMake
9771 projects
shell
77523 projects

Projects that are alternatives of or similar to isobmff

mp4-rust
🎥 MP4 reader and writer library in Rust! 🦀
Stars: ✭ 149 (+98.67%)
Mutual labels:  mp4, isobmff
MP4Parse
C++ library for MP4 file parsing.
Stars: ✭ 55 (-26.67%)
Mutual labels:  mp4, mpeg
SSffmpegVideoOperation
This is a library of FFmpeg for android... 📸 🎞 🚑
Stars: ✭ 261 (+248%)
Mutual labels:  mp4, mpeg
mp4
🎥 Basic MP4 reader in Go! CLI + Golang Package for ISO/IEC 14496-12 - ISO Base Media File Format
Stars: ✭ 75 (+0%)
Mutual labels:  mp4, mpeg-4
gdcl.co.uk-mpeg4
DirectShow MPEG-4 Part 14 (.MP4) Multiplexer and Demultiplexer Filters
Stars: ✭ 27 (-64%)
Mutual labels:  mp4, mpeg-4
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+36409.33%)
Mutual labels:  mp4, mpeg
slibs
Single file libraries for C/C++
Stars: ✭ 80 (+6.67%)
Mutual labels:  mp4, mpeg
mp4analyser
mp4 file analyser written in Python
Stars: ✭ 50 (-33.33%)
Mutual labels:  mp4, mpeg
DumpTS
Extract elementary stream from all kinds of media files, show inside media meta information and reconstruct Transport-Stream, ISOBMFF, Matroska and MMT media files
Stars: ✭ 25 (-66.67%)
Mutual labels:  mp4, isobmff
ffcvt
ffmpeg convert wrapper tool
Stars: ✭ 32 (-57.33%)
Mutual labels:  mp4
ffmp4muxer
No description or website provided.
Stars: ✭ 28 (-62.67%)
Mutual labels:  mp4
Frames
Retrieves desired frames from video.
Stars: ✭ 51 (-32%)
Mutual labels:  mp4
loudgain
ReplayGain 2.0 loudness normalizer based on the EBU R128/ITU BS.1770 standard (-18 LUFS, FLAC, Ogg, MP2, MP3, MP4, M4A, AAC, ALAC, Opus, ASF, WMA, WAV, AIFF, WavPack, APE)
Stars: ✭ 127 (+69.33%)
Mutual labels:  mp4
jsmpeg-stream-go
MPEG1 streaming demo with jsmpeg implemented by Go
Stars: ✭ 14 (-81.33%)
Mutual labels:  mpeg
ZLMediaKit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Stars: ✭ 7,790 (+10286.67%)
Mutual labels:  mp4
hls-ts-js
HLS MPEG-TS parser library in Javascript
Stars: ✭ 35 (-53.33%)
Mutual labels:  mpeg
devtube
Laravel YouTube and Online Video viewing and download interface.
Stars: ✭ 30 (-60%)
Mutual labels:  mp4
viewts
Display PCR, DTS, PTS, bitrate, jitter of a mpeg TS.
Stars: ✭ 46 (-38.67%)
Mutual labels:  mpeg
transport-stream-online-segmenter
Transport stream web based HLS segmenter.
Stars: ✭ 30 (-60%)
Mutual labels:  mpeg
karaoke-forever
Open karaoke party system
Stars: ✭ 180 (+140%)
Mutual labels:  mp4

ISO Base Media File Format (ISOBMFF)

This repository is the official repository for the ISO Base Media File Format Reference Software.

The ISO base media file format is published by ISO as part 12 of the MPEG-4 specifications, ISO/IEC 14496-12. As such, it implements and conforms to part of MPEG-4. This part of MPEG-4 is used heavily by standards other than MPEG-4, and this reference software is often used by the reference software for those other standards, but still provides, in those contexts, an implementation "claiming conformance to MPEG-4".

Updates to the reference software can be submitted using Pull Requests but are subject to approval by MPEG, and a formal input contribution should be submitted to MPEG.

When possible, it is preferred that separate Pull Requests for fixes/enhancements to the build system and for fixes/enhancements to the software features.

Documentation

The general documentation of the public exported API is available at gh-pages and can also be generated locally with Doxygen by running:

doxygen Doxyfile

In addition, several How to use examples as well as the old version of the API (extracted from isofile.doc) are provided in the following Wiki.

Development

The repository contains the libisomediafile which is a library implementing the ISO base media file format. In addition, several tools to read and write files based on this specification are provided.

Requirements

Compiling

It is recommended to use cmake to build the software in this repository. However, this repository also contains old project files for some IDE's which are no longer maintained and are kept in the repository just to maintain compatibility with other software from MPEG.

Example of commands to build the entire toolset on a Linux platform.

git clone https://github.com/MPEGGroup/isobmff.git
cd isobmff
mkdir build && cd build
cmake ..
make

Cross platform

CMake allows to generate build scripts for different platforms. For instance:

cmake -G "Visual Studio 16 2019" -A ARM64

For more generators, please see CMake documentation.

Note also that certain IDE may be able to natively parse a CMakeLists.txt in which case there is no need to generate specific build scripts. Please refer to your IDE's documentation on how to best handle CMake-based projects.

Individual compilation

If you are only interested in certain tools, you can build them individually.

For instance, the libisomediafile can be built using make libisomediafile when using Unix Makefile.

For a complete list, please refer to the generated build scripts, for instance with Unix Makefile:

$ make help
The following are some of the valid targets for this Makefile:
... all (the default if no target is provided)
... clean
... depend
... rebuild_cache
... edit_cache
... libuniDrcBitstreamDecoderLib
... libwavIO
... libreadonlybitbuf
... libwriteonlybitbuf
... TLibDecoder
... TLibCommon
... libisomediafile
... makeAudioMovieSample
... playAudioMovieSample
... DRC_to_MP4
... MP4_to_DRC
... hevc_muxer
... hevc_demuxer
... hevc_extractors
... protectAudioMovie
... libisoiff
... isoiff_tool
... WAV_to_MP4
... MP4_to_WAV
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].