Scene Random Access

MP4Box can encode BIFS or LASeR streams and insert random access points at a given frequency. This is useful when packaging content for broadcast, where users will not turn in the scene at the same time. In MPEG-4 terminology, this is called the _scene carousel_.## BIFS Chunk Processing  
The BIFS chunk encoding mode allows encoding single BIFS access units from an initial context and a set of commands.  
The generated AUs are raw BIFS (not SL-packetized), in files called FILE-ESID-AUIDX.bifs, with FILE the basename of the input file.  
Commands with a timing of 0 in the input will modify the carousel version only (i.e. output context).  
Commands with a timing different from 0 in the input will generate new AUs.  
    
Options:  
<div markdown class="option">
<a id="mp4" data-level="basic">__-mp4__</a>: specify input file is for BIFS/LASeR encoding  
</div>
<div markdown class="option">
<a id="def" data-level="basic">__-def__</a>: encode DEF names in BIFS  
</div>
<div markdown class="option">
<a id="sync" data-level="basic">__-sync__</a> (int): force BIFS sync sample generation every given time in ms (cannot be used with [-shadow](#shadow) or [-carousel](#carousel) )  
</div>
<div markdown class="option">
<a id="shadow" data-level="basic">__-shadow__</a> (int): force BIFS sync shadow sample generation every given time in ms (cannot be used with [-sync](#sync) or [-carousel](#carousel) )  
</div>
<div markdown class="option">
<a id="carousel" data-level="basic">__-carousel__</a> (int): use BIFS carousel (cannot be used with [-sync](#sync) or [-shadow](#shadow) )  
</div>
<div markdown class="option">
<a id="sclog" data-level="basic">__-sclog__</a>: generate scene codec log file if available  
</div>
<div markdown class="option">
<a id="ms" data-level="basic">__-ms__</a> (string): import tracks from the given file  
</div>
<div markdown class="option">
<a id="ctx-in" data-level="basic">__-ctx-in__</a> (string): specify initial context (MP4/BT/XMT) file for chunk processing. Input file must be a commands-only file  
</div>
<div markdown class="option">
<a id="ctx-out" data-level="basic">__-ctx-out__</a> (string): specify storage of updated context (MP4/BT/XMT) file for chunk processing, optional  
</div>
<div markdown class="option">
<a id="resolution" data-level="basic">__-resolution__</a> (int): resolution factor (-8 to 7, default 0) for LASeR encoding, and all coordinates are multiplied by `2^res` before truncation (LASeR encoding)  
</div>
<div markdown class="option">
<a id="coord-bits" data-level="basic">__-coord-bits__</a> (int): number of bits used for encoding truncated coordinates (0 to 31, default 12) (LASeR encoding)  
</div>
<div markdown class="option">
<a id="scale-bits" data-level="basic">__-scale-bits__</a> (int): extra bits used for encoding truncated scales (0 to 4, default 0) (LASeR encoding)  
</div>
<div markdown class="option">
<a id="auto-quant" data-level="basic">__-auto-quant__</a> (int): resolution is given as if using [-resolution](#resolution) but coord-bits and scale-bits are inferred (LASeR encoding)  
</div>
<div markdown class="option">
<a id="global-quant" data-level="basic">__-global-quant__</a> (int): resolution is given as if using [-resolution](#resolution) but the res is inferred (BIFS encoding)  
</div>