mirror of
https://github.com/wader/fq.git
synced 2024-12-23 13:22:58 +03:00
dec433fc53
Also fix ugly last line break hack
60 lines
1.7 KiB
Plaintext
60 lines
1.7 KiB
Plaintext
$ fq -h mp4
|
|
mp4: ISOBMFF, QuickTime and similar decoder
|
|
|
|
Options
|
|
=======
|
|
|
|
allow_truncated=false Allow box to be truncated
|
|
decode_samples=true Decode samples
|
|
|
|
Decode examples
|
|
===============
|
|
|
|
# Decode file as mp4
|
|
$ fq -d mp4 . file
|
|
# Decode value as mp4
|
|
... | mp4
|
|
# Decode file using mp4 options
|
|
$ fq -d mp4 -o allow_truncated=false -o decode_samples=true . file
|
|
# Decode value as mp4
|
|
... | mp4({allow_truncated:false,decode_samples:true})
|
|
|
|
Speed up decoding by not decoding samples
|
|
=========================================
|
|
|
|
# manually decode first sample as a aac_frame
|
|
$ fq -o decode_samples=false '.tracks[0].samples[0] | aac_frame | d' file.mp4
|
|
|
|
Entries for first edit list as values
|
|
=====================================
|
|
|
|
$ fq 'first(grep_by(.type=="elst").entries) | tovalue' file.mp4
|
|
|
|
Whole box tree as JSON (exclude mdat data and tracks)
|
|
=====================================================
|
|
|
|
$ fq 'del(.tracks) | grep_by(.type=="mdat").data = "<excluded>" | tovalue' file.mp4
|
|
|
|
Force decode a single box
|
|
=========================
|
|
|
|
$ fq -n '"AAAAHGVsc3QAAAAAAAAAAQAAADIAAAQAAAEAAA==" | from_base64 | mp4({force:true}) | d'
|
|
|
|
Lookup mp4 box using a mp4 box path.
|
|
====================================
|
|
|
|
# <decode value box> | mp4_path($path) -> <decode value box>
|
|
$ fq 'mp4_path(".moov.trak[1]")' file.mp4
|
|
|
|
Get mp4 box path for a decode value box.
|
|
========================================
|
|
|
|
# <decode value box> | mp4_path -> string
|
|
$ fq 'grep_by(.type == "trak") | mp4_path' file.mp4
|
|
|
|
References
|
|
==========
|
|
|
|
- ISO/IEC base media file format (MPEG-4 Part 12) (https://en.wikipedia.org/wiki/ISO/IEC_base_media_file_format)
|
|
- Quicktime file format (https://developer.apple.com/standards/qtff-2001.pdf)
|