mirror of
https://github.com/wader/fq.git
synced 2024-12-23 13:22:58 +03:00
mp4,doc: Add JSON box tree example and reorder a bit
This commit is contained in:
parent
502e1e3059
commit
1dea40e6af
@ -705,6 +705,31 @@ Decode value as mp4
|
||||
... | mp4({allow_truncated:false,decode_samples:true})
|
||||
```
|
||||
|
||||
### Speed up decoding by not decoding samples
|
||||
|
||||
```sh
|
||||
# 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
|
||||
|
||||
```sh
|
||||
$ fq 'first(grep_by(.type=="elst").entries) | tovalue' file.mp4
|
||||
```
|
||||
|
||||
### Whole box tree as JSON (exclude mdat data and tracks)
|
||||
|
||||
```sh
|
||||
$ fq 'del(.tracks) | grep_by(.type=="mdat").data = "<excluded>" | tovalue' file.mp4
|
||||
```
|
||||
|
||||
### Force decode a single box
|
||||
|
||||
```sh
|
||||
$ fq -n '"AAAAHGVsc3QAAAAAAAAAAQAAADIAAAQAAAEAAA==" | frombase64 | mp4({force:true}) | d'
|
||||
```
|
||||
|
||||
### Lookup mp4 box using a mp4 box path.
|
||||
|
||||
```sh
|
||||
@ -719,25 +744,6 @@ $ fq 'mp4_path(".moov.trak[1]")' file.mp4
|
||||
$ fq 'grep_by(.type == "trak") | mp4_path' file.mp4
|
||||
```
|
||||
|
||||
### Force decode a single box
|
||||
|
||||
```sh
|
||||
$ fq -n '"AAAAHGVsc3QAAAAAAAAAAQAAADIAAAQAAAEAAA==" | frombase64 | mp4({force:true}) | d'
|
||||
```
|
||||
|
||||
### Speed up decoding by not decoding samples
|
||||
|
||||
```sh
|
||||
# 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
|
||||
|
||||
```sh
|
||||
$ fq 'first(grep_by(.type=="elst").entries) | tovalue' file.mp4
|
||||
```
|
||||
|
||||
### References
|
||||
|
||||
- [ISO/IEC base media file format (MPEG-4 Part 12)](https://en.wikipedia.org/wiki/ISO/IEC_base_media_file_format)
|
||||
|
@ -1,3 +1,28 @@
|
||||
### Speed up decoding by not decoding samples
|
||||
|
||||
```sh
|
||||
# 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
|
||||
|
||||
```sh
|
||||
$ fq 'first(grep_by(.type=="elst").entries) | tovalue' file.mp4
|
||||
```
|
||||
|
||||
### Whole box tree as JSON (exclude mdat data and tracks)
|
||||
|
||||
```sh
|
||||
$ fq 'del(.tracks) | grep_by(.type=="mdat").data = "<excluded>" | tovalue' file.mp4
|
||||
```
|
||||
|
||||
### Force decode a single box
|
||||
|
||||
```sh
|
||||
$ fq -n '"AAAAHGVsc3QAAAAAAAAAAQAAADIAAAQAAAEAAA==" | frombase64 | mp4({force:true}) | d'
|
||||
```
|
||||
|
||||
### Lookup mp4 box using a mp4 box path.
|
||||
|
||||
```sh
|
||||
@ -12,25 +37,6 @@ $ fq 'mp4_path(".moov.trak[1]")' file.mp4
|
||||
$ fq 'grep_by(.type == "trak") | mp4_path' file.mp4
|
||||
```
|
||||
|
||||
### Force decode a single box
|
||||
|
||||
```sh
|
||||
$ fq -n '"AAAAHGVsc3QAAAAAAAAAAQAAADIAAAQAAAEAAA==" | frombase64 | mp4({force:true}) | d'
|
||||
```
|
||||
|
||||
### Speed up decoding by not decoding samples
|
||||
|
||||
```sh
|
||||
# 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
|
||||
|
||||
```sh
|
||||
$ fq 'first(grep_by(.type=="elst").entries) | tovalue' file.mp4
|
||||
```
|
||||
|
||||
### References
|
||||
|
||||
- [ISO/IEC base media file format (MPEG-4 Part 12)](https://en.wikipedia.org/wiki/ISO/IEC_base_media_file_format)
|
||||
|
37
format/mp4/testdata/help_mp4.fqtest
vendored
37
format/mp4/testdata/help_mp4.fqtest
vendored
@ -19,6 +19,27 @@ Decode examples
|
||||
# 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==" | frombase64 | mp4({force:true}) | d'
|
||||
|
||||
Lookup mp4 box using a mp4 box path.
|
||||
====================================
|
||||
|
||||
@ -31,22 +52,6 @@ Get mp4 box path for a decode value box.
|
||||
# <decode value box> | mp4_path -> string
|
||||
$ fq 'grep_by(.type == "trak") | mp4_path' file.mp4
|
||||
|
||||
Force decode a single box
|
||||
=========================
|
||||
|
||||
$ fq -n '"AAAAHGVsc3QAAAAAAAAAAQAAADIAAAQAAAEAAA==" | frombase64 | mp4({force:true}) | d'
|
||||
|
||||
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
|
||||
|
||||
References
|
||||
==========
|
||||
- ISO/IEC base media file format (MPEG-4 Part 12) (https://en.wikipedia.org/wiki/ISO/IEC_base_media_file_format)
|
||||
|
Loading…
Reference in New Issue
Block a user