[package]
edition = "2024"
rust-version = "1.88"
name = "mp4forge"
version = "0.4.0"
authors = ["bakgio"]
build = false
exclude = [
".github/**",
"fuzz/**",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust library and CLI for inspecting, probing, extracting, and rewriting MP4 box structures"
readme = "README.md"
keywords = [
"mp4",
"isobmff",
"parser",
"video",
"cli",
]
categories = [
"command-line-utilities",
"multimedia::video",
"parser-implementations",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/bakgio/mp4forge"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
serde = ["dep:serde"]
[lib]
name = "mp4forge"
path = "src/lib.rs"
[[bin]]
name = "mp4forge"
path = "src/bin/mp4forge.rs"
[[example]]
name = "dump_selected_paths"
path = "examples/dump_selected_paths.rs"
[[example]]
name = "dump_structured_fields"
path = "examples/dump_structured_fields.rs"
[[example]]
name = "edit_emsg"
path = "examples/edit_emsg.rs"
[[example]]
name = "extract_mdhd_bytes"
path = "examples/extract_mdhd_bytes.rs"
[[example]]
name = "extract_track_ids"
path = "examples/extract_track_ids.rs"
[[example]]
name = "extract_track_ids_typed"
path = "examples/extract_track_ids_typed.rs"
[[example]]
name = "extract_track_ids_typed_bytes"
path = "examples/extract_track_ids_typed_bytes.rs"
[[example]]
name = "extract_track_ids_typed_parsed_path"
path = "examples/extract_track_ids_typed_parsed_path.rs"
[[example]]
name = "probe_codec_details"
path = "examples/probe_codec_details.rs"
[[example]]
name = "probe_lightweight"
path = "examples/probe_lightweight.rs"
[[example]]
name = "probe_media_characteristics"
path = "examples/probe_media_characteristics.rs"
[[example]]
name = "probe_track_count"
path = "examples/probe_track_count.rs"
[[example]]
name = "probe_track_count_bytes"
path = "examples/probe_track_count_bytes.rs"
[[example]]
name = "pssh_report"
path = "examples/pssh_report.rs"
[[example]]
name = "pssh_report_filtered"
path = "examples/pssh_report_filtered.rs"
[[example]]
name = "read_structure"
path = "examples/read_structure.rs"
[[example]]
name = "register_custom_box"
path = "examples/register_custom_box.rs"
[[example]]
name = "rewrite_emsg"
path = "examples/rewrite_emsg.rs"
[[example]]
name = "rewrite_emsg_bytes"
path = "examples/rewrite_emsg_bytes.rs"
[[example]]
name = "validate_divide_layout"
path = "examples/validate_divide_layout.rs"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.terminal_size]
version = "0.4"
[dev-dependencies.serde_json]
version = "1"