gpac(1) GPAC gpac(1) (NAME) gpac - (SYNOPSIS) gpac []FILTER[LINK]FILTER[...] gpac GPAC . FILTER: ( -i file, -o dump, inspect, ) gpac -h doc . [LINK]: ( @, @2, @2#StreamType=Visual, ) gpac -h doc . []: - . - - gpac ( gpac -hx ) libgpac ( gpac -hx core ) . - -- ( FFmpeg) --block_size=1000 --profile=Baseline ( gpac -h doc ). . . . . opt=val -i -src -o -dst -h. ctrl+c . gpac : -mem-track -mem-track-stack (stack dumping) -ltf ( ) -sloop ( ) . -eloop ( ) -sloop -runfor ( ) (session flush) -runforf ( ) -runforx ( ) -runfors ( ) ( ) -runforl ( ) ( ) -stats -graph -qe ( ) -k -r () * r: * r=FA[,FB]: r=mp4mx ISOBMFF * r=: -seps ( : :=#,!@) - - - PID - ( sourceIDs gfreg ...) - - LINK ( -h doc ) -i,-src () - (-h doc) -o,-dst () - (-h doc) -ib () GF_FileIO ( GF_FileIO) -ibx () GF_FileIO ( GF_FileIO) -ibb () blob ( GF_Blob) -ibm () GF_FileIO ( GF_Blob + GF_FileIO) -ob () GF_FileIO ( GF_FileIO) -cl - (-h doc) -sid - (-h doc) -step -h,-help,-ha,-hx,-hh () . -help -h -ha -hx -hh . : @ * . : * : * doc: * alias: gpac * log: (log) * core: libgpac . -ha/-hx/-hh / * cfg: GPAC * net: * prompt: GPAC ( -k ) * modules: * module NAME: NAME * creds: * filters: * filters:*: * codecs: - -hx (ffmpeg ...) * formats: (-ha: -hx : (ffmpeg ...) -hh : MIME) * protocols: (-ha: -hx : (ffmpeg ...) -hh : ) * props: PID * props PNAME: PID PNAME * colors: * layouts: CICP * links: ( -hx ) * links FNAME: FNAME ( ) * defer: * FNAME: FNAME ( FNAME ) - FNAME:INST ffavin:avfoundation - * ( !) *:* ( !) - . -ha -hx -hh * FNAME.OPT: OPT FNAME * OPT: OPT . -hx -p () GPAC. . . ( ): * 0: * n: / ( ) :reload -alias () . . (-h alias) -aliasdoc () (). -cache-info . : * : * B: B B (0 ) * B;C: B C B C - B 0 UTC=0 - C 0 -cache-unflat GPAC -cache-list -cache-clean ( ) -js () ( ) -wc -we ( ) -wf -wfx ( !) -xopt - -creds () -rv GPAC 1 libgpac : -dbg-edges ( ). edge_source(status(disable_depth), weight, src_cap_idx -> dst_cap_idx) -full-link PID -no-dynf -no-block ( : no) * no: * fanout: (fan-out) PID * all: -no-reg ( sleep) -no-reassign PID -sched ( : lock) * free: ( ) * lock: mutex ( arm64/aarch64) * freex: () * flock: mutex ( ) * direct: ( ) -max-chain ( : 6) . : [ in -> ] dmx -> reframe -> decode -> encode -> reframe -> mx [ -> out] ( ) . 0 -max-sleep ( : 50) (sleep) -step-link -threads ( ) N . 1- -no-probe (probing) ( ) -no-argchk ( ) -blacklist () ( ). '-' -no-graph-cache . ( ) -no-reservoir . -buffer-gen ( : 1000) PID -buffer-dec ( : 1000000) PID -buffer-units ( : 1) -check-props PID ( 5 ) (Using Aliases) gpac . . gpac -alias="NAME VALUE" . * `NAME`: . * `VALUE`: . . . : gpac -alias="output aout vout" gpac -i src.mp4 output . . : * `@{a}`: a * `@{a,b}`: a b * `@{a:b}`: a b * `@{-a,b}`: a b ( ) * `@{-a:b}`: a b ( ) * `@{+a,b}`: a b * `@{+a:b}`: a b : * (forward index): 1 * (backward index): 'n' ( 'N') . -x ( @{n-1} ) . . : -alias="foo src=@{N} dst=test.mp4" gpac foo f1 f2 gpac src=f2 dst=test.mp4 f1 : -alias="list: inspect src=@{+:N}" gpac list f1 f2 f3 gpac inspect src=f1 src=f2 src=f3 : -alias="list inspect src=@{+2:N}" gpac list f1 f2 f3 gpac inspect src=f2 src=f3 f1 : -alias="plist aout vout flist:srcs=@{-,N}" gpac plist f1 f2 f3 gpac aout vout flist:srcs="f1,f2,f3" gpac -aliasdoc="NAME VALUE" NAME VALUE . gpac . (User Credentials) GPAC . users.cfg GPAC . -users . . creds . : * `show` : users.cfg * `reset`: users.cfg ( ) * `NAME`: NAME * `+NAME`: NAME * `+NAME:I1=V1[,I2=V2]`: I1 V1 NAME. password . * `-NAME`: NAME * `_NAME`: NAME * `@NAME`: NAME * `@+NAME[:u1[,u2]]`: NAME * `@-NAME:u1[,u2]`: NAME * `@-NAME`: NAME users . SHA256 . . . : [somedir] ru=foo rg=bar : * ru: * rg: * wu: * wg: * mcast: ( RTSP) * filters: . all . : [d1] rg=bar [d1/d2] ru=foo : - d1 bar - d1/d2 foo GPAC Basic HTTP TLS . (Defer test mode) . . rl pi pl pd F . - x ( rlx=) F=0 - F=0 -rl -rlx (flush) ( ). . : gpac -dl -np -i SRC reframer -g -rl -g inspect -g -rl SRC reframer ( ) SRC ( reframer) inspect ( ) reframer . (play) . : gpac -dl -np -i SRC reframer inspect:deep -g -rl=2 -g -rl -se SRC reframer inspect ( ) SRC ( reframer) ( ) reframer . @F@SRC @@F@SRC : - @F (F) @0 . - @@F (F) @@1 . * `@SRC` `@@SRC`: rl . : gpac -dl -i SRC F1 F2 [...] @1@2 @0@2 SRC F1 SRC F2 . (defer mode) : -dl -np -rl[=F] (string) F ( 1) -wl[=F] (string) -rl (flush) -pi=[+|-][F[:i]] (string) PID ( i) F ( 0) * `-`: PID * `+`: PID -pl=[+][F[:i]]@NAME (string) F ( 0) NAME: * `+`: -pd=[F[:i]] (string) PID ( i) F ( 0) -f -g -s -se PLAY ( ) -m (string) (Configuration file) GPAC libgpac . GPAC.cfg : - C:UsersODatagram FilesGPAC. - iOS .gpac . - /sdcard/GPAC/ /data/data/io.gpac.gpac/GPAC. - $HOME/.gpac/. GPAC -p . gpac -p=foo [] $HOME/.gpac/foo/GPAC.cfg . 0 . : - foo [foo]0[u200E] - bar N bar=N0[u200E] . N ASCII . . -wc -wf . . restrict.cfg GPAC ( /usr/share/gpac C:Program FilesGPAC) . : GPAC libgpac . gpac MP4Box . (Core options) libgpac core . : [core] threads=2 -threads=2 . . (Filter options in configuration) . foo [filter@foo] - . . : [filter@rtpin] interleave=yes rtp RTP RTSP . -wf . (Global filter options) --OPTNAME=VAL . . OPTNAME VAL . : --buffer=100 -i file vout aout vout:buffer=100 aout:buffer=100 . : --buffer=100 -i file vout aout:buffer=10 vout:buffer=100 aout:buffer=10 . : . (gfreg enc ...) . - --OPT_NAME=VAL . : --profile=Baseline -i file.cmp -o dump.264 -o dump.264:profile=Baseline . --FNAME:OPTNAME=VAL --FNAME@OPTNAME=VAL . FNAME . . : --flist@timescale=100 -i plist1 -i plist2 -o live.mpd timescale dasher . libgpac (libgpac core options): -tmp (string) -noprog -quiet -proglf -strict-error,-se -store-dir (string) -mod-dirs (string list) (;) -js-dirs (string list) -no-js-mods (string list) -ifce (string) (multicast) ( ANY ) IP gpac -h net. '+' IPv6 -lang (string) -cfg,-opt (string) . : * `section:key=val`: * `section:key=null`, `section:key`: * `section=null`: * : * `section`: * `section:key`: ( * ) - *:key: -no-save -mod-reload (unload) / (reload) -for-test / GPAC -old-arch GPAC ( ) -ntp-shift (int) NTP -bs-cache-size (int, default: 512) (bitstream) ( I/O ) -no-check ( ISOBMFF). -unhandled-rejection (unhandled promise rejections) -startup-file (string) (compositor) (GUI) -docs-dir (string) ( iOS Android) -last-dir (string) ( ) -no-poll poll select -no-tls-rcfg TCP TLS -no-fd I/O (file descriptor) / - -no-mx (threads) ( ) -xml-max-csize (int, default: 100k) XML -users (string) -netcap (string) [CFG][RULES]. -netcap [CFG] : * id=ID: () . NULL netcap * src=F: F GPAC pcap pcapng * dst=F: F ( GPAC pcap/pcapng) src * loop[=N]: N N * nrt: (real-time) [RULES] [...OPT,OPT2] OPT : * m=K: - K r () w rw * s=K: K * e=K: K - r f * n=K: K - * r=K: n K * f=K: n K * d=K: n K f r * p=K: K * o=K: (patch) ( TCP ) K ( ) * v=K: K () () * S=K: s / * E=K: e / -netcap=dst=dump.gpc dump.gpc -netcap=src=dump.gpc,id=NC1 -i session1.sdp:NCID=NC1 -i session2.sdp session1.sdp dump.gpc session2.sdp -netcap=[p=1234,s=100,n=20][r=200,s=500,o=10,v=FE] FE -cache (string) -proxy (string) HTTP ( ) -maxrate (int) HTTP . -no-cache () HTTP -offline-cache HTTP ( ) -clean-cache HTTP / -cache-size (int, default: 100M) -cache-check (int, default: 60) -tcp-timeout (int, default: 5000) HTTP/RTSP -req-timeout (int, default: 10000) HTTP/RTSP ( ) -no-timeout (timeout) keep-alive HTTP 1.1 -broken-cert SSL -ca-bundle (string) CA -user-agent,-ua (string) (user agent) HTTP/RTSP -user-profileid (string) ( X-UserProfileID) HTTP -user-profile (string) . HTTP HEAD/GET Mime text/xml -query-string (string) (query string ?) URL -dm-threads (threads) -cte-rate-wnd (int, default: 20) (chunk-transfer encoding) -cred (string) -no-h2 HTTP2 -no-h2c HTTP2 ( TLS) -h2-copy nghttp2 ( wireshark ) -h2-max-frame (int, default: 1m) HTTP2 -h3-ack-threshold (int, default: 2) ack QUIC ( : ngtcp2_settings.ack_thresh) -h3-algo (string, default: cubic, values: cubic|bbr|reno) QUIC * cubic: CUBIC * bbr: BBR v2 * reno: Reno -h3-mwnd (int, default: 0) QUIC/HTTP3 ( : ngtcp2_settings.max_window) -h3-st-mwnd (int, default: 0) QUIC/HTTP3 ( : ngtcp2_settings.max_stream) -hx-max-st (int, default: 100) HTTP2 QUIC/HTTP3 -hx-iwnd (int, default: 64m) HTTP2 QUIC/HTTP3 -hx-st-iwnd (int, default: 32m) HTTP2 QUIC/HTTP3 -curl CURL HTTP GPAC -h3 (Enum, default: auto) HTTP/3 * no: HTTP/3 * first: HTTP/3 * auto: HTTP 1 2 HTTP/3 () * only: HTTP/3 -h3-trace (trace) QUIC HTTP3 -dbg-edges ( ). edge_source(status(disable_depth), weight, src_cap_idx -> dst_cap_idx) -full-link PID -no-dynf -no-block (Enum, default: no) (blocking) * no: * fanout: (fan-out) PID * all: -no-reg ( sleep) -no-reassign PID -sched (Enum, default: lock) (scheduler) * free: (lock-free) ( ) * lock: ( arm64/aarch64) * freex: () * flock: ( ) * direct: ( ) -max-chain (int, default: 6) . [ in -> ] dmx -> reframe -> decode -> encode -> reframe -> mx [ -> out] . ( ) . -max-sleep (int, default: 50) (sleep) (regulation) -step-link -threads (int) N . - -no-probe (data probing) ( ) -no-argchk ( ) -blacklist (string) ( ) . '-' -no-graph-cache . ( ) -no-reservoir . -buffer-gen (int, default: 1000) PID -buffer-dec (int, default: 1000000) PID (decoder) -buffer-units (int, default: 1) -check-props PID ( ) -gl-bits-comp (int, default: 8) OpenGL -gl-bits-depth (int, default: 16) OpenGL -gl-doublebuf (double buffering) OpenGL -glfbo-txid (int) (texture ID) glfbo. (context) gf_term_process OpenGL -video-output (string) ( : gpac -h modules). glfbo OpenGL .I glfbo-txid . (compositor) -audio-output (string) -font-reader (string) -font-dirs (string) -rescan-fonts -wait-fonts SVG -webvtt-hours WebVTT -charset (string) . : * utf8: UTF-8 * utf16: UTF-16 (little endian) * utf16be: UTF-16 (big endian) * other: -srt-forced SRT (forced subtitles) -rmt (remote monitoring) -rmt-port (int, default: 6363) rmt -rmt-localhost rmt localhost -rmt-sleep (int, default: 10) () rmt -rmt-cert (string) PEM TLS rmt -rmt-pkey (string) PEM TLS rmt -rmt-path (string, default: $GSHARE/scripts/rmt/server.js) rmt -rmt-log (string) NULL -userws-port (int, default: 6364) -userws-localhost localhost -userws-sleep (int, default: 10) () -userws-cert (string) PEM TLS -userws-pkey (string) PEM TLS -diso-nosize ISOBMFF -m2ts-vvc-old (hack) TS 0x33 0x32 VVC -piff-force-subsamples PIFF PSEC 0.9.0 1.0 MP4Box subsample_count -vvdec-annexb vvdec+libavcodec annexB -heif-hevc-urn URN HEVC HEIF MPEG-B URN ( HEIF) -boxdir (string) XML -no-mabr-patch isom mabr GPAC ( / ) -no-cdrf cdrf -no-evp OpenSSL libgpac (libgpac logs options): -noprog -quiet -log-file,-lf (string) -log-clock,-lc GPAC (app tool) -log-utc,-lu UTC -logs (string) . . log_args toolX[:toolZ]@levelX (':') . levelX : * quiet: * error: * warning: + * info: + + * debug: * strict: toolX : * core: libgpac * mutex: * mem: GPAC * module: GPAC ( / ) * filter: * sched: * codec: ( ) * coding: ( ) * container: (ISO File MPEG-2 TS AVI ...) / * network: TCP/UDP TLS * http: HTTP * cache: HTTP * rtp: RTP * dash: HTTP (DASH) * route: ROUTE (ATSC3) * media: reframer/rewriter * parser: (svg xmt bt ...) * mmio: I/O ( AV OpenGL) * audio: // * script: * console: * scene: * compose: (2D 3D ) * ctime: SMIL * interact: ( UI DOM VRML) * rti: * all: - ncl . strict . levelX +strict () . -logs=all@info:dash@debug:ncl info dash debug -proglf -log-dual,-ld stderr (OVERVIEW) . PID . PID / () . PID . (fan-out) GPAC ( tee GPAC ). : PID PID . -full-link . PID ( width height codec ...). ( gpac -h props) . PID . ( ). . :=#,@ . -seps . (Property and filter option format) * (boolean): yes true 1 no false 0 * (enumeration) ( ): 0 ( ) . * ( ...): value[unit] unit k K ( ) m M ( ) g G ( ) sec ( ) min ( ) . +I float/int/uint -I float/int/uint . * (fraction): num/den num-den num num 1 num 1000000 . * : 0xAABBCCDD. * (): DIM1xDIM2[xDIM3[xDIM4]] . * : 360, 480, 576, 720, 1080, hd, 2k, 2160, 4k, 4320, 8k * (string): : * `value`: . * `file@FILE`: FILE ( ). * `bxml@FILE`: XML FILE data - https://wiki.gpac.io/xmlformats/NHML-Format * (data): : * `size@address`: size address . * `0xBYTESTRING`: . * `file@FILE`: FILE ( ). * `bxml@FILE`: XML FILE - https://wiki.gpac.io/xmlformats/NHML- Format * `b64@DATA`: DATA base-64. * `FMT@val`: val ( ) FMT u8 s8 u16 s16 u32 s32 u64 s64 flt dbl hex str . * (pointer): %p C . * : val1,val2[,...]. file@FILE . * : val1,val2[,...] : (0x,/,-,+I,-I,x) . THH:MM:SS.ms TMM:SS.ms THH:MM:SS TMM:SS . [FILTER] (Filter declaration [FILTER]) (Generic declaration) name=value . : * : true ( :allt). ! ( :!moof_first). * : :disp=pbo :pbo . ( URL) gpac . filter:ARG=http://foo/bar?yes:gpac:opt=VAL URL . filter:ARG=http://foo/bar?yes:opt=VAL :opt=VAL URL . . (avin:// video:// audio:// pipe://) . (schemes) tcp:// udp:// / . -i tcp://127.0.0.1:1234:OPT URL . -i tcp://127.0.0.1:1234/:OPT URL . : URL f1:opt1=foo:url=http://bar URL . ( ) . filter::opt1=UDP://IP:PORT/:someopt=VAL::opt2=VAL2 UDP://IP:PORT/:someopt=VAL opt1 VAL2 opt2 . (Source and Sink filters) (source) (sink) src= dst= . -src URL -i URL -dst URL -o URL . "src=file.mp4" "-src file.mp4" "-i file.mp4" ( fin) file.mp4 . fin:src=file.mp4 . "dst=dump.yuv" "-dst dump.yuv" "-o dump.yuv" dump.yuv . fout:dst=dump.yuv . filterName:src=URL filterName:dst=URL . src= dst= (alias) ( gpac -hx alias). (Forcing specific filters) gfreg URL . src=file.mp4:gfreg=ffdmx,ffdec ffdmx file.mp4 ffdec . . (Specifying encoders and decoders) / . / . enc . enc : * c=NAME: . NAME GPAC ffmpeg/ . * b=UINT rate=UINT bitrate=UINT: . * g=UINT gop=UINT: GOP . * pfmt=NAME: ( (-h props)) . * all_intra=BOOL: (intra) . ( ffmpeg ). c=TYPE ( c=aac:opts) . gpac -i dump.yuv:size=320x240:fps=25 enc:c=avc:b=150000:g=50:cgop=true:fast=true -o raw.264 AVC GOP closed gop ffmpeg . ( ) reframer . gpac -i file.mp4 reframer:raw=av -o null file.mp4 ( null ) ( ). (Escaping option separators) gpac . . ffmpeg libx264 ( x264opts ). . f:a=foo:b=bar a foo b bar . f::a=foo:b=bar a foo:b=bar . f:a=foo::b=bar:c::d=fun a foo b bar:c d fun . f:list=a,b1,,b2,c a b1,b2 c . [LINK] (Filter linking [LINK]) (capability bundle) PID . FNAME gpac -h links FNAME . (filter graph resolver) PID . . . (Default filter linking) ( ) (implicit mode gpac) (complete mode -cl ) . PID . DST PID : - DST PID . - . - ( ): - DST (sink) . - DST . - (DST ) . RSID . / . RSID . gpac -i file.mp4 c=avc -o output : - PID enc output . PID enc output . - PID output enc . gpac -cl -i file.mp4 c=avc -o output : - PID enc output PID enc output . - PID output . () . gpac -i video1 reframer:saps=1 -i video2 ffsws:osize=128x72 -o output : - video1 reframer reframer output reframer ffsws . - video2 ffsws ffsws output video2 reframer . gpac -i video1 -i video2 reframer:saps=1 ffsws:osize=128x72 -o output video1 video2 reframer->ffsws->output . ( PID () ) . : ! gpac -i file.mp4 c=avc c=aac -o output PID c=avc output . PID c=avc output . PID c=aac output . PID c=aac output . PID output . gpac -i file.mp4 ffswf=osize:128x72 c=avc resample=osr=48k c=aac -o output : - SRC(video)->ffsws->enc(video)->output SRC(video)->output SRC(video)->enc(video) ffsws->output . - SRC(audio)->resample->enc(audio)->output SRC(audio)->output SRC(audio)->enc(audio) resample->output . (Quick links) . @ ( 0 ). . (0 1 ...). @ @@ ( 0) . . fA fB @1 fC fC fA . fA fB fC @1 @0 fD fD fB fC . fA fB fC ... @@1 fZ fZ fB . (Complex links) @ : * FID=name: * SID=name1[,name2...]: sourceID . fA fB @1 fC fA:FID=1 fB fC:SID=1 . fA:FID=1 fB fC:SID=1 fC fA fB fA . fA:FID=1 fB:FID=2 fC:SID=1 fD:SID=1,2 fD fA fB fC fA . : sourceID . sourceID * * . fA:FID=AB1 fB:FID=ABCD fC:FID=B1 fD:SID=AB* fD fA fB fC . sourceID ( #) : * name#PIDNAME: PID() PIDNAME * name#TYPE: PID . TYPE audio video scene text font meta * name#TYPEN: N ( ) PID ( video2 PID ) * name#TAG=VAL: VAL PID * name#ITAG=VAL: VAL PID * name#P4CC=VAL: PID P4CC VAL . * name#PName=VAL: . * name#AnyName=VAL: . * name#Name=OtherPropName: PID . . . PID . . ( =): * name#P4CC=!VAL: PID VAL . * name#P4CC-VAL: PID VAL ( ). * name#P4CC+VAL: PID VAL ( ). sourceID (wildcard) . fA fB:SID=*#ServiceID=2 fA fB:SID=#ServiceID=2 fA fB PID ServiceID 2 . LINK @ . fA fB @1#video fC fC fA video . gpac -i img.heif @#ItemID=200 vout vout PID ItemID 200 . gpac -i vid.mp4 @#PID=1 vout vout PID ID 1 . gpac -i vid.mp4 @#Width=640 vout vout PID Width 640 . gpac -i vid.mp4 @#Width-640 vout vout PID Width 640 . gpac -i vid.mp4 @#ID=ItemID#ItemNumber=1 vout vout PID ID ItemID ( ) 1 ( ) . PID . gpac -i vid.mp4 @#Width=640#Height+380 vout vout PID Width 640 Height 380 . : PID sourceID . . fA @ reframer fB fB fA reframer PID fA fB fB sourceID . PID fA reframer . : PID . gpac -i file.mp4 -o dump.mp4 PID file file.mp4 . nomux ( ). gpac -i file.mp4 -o dump.mp4:nomux . . (HTTP ROUTE): - - nomux=0 (Sub-session tagging) :FS=N N . : - sourceID (@ SID) - gpac : . gpac -i in1.mp4 -i in2.mp4 -o out1.mp4 -o out2.mp4 . gpac -i in1.mp4 -o out1.mp4 -i in2.mp4 -o out2.mp4 in1 out1 in2 out2 . (Arguments inheriting) ( -max-chain ) (LINK) . . gpac -i file.mp4:OPT -o file.aac -o file.264 :OPT . gpac -i file.mp4 -o file.aac:OPT -o file.264 :OPT file.aac . : dst= . gpac -i file.mp4 fout:OPTFOO:dst=file.aac:OPTBAR :OPTBAR file.mp4 file.aac OPTFOO . gfloc : . gpac -i file.mp4 -o file.aac:OPTFOO:gfloc:OPTBAR -o file.264 :OPTFOO file.mp4 file.aac OPTBAR . . gfopt . gpac -i file.mp4 -o file.aac:OPTFOO:gfopt:OPTBAR -o file.264 OPTFOO OPTBAR . :N=name ( ). . :TAG=name ( ) . . . :ITAG=name ( ) . . URL (URL templating) URL . $KEYWORD$ $KEYWORD%%0Nd$ N (pad) . (KEYWORD) . : * num: 0 * PID: PID * URL: (URL) * File: URL PID * Type: PID (video audio...) * OType: Type ( crypt video) * p4cc=ABCD: PID 4CC ABCD * pname=VAL: PID VAL * cts dts dur sap: PID * OTHER: 4CC 4CC . $$ $ . $$ $ $;$ $$ . . gpac -i dump.yuv:size=640x360 vcrop:wnd=0x0x320x180 c=avc:b=1M @2 c=avc:b=750k -o dump_$CropOrigin$x$Width$x$Height$.264 (crop) AVC 1M AVC 750k . dump_0x0x320x180.264 dump_0x0x640x360.264 . (Cloning filters) . . HEIF N : gpac -i img.heif -o dump_$ItemID$.jpg ( ) . PID . gpac -i img.heif -o dump_$ItemID$.jpg (clone) URL JPEG . gpac -i vid.mpd c=avc:FID=1 -o transcode.mpd:SID=1 PID PID . . PID . gpac -i dual_audio resample:osr=48k c=aac -o dst (resampler) PID . : gpac -i dual_audio resample:osr=48k:clone=0 c=aac -o dst resample enc resample (clone) enc . (Templating filter chains) N N . PID :clone PID . PID sourceID * . PID sourceID . : * ( ) source ID . gpac -i source.ts -o file_$ServiceID$.mp4:SID=*#ServiceID=* gpac -i source.ts -o file_$ServiceID$.mp4:SID=#ServiceID= ServiceID PID . : gpac -i dual_audio -o dst_$PID$.aac aac ( ). PID (Assigning PID properties) PID . ( ServiceID) . #Name=Value. PID (4cc ) . ( true :#Alpha). : - file@FOO FOO . - bxml@FOO data FOO . - FOO FOO . - TYPE@FOO TYPE . . gpac -h props . PID fA fA -> fB . fB PID fB fA fB . : PID (override) width/height/samplerate/... ! gpac -i v1.mp4:#ServiceID=4 -i v2.mp4:#ServiceID=2 -o dump.ts dump.ts ServiceID 4 PID v1.mp4 ServiceID 2 PID v2.mp4. PID PID . () : #Prop=(CP=CV)VAL Prop PID PID CP CV VAL . #Prop=(CP=CV)VAL,(CP2=CV2)VAL2 Prop PID PID CP CV VAL PID CP2 CV2 VAL2 . #Prop=(CP=CV)(CP2=CV2)VAL Prop PID PID CP CV CP2 CV2 VAL . #Prop=(CP=CV)VAL,()DEFAULT Prop PID PID CP CV VAL PID DEFAULT . (source ID fragment) . : ( ) PID . gpac -i source.mp4:#MyProp=(audio)"Super Audio",(video)"Super Video" MyProp PID Super Audio PID Super Video . gpac -i source.mp4:#MyProp=(audio1)"Super Audio" MyProp PID Super Audio . gpac -i source.mp4:#MyProp=(Width+1280)HD MyProp PID Width 1280 HD . : * $GINC(init[,inc]) @GINC(...): PID ( ) * PROP ( `$` `@`): PROP ( 4CC) PID gpac -i source.ts:#ASID=$PID$ AdaptationSet DASH PID . gpac -i source.ts:#RepresentationID=$ServiceID$ Representation DASH ServiceID PID . . . gpac -i source.ts:#FOO= FOO PID . (Using option files) :myopts.txt . : . PID . - "//" (comment) (). - ":" ( ). . (filter:myopts.txt) . gpac -i source.mp4:myopts.txt:foo=bar -o dst source.mp4 dst myopts.txt foo PID myopts.txt . (Ignoring filters at run-time) ccp (identity filter) . . . PID reframer PID . -i src c=avc:b=1m:ccp -o mux PID AVC|H264 reframer PID . -i src c=avc:b=1m:ccp=avc,hevc -o mux PID AVC|H264 HEVC reframer PID . -i src cecrypt:cfile=drm.xml:ccp=aac -o mux PID AAC (encryptor) reframer PID . (Specific filter options) . : PID . . : * $GSHARE: GPAC ( /usr/share/gpac) * $GJS: -js-dirs $GJS/source.js * $GDOCS: : - iOS - EXTERNAL_STORAGE /sdcard Android - * $GCFG: GPAC * $GLANG: -lang * $GUA: (user agent) -user-agent * $GINC(init_val[,inc]): init_val init_val inc ( 1) . $GINC : gpac -i source.ts tssplit @#ServiceID= -o dump_$GINC(10,2).ts dump_10.ts dump_12.ts ... . : * FID: ( ) * SID: () ( ) * N=NAME: ( ) * FS: ( ) * RSID: sourceID ( ) * TAG: ( ) * ITAG: ( ) * FBT: ( ) * FBU: ( ) * FBD: ( ) * clone: / ( ) * nomux: / ( ) * gfreg: ( ) * gfloc: ( ) * gfopt: ( ) * gpac: URL ( ) * ccp: ( ) * NCID: netcap () * LT: -logs :LT=filter@debug ( ) * DBG: PID (=pid) (=pck) (=all) PID : - FBT PID - FBU PID - FBD PID FBT ( FBD) ( ) . FBT FBU FBD DBG : * : fA reframer:FBU=2 * : --reframer@FBU=2 * GPAC : [filter@reframer]FBU=2 -buffer-gen buffer-units -buffer-dec . (External filters) GPAC libgpac . -mod-dirs . gf_* RegisterFilter (filter register) - libgpac . GPAC (GPAC Built-in properties) sint uint lsint luint bool (boolean) frac / lfrac / flt dbl v2di v2d v3di v4di str UTF-8 mem cstr UTF-8 cmem ptr strl UTF-8 uintl sintl v2il 4cc (Four character code) 4ccl pfmt afmt cprm (color primaries) ISO/IEC 23091-2 ctfc (color transfer characteristics) ISO/IEC 23091-2 cmxc (color matrix coefficients) ISO/IEC 23091-2 alay ISO/IEC 23091-3 PID << ( FLAGS 4CC): >> : FLAGS D ( - GSF ) P ( ) ID (PIDI,uint, ) (Stream ID) ESID (ESID,uint,D ) ESID MPEG-4 PID ItemID (ITID,uint, ) HEIF ID ItemNumber (ITIX,uint, ) ( ) HEIF TrackNumber (PIDX,uint, ) ( ) ServiceID (PSID,uint,D ) ClockID (CKID,uint,D ) PID DependencyID (DPID,uint, ) SubLayer (DPSL,bool, ) PID PlaybackMode (PBKM,uint,D ) : * 0: * 1: // = * 2: // >= * 3: // Scalable (SCAL,bool, ) TileBase (SABT,bool, ) (Tile base stream) TileID (PTID,uint, ) PID hvt1/hvt2 Language (LANG,cstr, ) : ISO639 RFC 4646 ServiceName (SNAM,str,D ) PID ServiceProvider (SPRO,str,D ) PID StreamType (PMST,uint, ) StreamSubtype (PSST,4cc,D ) 4CC ( ) (handler) ISOM ISOMSubtype (PIST,4cc,D ) 4CC ISOM ( avc1 avc2...) OrigStreamType (POST,uint, ) CodecID (POTI,uint, ) (MPEG-4 OTI ISOBMFF 4CC) InitialObjectDescriptor (PIOD,bool, ) PID (IOD) MPEG-4 Unframed (PFRM,bool, ) (AU) ( annexB avc/hevc adts aac) UnframedAU (PFRF,bool, ) AU : AU ( annexB avc/hevc adts aac) LATM (LATM,bool, ) AAC LATM USRT (USRT,bool, ) SRT Duration (PDUR,lfrac, ) EstimatedDuration (EDUR,bool, ) NumFrames (NFRM,uint,D ) FrameOffset (FRMO,uint,D ) ( ) ConstantFrameSize (CFRS,uint, ) TimeshiftDepth (PTSD,frac,D ) (timeshift) TimeshiftTime (PTST,dbl,D ) - PID ( ) TimeshiftState (PTSS,uint,D ) : (OK) (underflow) (overflow) - PID ( ) Timescale (TIMS,uint, ) ( N N/timescale ) ProfileLevel (PRPL,uint,D ) (Profile) (Level) DecoderConfig (DCFG,mem, ) DecoderConfigEnhancement (ECFG,mem, ) () . 3GPP/Apple SDP DSISuperset (DCFS,bool, ) DecoderConfigIndex (ICFG,uint, ) ISO SampleRate (AUSR,uint, ) SamplesPerFrame (FRMS,uint, ) NumChannels (CHNB,uint, ) BPS (ABPS,uint, ) ChannelLayout (CHLO,luint, ) AudioFormat (AFMT,afmt, ) AudioPlaybackSpeed (ASPD,dbl,D ) Delay (MDLY,lsint, ) . ( ) . CTSShift (MDTS,uint, ) CTS ctts SkipPriming (ASKP,bool, ) (priming) Width (WIDT,uint, ) ( / / ) Height (HEIG,uint, ) ( / / ) PixelFormat (PFMT,pfmt, ) PixelFormatWrapped (PFMW,pfmt, ) GL Stride (VSTY,uint, ) (stride) Y/alpha StrideUV (VSTC,uint, ) (stride) UV U/V BitDepthLuma (YBPS,uint, ) (luma) BitDepthChroma (CBPS,uint, ) (chroma) FPS (VFPF,frac, ) Interlaced (VILC,bool, ) (interlaced) SAR (PSAR,frac, ) ( ) ( SAR ) MaxWidth (MWID,uint, ) ( / / ) MaxHeight (MHEI,uint, ) ( / / ) ZOrder (VZIX,sint, ) (Z-order) () () TransX (VTRX,sint, ) ( ) TransY (VTRY,sint, ) ( ) TransXRight (VTRx,sint, ) ( ) TransYTop (VTRy,sint, ) ( ) Hidden (HIDE,bool, ) PID / CropOrigin (VCXY,v2di, ) X Y (0,0 -) OriginalSize (VOWH,v2di, ) SRD (SRDI,v4di, ) SRDRef SRDRef (SRDR,v2di, ) SRD SRDMap (SRDM,uintl, ) {Ox,Oy,Ow,Oh,Dx,Dy,Dw,Dh} : * Ox,Oy,Ow,Oh: ( SRD ) SRDRef * Dx,Dy,Dw,Dh: SRDRef Alpha (VALP,bool, ) PID (alpha map) Mirror (VMIR,uint, ) ( : : Y : X) Rotate (VROT,uint, ) value*90 ClapW (CLPW,frac, ) (clean aperture) (luma) ClapH (CLPH,frac, ) ClapX (CLPX,frac, ) ClapY (CLPY,frac, ) NumViews (PNBV,uint, ) ( ) Bitrate (RATE,uint, ) bps Maxrate (MRAT,uint, ) bps TargetRate (TBRT,uint, ) bps DBSize (DBSZ,uint, ) MediaDataSize (MDSZ,luint,D ) DataRef (DREF,bool,D ) ( ) URL (FURL,str,D ) URL RemoteURL (RURL,str,D ) URL - MPEG-4 RedirectURL (RELO,str,D ) URL SourcePath (FSRC,str,D ) FileAlias (FALI,str,D ) $URL$ $File$ MIMEType (MIME,str,D ) MIME Extension (FEXT,str,D ) Cached (CACH,bool,D ) () DownloadRate (DLBW,uint,D ) - PID ( ) DownloadSize (DLSZ,luint,D ) DownBytes (DLBD,luint,D ) - PID ( ) ByteRange (FBRA,lfrac,D ) DisableProgressive (NPRG,uint, ) ( ) IsoAltBrands (ABRD,4ccl,D ) ISOBMFF PID/ IsoBrand (MBRD,4cc,D ) ISOBMFF PID/ MovieTime (MHTS,lfrac,D ) ISOBMFF HasSync (PSYN,bool,D ) PID ServiceWidth (DWDT,uint,D ) ServiceHeight (DHGT,uint,D ) IsDefault (PDEF,bool,D ) PID CarouselRate (CARA,uint,D ) (carousel) AudioVolume (AVOL,uint,D ) AudioPan (APAN,uint,D ) (Balance/Pan) AudioPriority (APRI,uint,D ) ProtectionScheme (SCHT,4cc, ) (4CC) SchemeVersion (SCHV,uint, ) SchemeURI (SCHU,str, ) URI KMS_URI (KMSU,str, ) URI (KMS) SelectiveEncryption (ISSE,bool, ) ISMA/OMA IVLength (ISIV,uint, ) (IV) ISMA KILength (ISKI,uint, ) KeyIndication ISMA CryptType (OMCT,uint, ) OMA ContentID (OMID,str, ) OMA ( Content ID) TextualHeaders (OMTH,str, ) OMA PlaintextLen (OMPT,luint, ) OMA CryptInfo (ECRI,str,D ) URL ( ) PID clear DecryptInfo (EDRI,str,D ) URL ( ) PID - SenderNTP (NTPS,luint,DP) NTP ReceiverNTP (NTPR,luint,DP) NTP ( ) NTP UTC (UTCD,luint,DP) UTC ( ) Encrypted (EPCK,bool, ) ( crypt ) - PID ( ) OMAPreview (ODPR,luint, ) OMA CENC_PSSH (PSSH,mem, ) PSSH CENC : (u32)NbSystems [ (bin128)SystemID(u32)version(u32)KID_count[ (bin128)keyID ] (u32)priv_size(char*priv_size)priv_data] CENC_SAI (SAIS,mem, P) CENC SAI : (char(IV_Size))IV(u16)NbSubSamples [(u16)ClearBytes(u32)CryptedBytes] KeyInfo (CBIV,mem, ) : is_mkey(u8); nb_keys(u16); [ IV_size(u8); KID(bin128); if (!IV_size) {; const_IV_size(u8); constIV(const_IV_size); } ] CENCPattern (CPTR,frac, ) CENC frac.num frac.den CENCStore (CSTR,4cc, ) 4CC SAI CENCstsdMode (CSTM,uint, ) CENC : * 0: * 1: CENC * 2: CENC AMRModeSet (AMST,uint, ) (ModeSet) AMR AMR-WideBand SubSampleInfo (SUBS,mem, P) N (subsample) N [(u32)flags(u32)size(u32)codec_param(u8)priority(u8) discardable]. (interleaved) NALUMaxSize (NALS,uint, ) NAL - PID ( ) FileNumber (FNUM,uint, P) FileName (FNAM,str, P) / DASH. IDXName (INAM,str, P) MPEG-2 TS DASH. FileSuffix (FSUF,str, P) $FS$ (tile templates) EODS (EODS,bool, P) DASH CueStart (PCUS,bool, P) DASH/HLS (cue-driven) - dasher MediaTime (MTIM,dbl,DP) ( ) MaxFrameSize (MFRS,uint,D ) - PID ( ) AvgFrameSize (AFRS,uint,D ) ( ISOBMFF ) MaxTSDelta (MTSD,uint,D ) DTS ( ISOBMFF ) MaxCTSOffset (MCTO,uint,D ) CTS ( ISOBMFF ) ConstantDuration (SCTD,uint,D ) ( ISOBMFF ) TrackTemplate (ITKT,mem,D ) ISOBMFF PID (stbl dref ) TrexTemplate (ITXT,mem,D ) trex ISOBMFF PID STSDTemplate (ISTD,mem,D ) ISOBMFF PID MovieUserData (IMUD,mem,D ) UDTA moov ISOBMFF () PID HandlerName (IHDL,str,D ) (handler) ISOBMFF TrackFlags (ITKF,uint,D ) ISOBMFF TrackMatrix (ITKM,sintl,D ) ISOBMFF AltGroup (IALG,uint,D ) (alt group) ISOBMFF ForceNCTTS (IFNC,bool,D ) CTS ISOBMFF Disable (ITKD,bool,D ) ISOBMFF Period (PEID,str,D ) (Period) DASH PStart (PEST,lfrac,D ) DASH - dasher PDur (PEDU,lfrac,D ) DASH - dasher Representation (DRID,str,D ) (Representation) DASH ASID (DAID,uint,D ) (Adaptation Set) DASH SSR (SSRR,sint,D ) (Adaptation Set): * ASID: SSR (cross-AS switching) * : * : LL-HLS ASQuery (ASQR,str,D ) MuxSrc (MSRC,str,D ) () dasher DashMode (DMOD,uint,D ) DASH dasher. DASH DASH VoD InitBase64 (IB64,bool,D ) base64 SegSync (DFSS,bool,D ) / (flush) DashDur (DDUR,frac,D ) DASH FragDur (FDUR,frac,D ) DASH DashMultiPid (DMSD,ptr,D ) GF_List PID stsd dasher DashMultiPidIdx (DMSI,uint,D ) PID PID dasher DashMultiTrack (DMTK,ptr,D ) GF_List PID dasher Role (ROLE,strl,D ) PID DASH URN:role-value ( URI ) PDesc (PDES,strl,D ) DASH PID ASDesc (ACDS,strl,D ) DASH PID. PID PID ASCDesc (AADS,strl,D ) DASH PID RDesc (RDES,strl,D ) DASH PID BUrl (BURL,strl,D ) (Base URLs) PID Template (DTPL,str, ) DASH PID StartNumber (DRSN,uint, ) PID - dasher xlink (XLNK,str,D ) URL DASH - dasher ClampDur (DCMD,lfrac,D ) PID DASH HLSPL (HLVP,str,D ) (variant playlist) HLS HLSGroup (HLGI,str,D ) HLS HLSRend (HLGR,strl,D ) HLS - HLSForce (HLFI,str,D ) EXT-X-STREAM-INF ( ) HLSMExt (HLMX,strl,D ) (master playlist) PID HLSVExt (HLVX,strl,D ) (variant playlist) PID DCue (DCUE,str,D ) (cue list) PID - dasher DSegs (DCNS,uint,D ) DASH DASH Codec (CODS,str,D ) . '.' ISOBMFF SingleScale (DSTS,bool,D ) (Movie header) RequireReorder (PUDP,bool,D ) PID (UDP) Primary (PITM,bool,D ) (Primary item) ISOBMFF DFMode (DFWD,uint,D ) DASH (forward mode) PID . DFManifest (DMPD,str,DP) (forward mode) DFVariant (DHLV,strl,DP) (forward mode) DFVariantName (DHLN,strl,DP) (forward mode) DFPStart (DPST,luint,D ) (forward mode) DFPckPStart (PDPS,bool,DP) ( ) HLSKey (HLSK,str, ) URI KEYFORMAT KEYFORMATVERSIONS HLS (Key URI) ( sample-AES) HLSIV (HLSI,mem, ) (Init Vector) HLS CKUrl (CCKU,str, ) (URL) ClearKey ColorPrimaries (CPRM,cprm,D ) (Color primaries) ColorTransfer (CTRC,ctfc,D ) (Color transfer) ColorTransferAlternative (CATC,ctfc,D ) ColorMatrix (CMXC,cmxc,D ) FullRange (CFRA,bool,D ) (Full range) Chroma (CFMT,uint,D ) ( ISO/IEC 23001-8 / 23091-2 ) ChromaLoc (CLOC,uint,D ) ( ISO/IEC 23001-8 / 23091-2 ) ContentLightLevel (CLLI,mem,D ) clli ( ISO/IEC 14496-12 ) ( "=max_cll,max_pic_avg_ll") MasterDisplayColour (MDCV,mem,D ) mdcv ( ISO/IEC 14496-12 ) ( "=dpx0,dpy0,dpx1,dpy1,dpx2,dpy2,wpx,wpy,max,min") ICC (ICCP,mem,D ) ICC ( ISO 15076-1 ICC.1 ) SrcMagic (PSMG,luint,D ) (importers) MuxIndex (TIDX,uint,D ) ( ) NoTSLoop (NTSL,bool, ) PID ( TS) MHAProfiles (MHCP,uintl,D ) MPEG-H Audio FragStart (PFRB,uint,DP) ( ) ( ) FragRange (PFRR,lfrac,DP) FragTFDT (PFRT,luint,DP) SIDXRange (PFSR,lfrac,DP) sidx VODSIDXRange (PRSR,lfrac,D ) sidx MoofTemplate (MFTP,mem,DP) moof ( styp sidx) InitSeg (PCKI,bool, P) (init segment) DASH true RawGrab (PGRB,uint,D ) PID ( ) . KeepAfterEOS (PKAE,bool,D ) PID (EOS) (LASeR BIFS) CoverArt (PCOV,mem,D ) PID. NULL PID BufferLength (PBPL,uint,D ) (playout buffer) MaxBuffer (PBMX,uint,D ) ReBuffer (PBRE,uint,D ) (Rebuffer) ViewIdx (VIDX,uint,D ) (multiview) ( ) FragURL (OFRA,str,D ) ( '#') ( PID ) MCASTIP (MSIP,str,D ) IP (Multicast) ROUTE/MABR MCASTPort (MSPN,uint,D ) (Port) ROUTE/MABR MCASTName (MSFN,str,D ) () ROUTE/MABR MCASTCarousel (MSCR,frac,D ) (Carousel) / ROUTE/MABR MCASTUpload (MSST,frac,D ) () ROUTE/MABR Stereo (PSTT,uint,D ) Projection (PPJT,uint,D ) (Projection) InitialPose (PPOS,v3di,D ) . (x yaw y pitch z roll ) CMPad (PCMP,uint,D ) (cube map) EQRClamp (PEQC,v4di,D ) (Clamping) EQR . (x y z w ) SceneNode (PSND,bool, ) PID (AFX BitWrapper BIFS) OrigCryptoScheme (POCS,4cc, ) PID TSBSegs (PTSN,uint,D ) HAS dashin dasher IsManifest (PHSM,uint,D ) PID HAS ( ) : * 0: * 1: DASH * 2: HLS * 3: GHI(X) Sparse (PSPA,bool,D ) PID ( / Sparse) CharSet (PCHS,str,D ) PID ForcedSub (PFCS,uint,D ) (Forced sub) PID: * 0: * 1: * 2: ChapTimes (CHPT,uintl,D ) ChapNames (CHPN,strl,D ) IsChap (PCHP,bool,D ) PID ( QuickTime) SkipBegin (PCKS,uint, P) PID ( PID ) SkipPres (PCKD,bool, P) CTS ( reframer ) OriginalDuration (PCOD,frac, P) (.num) (.den ) (redundant) HasSkipBegin (PSBP,bool, ) PID SkipBegin HLSRef (PHLR,luint,D ) HLS PckHLSRef (HPLR,luint,DP) HLSRef ROUTE/MABR LLHAS (HLHS,uint,D ) DASH/HLS LLHASFragNum (HLSN,uint,DP) DASH-SSR/LLHLS DownloadSession (GHTT,ptr,D ) HasTemi (PTEM,bool,D ) TEMI XPSMask (PXPM,uint,DP) RangeEnd (PCER,bool, P) RefID (PKID,sint, P) ( POC ) Refs (PRFS,sintl, P) UDTA (PUDT,ptr,DP) Timecode (TCOD,mem, P) SEI ( ) DOVI (DOVI,mem, ) (DolbyVision) OutPath (FDST,str, ) PID PID ACrypMeta (AMET,mem, ) Adobe HasCRoll (CROL,bool, ) CENC STSDAllTemplates (ISTA,mem,D ) ISOBMFF PID STSDTemplateIdx (ISTI,uint,D ) STSDAllTemplates PremuxType (PPST,uint, ) PID ROUTE/MABR CodecMerge (PCMB,uint,D ) PID ( HEVC) RelativePath (FNRL,bool,DP) ClearKeyID (CCKI,mem,D ) ClearKey DashSparse (DSSG,bool,D ) DASH (sparse mode ) DashDepGroup (DGDI,uint,D ) DASH SC35Ref (SC35,uint,D ) SCTE35 PID PID NoInit (PNIN,bool,D ) PID DASH ( dasher ROUTE/MABR ) ForceUnframe (PFUF,bool,D ) ( NALU ) MetaCodecID (MDCI,uint,D ) (FFmpeg ...) MetaCodecName (MDCN,str,D ) (FFmpeg ...) MetaCodecOpaque (MDOP,uint,D ) (FFmpeg ...) HASSegStart (FMSS,lfrac,DP) ROUTE/MABR SplitStart (PSPS,uint,DP) PID SplitEnd (PSPE,uint,DP) PID InitName (PINM,str,D ) ROUTE/MABR SegURL (SURL,str,DP) ( ) DynPSSH (PSHP,mem, P) PSSH CENC CENC_PSSH PSSH LLHASTemplate (PSRT,str, P) DASH-SSR LLHLS PartialRepair (PCPR,bool, P) ( ) SEILoaded (PSEI,bool,D ) PID SEI/ (inband) Fake (PFAK,bool,D ) PID ContentLightLevel (CLLP,mem,DP) clli ( ISO/IEC 14496-12 ) ( "=max_cll,max_pic_avg_ll") MasterDisplayColour (MDCP,mem,DP) mdcv ( ISO/IEC 14496-12 ) ( "=dpx0,dpy0,dpx1,dpy1,dpx2,dpy2,wpx,wpy,max,min") SEILoaded (SEIP,bool,DP) SEI/ OriginalPTS (OPTS,luint,DP) PTS PCR M2TS PCR OriginalDTS (ODTS,luint,DP) DTS M2TS PCR MABRBaseURLs (MABU,strl,D ) MABR - Forced (PCFS,bool,DP) TimeDiscontinuity (PDIS,uint,D ) PID - AmbientIlluminance (AMIL,uint,D ) AmbientLightX (AMLX,uint,D ) x AmbientLightY (AMLY,uint,D ) y (Pixel formats) yuv420 (ext *.yuv) YUV 420 (Planar) yvu420 (ext *.yvu) YVU 420 (Planar) yuv420_10 (ext *.yuvl) YUV 420 (Planar) yuv422 (ext *.yuv2) YUV 422 (Planar) yuv422_10 (ext *.yp2l) YUV 422 (Planar) yuv444 (ext *.yuv4) YUV 444 (Planar) yuv444_10 (ext *.yp4l) YUV 444 (Planar) uyvy (ext *.uyvy) UYVY 422 (Packed) vyuy (ext *.vyuy) VYUV 422 (Packed) yuyv (ext *.yuyv) YUYV 422 (Packed) yvyu (ext *.yvyu) YVYU 422 (Packed) uyvl (ext *.uyvl) UYVY 422 (Packed) vyul (ext *.vyul) VYUV 422 (Packed) yuyl (ext *.yuyl) YUYV 422 (Packed) yvyl (ext *.yvyl) YVYU 422 (Packed) nv12 (ext *.nv12) YUV 420 (Semi- planar) Y UV nv21 (ext *.nv21) YVU 420 (Semi- planar) Y VU nv1l (ext *.nv1l) YUV 420 (Semi- planar) Y UV nv2l (ext *.nv2l) YVU 420 (Semi- planar) Y VU yuva (ext *.yuva) YUV+alpha 420 (Planar) yuvd (ext *.yuvd) YUV+depth 420 (Planar) yuv444a (ext *.yp4a) YUV+alpha 444 (Planar) yuv444p (ext *.yv4p) YUV 444 (Packed) v308 (ext *.v308) VYU 444 (Packed) yuv444ap (ext *.y4ap) YUV+alpha 444 (Packed) v408 (ext *.v408) UYV+alpha 444 (Packed) v410 (ext *.v410) UYV 444 (Packed) (LE) v210 (ext *.v210) UYVY 422 (Packed) (LE) grey (ext *.grey) (Greyscale) algr (ext *.algr) + (Alpha+Grey) gral (ext *.gral) + (Grey+Alpha) rgb8 (ext *.rgb8) RGB 332 rgb4 (ext *.rgb4) RGB 444 ( ) rgb5 (ext *.rgb5) RGB 555 ( ) rgb6 (ext *.rgb6) RGB 555 rgba (ext *.rgba) RGBA ( ) argb (ext *.argb) ARGB ( ) bgra (ext *.bgra) BGRA ( ) abgr (ext *.abgr) ABGR ( ) rgb (ext *.rgb) RGB ( ) bgr (ext *.bgr) BGR ( ) xrgb (ext *.xrgb) xRGB ( ) rgbx (ext *.rgbx) RGBx ( ) xbgr (ext *.xbgr) xBGR ( ) bgrx (ext *.bgrx) BGRx ( ) rgbd (ext *.rgbd) RGB (RGB+depth) ( ) rgbds (ext *.rgbds) RGB ( RGB ( ) + ) extgl (ext *.extgl) OpenGL samplerExternalOES uncv (ext *.uncv) ISO/IEC 23001-17 (Audio formats) u8 (ext *.pc8) PCM s16 (ext *.pcm) PCM s16b (ext *.pcmb) PCM s24 (ext *.s24) PCM s24b (ext *.s24b) PCM s32 (ext *.s32) PCM s32b (ext *.s32b) PCM flt (ext *.flt) PCM fltb (ext *.fltb) PCM dbl (ext *.dbl) PCM dblb (ext *.dblb) PCM u8p (ext *.pc8p) PCM (Planar) s16p (ext *.pcmp) PCM (Planar) s24p (ext *.s24p) PCM (Planar) s32p (ext *.s32p) PCM (Planar) fltp (ext *.fltp) PCM (Planar) dblp (ext *.dblp) PCM (Planar) (Stream types) Visual Audio SceneDescription Text Metadata (Metadata) File Encrypted ObjectDescriptor (ObjectDescriptor) MPEG-4 ClockReference (Clock Reference) MPEG-4 MPEG7 MPEG-7 IPMP (IPMP/DRM) MPEG-4 OCI (OCI) MPEG-4 MPEGJ (MPEGJ) MPEG-4 Interaction MPEG-4 Font MPEG-4 (Codecs) bifs MPEG-4 BIFS bifs2 MPEG-4 BIFS bifsX MPEG-4 BIFS od MPEG-4 od2 MPEG-4 interact MPEG-4 afx MPEG-4 AFX font MPEG-4 syntex (Synthetized Texture) MPEG-4 m4txt MPEG-4 laser MPEG-4 LASeR saf MPEG-4 (SAF) cmp|m4ve|m4v MPEG-4 (Visual part 2) 264|avc|h264 MPEG-4 AVC/H264 avcps MPEG-4 AVC/H264 svc|avc|264|h264 MPEG-4 AVC/H264 (SVC) mvc MPEG-4 AVC/H264 (MVC) hvc|hevc|h265 HEVC (H.265) lhvc|shvc|mhvc HEVC m2vs MPEG-2 (Simple) m2v MPEG-2 (Main) m2v|m2vsnr MPEG-2 SNR m2v|m2vspat MPEG-2 (Spatial) m2v|m2vh MPEG-2 (High) m2v|m2v4 MPEG-2 422 m1v MPEG-1 jpg|jpeg JPEG png PNG jp2|j2k JPEG2000 aac MPEG-4 AAC aac|aac2m MPEG-2 AAC (Main) aac|aac2l MPEG-2 AAC (Low Complexity) aac|aac2s MPEG-2 AAC (SSR) mp3|m1a MPEG-1 mp2 MPEG-2 mp1 MPEG-1 h263 H263 h263 H263 hvt1 HEVC (HEVC tiles) evc|evrc EVRC smv SMV qcp|qcelp QCELP amr AMR amr|amrwb AMR (AMR WideBand) qcp|evrcpv EVRC ( PacketVideo) vc1 SMPTE VC-1 dirac Dirac ac3 AC3 eac3 AC3 (Enhanced AC3) ac4 AC4 mlp Dolby TrueHD dra DRA g719 G719 dtsc DTS Coherent Acoustics Digital Surround dtsh DTS-HD High Resolution DTS-Master Audio dtsl DTS-HD XLLAudio dtse DTS Express dtsx DTS-X UHD dtsy DTS-X UHD opus Opus eti DVB (DVB Event Information) svgr SVG RTP svgzr SVG+gz RTP dims 3GPP DIMS vtt WebVTT txt mtxt mxml XML subs subx XML tx3g / 3GPP/Apple ssa SSA / ASS theo|theora Theora vorb|vorbis Vorbis opus Opus iamf (AOM IAMF) flac Flac spx|speex Speex vobsub VobSub vobsub VobSub adpcm AD-PCM csvd IBM CSVD alaw ALAW mulaw MULAW okiadpcm OKI ADPCM dviadpcm DVI ADPCM digistd DIGISTD yamadpcm YAMAHA ADPCM truespeech DSP TrueSpeech g610 GSM 610 imulaw IBM MULAW ialaw IBM ALAW iadpcl IBM ADPCL swf (Adobe Flash) raw (Raw media) uncv (Raw Video) av1|ivf|obu|av1b AOM AV1 vp8|ivf VP8 vp9|ivf VP9 vp10|ivf VP10 avsv|avs3 AVS3 avsa|avs3 AVS3 mhas MPEG-H mhas MPEG-H (AudioMux) iamf (AOM IAMF) prores|apch ProRes 422 HQ prores|apco ProRes 422 Proxy prores|apcn ProRes 422 STD prores|apcs ProRes 422 LT prores|ap4x ProRes 4444 XQ prores|ap4h ProRes 4444 ffmpeg FFmpeg tmcd QuickTime (QT TimeCode) sc35 SCTE35 evte (Event Messages) vvc|266|h266 VVC (H.266) vvs1 VVC (VVC Subpicture Video) usac|xheaac xHEAAC / USAC ffv1 FFmpeg (FFV1) dvbs DVB dvbs DVB (DVB-TeleText) div3 MS-MPEG4 V3 caf (ALAC / Apple Lossless Audio) dnx Avid DNxHD (Stream types) mono (int 1) 0x0000000000000004 stereo (int 2) 0x0000000000000003 3/0.0 (int 3) 0x0000000000000007 3/1.0 (int 4) 0x0000000000000407 3/2.0 (int 5) 0x0000000000000037 3/2.1 (int 6) 0x000000000000003f 5/2.1 (int 7) 0x000000000000003f 1+1 (int 8) 0x0000000000000003 2/1.0 (int 9) 0x0000000000000403 2/2.0 (int 10) 0x0000000000000033 3/3.1 (int 11) 0x000000000000043f 3/4.1 (int 12) 0x000000000000033f 11/11.2 (int 13) 0x000000003ffe67cf 5/2.1 (int 14) 0x000000000006003f 5/5.2 (int 15) 0x000000000606603f 5/4.1 (int 16) 0x000000000036003f 6/5.1 (int 17) 0x00000000023e003f 6/7.1 (int 18) 0x00000600023e003f 5/6.1 (int 19) 0x000000000036630f 7/6.1 (int 20) 0x000000600036630f (EXAMPLES) https://wiki.gpac.io/Filters/Filters . (MORE) : GPAC (-log) . https://github.com/gpac/gpac . : 26.07 : (C) 2000-2024 Telecom Paris LGPL v2.1+ - https://gpac.io (SEE ALSO) gpac-filters(1),MP4Box(1) gpac 2019 gpac(1)