File: help_avi.fqtest

package info (click to toggle)
fq 0.9.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 106,624 kB
  • sloc: xml: 2,835; makefile: 250; sh: 241; exp: 57; ansic: 21
file content (44 lines) | stat: -rw-r--r-- 1,604 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
$ fq -h avi
avi: Audio Video Interleaved decoder

Options
=======

  decode_extended_chunks=true  Decode extended chunks
  decode_samples=true          Decode samples

Decode examples
===============

  # Decode file as avi
  $ fq -d avi . file
  # Decode value as avi
  ... | avi
  # Decode file using avi options
  $ fq -d avi -o decode_extended_chunks=true -o decode_samples=true . file
  # Decode value as avi
  ... | avi({decode_extended_chunks:true,decode_samples:true})

Samples
=======
AVI has many redundant ways to index samples so currently .streams[].samples will only include samples the most "modern" way used in
the file. That is in order of stream super index, movi ix index then idx1 index.

Extract samples for stream 1
============================
  $ fq '.streams[1].samples[] | tobytes' file.avi > stream01.mp3

Show stream summary
===================
  $ fq -o decode_samples=false '[.chunks[0] | grep_by(.id=="LIST" and .type=="strl") | grep_by(.id=="strh") as {$type} | grep_by(.id=="strf") as {$format_tag, $compression} | {$type,$format_tag,$compression}]' *.avi

Speed up decoding by disabling sample and extended chunks decoding
==================================================================
If your not interested in sample details or extended chunks you can speed up decoding by using:

  $ fq -o decode_samples=false -o decode_extended_chunks=false d file.avi

References
==========
- AVI RIFF File Reference (https://learn.microsoft.com/en-us/windows/win32/directshow/avi-riff-file-reference)
- OpenDML AVI File Format Extensions (http://www.jmcgowan.com/odmlff2.pdf)