gpac(1) GPAC gpac(1) (NAME) gpac - GPAC (SYNOPSIS) gpac [options]FILTER[LINK]FILTER[...] (DESCRIPTION) GPAC . gpac -h myfilter . inspect : (Packet inspector) inspect (dump) PID . (payload) . PID . .I full .I mode frame PID PID . . : .I xml .I analyze .I fmt -for-test .I full true . (Custom property dumping) .I fmt . . $TOKEN$ . '$' '@' '%' TOKEN . TOKEN : * pn: ( framed) * dts: N/A * ddts: N/A * cts: N/A * dcts: N/A * ctso: N/A * tmcd: SEI N/A ( reframer) * dur: * frame: * interface: (AU) ( ). GL * frame_full: (AU) * frame_start: * frame_end: * frame_cont: ( ) * sap rap: SAP * ilace: (0: progressive 1: top field 2: bottom field) * corr: * seek: (seek) * bo: N/A * roll: roll * crypt: (crypt) * vers: carousel * size: * csize: * crc: CRC * lf n: * t: * data: ( !) UTF-8 * lp: (leading picture) * depo: * depf: * red: (redundant coding) * start: HH:MM:SS.ms * startc: HH:MM:SS,ms * end: HH:MM:SS.ms * endc: HH:MM:SS,ms * ck: PCR * pcr: PCR MPEG-2 TS n/a * pcrd: PCR PCR n/a * pcrc: PCR PCR n/a * P4CC: 4CC * PropName: * pid.P4CC: 4CC PID * pid.PropName: PID * fn: fmt="PID $pid.ID$ packet $pn$ DTS $dts$ CTS $cts$ $lf$" cts dts : PID 1 packet 10 DTS 100 CTS 108 \n . : (interleaved) PID . (Buffering) HAS. . media@info media@debug . .I speed . (real-time) reframer inspect . gpac -i SRC reframer:rt=on inspect:buffer=10000:rbuffer=1000:mbuffer=30000:speed=2 2x . () (Options (expert)): log (str : stdout : _any|stderr|stdout|GLOG|TL|null): probe * _any: * stderr: stderr * stdout: stdout * GLOG: GPAC app@info * TL: GPAC TL info * null: (silent) mode (enum : pck): (dump) * pck: * blk: * frame: reframer * raw: (demultiplexing) interleave (bool : true): PID. false PID deep (bool : false ): PID .I fmt props (bool : true ): .I fmt dump_data (bool : false ): ( ) .I fmt fmt (str ): hdr (bool : true): fmt '$' "pid" allp (bool : false): PID info (bool : false ): PID full (bool : false ): PID ( XML ) pcr (bool : false ): PCR M2TS speed (dbl : 1.0): . start 0 start -1 start (dbl : 0.0): . -1 dur (frac : 0/0): (inspect) analyze (enum : off ): (NALU OBU) -bsdbg reframer * off: * on: * bs: ( bitstream) * full: (N) ( ) xml (bool : false ): xml ( (-analyze]() ) .I fmt crc (bool : false ): crc (NALU OBU) fftmcd (bool : false ): ffmpeg QT dtype (bool : false ): buffer (uint : 0): mbuffer (uint : 0): . buffer buffer rbuffer (uint : 0 ): . 0 buffer stats (bool : false): PID timeout (uint : 5000): (timeout) PID test (enum : no ): * no: * noprop: / PID * network: URL/ (cache) ( ) * netx: network (track duration) (templates) ( fmp4 ) * encode: network ( ) * encx: encode * nocrc: CRC * nobr: (bitrate) : Probe ( MP4Box) PID ( ...) . PID .I log . PID . () (OPTIONS (expert)): log (str, : stdout, Enum: _any|stderr|stdout|GLOG|null): probe * _any: * stderr: stderr * stdout: stdout * GLOG: GPAC app@info * null: compositor : (Compositor) GPAC . media-client (filter- only) . (Media-client mode) (pseudo-sink) . PID GPU . . . (Filter mode) . () . ( BIFS / SVG / VRML ) .I fps . .I dur . PID . : - rgb - rgba .I opfmt . .I opfmt .I bc alpha=0 . filter-only gpid:// PID . PID Background2D BIFS ( SVG ) pass-through . PID (pass- through) . . (2D rasterizer) ( YUV) . ( ) . OpenGL (offscreen surface) OpenGL . (Specific URL syntaxes) URL GPAC . URL : * views:// : - (auto-stereo) N views://v1::.::vN * mosaic:// : N mosaic://v1::.::vN vN URL GPAC . views:// .I nbviews : - URL - URL .I src : gpac compositor:src=source.mp4 vout URL : gpac -i mosaic://URL1:URL2 vout aa (enum : all ): (anti-aliasing) * none: * text: * all: hlfill (uint : 0x0 ): (ARGB) hlline (uint : 0xFF000000 ): (ARGB) hllinew (flt : 1.0 ): sz (bool : true ): . . bc (uint : 0 ): yuvhw (bool : true ): YUV blit blitp (bool : true ): (hardware blit ). softblt (bool : true): blit/ 2D. stress (bool : false ): (stress) ( ) fast (bool : false ): - / bvol (enum : no ): (bounding volume) * no: * box: (2D) (3D) * aabb: (3D) (2D) textxt (enum : default ): (texture) . 3D * default: OpenGL 2D * never: * always: out8b (bool : false ): GPU drop (bool : false ): . sclock (bool : false ): sgaze (bool : false ): (gaze) ckey (uint : 0 ): (color key) (0xFFRRGGBB). GPAC blitting . timeout (uint : 10000 ): ( ) fps (frac : 30/1 ): ( ) timescale (uint : 0 ): PID . fps autofps (bool : true): fps player . .I fps vfr (bool : false): . ( true ) dur (dbl : 0 ): . . fsize (bool : false ): (bitmap) BIFS mode2d (enum : defer ): (immediate) * immediate: ( pass-through ) * defer: (dirty rectangles) * debug: amc (bool : true): (down- mix) . asr (uint : 0): ( ) ach (uint : 0): ( ) alayout (uint : 0): ( ) afmt (afmt : s16 Enum: none|u8|s16|s16b|s24|s24b|s32|s32b|flt|fltb|dbl|dblb|u8p|s16p|s24p|s32p|fltp|dblp): ( ) asize (uint : 1024): abuf (uint : 100): - PID . (real- time) avol (uint : 100 ): apan (uint : 50 ): (pan) async (bool : true ): max_aspeed (dbl : 2.0 ): max_vspeed (dbl : 4.0 ): I buffer (uint : 3000 ): ( BufferLength PID ) rbuffer (uint : 1000 ): ( RebufferLength PID ) mbuffer (uint : 3000 ): ( BufferMaxOccupancy PID ) ntpsync (uint : 0 ): NTP ( NTP NTP ) NTP nojs (bool : false): javascript noback (bool : false): (viewport) ( PNG ) ogl (enum : auto ): 2D * auto: on off hybrid * off: OpenGL 3D * on: OpenGL (polygon tesselation) 2D 2D * hybrid: 2D ( ) OpenGL 2D 3D pbo (bool : false ): PixelBufferObjects YUV GPU OpenGL. nav (enum : none ): MPEG-4/VRML (Walk) X3D (Examine) * none: * walk: * fly: ( ) * pan: / (zoom/pan) 2D/3D * game: ( ) * slide: 2D/3D * exam: 2D/3D * orbit: 3D * vr: (yaw/pitch/roll) linegl (bool : false ): OpenGL epow2 (bool : true ): OpenGL ( ). OpenGL * true: (padding) . * false: paa (bool : false ): . bcull (enum : on ): (backface culling) * on: * off: * alpha: wire (enum : none ): (wireframe) * none: * only: * solid: norms (enum : none ): () * none: * face: * vertex: rext (bool : true ): GL () cull (bool : true ): aabb: depth_gl_scale (flt : 100 ): depth_gl_type (enum : none ): * none: * point: + * strip: point nbviews (uint : 0 ): (stereo) stereo (enum : none ): (). OpenGL top side * none: * side: * top: ( ) ( ) * hmd: side * ana: ( ) ( views=2) * cols: ( views=2) * rows: ( views=2) * spv5: SpatialView ( views=5) * alio8: Alioscopy ( views=8) * custom: .I mvshader . uniform sampler2D gfViewX X mvshader (str ): fpack (enum : none ): * none: * top: * side: camlay (enum : offaxis ): * straight: * offaxis: (off-axis) * linear: * circular: iod (flt : 6.4 ): ( ) ( ). rview (bool : false ): dbgpack (bool : false ): ( ) tvtn (uint : 30 ): tvtt (uint : 8 ): tvtd (enum : off ): SRD * off: * partial: * full: tvtf (bool : false ): (viewpoint) fov (flt : 1.570796326794897 ): VR vertshader (str): (vertex shader) fragshader (str): (fragment shader) autocal (bool : false ): znear/zfar dispdepth (sint : -1 ): dispdist (flt : 50 ): (zero- disparity plane). GPAC focdist (flt : 0 ): osize (v2di : 0x0 ): . dpi (v2di : 96x96 ): dpi dbgpvr (flt : 0 ): PVR player (enum : no): (player) * no: * base: * gui: (GUI) noaudio (bool : false): opfmt (pfmt : none Enum: none|yuv420|yvu420|yuv420_10|yuv422|yuv422_10|yuv444|yuv444_10|uyvy|vyuy|yuyv|yvyu|uyvl|vyul|yuyl|yvyl|nv12|nv21|nv1l|nv2l|yuva|yuvd|yuv444a|yuv444p|v308|yuv444ap|v408|v410|v210|grey|algr|gral|rgb8|rgb4|rgb5|rgb6|rgba|argb|bgra|abgr|rgb|bgr|xrgb|rgbx|xbgr|bgrx|rgbd|rgbds|uncv): . .I player drv (enum : auto): * no: blit 3D ( OpenGL ) * yes: RGB ( auto) * auto: src (cstr): (URL) gaze_x (sint : 0 ): (0= width=) gaze_y (sint : 0 ): (0= height=) gazer_enabled (bool : false ): subtx (sint : 0 ): subty (sint : 0 ): subfs (uint : 0 ): ( ) subd (sint : 0 ): audd (sint : 0 ): clipframe (bool : false): : (demultiplexer) ISOBMFF/QT ISOBMF QT . ISOBMFF/QT (fragmented) (raw bytestream) . (Track Selection) (fragment identifiers) . : * #audio: * #video: * #auxv: (auxiliary) * #pict: * #text: * #trackID=VAL: (ID) * #itemID=VAL: * #ID=VAL: / * #VAL: / (Scalable Tracks) .I smode : * smode=single: (extractors) . * smode=split: . . * smode=splitx: . ( ) . DASH . : smode=splitx NAL ISOBMFF () (Options (expert)): src (cstr): ( ) allt (bool, default: false): edits (enum, default: auto): edit list ( ) * auto: edit list * no: edit list * strict: edit list itt (bool, default: false): root meta PID itemid (bool, default: true): PID smode (enum, default: split): / (scalable/tile) * split: * splitx: * single: ( ) alltk (bool, default: false): frame_size (uint, default: 1024): ( frame_size ) expart (bool, default: false): (cover art) PID sigfrag (bool, default: false): (fragment) tkid (str): * integer value: * audio: * video: * 4CC: 4CC (handler type) stsd (uint, default: 0): (sample description index) ( ) nocrypt (bool): ( /export ) mstore_size (uint, default: 10000000): (pipe ) mstore_purge (uint, default: 50000): mstore_samples (uint, default: 50): (pipe ) strtxt (bool, default: false): (apple/tx3g) MPEG-4 xps_check (enum, default: auto): (parameter sets) AVC/HEVC/VVC * keep: ( DASH/HLS/CMAF ) * rem: xPS (inband) * auto: smode=splitx ( dasher) keep rem nodata (enum, default: no): * no: * yes: * fake: lightp (bool, default: false): initseg (str): (init segment) ISOBMFF extk (bool, default: true): ctso (sint): CTS ctts - -1 cslg cts - -2 cts (cslg ) norw (bool, default: false): - (fragments) keepc (bool, default: true): ( /multicast) sigfo (bool, default: false): DASH HLS ( sigfrag dasher) drefu (str): (URL) dref : MPEG-4 BIFS MPEG-4 BIFS (scene graph) (compositor) . : BIFS xml MP4Box . odfdec : MPEG-4 OD MPEG-4 OD (scene manager) (compositor) . : OD xml MP4Box . fin : . .I block_size . .I mime .I ext . : ( .I -no-probe ) . null dasher . rand . randsc 0x000001 . GF_FileIO URL . (Packet Injecting) .I pck . (timescale) .I ptime . gpac fin:pck=str@"My Sample Text":ptime=2500/100:#CodecID=stxt:#StreamType=text PID WebVTT (payload) <> (timestamp) . () (OPTIONS (EXPERT)) src (cstr): block_size (uint, default: 0): . 0 5000 500m 1M range (lfrac, default: 0-0): ext (cstr): mime (cstr): mime pck (mem): ptime (frac, default: 0/0): den 0 btplay : BT/XMT/X3D MPEG-4 BIFS ( BT XMT) VRML97 X3D ( wrl XML) . .I sax_dur N N . () (OPTIONS (EXPERT)) sax_dur (uint, default: 0): SAX ( XMT) 0 SAX httpin : HTTP HTTP . .I block_size (caching) . .I mime .I ext . http https TCP TLS . : ( .I -no-probe ) . src (cstr): (URL) block_size (uint, default: 100000): cache (enum, default: none): () * auto: * disk: * keep: * mem: * mem_keep: mem * none: * none_keep: none range (lfrac, default: 0-0): ext (cstr): mime (cstr): mime blockio (bool, default: false): / (blocking IO) idelay (uint, default: 0): svgplay : SVG SVG (compositor) . .I sax_dur N N . () (Options (expert)): sax_dur (uint, default: 0): SAX 0 SAX rfimg : (reframer) JPG/J2K/PNG/BMP / JPG/J2K/PNG/BMP PID . PNG RGBA : * pngd: RGB+depth map * pngds: RGB+depth(7bits)+shape(MSB of alpha channel) imgdec : PNG/JPG JPEG PNG . rfadts : (reframer) ADTS / AAC PID . () (Options (expert)): frame_size (uint, default: 1024): AAC index (dbl, default: 1.0): ovsbr (bool, default: false): SBR ( ) sbr (enum, default: no): SBR * no: SBR * imp: SBR ( AAC-LC ) * exp: SBR ( AAC-SBR ) ps (enum, default: no): PS * no: PS * imp: PS ( AAC-LC ) * exp: PS ( AAC-PS ) expart (bool, default: false): PID aacchcfg (sint, default: 0): AAC ADTS : LATM AAC / LATM PID . () (OPTIONS (expert)): frame_size (uint, default: 1024): AAC index (dbl, default: 1.0): rfmp3 : MP3 / MPEG-1/2 PID . () (OPTIONS (expert)): index (dbl, default: 1.0): expart (bool, default: false): PID forcemp3 (bool, default: true): mp3 MPEG-2 Audio layer 3 faad : FAAD AAC faad . maddec : MAD MPEG 1/2 libmad . j2kdec : OpenJPEG2000 : 2.x JPEG2000 OpenJPEG2000 . rfac3 : AC3 / AC3 E-AC3 PID . () (OPTIONS (expert)): index (dbl, default: 1.0): rfac4 : AC4 / AC4 PID . : AC4 MPEG-H Audio AC4 . (OPTIONS (EXPERT)) rcfg (bool : true): I-frame rfamr : AMR/EVRC / AMR AMR Wideband EVRC SMV PID . (OPTIONS (EXPERT)) index (dbl : 1.0): oggdmx : OGG / OGG PID . (OPTIONS (EXPERT)) index (dbl : 1.0): ( 0 ) expart (bool : false): PID vorbisdec : Vorbis Vorbis libvorbis . theoradec : Theora Theora libtheora . m2tsdmx : MPEG-2 TS / MPEG-2 Transport Stream PID . (OPTIONS (EXPERT)) temi_url (cstr): (URL) TEMI dsmcc (bool : no): DSMCC seeksrc (bool : true): sigfrag (bool : false): (segment) DASH HLS dvbtxt (bool : false): DVB upes (enum : no): PES * no: * info: ( ) dvbtxt * full: mappcr (bool : true): PCR sigfo (bool : false): DASH HLS ( sigfrag dasher) : UDP/TCP TCP UDP . MPEG-2 TS RTP . MPEG-2 TS UDP/RTP . .I ext .I mime . . - UDP URL udp://NAME - TCP URL tcp://NAME - UDP URL udpu://NAME - TCP URL tcpu://NAME URL ( gpac -h doc) URL : - '/' udp://localhost:1234/[:opts] - gpac udp://localhost:1234[:gpac:opts] (keep-alive) .I ka : - PID - (pipeline flush) OSX (VM packet replay) : route add -net 239.255.1.4/32 -interface vboxnet0 (TIME REGULATION) . .I mwait . . () (OPTIONS) src (cstr): block_size (uint : 0x60000): port (uint : 1234): ifce (cstr): listen (bool : false): ka (bool : false): maxc (uint : +I): tsprobe (bool : true): MPEG-2 TS RTP UDP . mime ext mime/ MPEG-2 TS ext (str): udp mime (str): mime udp block (bool : false): (blocking) () timeout (uint : 10000): () UDP 0 mwait (v2di : 1x30): (polling) reorder_pck (uint : 100): RTP ( M2TS RTP) reorder_delay (uint : 10): RTP ( M2TS RTP) ssm (strl): IP - (SSM) ssmx (strl): IP - (SSM) dvbin : DVB MPEG-2 TS DVB-T/T2 DVB-S/S2 . URL dvb:// : * `dvb://CHAN`: CHAN (tune ). * `dvb://+CHAN`: CHAN . * `dvb://=N`: N- . * `dvb://@FREQ`: FREQ . * `dvb://@=N`: N- . * `dvb://@chlist`: .I chans . CHAN CHAN . .I chcfg . VDR w_scan # . : * `dev=N`: (N ) (N ). * `idx=K`: K. * `csidx=S`: (committed switch) DiSEqC. gpac -hx dvbin . src (cstr): (URL) block_size (uint : 65536): chcfg (cstr : $GCFG/channels.conf): dev (str : 0): DVB - idx (uint : 0): frontend timeout (uint : 5000): (timeout) (tune) csleep (uint : 15): DiSEqC csidx (uint : 0): (committed switch index) DiSEqC chans (strl): dvb://@chlist osvcdec : OpenSVC AVC|H264 OpenSVC . vtbdec : VideoToolBox VideoToolBox OSX/iOS ( MPEG-2 H263 AVC|H264 HEVC ProRes) . GPU . () (Options (expert)): reorder (uint : 6): (temporal re-ordering) no_copy (bool : true): OpenGL ( true) ( false) ofmt (pfmt : nv12): nv12 disable_hw (bool : false): wait_sync (bool : false ): (sync frame) mcdec : MediaCodec android . () (Options (expert)): disable_gl (bool : false): OpenGL lsrdec : MPEG-4 LASeR MPEG-4 LASeR (scene graph) (compositor) . : (dump) LASeR xml MP4Box . safdmx : SAF / SAF ( MPEG-4 Simple Aggregation Format for LASeR) PID . dashin : DASH HLS MPEG- DASH HLS MS Smooth . (PID) manifest . .I algo : - . gpac -i MANIFEST_URL:algo=none:start_with=max_bw -o dest.mp4 - . gpac -i MANIFEST_URL:split_as -o dst=$File$.mp4 (File mode) .I forward file demultiplex . DASH ROUTE HTTP . manifest PID . : . . DASH route: gpac -i MANIFEST_URL dashin:forward=file -o route://225.0.0.1:8000/ (scalability) .I split_as . (Segment bound modes) .I forward segb mani ( demultiplex ) . manifest (segmentation) . gpac -i MANIFEST_URL:forward=mani cecrypt:cfile=DRM.xml -o encrypted/live.mpd:pssh=mv DASH PSSH manifest . gpac -i MANIFEST_URL:forward=segb cecrypt:cfile=DRM.xml -o encrypted/live.m3u8 DASH HLS . .I noseek=true .I split_as=true . : * `CueStart`: * `FileNumber`: * `FileName`: (base URL) manifest ( MPD HLS) * `DFPStart`: (period) 0 .I forward mani manifest (payload) manifest : * `DFManifest`: manifest (MPD M3U8) * `DFVariant`: HLS * `DFVariantName`: HLS manifest DFVariant PID : * `DFMode`: segb 1 mani 2 * `DCue`: inband * `DFPStart`: (period) * `FileName`: (init segment) * `Representation`: representation manifest * `DashDur`: manifest * `source_template`: true * `stl_timescale`: SegmentTimeline 0 SegmentTimeline * `init_url`: ( MPD variant ) * `manifest_url`: URL manifest * `hls_variant_name`: variant HLS ( HLS ) dasher (fragmentation) . . auto_switch (sint : 0): N * positive: * negative: * 0: segstore (enum : mem): * mem: / * disk: * cache: algo (str : gbuf Enum: none|grate|gbuf|bba0|bolaf|bolab|bolau|bolao|JS): * none: * grate: GPAC * gbuf: GPAC * bba0: BBA-0 * bolaf: BOLA Finite * bolab: BOLA Basic * bolau: BOLA-U * bolao: BOLA-O * JS: JS ( $GSHARE/scripts/) ( .js ) start_with (enum : max_bw): * min_q: * max_q: * min_bw: * max_bw: ( ) * max_bw_tiles: max_res (bool : true): abort (bool : false): use_bmin (enum : auto): * no: * auto: * mpd: MPD shift_utc (sint : 0): UTC DASH spd (sint : -I): mcast_shift (sint : 0): server_utc (bool : yes): HTTP ServerUTC Date UTC screen_res (bool : yes): init_timeshift (sint : 0): timeshift ( >0) timeshift ( <0) tile_mode (enum : none): * none: * rows: * rrows: * mrows: * cols: * rcols: * mcols: * center: * edges: tiles_rate (uint : 100): . 50% 50% 25% ... . 100 . 0 / delay40X (uint : 500): 40X exp_threshold (uint : 100): AvailabilityEndDate switch_count (uint : 1): . 0 aggressive (bool : no): . no ( ) debug_as (uintl): ( 0) MPD speedadapt (bool : no): noxlink (bool : no): xlink period xlink query (str): ( '?' ) xlink (periods) split_as (bool : no): . () noseek (bool : no): (seeking) () ( UTC) bwcheck (uint : 5): lowlat (enum : early): * no: * strict: AST * early: AST PID forward (enum : none): * none: DASH * file: (demultiplex) PID ( segstore=mem) * segb: .I split_as (sigfrag) DASH * mani: segb fmodefwd (bool : yes): . skip_lqt (bool : no): ( ) llhls_merge (bool : yes): LL-HLS groupsel (bool : no): ( ) xas (enum : codec): ( .I split_as ) * no: * codec: codec * all: chain_mode (enum : on): MPD * off: MPD * on: MPD MPD * error: MPD ( MPD ) asloop (bool : false): bsmerge (bool : true): ( HEVC) keep_burl (enum : strip): BaseURL * strip: BaseURL () * keep: BaseURL * inject: URL BaseURL relative_url relative_url (str : ./): BaseURL keep_base_url inject : CENC CENC CENC ISMA HLS Sample-AES (MPEG2 ts) Adobe . HLS URI . . https://wiki.gpac.io/xmlformats/Common-Encryption . DRM PID DecryptInfo ( ) CryptInfo ( ) .I cfile ( ) . PID CryptInfo (ID) CryptInfo . ( PID) CrypTrack DRM CrypTrack 0 . () (OPTIONS (EXPERT)) cfile (str): crypt decrypt (enum : full): ( CENC) * full: * nokey: * skip: * pad0: 0 * pad1: 1 * padsc: (start codes) drop_keys (uintl): (1-based) ( ) kids (strl): KID. keys KID ( ) () keys (strl): KID hls_cenc_patch_iv (bool : false): IV HLS+CENC cecrypt : CENC CENC CENC ISMA Adobe . DRM . https://wiki.gpac.io/xmlformats/Common-Encryption . DRM PID CryptInfo .I cfile . DRM PID CrypTrack DRM (ID) CrypTrack ( CrypTrack). DRM ( PID) CrypTrack DRM CrypTrack 0 . DRM PID PID .I allc . () (OPTIONS (EXPERT)) cfile (str): crypt allc (bool): DRM PID bk_stats (bool): stdout bk_skip (bool): ( ) mp4mx : ISOBMFF/QT ISOBMFF ( 14496-12 ) QuickTime (TRACKS AND ITEMS) PID ItemID . .I -itemid ISOBMFF . gpac -i source.mp4:itemid=false -o file.mp4 #ItemID PID : gpac -i source.jpg:#ItemID=1 -o file.mp4 .I store (frag) (inter) . flat fstart ( fast-start) . sfrag frag SAP . sfrag_tolerance . sfrag_tolerance (cdur) . . SAP ( ) . .I vodcache DASH onDemand : - on (flush) (padding) . - insert SIDX/SSIX . (output sinks) . - replace SIDX/SSIX DASH SIDX . PID DSegs . on insert replace free sidx . (Custom boxes) (box patches) : movie .I boxpatch . PID boxpatch PID . gpac -i source:#boxpatch=myfile.xml -o mux.mp4 Item boxpatch PID . gpac -i source:1ItemID=1:#boxpatch=myfile.xml -o mux.mp4 moov . XML . (Tagging) CoverArt PID . MP4Box -h tags . QT qtt_NAME MP4Box -h tags . tag_NAME .I itags all : - NAME 4CC NAME - NAME 4CC NAME 0xA9 - CRC32 NAME 4CC NAME cust_NAME@MEAN NAME MEAN . NAME MEAN . (User data) (user data) PID : * `udtab`: user-data blob * `mudtab`: user-data movie blob * `udta_U4CC`: user-data U4CC * `mudta_U4CC`: user-data movie U4CC * `tkgp_T4CC`: / T4CC . N -N gpac -i src.mp4:#udta_tagc='My Awesome Tag' -o tag.mp4 gpac -i src.mp4:#mudtab=data@box.bin -o tag.mp4 (Custom sample group descriptions and sample auxiliary info) : * `grp_A4CC`: A4CC (payload) * `grp_A4CC_param`: grouping_type_parameter param * `sai_A4CC`: (payload) A4CC * `sai_A4CC_param`: aux_info_type_parameter param grp_EMSG EventMessageBox MPEG-DASH . - moof - EMSG emsg FileNumber ( ) ( DASH) . DSIWrap ( 4CC int string) PID ( ). -i unkn.mkv:#ISOMSubtype=VIUK:#DSIWrap=cfgv -o t.mp4 VIUK stsd cfgv . .I pad_sparse Sparse PID . . - Sparse - Sparse true - Sparse false PID StreamSubtype . -i src.srt:#StreamSubtype=sbtl [-i ...] -o test.mp4 text sbtl . IsChap PID . -i src.srt:#IsChap [-i ...] -o test.mp4 QT . () (OPTIONS (EXPERT)) m4sys (bool : false): MPEG-4 Systems dref (bool : false): - ctmode (enum : auto): (composition offset) * auto: ISOBMFF edit * edit: (edit lists) 0 * noedit: * negctts: ctts 1 dur (frac : 0): . pack3gp (uint : 1): 3GPP (sample) importer (bool : false): pack_nal (bool : false): NALU NALU ( AVC/HEVC/...) xps_inband (enum : no): ( ) NALU ( AVC/HEVC/...) * no: * pps: * all: * both: * mix: PS PS * auto: no ISOBMFF store (enum : inter): * inter: (interleave) .I cdur ( ) * flat: moov ( ) * fstart: moov mdat * tight: ( ) * frag: cdur * sfrag: cdur SAP1/3 cdur (frac : -1/1): (chunk) flat (fragment) * 0: moov * negative: 1.0 moovts (sint : 600): (timescale) . moof_first (bool : true): moof mdat abs_offset (bool : false): moof fsap (bool : true): trun SAP subs_sidx (sint : -1): sidx * 0: sidx * >0: sidx (daisy-chained) * <0: sidx * -2: sidx PID m4cc (str): (4CC) ( DASH) ( DASH) chain_sidx (bool : false): SIDX msn (uint : 1): moof N msninc (uint : 1): moof tfdt (lfrac : 0): (tfdt) traf tfdt_traf (bool : false): tfdt traf nofragdef (bool : false): moov straf (bool : false): traf moof ( Smooth Streaming ) strun (bool : false): trun traf ( Smooth Streaming ) prft (enum : sender): prft * off: prft * sender: ntp * both: ( ) ntp moof psshs (enum : moov): pssh * moof: moof * moov: movie * both: movie moof * none: pssh force_seig (bool : false): seig CENC sgpd_traf (bool : false): traf ( traf). movie vodcache (enum : replace): VoD DASH * on: sidx ssix * insert: sidx ssix * replace: sidx ssix noinit (bool : false): moov DASH tktpl (enum : yes): track * no: * yes: ( ) * udta: udta mudta (enum : yes): udta moov * no: * yes: * udta: udta mvex (bool : false): mvex trak sdtp_traf (enum : no): sdtp traf trun * no: sdtp * sdtp: sdtp trun * both: sdtp trun trackid (uint : 0): (track ID) . 0 fragdur (bool : false): CTS. -frag MP4Box btrt (bool : true): btrt styp (str): styp ( ) 4CC[.version] lmsg (bool : false): lmsg mediats (sint : 0): . 0 PID -1 ase (enum : v0): * v0: v0 ( (e)AC3/4) * v0s: v0 2 () 2 * v0bs: v0 * v1: v1 ISOBMFF ( PCM ISOBMFF) * v1qt: v1 QTFF * v2qt: v2 QTFF ( lpcm) ssix (bool : false): ssix sidx 1 I 0xFF ccst (bool : false): maxchunk (uint : 0): run ( ). 0 noroll (bool : false): roll norap (bool : false): rap saio32 (bool : false): (side data) tfdt64 (bool : false): tfdt sidx compress (enum : no): * no: * moov: moov ( cmov QT) * moof: moof * sidx: moof sidx * ssix: moof sidx ssix * all: moov moof sidx ssix fcomp (bool : false): otyp (bool : false): trun_inter (bool : false): trun ( trun ) truns_first (bool : false): track run block_size (uint : 10000): 0 (10k) boxpatch (str): deps (bool : true): mfra (bool : false): (MFRA) ( DASH ) forcesync (bool : false): SAP ( ) refrag (bool : false): PID ( / ) itags (enum : strict): * none: * strict: itunes * all: keep_utc (bool : false): UTC pps_inband (bool : no): .I xps_inband PPS SAP 1/2/3 moovpad (uint : 0): free moov cmaf (enum : no): CMAF ( mvex truns_first strun straf tfdt_traf chain_sidx subs_sidx -1 0) * no: CMAF * cmfc: CMAF cmfc * cmf2: CMAF cmf2 ( nofragdef) pad_sparse (bool : true): ( 0) force_dv (bool : false): DV AVC/HEVC dvsingle (bool : false): 8 DolbyVision xps inband 5 tsalign (bool : true): 0 - false ( ) chapm (enum : both): * off: * tk: ( QT) * udta: (user-data) * both: udta patch_dts (bool : false): dts uncv (enum : prof): uncv ( ISO 23001-17) * off: ( QT ) * gen: * prof: * tiny: trunv1 (bool : false): 1 trun CMAF rsot (bool : false): sfrag_tolerance (uint : 0): SAP cdur scte35 (enum : auto): SCTE-35 * auto: 'xmlbin' 'evte' * xmlbin: (MPD) xml+bin () * inband: emsg * all: * none: EventStream emsg auto_reorder (bool : false): moov ( ) : QCP / QCP PID . () (OPTIONS (EXPERT)): index (dbl : 1.0): rfh263 : H263 / H263 PID . () (OPTIONS (EXPERT)): fps (frac : 15000/1000): index (dbl : 1.0): notime (bool : false): 0 rfmpgvid : M1V/M2V/M4V / MPEG-1/2 MPEG-4 part 2 PID . : CTS : CTS DTS CTS . () (OPTIONS (EXPERT)): fps (frac : 0/1000): ( 0 FPS 25 ) index (dbl : -1.0): . 0 (probe) . 20M ( ) > 0 vfr (bool : false): importer (bool : false): notime (bool : false): 0 nhntr : NHNT / NHNT PID . NHNT https://wiki.gpac.io/xmlformats/NHNT-Format () (OPTIONS (EXPERT)): reframe (bool : false): index (dbl : 1.0): nhmlr : NHML / NHML PID . NHML https://wiki.gpac.io/xmlformats/NHML-Format () (OPTIONS (EXPERT)): reframe (bool : false): index (dbl : 1.0): rfnalu : AVC/HEVC / AVC|H264 HEVC PID . ISOBMFF : (start codes) NALU avcC/hvcC . : CTS : CTS DTS CTS . fps (frac : 0/1000): (0 bitstream 25 Hz ) index (dbl : -1.0): (indexing). 0 bitstream . 20M ( ) > 0 explicit (bool : false): (SVC/LHVC) force_sync (bool : false): IDR I ( ) strict_poc (enum : off): GOP CTS POC * off: GOP * on: GOP POC * error: GOP nosei (bool : false): sei nosvc (bool : false): SVC/MVC/LHVC novpsext (bool : false): VPS importer (bool : false): nal_length (uint : 4): : 1 2 4 subsamples (bool : false): (subsamples) deps (bool : false): refs (bool : false): ( HEVC VVC) seirw (bool : true): sei AVC ISOBMFF audelim (bool : false): Access Unit (payload) keepfiller (bool : false): NAL notime (bool : false): 0 dv_mode (enum : auto): DolbyVision * none: DV * auto: DV RPU EL * clean: NAL RPU EL * single: DV RPU NAL EL dv_profile (uint : 0): DolbyVision ( 4 5 7 8 9 ) 0 dv_compatid (enum : auto): DolbyVision * auto: * none: * hdr10: CTA HDR10 EBU TR 03 * bt709: SDR BT.709 * hlg709: HLG BT.709 ITU-R BT.2020 * hlg2100: HLG BT.2100 ITU-R BT.2020 * bt2020: SDR BT.2020 * brd: HDR (Ultra HD Blu-ray Disc HDR) bsdbg (enum : off): NAL media@debug * off: * on: * full: m2psdmx : (demultiplexer) MPEG PS MPEG-2 PID . avidmx : (demultiplexer) AVI AVI PID . () (Options (expert)): fps (frac : 1/0): AVI importer (bool : false): noreframe (bool : false): (media reframer) : PID PID . : * SRT: https://en.wikipedia.org/wiki/SubRip * WebVTT: https://www.w3.org/TR/webvtt1 * TTXT: https://wiki.gpac.io/xmlformats/TTXT-Format-Documentation * QT 3GPP Text XML (TexML): Apple QT6 * TTML: https://www.w3.org/TR/ttml2 * SUB: {start_frame}{end_frame}text * SSA (Substation Alpha): UTF-8 UTF-16 BOM . : * WebVTT ( srt ): ISO/IEC 14496-30 VTT cues * TTML: ISO/IEC 14496-30 XML * stxt sbtt: ISO/IEC 14496-30 * : 3GPP/QT Timed Text TTML (TTML Support) .I ttml_split TTML body . TTML TTML .I no_empty . CTS .I ttml_cts : - -2 CTS 0 - -1 CTS - >= 0 CTS TTML TTML .I ttml_dur ( 0 ) TTML2 . .I ttml_embed TTML : -