diff --git a/src/main/java/net/bramp/ffmpeg/builder/AudioCodec.java b/src/main/java/net/bramp/ffmpeg/builder/AudioCodec.java new file mode 100644 index 00000000..c83e5e5a --- /dev/null +++ b/src/main/java/net/bramp/ffmpeg/builder/AudioCodec.java @@ -0,0 +1,425 @@ +package net.bramp.ffmpeg.builder; +/**The available codecs may vary depending on the version of FFmpeg. + *
+ * you can get a list of available codecs through use {@link net.bramp.ffmpeg.FFmpeg#codecs()}. + * + * @see net.bramp.ffmpeg.FFmpeg#codecs() + * @author van1164 + * */ +public class AudioCodec { + + /**4GV (Fourth Generation Vocoder)*/ + public static final String GV = "4gv"; + /**8SVX exponential*/ + public static final String SVX_EXP = "8svx_exp"; + /**8SVX fibonacci*/ + public static final String SVX_FIB = "8svx_fib"; + /**AAC (Advanced Audio Coding) (decoders: aac aac_fixed) (encoders: aac aac_mf)*/ + public static final String AAC = "aac"; + /**AAC LATM (Advanced Audio Coding LATM syntax)*/ + public static final String AAC_LATM = "aac_latm"; + /**ATSC A/52A (AC-3) (decoders: ac3 ac3_fixed) (encoders: ac3 ac3_fixed ac3_mf)*/ + public static final String AC3 = "ac3"; + /**AC-4*/ + public static final String AC4 = "ac4"; + /**Sipro ACELP.KELVIN*/ + public static final String ACELP_KELVIN = "acelp.kelvin"; + /**ADPCM 4X Movie*/ + public static final String ADPCM_4XM = "adpcm_4xm"; + /**SEGA CRI ADX ADPCM*/ + public static final String ADPCM_ADX = "adpcm_adx"; + /**ADPCM Nintendo Gamecube AFC*/ + public static final String ADPCM_AFC = "adpcm_afc"; + /**ADPCM AmuseGraphics Movie AGM*/ + public static final String ADPCM_AGM = "adpcm_agm"; + /**ADPCM Yamaha AICA*/ + public static final String ADPCM_AICA = "adpcm_aica"; + /**ADPCM Argonaut Games*/ + public static final String ADPCM_ARGO = "adpcm_argo"; + /**ADPCM Creative Technology*/ + public static final String ADPCM_CT = "adpcm_ct"; + /**ADPCM Nintendo Gamecube DTK*/ + public static final String ADPCM_DTK = "adpcm_dtk"; + /**ADPCM Electronic Arts*/ + public static final String ADPCM_EA = "adpcm_ea"; + /**ADPCM Electronic Arts Maxis CDROM XA*/ + public static final String ADPCM_EA_MAXIS_XA = "adpcm_ea_maxis_xa"; + /**ADPCM Electronic Arts R1*/ + public static final String ADPCM_EA_R1 = "adpcm_ea_r1"; + /**ADPCM Electronic Arts R2*/ + public static final String ADPCM_EA_R2 = "adpcm_ea_r2"; + /**ADPCM Electronic Arts R3*/ + public static final String ADPCM_EA_R3 = "adpcm_ea_r3"; + /**ADPCM Electronic Arts XAS*/ + public static final String ADPCM_EA_XAS = "adpcm_ea_xas"; + /**G.722 ADPCM (decoders: g722) (encoders: g722)*/ + public static final String ADPCM_G722 = "adpcm_g722"; + /**G.726 ADPCM (decoders: g726) (encoders: g726)*/ + public static final String ADPCM_G726 = "adpcm_g726"; + /**G.726 ADPCM little-endian (decoders: g726le) (encoders: g726le)*/ + public static final String ADPCM_G726LE = "adpcm_g726le"; + /**ADPCM IMA Acorn Replay*/ + public static final String ADPCM_IMA_ACORN = "adpcm_ima_acorn"; + /**ADPCM IMA High Voltage Software ALP*/ + public static final String ADPCM_IMA_ALP = "adpcm_ima_alp"; + /**ADPCM IMA AMV*/ + public static final String ADPCM_IMA_AMV = "adpcm_ima_amv"; + /**ADPCM IMA CRYO APC*/ + public static final String ADPCM_IMA_APC = "adpcm_ima_apc"; + /**ADPCM IMA Ubisoft APM*/ + public static final String ADPCM_IMA_APM = "adpcm_ima_apm"; + /**ADPCM IMA Cunning Developments*/ + public static final String ADPCM_IMA_CUNNING = "adpcm_ima_cunning"; + /**ADPCM IMA Eurocom DAT4*/ + public static final String ADPCM_IMA_DAT4 = "adpcm_ima_dat4"; + /**ADPCM IMA Duck DK3*/ + public static final String ADPCM_IMA_DK3 = "adpcm_ima_dk3"; + /**ADPCM IMA Duck DK4*/ + public static final String ADPCM_IMA_DK4 = "adpcm_ima_dk4"; + /**ADPCM IMA Electronic Arts EACS*/ + public static final String ADPCM_IMA_EA_EACS = "adpcm_ima_ea_eacs"; + /**ADPCM IMA Electronic Arts SEAD*/ + public static final String ADPCM_IMA_EA_SEAD = "adpcm_ima_ea_sead"; + /**ADPCM IMA Funcom ISS*/ + public static final String ADPCM_IMA_ISS = "adpcm_ima_iss"; + /**ADPCM IMA MobiClip MOFLEX*/ + public static final String ADPCM_IMA_MOFLEX = "adpcm_ima_moflex"; + /**ADPCM IMA Capcom's MT Framework*/ + public static final String ADPCM_IMA_MTF = "adpcm_ima_mtf"; + /**ADPCM IMA Dialogic OKI*/ + public static final String ADPCM_IMA_OKI = "adpcm_ima_oki"; + /**ADPCM IMA QuickTime*/ + public static final String ADPCM_IMA_QT = "adpcm_ima_qt"; + /**ADPCM IMA Radical*/ + public static final String ADPCM_IMA_RAD = "adpcm_ima_rad"; + /**ADPCM IMA Loki SDL MJPEG*/ + public static final String ADPCM_IMA_SMJPEG = "adpcm_ima_smjpeg"; + /**ADPCM IMA Simon & Schuster Interactive*/ + public static final String ADPCM_IMA_SSI = "adpcm_ima_ssi"; + /**ADPCM IMA WAV*/ + public static final String ADPCM_IMA_WAV = "adpcm_ima_wav"; + /**ADPCM IMA Westwood*/ + public static final String ADPCM_IMA_WS = "adpcm_ima_ws"; + /**ADPCM Microsoft*/ + public static final String ADPCM_MS = "adpcm_ms"; + /**ADPCM MTAF*/ + public static final String ADPCM_MTAF = "adpcm_mtaf"; + /**ADPCM Playstation*/ + public static final String ADPCM_PSX = "adpcm_psx"; + /**ADPCM Sound Blaster Pro 2-bit*/ + public static final String ADPCM_SBPRO_2 = "adpcm_sbpro_2"; + /**ADPCM Sound Blaster Pro 2.6-bit*/ + public static final String ADPCM_SBPRO_3 = "adpcm_sbpro_3"; + /**ADPCM Sound Blaster Pro 4-bit*/ + public static final String ADPCM_SBPRO_4 = "adpcm_sbpro_4"; + /**ADPCM Shockwave Flash*/ + public static final String ADPCM_SWF = "adpcm_swf"; + /**ADPCM Nintendo THP*/ + public static final String ADPCM_THP = "adpcm_thp"; + /**ADPCM Nintendo THP (Little-Endian)*/ + public static final String ADPCM_THP_LE = "adpcm_thp_le"; + /**LucasArts VIMA audio*/ + public static final String ADPCM_VIMA = "adpcm_vima"; + /**ADPCM CDROM XA*/ + public static final String ADPCM_XA = "adpcm_xa"; + /**ADPCM Konami XMD*/ + public static final String ADPCM_XMD = "adpcm_xmd"; + /**ADPCM Yamaha*/ + public static final String ADPCM_YAMAHA = "adpcm_yamaha"; + /**ADPCM Zork*/ + public static final String ADPCM_ZORK = "adpcm_zork"; + /**ALAC (Apple Lossless Audio Codec)*/ + public static final String ALAC = "alac"; + /**AMR-NB (Adaptive Multi-Rate NarrowBand) (decoders: amrnb libopencore_amrnb) (encoders: libopencore_amrnb)*/ + public static final String AMR_NB = "amr_nb"; + /**AMR-WB (Adaptive Multi-Rate WideBand) (decoders: amrwb libopencore_amrwb) (encoders: libvo_amrwbenc)*/ + public static final String AMR_WB = "amr_wb"; + /**Null audio codec*/ + public static final String ANULL = "anull"; + /**Marian's A-pac audio*/ + public static final String APAC = "apac"; + /**Monkey's Audio*/ + public static final String APE = "ape"; + /**aptX (Audio Processing Technology for Bluetooth)*/ + public static final String APTX = "aptx"; + /**aptX HD (Audio Processing Technology for Bluetooth)*/ + public static final String APTX_HD = "aptx_hd"; + /**ATRAC1 (Adaptive TRansform Acoustic Coding)*/ + public static final String ATRAC1 = "atrac1"; + /**ATRAC3 (Adaptive TRansform Acoustic Coding 3)*/ + public static final String ATRAC3 = "atrac3"; + /**ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)*/ + public static final String ATRAC3AL = "atrac3al"; + /**ATRAC3+ (Adaptive TRansform Acoustic Coding 3+) (decoders: atrac3plus)*/ + public static final String ATRAC3P = "atrac3p"; + /**ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless) (decoders: atrac3plusal)*/ + public static final String ATRAC3PAL = "atrac3pal"; + /**ATRAC9 (Adaptive TRansform Acoustic Coding 9)*/ + public static final String ATRAC9 = "atrac9"; + /**On2 Audio for Video Codec (decoders: on2avc)*/ + public static final String AVC = "avc"; + /**Bink Audio (DCT)*/ + public static final String BINKAUDIO_DCT = "binkaudio_dct"; + /**Bink Audio (RDFT)*/ + public static final String BINKAUDIO_RDFT = "binkaudio_rdft"; + /**Discworld II BMV audio*/ + public static final String BMV_AUDIO = "bmv_audio"; + /**Bonk audio*/ + public static final String BONK = "bonk"; + /**DPCM Cuberoot-Delta-Exact*/ + public static final String CBD2_DPCM = "cbd2_dpcm"; + /**Constrained Energy Lapped Transform (CELT)*/ + public static final String CELT = "celt"; + /**codec2 (very low bitrate speech codec)*/ + public static final String CODEC2 = "codec2"; + /**RFC 3389 Comfort Noise*/ + public static final String COMFORTNOISE = "comfortnoise"; + /**Cook / Cooker / Gecko (RealAudio G2)*/ + public static final String COOK = "cook"; + /**DPCM Xilam DERF*/ + public static final String DERF_DPCM = "derf_dpcm"; + /**DFPWM (Dynamic Filter Pulse Width Modulation)*/ + public static final String DFPWM = "dfpwm"; + /**Dolby E*/ + public static final String DOLBY_E = "dolby_e"; + /**DSD (Direct Stream Digital), least significant bit first*/ + public static final String DSD_LSBF = "dsd_lsbf"; + /**DSD (Direct Stream Digital), least significant bit first, planar*/ + public static final String DSD_LSBF_PLANAR = "dsd_lsbf_planar"; + /**DSD (Direct Stream Digital), most significant bit first*/ + public static final String DSD_MSBF = "dsd_msbf"; + /**DSD (Direct Stream Digital), most significant bit first, planar*/ + public static final String DSD_MSBF_PLANAR = "dsd_msbf_planar"; + /**Delphine Software International CIN audio*/ + public static final String DSICINAUDIO = "dsicinaudio"; + /**Digital Speech Standard - Standard Play mode (DSS SP)*/ + public static final String DSS_SP = "dss_sp"; + /**DST (Direct Stream Transfer)*/ + public static final String DST = "dst"; + /**DCA (DTS Coherent Acoustics) (decoders: dca) (encoders: dca)*/ + public static final String DTS = "dts"; + /**DV audio*/ + public static final String DVAUDIO = "dvaudio"; + /**ATSC A/52B (AC-3, E-AC-3)*/ + public static final String EAC3 = "eac3"; + /**EVRC (Enhanced Variable Rate Codec)*/ + public static final String EVRC = "evrc"; + /**MobiClip FastAudio*/ + public static final String FASTAUDIO = "fastaudio"; + /**FLAC (Free Lossless Audio Codec)*/ + public static final String FLAC = "flac"; + /**FTR Voice*/ + public static final String FTR = "ftr"; + /**G.723.1*/ + public static final String G723_1 = "g723_1"; + /**G.729*/ + public static final String G729 = "g729"; + /**DPCM Gremlin*/ + public static final String GREMLIN_DPCM = "gremlin_dpcm"; + /**GSM (decoders: gsm libgsm) (encoders: libgsm)*/ + public static final String GSM = "gsm"; + /**GSM Microsoft variant (decoders: gsm_ms libgsm_ms) (encoders: libgsm_ms)*/ + public static final String GSM_MS = "gsm_ms"; + /**CRI HCA*/ + public static final String HCA = "hca"; + /**HCOM Audio*/ + public static final String HCOM = "hcom"; + /**IAC (Indeo Audio Coder)*/ + public static final String IAC = "iac"; + /**iLBC (Internet Low Bitrate Codec)*/ + public static final String ILBC = "ilbc"; + /**IMC (Intel Music Coder)*/ + public static final String IMC = "imc"; + /**DPCM Interplay*/ + public static final String INTERPLAY_DPCM = "interplay_dpcm"; + /**Interplay ACM*/ + public static final String INTERPLAYACM = "interplayacm"; + /**MACE (Macintosh Audio Compression/Expansion) 3:1*/ + public static final String MACE3 = "mace3"; + /**MACE (Macintosh Audio Compression/Expansion) 6:1*/ + public static final String MACE6 = "mace6"; + /**Voxware MetaSound*/ + public static final String METASOUND = "metasound"; + /**Micronas SC-4 Audio*/ + public static final String MISC4 = "misc4"; + /**MLP (Meridian Lossless Packing)*/ + public static final String MLP = "mlp"; + /**MP1 (MPEG audio layer 1) (decoders: mp1 mp1float)*/ + public static final String MP1 = "mp1"; + /**MP2 (MPEG audio layer 2) (decoders: mp2 mp2float) (encoders: mp2 mp2fixed)*/ + public static final String MP2 = "mp2"; + /**MP3 (MPEG audio layer 3) (decoders: mp3float mp3) (encoders: libmp3lame mp3_mf)*/ + public static final String MP3 = "mp3"; + /**ADU (Application Data Unit) MP3 (MPEG audio layer 3) (decoders: mp3adufloat mp3adu)*/ + public static final String MP3ADU = "mp3adu"; + /**MP3onMP4 (decoders: mp3on4float mp3on4)*/ + public static final String MP3ON4 = "mp3on4"; + /**MPEG-4 Audio Lossless Coding (ALS) (decoders: als)*/ + public static final String MP4ALS = "mp4als"; + /**MPEG-H 3D Audio*/ + public static final String MPEGH_3D_AUDIO = "mpegh_3d_audio"; + /**MSN Siren*/ + public static final String MSNSIREN = "msnsiren"; + /**Musepack SV7 (decoders: mpc7)*/ + public static final String MUSEPACK7 = "musepack7"; + /**Musepack SV8 (decoders: mpc8)*/ + public static final String MUSEPACK8 = "musepack8"; + /**Nellymoser Asao*/ + public static final String NELLYMOSER = "nellymoser"; + /**Opus (Opus Interactive Audio Codec) (decoders: opus libopus) (encoders: opus libopus)*/ + public static final String OPUS = "opus"; + /**OSQ (Original Sound Quality)*/ + public static final String OSQ = "osq"; + /**Amazing Studio Packed Animation File Audio*/ + public static final String PAF_AUDIO = "paf_audio"; + /**PCM A-law / G.711 A-law*/ + public static final String PCM_ALAW = "pcm_alaw"; + /**PCM signed 16|20|24-bit big-endian for Blu-ray media*/ + public static final String PCM_BLURAY = "pcm_bluray"; + /**PCM signed 20|24-bit big-endian*/ + public static final String PCM_DVD = "pcm_dvd"; + /**PCM 16.8 floating point little-endian*/ + public static final String PCM_F16LE = "pcm_f16le"; + /**PCM 24.0 floating point little-endian*/ + public static final String PCM_F24LE = "pcm_f24le"; + /**PCM 32-bit floating point big-endian*/ + public static final String PCM_F32BE = "pcm_f32be"; + /**PCM 32-bit floating point little-endian*/ + public static final String PCM_F32LE = "pcm_f32le"; + /**PCM 64-bit floating point big-endian*/ + public static final String PCM_F64BE = "pcm_f64be"; + /**PCM 64-bit floating point little-endian*/ + public static final String PCM_F64LE = "pcm_f64le"; + /**PCM signed 20-bit little-endian planar*/ + public static final String PCM_LXF = "pcm_lxf"; + /**PCM mu-law / G.711 mu-law*/ + public static final String PCM_MULAW = "pcm_mulaw"; + /**PCM signed 16-bit big-endian*/ + public static final String PCM_S16BE = "pcm_s16be"; + /**PCM signed 16-bit big-endian planar*/ + public static final String PCM_S16BE_PLANAR = "pcm_s16be_planar"; + /**PCM signed 16-bit little-endian*/ + public static final String PCM_S16LE = "pcm_s16le"; + /**PCM signed 16-bit little-endian planar*/ + public static final String PCM_S16LE_PLANAR = "pcm_s16le_planar"; + /**PCM signed 24-bit big-endian*/ + public static final String PCM_S24BE = "pcm_s24be"; + /**PCM D-Cinema audio signed 24-bit*/ + public static final String PCM_S24DAUD = "pcm_s24daud"; + /**PCM signed 24-bit little-endian*/ + public static final String PCM_S24LE = "pcm_s24le"; + /**PCM signed 24-bit little-endian planar*/ + public static final String PCM_S24LE_PLANAR = "pcm_s24le_planar"; + /**PCM signed 32-bit big-endian*/ + public static final String PCM_S32BE = "pcm_s32be"; + /**PCM signed 32-bit little-endian*/ + public static final String PCM_S32LE = "pcm_s32le"; + /**PCM signed 32-bit little-endian planar*/ + public static final String PCM_S32LE_PLANAR = "pcm_s32le_planar"; + /**PCM signed 64-bit big-endian*/ + public static final String PCM_S64BE = "pcm_s64be"; + /**PCM signed 64-bit little-endian*/ + public static final String PCM_S64LE = "pcm_s64le"; + /**PCM signed 8-bit*/ + public static final String PCM_S8 = "pcm_s8"; + /**PCM signed 8-bit planar*/ + public static final String PCM_S8_PLANAR = "pcm_s8_planar"; + /**PCM SGA*/ + public static final String PCM_SGA = "pcm_sga"; + /**PCM unsigned 16-bit big-endian*/ + public static final String PCM_U16BE = "pcm_u16be"; + /**PCM unsigned 16-bit little-endian*/ + public static final String PCM_U16LE = "pcm_u16le"; + /**PCM unsigned 24-bit big-endian*/ + public static final String PCM_U24BE = "pcm_u24be"; + /**PCM unsigned 24-bit little-endian*/ + public static final String PCM_U24LE = "pcm_u24le"; + /**PCM unsigned 32-bit big-endian*/ + public static final String PCM_U32BE = "pcm_u32be"; + /**PCM unsigned 32-bit little-endian*/ + public static final String PCM_U32LE = "pcm_u32le"; + /**PCM unsigned 8-bit*/ + public static final String PCM_U8 = "pcm_u8"; + /**PCM Archimedes VIDC*/ + public static final String PCM_VIDC = "pcm_vidc"; + /**QCELP / PureVoice*/ + public static final String QCELP = "qcelp"; + /**QDesign Music Codec 2*/ + public static final String QDM2 = "qdm2"; + /**QDesign Music*/ + public static final String QDMC = "qdmc"; + /**RealAudio 1.0 (14.4K) (decoders: real_144) (encoders: real_144)*/ + public static final String RA_144 = "ra_144"; + /**RealAudio 2.0 (28.8K) (decoders: real_288)*/ + public static final String RA_288 = "ra_288"; + /**RealAudio Lossless*/ + public static final String RALF = "ralf"; + /**RKA (RK Audio)*/ + public static final String RKA = "rka"; + /**DPCM id RoQ*/ + public static final String ROQ_DPCM = "roq_dpcm"; + /**SMPTE 302M*/ + public static final String S302M = "s302m"; + /**SBC (low-complexity subband codec)*/ + public static final String SBC = "sbc"; + /**DPCM Squareroot-Delta-Exact*/ + public static final String SDX2_DPCM = "sdx2_dpcm"; + /**Shorten*/ + public static final String SHORTEN = "shorten"; + /**RealAudio SIPR / ACELP.NET*/ + public static final String SIPR = "sipr"; + /**Siren*/ + public static final String SIREN = "siren"; + /**Smacker audio (decoders: smackaud)*/ + public static final String SMACKAUDIO = "smackaudio"; + /**SMV (Selectable Mode Vocoder)*/ + public static final String SMV = "smv"; + /**DPCM Sol*/ + public static final String SOL_DPCM = "sol_dpcm"; + /**Sonic*/ + public static final String SONIC = "sonic"; + /**Sonic lossless*/ + public static final String SONICLS = "sonicls"; + /**Speex (decoders: speex libspeex) (encoders: libspeex)*/ + public static final String SPEEX = "speex"; + /**TAK (Tom's lossless Audio Kompressor)*/ + public static final String TAK = "tak"; + /**TrueHD*/ + public static final String TRUEHD = "truehd"; + /**DSP Group TrueSpeech*/ + public static final String TRUESPEECH = "truespeech"; + /**TTA (True Audio)*/ + public static final String TTA = "tta"; + /**VQF TwinVQ*/ + public static final String TWINVQ = "twinvq"; + /**Sierra VMD audio*/ + public static final String VMDAUDIO = "vmdaudio"; + /**Vorbis (decoders: vorbis libvorbis) (encoders: vorbis libvorbis)*/ + public static final String VORBIS = "vorbis"; + /**DPCM Marble WADY*/ + public static final String WADY_DPCM = "wady_dpcm"; + /**Waveform Archiver*/ + public static final String WAVARC = "wavarc"; + /**Wave synthesis pseudo-codec*/ + public static final String WAVESYNTH = "wavesynth"; + /**WavPack*/ + public static final String WAVPACK = "wavpack"; + /**Westwood Audio (SND1) (decoders: ws_snd1)*/ + public static final String WESTWOOD_SND1 = "westwood_snd1"; + /**Windows Media Audio Lossless*/ + public static final String WMALOSSLESS = "wmalossless"; + /**Windows Media Audio 9 Professional*/ + public static final String WMAPRO = "wmapro"; + /**Windows Media Audio 1*/ + public static final String WMAV1 = "wmav1"; + /**Windows Media Audio 2*/ + public static final String WMAV2 = "wmav2"; + /**Windows Media Audio Voice*/ + public static final String WMAVOICE = "wmavoice"; + /**DPCM Xan*/ + public static final String XAN_DPCM = "xan_dpcm"; + /**Xbox Media Audio 1*/ + public static final String XMA1 = "xma1"; + /**Xbox Media Audio 2*/ + public static final String XMA2 = "xma2"; +} \ No newline at end of file diff --git a/src/main/java/net/bramp/ffmpeg/builder/VideoCodec.java b/src/main/java/net/bramp/ffmpeg/builder/VideoCodec.java new file mode 100644 index 00000000..7447c1e7 --- /dev/null +++ b/src/main/java/net/bramp/ffmpeg/builder/VideoCodec.java @@ -0,0 +1,559 @@ +package net.bramp.ffmpeg.builder; +/**The available codecs may vary depending on the version of FFmpeg. + *
+ * you can get a list of available codecs through use {@link net.bramp.ffmpeg.FFmpeg#codecs()}. + * + * @see net.bramp.ffmpeg.FFmpeg#codecs() + * @author van1164 + * */ +public class VideoCodec { + + /**Uncompressed 4:2:2 10-bit*/ + public static final String V = "012v"; + /**4X Movie*/ + public static final String XM = "4xm"; + /**QuickTime 8BPS video*/ + public static final String BPS = "8bps"; + /**Multicolor charset for Commodore 64 (encoders: a64multi)*/ + public static final String A64_MULTI = "a64_multi"; + /**Multicolor charset for Commodore 64, extended with 5th color (colram) (encoders: a64multi5)*/ + public static final String A64_MULTI5 = "a64_multi5"; + /**Autodesk RLE*/ + public static final String AASC = "aasc"; + /**Amuse Graphics Movie*/ + public static final String AGM = "agm"; + /**Apple Intermediate Codec*/ + public static final String AIC = "aic"; + /**Alias/Wavefront PIX image*/ + public static final String ALIAS_PIX = "alias_pix"; + /**AMV Video*/ + public static final String AMV = "amv"; + /**Deluxe Paint Animation*/ + public static final String ANM = "anm"; + /**ASCII/ANSI art*/ + public static final String ANSI = "ansi"; + /**APNG (Animated Portable Network Graphics) image*/ + public static final String APNG = "apng"; + /**Gryphon's Anim Compressor*/ + public static final String ARBC = "arbc"; + /**Argonaut Games Video*/ + public static final String ARGO = "argo"; + /**ASUS V1*/ + public static final String ASV1 = "asv1"; + /**ASUS V2*/ + public static final String ASV2 = "asv2"; + /**Auravision AURA*/ + public static final String AURA = "aura"; + /**Auravision Aura 2*/ + public static final String AURA2 = "aura2"; + /**Alliance for Open Media AV1 (decoders: libaom-av1 av1 av1_cuvid av1_qsv) (encoders: libaom-av1 av1_nvenc av1_qsv av1_amf)*/ + public static final String AV1 = "av1"; + /**Avid AVI Codec*/ + public static final String AVRN = "avrn"; + /**Avid 1:1 10-bit RGB Packer*/ + public static final String AVRP = "avrp"; + /**AVS (Audio Video Standard) video*/ + public static final String AVS = "avs"; + /**AVS2-P2/IEEE1857.4*/ + public static final String AVS2 = "avs2"; + /**AVS3-P2/IEEE1857.10*/ + public static final String AVS3 = "avs3"; + /**Avid Meridien Uncompressed*/ + public static final String AVUI = "avui"; + /**Uncompressed packed MS 4:4:4:4*/ + public static final String AYUV = "ayuv"; + /**Bethesda VID video*/ + public static final String BETHSOFTVID = "bethsoftvid"; + /**Brute Force & Ignorance*/ + public static final String BFI = "bfi"; + /**Bink video*/ + public static final String BINKVIDEO = "binkvideo"; + /**Binary text*/ + public static final String BINTEXT = "bintext"; + /**Bitpacked*/ + public static final String BITPACKED = "bitpacked"; + /**BMP (Windows and OS/2 bitmap)*/ + public static final String BMP = "bmp"; + /**Discworld II BMV video*/ + public static final String BMV_VIDEO = "bmv_video"; + /**BRender PIX image*/ + public static final String BRENDER_PIX = "brender_pix"; + /**Interplay C93*/ + public static final String C93 = "c93"; + /**Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)*/ + public static final String CAVS = "cavs"; + /**CD Graphics video*/ + public static final String CDGRAPHICS = "cdgraphics"; + /**CDToons video*/ + public static final String CDTOONS = "cdtoons"; + /**Commodore CDXL video*/ + public static final String CDXL = "cdxl"; + /**GoPro CineForm HD*/ + public static final String CFHD = "cfhd"; + /**Cinepak*/ + public static final String CINEPAK = "cinepak"; + /**Iterated Systems ClearVideo*/ + public static final String CLEARVIDEO = "clearvideo"; + /**Cirrus Logic AccuPak*/ + public static final String CLJR = "cljr"; + /**Canopus Lossless Codec*/ + public static final String CLLC = "cllc"; + /**Electronic Arts CMV video (decoders: eacmv)*/ + public static final String CMV = "cmv"; + /**CPiA video format*/ + public static final String CPIA = "cpia"; + /**Cintel RAW*/ + public static final String CRI = "cri"; + /**CamStudio (decoders: camstudio)*/ + public static final String CSCD = "cscd"; + /**Creative YUV (CYUV)*/ + public static final String CYUV = "cyuv"; + /**Daala*/ + public static final String DAALA = "daala"; + /**DirectDraw Surface image decoder*/ + public static final String DDS = "dds"; + /**Chronomaster DFA*/ + public static final String DFA = "dfa"; + /**Dirac (encoders: vc2)*/ + public static final String DIRAC = "dirac"; + /**VC3/DNxHD*/ + public static final String DNXHD = "dnxhd"; + /**DPX (Digital Picture Exchange) image*/ + public static final String DPX = "dpx"; + /**Delphine Software International CIN video*/ + public static final String DSICINVIDEO = "dsicinvideo"; + /**DV (Digital Video)*/ + public static final String DVVIDEO = "dvvideo"; + /**Feeble Files/ScummVM DXA*/ + public static final String DXA = "dxa"; + /**Dxtory*/ + public static final String DXTORY = "dxtory"; + /**Resolume DXV*/ + public static final String DXV = "dxv"; + /**Escape 124*/ + public static final String ESCAPE124 = "escape124"; + /**Escape 130*/ + public static final String ESCAPE130 = "escape130"; + /**MPEG-5 EVC (Essential Video Coding)*/ + public static final String EVC = "evc"; + /**OpenEXR image*/ + public static final String EXR = "exr"; + /**FFmpeg video codec #1*/ + public static final String FFV1 = "ffv1"; + /**Huffyuv FFmpeg variant*/ + public static final String FFVHUFF = "ffvhuff"; + /**Mirillis FIC*/ + public static final String FIC = "fic"; + /**FITS (Flexible Image Transport System)*/ + public static final String FITS = "fits"; + /**Flash Screen Video v1*/ + public static final String FLASHSV = "flashsv"; + /**Flash Screen Video v2*/ + public static final String FLASHSV2 = "flashsv2"; + /**Autodesk Animator Flic video*/ + public static final String FLIC = "flic"; + /**FLV / Sorenson Spark / Sorenson H.263 (Flash Video) (decoders: flv) (encoders: flv)*/ + public static final String FLV1 = "flv1"; + /**FM Screen Capture Codec*/ + public static final String FMVC = "fmvc"; + /**Fraps*/ + public static final String FRAPS = "fraps"; + /**Forward Uncompressed*/ + public static final String FRWU = "frwu"; + /**Go2Meeting*/ + public static final String G2M = "g2m"; + /**Gremlin Digital Video*/ + public static final String GDV = "gdv"; + /**GEM Raster image*/ + public static final String GEM = "gem"; + /**CompuServe GIF (Graphics Interchange Format)*/ + public static final String GIF = "gif"; + /**H.261*/ + public static final String H261 = "h261"; + /**H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2*/ + public static final String H263 = "h263"; + /**Intel H.263*/ + public static final String H263I = "h263i"; + /**H.263+ / H.263-1998 / H.263 version 2*/ + public static final String H263P = "h263p"; + /**H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv h264_cuvid) (encoders: libx264 libx264rgb h264_amf h264_mf h264_nvenc h264_qsv)*/ + public static final String H264 = "h264"; + /**Vidvox Hap*/ + public static final String HAP = "hap"; + /**HDR (Radiance RGBE format) image*/ + public static final String HDR = "hdr"; + /**H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv hevc_cuvid) (encoders: libx265 hevc_amf hevc_mf hevc_nvenc hevc_qsv)*/ + public static final String HEVC = "hevc"; + /**HNM 4 video*/ + public static final String HNM4VIDEO = "hnm4video"; + /**Canopus HQ/HQA*/ + public static final String HQ_HQA = "hq_hqa"; + /**Canopus HQX*/ + public static final String HQX = "hqx"; + /**HuffYUV*/ + public static final String HUFFYUV = "huffyuv"; + /**HuffYUV MT*/ + public static final String HYMT = "hymt"; + /**id Quake II CIN video (decoders: idcinvideo)*/ + public static final String IDCIN = "idcin"; + /**iCEDraw text*/ + public static final String IDF = "idf"; + /**IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN (decoders: iff)*/ + public static final String IFF_ILBM = "iff_ilbm"; + /**Infinity IMM4*/ + public static final String IMM4 = "imm4"; + /**Infinity IMM5*/ + public static final String IMM5 = "imm5"; + /**Intel Indeo 2*/ + public static final String INDEO2 = "indeo2"; + /**Intel Indeo 3*/ + public static final String INDEO3 = "indeo3"; + /**Intel Indeo Video Interactive 4*/ + public static final String INDEO4 = "indeo4"; + /**Intel Indeo Video Interactive 5*/ + public static final String INDEO5 = "indeo5"; + /**Interplay MVE video*/ + public static final String INTERPLAYVIDEO = "interplayvideo"; + /**IPU Video*/ + public static final String IPU = "ipu"; + /**JPEG 2000 (encoders: jpeg2000 libopenjpeg)*/ + public static final String JPEG2000 = "jpeg2000"; + /**JPEG-LS*/ + public static final String JPEGLS = "jpegls"; + /**JPEG XL*/ + public static final String JPEGXL = "jpegxl"; + /**Bitmap Brothers JV video*/ + public static final String JV = "jv"; + /**Kega Game Video*/ + public static final String KGV1 = "kgv1"; + /**Karl Morton's video codec*/ + public static final String KMVC = "kmvc"; + /**Lagarith lossless*/ + public static final String LAGARITH = "lagarith"; + /**Lossless JPEG*/ + public static final String LJPEG = "ljpeg"; + /**LOCO*/ + public static final String LOCO = "loco"; + /**LEAD Screen Capture*/ + public static final String LSCR = "lscr"; + /**Matrox Uncompressed SD*/ + public static final String M101 = "m101"; + /**Electronic Arts Madcow Video (decoders: eamad)*/ + public static final String MAD = "mad"; + /**MagicYUV video*/ + public static final String MAGICYUV = "magicyuv"; + /**Sony PlayStation MDEC (Motion DECoder)*/ + public static final String MDEC = "mdec"; + /**Media 100i*/ + public static final String MEDIA100 = "media100"; + /**Mimic*/ + public static final String MIMIC = "mimic"; + /**Motion JPEG (decoders: mjpeg mjpeg_cuvid mjpeg_qsv) (encoders: mjpeg mjpeg_qsv)*/ + public static final String MJPEG = "mjpeg"; + /**Apple MJPEG-B*/ + public static final String MJPEGB = "mjpegb"; + /**American Laser Games MM Video*/ + public static final String MMVIDEO = "mmvideo"; + /**MobiClip Video*/ + public static final String MOBICLIP = "mobiclip"; + /**Motion Pixels video*/ + public static final String MOTIONPIXELS = "motionpixels"; + /**MPEG-1 video (decoders: mpeg1video mpeg1_cuvid)*/ + public static final String MPEG1VIDEO = "mpeg1video"; + /**MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_qsv mpeg2_cuvid) (encoders: mpeg2video mpeg2_qsv)*/ + public static final String MPEG2VIDEO = "mpeg2video"; + /**MPEG-4 part 2 (decoders: mpeg4 mpeg4_cuvid) (encoders: mpeg4 libxvid)*/ + public static final String MPEG4 = "mpeg4"; + /**MS ATC Screen*/ + public static final String MSA1 = "msa1"; + /**Mandsoft Screen Capture Codec*/ + public static final String MSCC = "mscc"; + /**MPEG-4 part 2 Microsoft variant version 1*/ + public static final String MSMPEG4V1 = "msmpeg4v1"; + /**MPEG-4 part 2 Microsoft variant version 2*/ + public static final String MSMPEG4V2 = "msmpeg4v2"; + /**MPEG-4 part 2 Microsoft variant version 3 (decoders: msmpeg4) (encoders: msmpeg4)*/ + public static final String MSMPEG4V3 = "msmpeg4v3"; + /**Microsoft Paint (MSP) version 2*/ + public static final String MSP2 = "msp2"; + /**Microsoft RLE*/ + public static final String MSRLE = "msrle"; + /**MS Screen 1*/ + public static final String MSS1 = "mss1"; + /**MS Windows Media Video V9 Screen*/ + public static final String MSS2 = "mss2"; + /**Microsoft Video 1*/ + public static final String MSVIDEO1 = "msvideo1"; + /**LCL (LossLess Codec Library) MSZH*/ + public static final String MSZH = "mszh"; + /**MS Expression Encoder Screen*/ + public static final String MTS2 = "mts2"; + /**MidiVid 3.0*/ + public static final String MV30 = "mv30"; + /**Silicon Graphics Motion Video Compressor 1*/ + public static final String MVC1 = "mvc1"; + /**Silicon Graphics Motion Video Compressor 2*/ + public static final String MVC2 = "mvc2"; + /**MidiVid VQ*/ + public static final String MVDV = "mvdv"; + /**MidiVid Archive Codec*/ + public static final String MVHA = "mvha"; + /**MatchWare Screen Capture Codec*/ + public static final String MWSC = "mwsc"; + /**Mobotix MxPEG video*/ + public static final String MXPEG = "mxpeg"; + /**NotchLC*/ + public static final String NOTCHLC = "notchlc"; + /**NuppelVideo/RTJPEG*/ + public static final String NUV = "nuv"; + /**Amazing Studio Packed Animation File Video*/ + public static final String PAF_VIDEO = "paf_video"; + /**PAM (Portable AnyMap) image*/ + public static final String PAM = "pam"; + /**PBM (Portable BitMap) image*/ + public static final String PBM = "pbm"; + /**PC Paintbrush PCX image*/ + public static final String PCX = "pcx"; + /**PDV (PlayDate Video)*/ + public static final String PDV = "pdv"; + /**PFM (Portable FloatMap) image*/ + public static final String PFM = "pfm"; + /**PGM (Portable GrayMap) image*/ + public static final String PGM = "pgm"; + /**PGMYUV (Portable GrayMap YUV) image*/ + public static final String PGMYUV = "pgmyuv"; + /**PGX (JPEG2000 Test Format)*/ + public static final String PGX = "pgx"; + /**PHM (Portable HalfFloatMap) image*/ + public static final String PHM = "phm"; + /**Kodak Photo CD*/ + public static final String PHOTOCD = "photocd"; + /**Pictor/PC Paint*/ + public static final String PICTOR = "pictor"; + /**Apple Pixlet*/ + public static final String PIXLET = "pixlet"; + /**PNG (Portable Network Graphics) image*/ + public static final String PNG = "png"; + /**PPM (Portable PixelMap) image*/ + public static final String PPM = "ppm"; + /**Apple ProRes (iCodec Pro) (encoders: prores prores_aw prores_ks)*/ + public static final String PRORES = "prores"; + /**Brooktree ProSumer Video*/ + public static final String PROSUMER = "prosumer"; + /**Photoshop PSD file*/ + public static final String PSD = "psd"; + /**V.Flash PTX image*/ + public static final String PTX = "ptx"; + /**Apple QuickDraw*/ + public static final String QDRAW = "qdraw"; + /**QOI (Quite OK Image)*/ + public static final String QOI = "qoi"; + /**Q-team QPEG*/ + public static final String QPEG = "qpeg"; + /**QuickTime Animation (RLE) video*/ + public static final String QTRLE = "qtrle"; + /**AJA Kona 10-bit RGB Codec*/ + public static final String R10K = "r10k"; + /**Uncompressed RGB 10-bit*/ + public static final String R210 = "r210"; + /**RemotelyAnywhere Screen Capture*/ + public static final String RASC = "rasc"; + /**raw video*/ + public static final String RAWVIDEO = "rawvideo"; + /**RL2 video*/ + public static final String RL2 = "rl2"; + /**id RoQ video (decoders: roqvideo) (encoders: roqvideo)*/ + public static final String ROQ = "roq"; + /**QuickTime video (RPZA)*/ + public static final String RPZA = "rpza"; + /**innoHeim/Rsupport Screen Capture Codec*/ + public static final String RSCC = "rscc"; + /**RTV1 (RivaTuner Video)*/ + public static final String RTV1 = "rtv1"; + /**RealVideo 1.0*/ + public static final String RV10 = "rv10"; + /**RealVideo 2.0*/ + public static final String RV20 = "rv20"; + /**RealVideo 3.0*/ + public static final String RV30 = "rv30"; + /**RealVideo 4.0*/ + public static final String RV40 = "rv40"; + /**LucasArts SANM/SMUSH video*/ + public static final String SANM = "sanm"; + /**ScreenPressor*/ + public static final String SCPR = "scpr"; + /**Screenpresso*/ + public static final String SCREENPRESSO = "screenpresso"; + /**Digital Pictures SGA Video*/ + public static final String SGA = "sga"; + /**SGI image*/ + public static final String SGI = "sgi"; + /**SGI RLE 8-bit*/ + public static final String SGIRLE = "sgirle"; + /**BitJazz SheerVideo*/ + public static final String SHEERVIDEO = "sheervideo"; + /**Simbiosis Interactive IMX Video*/ + public static final String SIMBIOSIS_IMX = "simbiosis_imx"; + /**Smacker video (decoders: smackvid)*/ + public static final String SMACKVIDEO = "smackvideo"; + /**QuickTime Graphics (SMC)*/ + public static final String SMC = "smc"; + /**Sigmatel Motion Video*/ + public static final String SMVJPEG = "smvjpeg"; + /**Snow*/ + public static final String SNOW = "snow"; + /**Sunplus JPEG (SP5X)*/ + public static final String SP5X = "sp5x"; + /**NewTek SpeedHQ*/ + public static final String SPEEDHQ = "speedhq"; + /**Screen Recorder Gold Codec*/ + public static final String SRGC = "srgc"; + /**Sun Rasterfile image*/ + public static final String SUNRAST = "sunrast"; + /**Scalable Vector Graphics*/ + public static final String SVG = "svg"; + /**Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1*/ + public static final String SVQ1 = "svq1"; + /**Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3*/ + public static final String SVQ3 = "svq3"; + /**Truevision Targa image*/ + public static final String TARGA = "targa"; + /**Pinnacle TARGA CineWave YUV16*/ + public static final String TARGA_Y216 = "targa_y216"; + /**TDSC*/ + public static final String TDSC = "tdsc"; + /**Electronic Arts TGQ video (decoders: eatgq)*/ + public static final String TGQ = "tgq"; + /**Electronic Arts TGV video (decoders: eatgv)*/ + public static final String TGV = "tgv"; + /**Theora (encoders: libtheora)*/ + public static final String THEORA = "theora"; + /**Nintendo Gamecube THP video*/ + public static final String THP = "thp"; + /**Tiertex Limited SEQ video*/ + public static final String TIERTEXSEQVIDEO = "tiertexseqvideo"; + /**TIFF image*/ + public static final String TIFF = "tiff"; + /**8088flex TMV*/ + public static final String TMV = "tmv"; + /**Electronic Arts TQI video (decoders: eatqi)*/ + public static final String TQI = "tqi"; + /**Duck TrueMotion 1.0*/ + public static final String TRUEMOTION1 = "truemotion1"; + /**Duck TrueMotion 2.0*/ + public static final String TRUEMOTION2 = "truemotion2"; + /**Duck TrueMotion 2.0 Real Time*/ + public static final String TRUEMOTION2RT = "truemotion2rt"; + /**TechSmith Screen Capture Codec (decoders: camtasia)*/ + public static final String TSCC = "tscc"; + /**TechSmith Screen Codec 2*/ + public static final String TSCC2 = "tscc2"; + /**Renderware TXD (TeXture Dictionary) image*/ + public static final String TXD = "txd"; + /**IBM UltiMotion (decoders: ultimotion)*/ + public static final String ULTI = "ulti"; + /**Ut Video*/ + public static final String UTVIDEO = "utvideo"; + /**Uncompressed 4:2:2 10-bit*/ + public static final String V210 = "v210"; + /**Uncompressed 4:2:2 10-bit*/ + public static final String V210X = "v210x"; + /**Uncompressed packed 4:4:4*/ + public static final String V308 = "v308"; + /**Uncompressed packed QT 4:4:4:4*/ + public static final String V408 = "v408"; + /**Uncompressed 4:4:4 10-bit*/ + public static final String V410 = "v410"; + /**Beam Software VB*/ + public static final String VB = "vb"; + /**VBLE Lossless Codec*/ + public static final String VBLE = "vble"; + /**Vizrt Binary Image*/ + public static final String VBN = "vbn"; + /**SMPTE VC-1 (decoders: vc1 vc1_qsv vc1_cuvid)*/ + public static final String VC1 = "vc1"; + /**Windows Media Video 9 Image v2*/ + public static final String VC1IMAGE = "vc1image"; + /**ATI VCR1*/ + public static final String VCR1 = "vcr1"; + /**Miro VideoXL (decoders: xl)*/ + public static final String VIXL = "vixl"; + /**Sierra VMD video*/ + public static final String VMDVIDEO = "vmdvideo"; + /**vMix Video*/ + public static final String VMIX = "vmix"; + /**VMware Screen Codec / VMware Video*/ + public static final String VMNC = "vmnc"; + /**Null video codec*/ + public static final String VNULL = "vnull"; + /**On2 VP3*/ + public static final String VP3 = "vp3"; + /**On2 VP4*/ + public static final String VP4 = "vp4"; + /**On2 VP5*/ + public static final String VP5 = "vp5"; + /**On2 VP6*/ + public static final String VP6 = "vp6"; + /**On2 VP6 (Flash version, with alpha channel)*/ + public static final String VP6A = "vp6a"; + /**On2 VP6 (Flash version)*/ + public static final String VP6F = "vp6f"; + /**On2 VP7*/ + public static final String VP7 = "vp7"; + /**On2 VP8 (decoders: vp8 libvpx vp8_cuvid vp8_qsv) (encoders: libvpx)*/ + public static final String VP8 = "vp8"; + /**Google VP9 (decoders: vp9 libvpx-vp9 vp9_cuvid vp9_qsv) (encoders: libvpx-vp9 vp9_qsv)*/ + public static final String VP9 = "vp9"; + /**ViewQuest VQC*/ + public static final String VQC = "vqc"; + /**H.266 / VVC (Versatile Video Coding)*/ + public static final String VVC = "vvc"; + /**WBMP (Wireless Application Protocol Bitmap) image*/ + public static final String WBMP = "wbmp"; + /**WinCAM Motion Video*/ + public static final String WCMV = "wcmv"; + /**WebP (encoders: libwebp_anim libwebp)*/ + public static final String WEBP = "webp"; + /**Windows Media Video 7*/ + public static final String WMV1 = "wmv1"; + /**Windows Media Video 8*/ + public static final String WMV2 = "wmv2"; + /**Windows Media Video 9*/ + public static final String WMV3 = "wmv3"; + /**Windows Media Video 9 Image*/ + public static final String WMV3IMAGE = "wmv3image"; + /**Winnov WNV1*/ + public static final String WNV1 = "wnv1"; + /**AVFrame to AVPacket passthrough*/ + public static final String WRAPPED_AVFRAME = "wrapped_avframe"; + /**Westwood Studios VQA (Vector Quantized Animation) video (decoders: vqavideo)*/ + public static final String WS_VQA = "ws_vqa"; + /**Wing Commander III / Xan*/ + public static final String XAN_WC3 = "xan_wc3"; + /**Wing Commander IV / Xxan*/ + public static final String XAN_WC4 = "xan_wc4"; + /**eXtended BINary text*/ + public static final String XBIN = "xbin"; + /**XBM (X BitMap) image*/ + public static final String XBM = "xbm"; + /**X-face image*/ + public static final String XFACE = "xface"; + /**XPM (X PixMap) image*/ + public static final String XPM = "xpm"; + /**XWD (X Window Dump) image*/ + public static final String XWD = "xwd"; + /**Uncompressed YUV 4:1:1 12-bit*/ + public static final String Y41P = "y41p"; + /**YUY2 Lossless Codec*/ + public static final String YLC = "ylc"; + /**Psygnosis YOP Video*/ + public static final String YOP = "yop"; + /**Uncompressed packed 4:2:0*/ + public static final String YUV4 = "yuv4"; + /**ZeroCodec Lossless Video*/ + public static final String ZEROCODEC = "zerocodec"; + /**LCL (LossLess Codec Library) ZLIB*/ + public static final String ZLIB = "zlib"; + /**Zip Motion Blocks Video*/ + public static final String ZMBV = "zmbv"; +} \ No newline at end of file diff --git a/src/test/java/net/bramp/ffmpeg/builder/FFmpegBuilderTest.java b/src/test/java/net/bramp/ffmpeg/builder/FFmpegBuilderTest.java index 43f49e31..483ca688 100644 --- a/src/test/java/net/bramp/ffmpeg/builder/FFmpegBuilderTest.java +++ b/src/test/java/net/bramp/ffmpeg/builder/FFmpegBuilderTest.java @@ -191,6 +191,29 @@ public void testSetOptions() { assertThat(video, reflectEquals(options.getVideo())); } + /** Tests if all the various encoding options actually get stored and used correctly */ + @Test + public void testVideoCodecWithEnum() { + MainEncodingOptions main = new MainEncodingOptions("mp4", 1500L, 2L); + AudioEncodingOptions audio = + new AudioEncodingOptions(true, AudioCodec.AAC, 1, AUDIO_SAMPLE_48000, AUDIO_FORMAT_S16, 1, 2.0); + VideoEncodingOptions video = + new VideoEncodingOptions(true, VideoCodec.H264, FPS_30, 320, 240, 1, null, null, null); + + EncodingOptions options = + new FFmpegBuilder() + .setInput("input") + .addOutput("output") + .useOptions(main) + .useOptions(audio) + .useOptions(video) + .buildOptions(); + + assertThat(main, reflectEquals(options.getMain())); + assertThat(audio, reflectEquals(options.getAudio())); + assertThat(video, reflectEquals(options.getVideo())); + } + @Test public void testMultipleOutputs() { diff --git a/tools/codec_enum_generator.py b/tools/codec_enum_generator.py new file mode 100644 index 00000000..49498f24 --- /dev/null +++ b/tools/codec_enum_generator.py @@ -0,0 +1,74 @@ +""" +First of all, FFmpeg should be installed on your local PC. +Running "python codec_enum_generator.py" in the shell creates Audioodec and VideooCodec. +You can update the codec file by putting these two files within the net.bramp.ffmpeg.builder package. +""" +import subprocess +import re + +CODECS_REGEX = re.compile("^ ([.D][.E][VASD][.I][.L][.S]) (\S{2,})\s+(.*)$") + +def removeLeadingNumbers(text): + index = 0 + while index < len(text) and text[index].isdigit(): + index += 1 + return text[index:] + +def writeCodec(m,codec): + document = "\t"+"/**"+ m.group(3).replace("&","&").rstrip() +"*/\n" + enumCode = "\t" +"public static final String " +removeLeadingNumbers(m.group(2).replace(".","_")).upper() +' = "'+ m.group(2) +'";' +'\n' + codec.write(document) + codec.write(enumCode) + + +output = subprocess.check_output("ffmpeg -codecs", shell=True).decode('utf-8') + +print(output) + +output = output.split("\n") + +videoCodec = open("VideoCodec.java", 'w') +audioCodec = open("AudioCodec.java", 'w') + +# write header +videoCodec.write( +"""package net.bramp.ffmpeg.builder; +/**The available codecs may vary depending on the version of FFmpeg. + *
+ * you can get a list of available codecs through use {@link net.bramp.ffmpeg.FFmpeg#codecs()}. + * + * @see net.bramp.ffmpeg.FFmpeg#codecs() + * @author van1164 + * */ +public class VideoCodec { + +""") +audioCodec.write( +"""package net.bramp.ffmpeg.builder; +/**The available codecs may vary depending on the version of FFmpeg. + *
+ * you can get a list of available codecs through use {@link net.bramp.ffmpeg.FFmpeg#codecs()}. + * + * @see net.bramp.ffmpeg.FFmpeg#codecs() + * @author van1164 + * */ +public class AudioCodec { + +""") +for item in output: + m = CODECS_REGEX.match(item) + if not m : continue + + lst = item.split() + if 'A' in m.group(1): + writeCodec(m,audioCodec) + + if 'V' in m.group(1): + writeCodec(m,videoCodec) + + +videoCodec.write("}") +audioCodec.write("}") + +videoCodec.close() +audioCodec.close()