https://github.com/steinwurf/petro
mp4 parser
https://github.com/steinwurf/petro
mp4 mp4box parser
Last synced: about 1 year ago
JSON representation
mp4 parser
- Host: GitHub
- URL: https://github.com/steinwurf/petro
- Owner: steinwurf
- License: bsd-3-clause
- Created: 2015-11-18T12:12:04.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-07T04:53:07.000Z (over 1 year ago)
- Last Synced: 2025-03-21T00:25:51.915Z (over 1 year ago)
- Topics: mp4, mp4box, parser
- Language: C++
- Homepage: https://steinwurf-petro.netlify.app/latest/
- Size: 19 MB
- Stars: 3
- Watchers: 11
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: NEWS.rst
- License: LICENSE.rst
Awesome Lists containing this project
README
=====
petro
=====
|Linux make-specs| |Windows make-specs| |MacOS make-specs| |Linux CMake| |Windows CMake| |MacOS CMake| |Valgrind| |No Assertions| |Clang Format| |Cppcheck|
.. |Linux make-specs| image:: https://github.com/steinwurf/petro/actions/workflows/linux_mkspecs.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/linux_mkspecs.yml
.. |Windows make-specs| image:: https://github.com/steinwurf/petro/actions/workflows/windows_mkspecs.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/windows_mkspecs.yml
.. |MacOS make-specs| image:: https://github.com/steinwurf/petro/actions/workflows/macos_mkspecs.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/macos_mkspecs.yml
.. |Linux CMake| image:: https://github.com/steinwurf/petro/actions/workflows/linux_cmake.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/linux_cmake.yml
.. |Windows CMake| image:: https://github.com/steinwurf/petro/actions/workflows/windows_cmake.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/windows_cmake.yml
.. |MacOS CMake| image:: https://github.com/steinwurf/petro/actions/workflows/macos_cmake.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/macos_cmake.yml
.. |Clang Format| image:: https://github.com/steinwurf/petro/actions/workflows/clang-format.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/clang-format.yml
.. |No Assertions| image:: https://github.com/steinwurf/petro/actions/workflows/nodebug.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/nodebug.yml
.. |Valgrind| image:: https://github.com/steinwurf/petro/actions/workflows/valgrind.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/valgrind.yml
.. |Cppcheck| image:: https://github.com/steinwurf/petro/actions/workflows/cppcheck.yml/badge.svg
:target: https://github.com/steinwurf/petro/actions/workflows/cppcheck.yml
.. image:: ./petro.svg
:height: 200px
:width: 200px
petro is an mp4 parser which allows you to extract all kinds of information.
The implementation is based on `ISO/IEC 14496-12 `_,
link to the `2015 revision `_
Usage
=====
.. image:: ./petro.gif
More examples of how to use petro is located in the examples folder.
Building shared library
-----------------------
Configure with -fPIC to enable building a shared lib::
./waf configure ... --cxxflags=-fPIC
The `-fPIC` flag is needed to build a shared library read more about that here:
http://stackoverflow.com/a/19768349
Use as Dependency in CMake
--------------------------
To depend on this project when using the CMake build system, add the following
in your CMake build script:
::
add_subdirectory("/path/to/petro" petro)
target_link_libraries( steinwurf::petro)
Where ```` is replaced by your target.