Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sitkevij/mpn
Rust-based MPEG-4 box inspector with TOML output.
https://github.com/sitkevij/mpn
media media-prober mp4 mpeg rust video
Last synced: about 2 months ago
JSON representation
Rust-based MPEG-4 box inspector with TOML output.
- Host: GitHub
- URL: https://github.com/sitkevij/mpn
- Owner: sitkevij
- License: other
- Created: 2018-02-09T20:20:46.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2023-12-07T06:31:27.000Z (about 1 year ago)
- Last Synced: 2024-05-23T10:10:21.049Z (8 months ago)
- Topics: media, media-prober, mp4, mpeg, rust, video
- Language: Rust
- Homepage:
- Size: 918 KB
- Stars: 9
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-video - sitkevij/mp - (Encoding / Talks Presentations Podcasts)
README
# mpn
[mpn](https://github.com/sitkevij/mpn) is a rust-based command line application which can inspect MPEG-4 media files,
read box information, and output in variable text formats.[![Crates.io](https://img.shields.io/crates/v/mpn?style=flat-square)](https://crates.io/crates/mpn)
[![Crates.io](https://img.shields.io/crates/d/mpn?style=flat-square)](https://crates.io/crates/mpn)
[![GitHub Repo stars](https://img.shields.io/github/stars/sitkevij/mpn)](https://github.com/sitkevij/mpn)
[![GitHub repo size](https://img.shields.io/github/repo-size/sitkevij/mpn)](https://github.com/sitkevij/mpn)
[![main](https://github.com/sitkevij/mpn/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/sitkevij/mpn/actions/workflows/ci.yml?branch=main)
[![docs.rs](https://img.shields.io/docsrs/mpn)](https://docs.rs/mpn/0.2.0/mpn/)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://github.com/sitkevij/mpn/blob/main/LICENSE-APACHE)
[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](https://github.com/sitkevij/mpn/blob/main/LICENSE-MIT)# Help
```sh
mpn 0.2.0
author https://github.com/sitkevij
MPEG-4 media file inspector.USAGE:
mpnFLAGS:
-h, --help Prints help information
-V, --version Prints version informationARGS:
Pass a valid mp4 file path as an argument for inspection
```## CI Status
| branch | ci status |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| main | [![main](https://github.com/sitkevij/mpn/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/sitkevij/mpn/actions/workflows/ci.yml?branch=main) |
| develop | [![develop](https://github.com/sitkevij/mpn/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/sitkevij/mpn/actions/workflows/ci.yml?branch=develop) |## Installation
### crates.io
If cargo installed, this the easiest and fasted way to get up and running:
```sh
cargo install mpn
```### From source
```sh
git clone https://github.com/sitkevij/mpn && \
cd mpn && \
cargo test && \
cargo build --release && \
target/release/mpn tests/files/test-bokeh-au-2t-vd-30f-854x480.mp4
```## Output
```toml
$ mpn tests/files/test-bokeh-au-2t-vd-30f-854x480.mp4[media]
uri = "tests/files/test-bokeh-au-2t-vd-30f-854x480.mp4"
creation_time = "2018-03-14 15:24:40 UTC"
last_modified_time = "2018-03-14 15:24:40 UTC"
last_accessed_time = "2018-03-14 15:28:25 UTC"
[media.track.audio]
track_id = "1"
duration = "TrackScaledTime(50176, 0)"
empty_duration = "MediaScaledTime(0)"
media_time = "TrackScaledTime(0, 0)"
timescale = "TrackTimeScale(48000, 0)"
[media.track.audio.dimension]
channelcount = 2
samplesize = 16
samplerate = 48000.0
[media.track.audio.header]
disabled = true
duration = 30
width = 0
height = 0
[media.track.audio.codec]
codec_name = "ES"
esds.audio_sample_rate = 48000
esds.audio_object_type = 2
[media.track.video]
track_id = "2"
duration = "TrackScaledTime(30, 1)"
empty_duration = "MediaScaledTime(0)"
media_time = "TrackScaledTime(1, 1)"
timescale = "TrackTimeScale(30, 1)"
[media.track.video.dimension]
width = 854
height = 450
[media.track.video.header]
disabled = true
duration = 30
width = 55967744
height = 29491200
[media.track.video.codec]
codec_name = "AVC"
```## License
MIT OR Apache-2.0
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as
defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.