ffmpeg

package module
v0.0.0-...-b0022b4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2017 License: MIT Imports: 9 Imported by: 0

README

ffmpeg

a go library interface around the ffmpeg command line tool

GoDoc

Usage

// For creating a video from many images
cmd, err := ffmpeg.Command(nil,
	ffmpeg.Input("foo-%03d.jpeg"),
	ffmpeg.Output("foo.avi",
		ffmpeg.WithSize(ffmpeg.AllStreamSpecifier(), 1920,1080)))
if err != nil {
	// ... handle error
}

if err := cmd.Run(); err != nil {
	// ... handle error
}

License

MIT

Documentation

Overview

Package ffmpeg provides a library interface to the ffmpeg command line interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cmd

type Cmd struct {
	Args []string
	// contains filtered or unexported fields
}

Cmd represents an ffmpeg command being prepared or run.

func Command

func Command(global GlobalOptions, files ...*File) (*Cmd, error)

Command creates a new Cmd instance

func (*Cmd) Run

func (cmd *Cmd) Run() error

Run starts the specified command and waits for it to complete.

type Codec

type Codec int
const (
	Codec012V             Codec = iota // Uncompressed 4:2:2 10-bit
	Codec4Xm                           // 4X Movie
	Codec8Bps                          // QuickTime 8BPS video
	CodecA64Multi                      // Multicolor charset for Commodore 64 (encoders: a64multi )
	CodecA64Multi5                     // Multicolor charset for Commodore 64, extended with 5th color (colram) (encoders: a64multi5 )
	CodecAasc                          // Autodesk RLE
	CodecAic                           // Apple Intermediate Codec
	CodecAliasPix                      // Alias/Wavefront PIX image
	CodecAmv                           // AMV Video
	CodecAnm                           // Deluxe Paint Animation
	CodecAnsi                          // ASCII/ANSI art
	CodecApng                          // APNG (Animated Portable Network Graphics) image
	CodecAsv1                          // ASUS V1
	CodecAsv2                          // ASUS V2
	CodecAura                          // Auravision AURA
	CodecAura2                         // Auravision Aura 2
	CodecAv1                           // Alliance for Open Media AV1
	CodecAvrn                          // Avid AVI Codec
	CodecAvrp                          // Avid 1:1 10-bit RGB Packer
	CodecAvs                           // AVS (Audio Video Standard) video
	CodecAvui                          // Avid Meridien Uncompressed
	CodecAyuv                          // Uncompressed packed MS 4:4:4:4
	CodecBethsoftvid                   // Bethesda VID video
	CodecBfi                           // Brute Force & Ignorance
	CodecBinkvideo                     // Bink video
	CodecBintext                       // Binary text
	CodecBitpacked                     // Bitpacked
	CodecBmp                           // BMP (Windows and OS/2 bitmap)
	CodecBmvVideo                      // Discworld II BMV video
	CodecBrenderPix                    // BRender PIX image
	CodecC93                           // Interplay C93
	CodecCavs                          // Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)
	CodecCdgraphics                    // CD Graphics video
	CodecCdxl                          // Commodore CDXL video
	CodecCfhd                          // Cineform HD
	CodecCinepak                       // Cinepak
	CodecClearvideo                    // Iterated Systems ClearVideo
	CodecCljr                          // Cirrus Logic AccuPak
	CodecCllc                          // Canopus Lossless Codec
	CodecCmv                           // Electronic Arts CMV video (decoders: eacmv )
	CodecCpia                          // CPiA video format
	CodecCscd                          // CamStudio (decoders: camstudio )
	CodecCyuv                          // Creative YUV (CYUV)
	CodecDaala                         // Daala
	CodecDds                           // DirectDraw Surface image decoder
	CodecDfa                           // Chronomaster DFA
	CodecDirac                         // Dirac (encoders: vc2 )
	CodecDnxhd                         // VC3/DNxHD
	CodecDpx                           // DPX (Digital Picture Exchange) image
	CodecDsicinvideo                   // Delphine Software International CIN video
	CodecDvvideo                       // DV (Digital Video)
	CodecDxa                           // Feeble Files/ScummVM DXA
	CodecDxtory                        // Dxtory
	CodecDxv                           // Resolume DXV
	CodecEscape124                     // Escape 124
	CodecEscape130                     // Escape 130
	CodecExr                           // OpenEXR image
	CodecFfv1                          // FFmpeg video codec #1
	CodecFfvhuff                       // Huffyuv FFmpeg variant
	CodecFic                           // Mirillis FIC
	CodecFits                          // FITS (Flexible Image Transport System)
	CodecFlashsv                       // Flash Screen Video v1
	CodecFlashsv2                      // Flash Screen Video v2
	CodecFlic                          // Autodesk Animator Flic video
	CodecFlv1                          // FLV / Sorenson Spark / Sorenson H.263 (Flash Video) (decoders: flv ) (encoders: flv )
	CodecFmvc                          // FM Screen Capture Codec
	CodecFraps                         // Fraps
	CodecFrwu                          // Forward Uncompressed
	CodecG2M                           // Go2Meeting
	CodecGdv                           // Gremlin Digital Video
	CodecGif                           // GIF (Graphics Interchange Format)
	CodecH261                          // H.261
	CodecH263                          // H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
	CodecH263I                         // Intel H.263
	CodecH263P                         // H.263+ / H.263-1998 / H.263 version 2
	CodecH264                          // H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb h264_videotoolbox )
	CodecHap                           // Vidvox Hap
	CodecHevc                          // H.265 / HEVC (High Efficiency Video Coding)
	CodecHnm4Video                     // HNM 4 video
	CodecHqHqa                         // Canopus HQ/HQA
	CodecHqx                           // Canopus HQX
	CodecHuffyuv                       // HuffYUV
	CodecIdcin                         // id Quake II CIN video (decoders: idcinvideo )
	CodecIdf                           // iCEDraw text
	CodecIffIlbm                       // IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN (decoders: iff )
	CodecIndeo2                        // Intel Indeo 2
	CodecIndeo3                        // Intel Indeo 3
	CodecIndeo4                        // Intel Indeo Video Interactive 4
	CodecIndeo5                        // Intel Indeo Video Interactive 5
	CodecInterplayvideo                // Interplay MVE video
	CodecJpeg2000                      // JPEG 2000
	CodecJpegls                        // JPEG-LS
	CodecJv                            // Bitmap Brothers JV video
	CodecKgv1                          // Kega Game Video
	CodecKmvc                          // Karl Morton's video codec
	CodecLagarith                      // Lagarith lossless
	CodecLjpeg                         // Lossless JPEG
	CodecLoco                          // LOCO
	CodecM101                          // Matrox Uncompressed SD
	CodecMad                           // Electronic Arts Madcow Video (decoders: eamad )
	CodecMagicyuv                      // MagicYUV video
	CodecMdec                          // Sony PlayStation MDEC (Motion DECoder)
	CodecMimic                         // Mimic
	CodecMjpeg                         // Motion JPEG
	CodecMjpegb                        // Apple MJPEG-B
	CodecMmvideo                       // American Laser Games MM Video
	CodecMotionpixels                  // Motion Pixels video
	CodecMpeg1Video                    // MPEG-1 video
	CodecMpeg2Video                    // MPEG-2 video (decoders: mpeg2video mpegvideo )
	CodecMpeg4                         // MPEG-4 part 2 (encoders: mpeg4 libxvid )
	CodecMpegvideoXvmc                 // MPEG-1/2 video XvMC (X-Video Motion Compensation)
	CodecMsa1                          // MS ATC Screen
	CodecMscc                          // Mandsoft Screen Capture Codec
	CodecMsmpeg4V1                     // MPEG-4 part 2 Microsoft variant version 1
	CodecMsmpeg4V2                     // MPEG-4 part 2 Microsoft variant version 2
	CodecMsmpeg4V3                     // MPEG-4 part 2 Microsoft variant version 3 (decoders: msmpeg4 ) (encoders: msmpeg4 )
	CodecMsrle                         // Microsoft RLE
	CodecMss1                          // MS Screen 1
	CodecMss2                          // MS Windows Media Video V9 Screen
	CodecMsvideo1                      // Microsoft Video 1
	CodecMszh                          // LCL (LossLess Codec Library) MSZH
	CodecMts2                          // MS Expression Encoder Screen
	CodecMvc1                          // Silicon Graphics Motion Video Compressor 1
	CodecMvc2                          // Silicon Graphics Motion Video Compressor 2
	CodecMxpeg                         // Mobotix MxPEG video
	CodecNuv                           // NuppelVideo/RTJPEG
	CodecPafVideo                      // Amazing Studio Packed Animation File Video
	CodecPam                           // PAM (Portable AnyMap) image
	CodecPbm                           // PBM (Portable BitMap) image
	CodecPcx                           // PC Paintbrush PCX image
	CodecPgm                           // PGM (Portable GrayMap) image
	CodecPgmyuv                        // PGMYUV (Portable GrayMap YUV) image
	CodecPictor                        // Pictor/PC Paint
	CodecPixlet                        // Apple Pixlet
	CodecPng                           // PNG (Portable Network Graphics) image
	CodecPpm                           // PPM (Portable PixelMap) image
	CodecProres                        // Apple ProRes (iCodec Pro) (decoders: prores prores_lgpl ) (encoders: prores prores_aw prores_ks )
	CodecPsd                           // Photoshop PSD file
	CodecPtx                           // V.Flash PTX image
	CodecQdraw                         // Apple QuickDraw
	CodecQpeg                          // Q-team QPEG
	CodecQtrle                         // QuickTime Animation (RLE) video
	CodecR10K                          // AJA Kona 10-bit RGB Codec
	CodecR210                          // Uncompressed RGB 10-bit
	CodecRawvideo                      // raw video
	CodecRl2                           // RL2 video
	CodecRoq                           // id RoQ video (decoders: roqvideo ) (encoders: roqvideo )
	CodecRpza                          // QuickTime video (RPZA)
	CodecRscc                          // innoHeim/Rsupport Screen Capture Codec
	CodecRv10                          // RealVideo 1.0
	CodecRv20                          // RealVideo 2.0
	CodecRv30                          // RealVideo 3.0
	CodecRv40                          // RealVideo 4.0
	CodecSanm                          // LucasArts SANM/SMUSH video
	CodecScpr                          // ScreenPressor
	CodecScreenpresso                  // Screenpresso
	CodecSgi                           // SGI image
	CodecSgirle                        // SGI RLE 8-bit
	CodecSheervideo                    // BitJazz SheerVideo
	CodecSmackvideo                    // Smacker video (decoders: smackvid )
	CodecSmc                           // QuickTime Graphics (SMC)
	CodecSmvjpeg                       // Sigmatel Motion Video
	CodecSnow                          // Snow
	CodecSp5X                          // Sunplus JPEG (SP5X)
	CodecSpeedhq                       // NewTek SpeedHQ
	CodecSrgc                          // Screen Recorder Gold Codec
	CodecSunrast                       // Sun Rasterfile image
	CodecSvg                           // Scalable Vector Graphics
	CodecSvq1                          // Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
	CodecSvq3                          // Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
	CodecTarga                         // Truevision Targa image
	CodecTargaY216                     // Pinnacle TARGA CineWave YUV16
	CodecTdsc                          // TDSC
	CodecTgq                           // Electronic Arts TGQ video (decoders: eatgq )
	CodecTgv                           // Electronic Arts TGV video (decoders: eatgv )
	CodecTheora                        // Theora
	CodecThp                           // Nintendo Gamecube THP video
	CodecTiertexseqvideo               // Tiertex Limited SEQ video
	CodecTiff                          // TIFF image
	CodecTmv                           // 8088flex TMV
	CodecTqi                           // Electronic Arts TQI video (decoders: eatqi )
	CodecTruemotion1                   // Duck TrueMotion 1.0
	CodecTruemotion2                   // Duck TrueMotion 2.0
	CodecTruemotion2Rt                 // Duck TrueMotion 2.0 Real Time
	CodecTscc                          // TechSmith Screen Capture Codec (decoders: camtasia )
	CodecTscc2                         // TechSmith Screen Codec 2
	CodecTxd                           // Renderware TXD (TeXture Dictionary) image
	CodecUlti                          // IBM UltiMotion (decoders: ultimotion )
	CodecUtvideo                       // Ut Video
	CodecV210                          // Uncompressed 4:2:2 10-bit
	CodecV210X                         // Uncompressed 4:2:2 10-bit
	CodecV308                          // Uncompressed packed 4:4:4
	CodecV408                          // Uncompressed packed QT 4:4:4:4
	CodecV410                          // Uncompressed 4:4:4 10-bit
	CodecVb                            // Beam Software VB
	CodecVble                          // VBLE Lossless Codec
	CodecVc1                           // SMPTE VC-1
	CodecVc1Image                      // Windows Media Video 9 Image v2
	CodecVcr1                          // ATI VCR1
	CodecVixl                          // Miro VideoXL (decoders: xl )
	CodecVmdvideo                      // Sierra VMD video
	CodecVmnc                          // VMware Screen Codec / VMware Video
	CodecVp3                           // On2 VP3
	CodecVp5                           // On2 VP5
	CodecVp6                           // On2 VP6
	CodecVp6A                          // On2 VP6 (Flash version, with alpha channel)
	CodecVp6F                          // On2 VP6 (Flash version)
	CodecVp7                           // On2 VP7
	CodecVp8                           // On2 VP8
	CodecVp9                           // Google VP9
	CodecWebp                          // WebP
	CodecWmv1                          // Windows Media Video 7
	CodecWmv2                          // Windows Media Video 8
	CodecWmv3                          // Windows Media Video 9
	CodecWmv3Image                     // Windows Media Video 9 Image
	CodecWnv1                          // Winnov WNV1
	CodecWrappedAvframe                // AVFrame to AVPacket passthrough
	CodecWsVqa                         // Westwood Studios VQA (Vector Quantized Animation) video (decoders: vqavideo )
	CodecXanWc3                        // Wing Commander III / Xan
	CodecXanWc4                        // Wing Commander IV / Xxan
	CodecXbin                          // eXtended BINary text
	CodecXbm                           // XBM (X BitMap) image
	CodecXface                         // X-face image
	CodecXpm                           // XPM (X PixMap) image
	CodecXwd                           // XWD (X Window Dump) image
	CodecY41P                          // Uncompressed YUV 4:1:1 12-bit
	CodecYlc                           // YUY2 Lossless Codec
	CodecYop                           // Psygnosis YOP Video
	CodecYuv4                          // Uncompressed packed 4:2:0
	CodecZerocodec                     // ZeroCodec Lossless Video
	CodecZlib                          // LCL (LossLess Codec Library) ZLIB
	CodecZmbv                          // Zip Motion Blocks Video
	Codec4Gv                           // 4GV (Fourth Generation Vocoder)
	Codec8SvxExp                       // 8SVX exponential
	Codec8SvxFib                       // 8SVX fibonacci
	CodecAac                           // AAC (Advanced Audio Coding) (decoders: aac aac_fixed aac_at ) (encoders: aac aac_at )
	CodecAacLatm                       // AAC LATM (Advanced Audio Coding LATM syntax)
	CodecAc3                           // ATSC A/52A (AC-3) (decoders: ac3 ac3_fixed ac3_at ) (encoders: ac3 ac3_fixed )
	CodecAdpcm4Xm                      // ADPCM 4X Movie
	CodecAdpcmAdx                      // SEGA CRI ADX ADPCM
	CodecAdpcmAfc                      // ADPCM Nintendo Gamecube AFC
	CodecAdpcmAica                     // ADPCM Yamaha AICA
	CodecAdpcmCt                       // ADPCM Creative Technology
	CodecAdpcmDtk                      // ADPCM Nintendo Gamecube DTK
	CodecAdpcmEa                       // ADPCM Electronic Arts
	CodecAdpcmEaMaxisXa                // ADPCM Electronic Arts Maxis CDROM XA
	CodecAdpcmEaR1                     // ADPCM Electronic Arts R1
	CodecAdpcmEaR2                     // ADPCM Electronic Arts R2
	CodecAdpcmEaR3                     // ADPCM Electronic Arts R3
	CodecAdpcmEaXas                    // ADPCM Electronic Arts XAS
	CodecAdpcmG722                     // G.722 ADPCM (decoders: g722 ) (encoders: g722 )
	CodecAdpcmG726                     // G.726 ADPCM (decoders: g726 ) (encoders: g726 )
	CodecAdpcmG726Le                   // G.726 ADPCM little-endian (decoders: g726le ) (encoders: g726le )
	CodecAdpcmImaAmv                   // ADPCM IMA AMV
	CodecAdpcmImaApc                   // ADPCM IMA CRYO APC
	CodecAdpcmImaDat4                  // ADPCM IMA Eurocom DAT4
	CodecAdpcmImaDk3                   // ADPCM IMA Duck DK3
	CodecAdpcmImaDk4                   // ADPCM IMA Duck DK4
	CodecAdpcmImaEaEacs                // ADPCM IMA Electronic Arts EACS
	CodecAdpcmImaEaSead                // ADPCM IMA Electronic Arts SEAD
	CodecAdpcmImaIss                   // ADPCM IMA Funcom ISS
	CodecAdpcmImaOki                   // ADPCM IMA Dialogic OKI
	CodecAdpcmImaQt                    // ADPCM IMA QuickTime (decoders: adpcm_ima_qt adpcm_ima_qt_at )
	CodecAdpcmImaRad                   // ADPCM IMA Radical
	CodecAdpcmImaSmjpeg                // ADPCM IMA Loki SDL MJPEG
	CodecAdpcmImaWav                   // ADPCM IMA WAV
	CodecAdpcmImaWs                    // ADPCM IMA Westwood
	CodecAdpcmMs                       // ADPCM Microsoft
	CodecAdpcmMtaf                     // ADPCM MTAF
	CodecAdpcmPsx                      // ADPCM Playstation
	CodecAdpcmSbpro2                   // ADPCM Sound Blaster Pro 2-bit
	CodecAdpcmSbpro3                   // ADPCM Sound Blaster Pro 2.6-bit
	CodecAdpcmSbpro4                   // ADPCM Sound Blaster Pro 4-bit
	CodecAdpcmSwf                      // ADPCM Shockwave Flash
	CodecAdpcmThp                      // ADPCM Nintendo THP
	CodecAdpcmThpLe                    // ADPCM Nintendo THP (Little-Endian)
	CodecAdpcmVima                     // LucasArts VIMA audio
	CodecAdpcmXa                       // ADPCM CDROM XA
	CodecAdpcmYamaha                   // ADPCM Yamaha
	CodecAlac                          // ALAC (Apple Lossless Audio Codec) (decoders: alac alac_at ) (encoders: alac alac_at )
	CodecAmrNb                         // AMR-NB (Adaptive Multi-Rate NarrowBand) (decoders: amrnb amr_nb_at )
	CodecAmrWb                         // AMR-WB (Adaptive Multi-Rate WideBand) (decoders: amrwb )
	CodecApe                           // Monkey's Audio
	CodecAtrac1                        // ATRAC1 (Adaptive TRansform Acoustic Coding)
	CodecAtrac3                        // ATRAC3 (Adaptive TRansform Acoustic Coding 3)
	CodecAtrac3Al                      // ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)
	CodecAtrac3P                       // ATRAC3+ (Adaptive TRansform Acoustic Coding 3+) (decoders: atrac3plus )
	CodecAtrac3Pal                     // ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless) (decoders: atrac3plusal )
	CodecAvc                           // On2 Audio for Video Codec (decoders: on2avc )
	CodecBinkaudioDct                  // Bink Audio (DCT)
	CodecBinkaudioRdft                 // Bink Audio (RDFT)
	CodecBmvAudio                      // Discworld II BMV audio
	CodecCelt                          // Constrained Energy Lapped Transform (CELT)
	CodecComfortnoise                  // RFC 3389 Comfort Noise
	CodecCook                          // Cook / Cooker / Gecko (RealAudio G2)
	CodecDolbyE                        // Dolby E
	CodecDsdLsbf                       // DSD (Direct Stream Digital), least significant bit first
	CodecDsdLsbfPlanar                 // DSD (Direct Stream Digital), least significant bit first, planar
	CodecDsdMsbf                       // DSD (Direct Stream Digital), most significant bit first
	CodecDsdMsbfPlanar                 // DSD (Direct Stream Digital), most significant bit first, planar
	CodecDsicinaudio                   // Delphine Software International CIN audio
	CodecDssSp                         // Digital Speech Standard - Standard Play mode (DSS SP)
	CodecDst                           // DST (Direct Stream Transfer)
	CodecDts                           // DCA (DTS Coherent Acoustics) (decoders: dca ) (encoders: dca )
	CodecDvaudio                       // DV audio
	CodecEac3                          // ATSC A/52B (AC-3, E-AC-3) (decoders: eac3 eac3_at )
	CodecEvrc                          // EVRC (Enhanced Variable Rate Codec)
	CodecFlac                          // FLAC (Free Lossless Audio Codec)
	CodecG7231                         // G.723.1
	CodecG729                          // G.729
	CodecGremlinDpcm                   // DPCM Gremlin
	CodecGsm                           // GSM
	CodecGsmMs                         // GSM Microsoft variant (decoders: gsm_ms gsm_ms_at )
	CodecIac                           // IAC (Indeo Audio Coder)
	CodecIlbc                          // iLBC (Internet Low Bitrate Codec) (decoders: ilbc_at ) (encoders: ilbc_at )
	CodecImc                           // IMC (Intel Music Coder)
	CodecInterplayDpcm                 // DPCM Interplay
	CodecInterplayacm                  // Interplay ACM
	CodecMace3                         // MACE (Macintosh Audio Compression/Expansion) 3:1
	CodecMace6                         // MACE (Macintosh Audio Compression/Expansion) 6:1
	CodecMetasound                     // Voxware MetaSound
	CodecMlp                           // MLP (Meridian Lossless Packing)
	CodecMp1                           // MP1 (MPEG audio layer 1) (decoders: mp1 mp1float mp1_at )
	CodecMp2                           // MP2 (MPEG audio layer 2) (decoders: mp2 mp2float mp2_at ) (encoders: mp2 mp2fixed )
	CodecMp3                           // MP3 (MPEG audio layer 3) (decoders: mp3 mp3float mp3_at ) (encoders: libmp3lame )
	CodecMp3Adu                        // ADU (Application Data Unit) MP3 (MPEG audio layer 3) (decoders: mp3adu mp3adufloat )
	CodecMp3On4                        // MP3onMP4 (decoders: mp3on4 mp3on4float )
	CodecMp4Als                        // MPEG-4 Audio Lossless Coding (ALS) (decoders: als )
	CodecMusepack7                     // Musepack SV7 (decoders: mpc7 )
	CodecMusepack8                     // Musepack SV8 (decoders: mpc8 )
	CodecNellymoser                    // Nellymoser Asao
	CodecOpus                          // Opus (Opus Interactive Audio Codec)
	CodecPafAudio                      // Amazing Studio Packed Animation File Audio
	CodecPcmAlaw                       // PCM A-law / G.711 A-law (decoders: pcm_alaw pcm_alaw_at ) (encoders: pcm_alaw pcm_alaw_at )
	CodecPcmBluray                     // PCM signed 16|20|24-bit big-endian for Blu-ray media
	CodecPcmDvd                        // PCM signed 20|24-bit big-endian
	CodecPcmF16Le                      // PCM 16.8 floating point little-endian
	CodecPcmF24Le                      // PCM 24.0 floating point little-endian
	CodecPcmF32Be                      // PCM 32-bit floating point big-endian
	CodecPcmF32Le                      // PCM 32-bit floating point little-endian
	CodecPcmF64Be                      // PCM 64-bit floating point big-endian
	CodecPcmF64Le                      // PCM 64-bit floating point little-endian
	CodecPcmLxf                        // PCM signed 20-bit little-endian planar
	CodecPcmMulaw                      // PCM mu-law / G.711 mu-law (decoders: pcm_mulaw pcm_mulaw_at ) (encoders: pcm_mulaw pcm_mulaw_at )
	CodecPcmS16Be                      // PCM signed 16-bit big-endian
	CodecPcmS16BePlanar                // PCM signed 16-bit big-endian planar
	CodecPcmS16Le                      // PCM signed 16-bit little-endian
	CodecPcmS16LePlanar                // PCM signed 16-bit little-endian planar
	CodecPcmS24Be                      // PCM signed 24-bit big-endian
	CodecPcmS24Daud                    // PCM D-Cinema audio signed 24-bit
	CodecPcmS24Le                      // PCM signed 24-bit little-endian
	CodecPcmS24LePlanar                // PCM signed 24-bit little-endian planar
	CodecPcmS32Be                      // PCM signed 32-bit big-endian
	CodecPcmS32Le                      // PCM signed 32-bit little-endian
	CodecPcmS32LePlanar                // PCM signed 32-bit little-endian planar
	CodecPcmS64Be                      // PCM signed 64-bit big-endian
	CodecPcmS64Le                      // PCM signed 64-bit little-endian
	CodecPcmS8                         // PCM signed 8-bit
	CodecPcmS8Planar                   // PCM signed 8-bit planar
	CodecPcmU16Be                      // PCM unsigned 16-bit big-endian
	CodecPcmU16Le                      // PCM unsigned 16-bit little-endian
	CodecPcmU24Be                      // PCM unsigned 24-bit big-endian
	CodecPcmU24Le                      // PCM unsigned 24-bit little-endian
	CodecPcmU32Be                      // PCM unsigned 32-bit big-endian
	CodecPcmU32Le                      // PCM unsigned 32-bit little-endian
	CodecPcmU8                         // PCM unsigned 8-bit
	CodecPcmZork                       // PCM Zork
	CodecQcelp                         // QCELP / PureVoice
	CodecQdm2                          // QDesign Music Codec 2 (decoders: qdm2 qdm2_at )
	CodecQdmc                          // QDesign Music (decoders: qdmc qdmc_at )
	CodecRa144                         // RealAudio 1.0 (14.4K) (decoders: real_144 ) (encoders: real_144 )
	CodecRa288                         // RealAudio 2.0 (28.8K) (decoders: real_288 )
	CodecRalf                          // RealAudio Lossless
	CodecRoqDpcm                       // DPCM id RoQ
	CodecS302M                         // SMPTE 302M
	CodecSdx2Dpcm                      // DPCM Squareroot-Delta-Exact
	CodecShorten                       // Shorten
	CodecSipr                          // RealAudio SIPR / ACELP.NET
	CodecSmackaudio                    // Smacker audio (decoders: smackaud )
	CodecSmv                           // SMV (Selectable Mode Vocoder)
	CodecSolDpcm                       // DPCM Sol
	CodecSonic                         // Sonic
	CodecSonicls                       // Sonic lossless
	CodecSpeex                         // Speex
	CodecTak                           // TAK (Tom's lossless Audio Kompressor)
	CodecTruehd                        // TrueHD
	CodecTruespeech                    // DSP Group TrueSpeech
	CodecTta                           // TTA (True Audio)
	CodecTwinvq                        // VQF TwinVQ
	CodecVmdaudio                      // Sierra VMD audio
	CodecVorbis                        // Vorbis
	CodecVoxware                       // Voxware RT29 Metasound
	CodecWavesynth                     // Wave synthesis pseudo-codec
	CodecWavpack                       // WavPack
	CodecWestwoodSnd1                  // Westwood Audio (SND1) (decoders: ws_snd1 )
	CodecWmalossless                   // Windows Media Audio Lossless
	CodecWmapro                        // Windows Media Audio 9 Professional
	CodecWmav1                         // Windows Media Audio 1
	CodecWmav2                         // Windows Media Audio 2
	CodecWmavoice                      // Windows Media Audio Voice
	CodecXanDpcm                       // DPCM Xan
	CodecXma1                          // Xbox Media Audio 1
	CodecXma2                          // Xbox Media Audio 2
	CodecBinData                       // binary data
	CodecDvdNavPacket                  // DVD Nav packet
	CodecKlv                           // SMPTE 336M Key-Length-Value (KLV) metadata
	CodecOtf                           // OpenType font
	CodecScte35                        // SCTE 35 Message Queue
	CodecTimedId3                      // timed ID3 metadata
	CodecTtf                           // TrueType font
	CodecAss                           // ASS (Advanced SSA) subtitle (decoders: ssa ass ) (encoders: ssa ass )
	CodecDvbSubtitle                   // DVB subtitles (decoders: dvbsub ) (encoders: dvbsub )
	CodecDvbTeletext                   // DVB teletext
	CodecDvdSubtitle                   // DVD subtitles (decoders: dvdsub ) (encoders: dvdsub )
	CodecEia608                        // EIA-608 closed captions (decoders: cc_dec )
	CodecHdmvPgsSubtitle               // HDMV Presentation Graphic Stream subtitles (decoders: pgssub )
	CodecHdmvTextSubtitle              // HDMV Text subtitle
	CodecJacosub                       // JACOsub subtitle
	CodecMicrodvd                      // MicroDVD subtitle
	CodecMovText                       // MOV text
	CodecMpl2                          // MPL2 subtitle
	CodecPjs                           // PJS (Phoenix Japanimation Society) subtitle
	CodecRealtext                      // RealText subtitle
	CodecSami                          // SAMI subtitle
	CodecSrt                           // SubRip subtitle with embedded timing
	CodecSsa                           // SSA (SubStation Alpha) subtitle
	CodecStl                           // Spruce subtitle format
	CodecSubrip                        // SubRip subtitle (decoders: srt subrip ) (encoders: srt subrip )
	CodecSubviewer                     // SubViewer subtitle
	CodecSubviewer1                    // SubViewer v1 subtitle
	CodecText                          // raw UTF-8 text
	CodecVplayer                       // VPlayer subtitle
	CodecWebvtt                        // WebVTT subtitle
	CodecXsub                          // XSUB
)

func (Codec) String

func (typ Codec) String() string

type File

type File struct {
	// contains filtered or unexported fields
}

File represents an ffmpeg input or output file

func Input

func Input(path string, opts ...FileOption) *File

Input creates a new File instance that represents an input file

func Output

func Output(path string, opts ...FileOption) *File

Output creates a new File instance that represents an output file

func (*File) Flags

func (f *File) Flags() []string

Flags generates the ffmpeg flags for the specified file

type FileFormat

type FileFormat int
const (
	FileFormat3Dostr           FileFormat = iota // 3DO STR
	FileFormat3G2                                // 3GP2 (3GPP2 file format)
	FileFormat3Gp                                // 3GP (3GPP file format)
	FileFormat4Xm                                // 4X Technologies
	FileFormatA64                                // a64 - video for Commodore 64
	FileFormatAa                                 // Audible AA format files
	FileFormatAac                                // raw ADTS AAC (Advanced Audio Coding)
	FileFormatAc3                                // raw AC-3
	FileFormatAcm                                // Interplay ACM
	FileFormatAct                                // ACT Voice file format
	FileFormatAdf                                // Artworx Data Format
	FileFormatAdp                                // ADP
	FileFormatAds                                // Sony PS2 ADS
	FileFormatAdts                               // ADTS AAC (Advanced Audio Coding)
	FileFormatAdx                                // CRI ADX
	FileFormatAea                                // MD STUDIO audio
	FileFormatAfc                                // AFC
	FileFormatAiff                               // Audio IFF
	FileFormatAix                                // CRI AIX
	FileFormatAlaw                               // PCM A-law
	FileFormatAliasPix                           // Alias/Wavefront PIX image
	FileFormatAmr                                // 3GPP AMR
	FileFormatAnm                                // Deluxe Paint Animation
	FileFormatApc                                // CRYO APC
	FileFormatApe                                // Monkey's Audio
	FileFormatApng                               // Animated Portable Network Graphics
	FileFormatAqtitle                            // AQTitle subtitles
	FileFormatAsf                                // ASF (Advanced / Active Streaming Format)
	FileFormatAsfO                               // ASF (Advanced / Active Streaming Format)
	FileFormatAsfStream                          // ASF (Advanced / Active Streaming Format)
	FileFormatAss                                // SSA (SubStation Alpha) subtitle
	FileFormatAst                                // AST (Audio Stream)
	FileFormatAu                                 // Sun AU
	FileFormatAvfoundation                       // AVFoundation input device
	FileFormatAvi                                // AVI (Audio Video Interleaved)
	FileFormatAvm2                               // SWF (ShockWave Flash) (AVM2)
	FileFormatAvr                                // AVR (Audio Visual Research)
	FileFormatAvs                                // AVS
	FileFormatBethsoftvid                        // Bethesda Softworks VID
	FileFormatBfi                                // Brute Force & Ignorance
	FileFormatBfstm                              // BFSTM (Binary Cafe Stream)
	FileFormatBin                                // Binary text
	FileFormatBink                               // Bink
	FileFormatBit                                // G.729 BIT file format
	FileFormatBmpPipe                            // piped bmp sequence
	FileFormatBmv                                // Discworld II BMV
	FileFormatBoa                                // Black Ops Audio
	FileFormatBrenderPix                         // BRender PIX image
	FileFormatBrstm                              // BRSTM (Binary Revolution Stream)
	FileFormatC93                                // Interplay C93
	FileFormatCaf                                // Apple CAF (Core Audio Format)
	FileFormatCavsvideo                          // raw Chinese AVS (Audio Video Standard) video
	FileFormatCdg                                // CD Graphics
	FileFormatCdxl                               // Commodore CDXL video
	FileFormatCine                               // Phantom Cine
	FileFormatConcat                             // Virtual concatenation script
	FileFormatCrc                                // CRC testing
	FileFormatDash                               // DASH Muxer
	FileFormatData                               // raw data
	FileFormatDaud                               // D-Cinema audio
	FileFormatDcstr                              // Sega DC STR
	FileFormatDdsPipe                            // piped dds sequence
	FileFormatDfa                                // Chronomaster DFA
	FileFormatDirac                              // raw Dirac
	FileFormatDnxhd                              // raw DNxHD (SMPTE VC-3)
	FileFormatDpxPipe                            // piped dpx sequence
	FileFormatDsf                                // DSD Stream File (DSF)
	FileFormatDsicin                             // Delphine Software International CIN
	FileFormatDss                                // Digital Speech Standard (DSS)
	FileFormatDts                                // raw DTS
	FileFormatDtshd                              // raw DTS-HD
	FileFormatDv                                 // DV (Digital Video)
	FileFormatDvbsub                             // raw dvbsub
	FileFormatDvbtxt                             // dvbtxt
	FileFormatDvd                                // MPEG-2 PS (DVD VOB)
	FileFormatDxa                                // DXA
	FileFormatEa                                 // Electronic Arts Multimedia
	FileFormatEaCdata                            // Electronic Arts cdata
	FileFormatEac3                               // raw E-AC-3
	FileFormatEpaf                               // Ensoniq Paris Audio File
	FileFormatExrPipe                            // piped exr sequence
	FileFormatF32Be                              // PCM 32-bit floating-point big-endian
	FileFormatF32Le                              // PCM 32-bit floating-point little-endian
	FileFormatF4V                                // F4V Adobe Flash Video
	FileFormatF64Be                              // PCM 64-bit floating-point big-endian
	FileFormatF64Le                              // PCM 64-bit floating-point little-endian
	FileFormatFfm                                // FFM (FFserver live feed)
	FileFormatFfmetadata                         // FFmpeg metadata in text
	FileFormatFifo                               // FIFO queue pseudo-muxer
	FileFormatFilmCpk                            // Sega FILM / CPK
	FileFormatFilmstrip                          // Adobe Filmstrip
	FileFormatFits                               // Flexible Image Transport System
	FileFormatFlac                               // raw FLAC
	FileFormatFlic                               // FLI/FLC/FLX animation
	FileFormatFlv                                // FLV (Flash Video)
	FileFormatFramecrc                           // framecrc testing
	FileFormatFramehash                          // Per-frame hash testing
	FileFormatFramemd5                           // Per-frame MD5 testing
	FileFormatFrm                                // Megalux Frame
	FileFormatFsb                                // FMOD Sample Bank
	FileFormatG722                               // raw G.722
	FileFormatG7231                              // raw G.723.1
	FileFormatG726                               // raw big-endian G.726 ("left-justified")
	FileFormatG726Le                             // raw little-endian G.726 ("right-justified")
	FileFormatG729                               // G.729 raw format demuxer
	FileFormatGdv                                // Gremlin Digital Video
	FileFormatGenh                               // GENeric Header
	FileFormatGif                                // GIF Animation
	FileFormatGsm                                // raw GSM
	FileFormatGxf                                // GXF (General eXchange Format)
	FileFormatH261                               // raw H.261
	FileFormatH263                               // raw H.263
	FileFormatH264                               // raw H.264 video
	FileFormatHash                               // Hash testing
	FileFormatHds                                // HDS Muxer
	FileFormatHevc                               // raw HEVC video
	FileFormatHls                                // Apple HTTP Live Streaming
	FileFormatHnm                                // Cryo HNM v4
	FileFormatIco                                // Microsoft Windows ICO
	FileFormatIdcin                              // id Cinematic
	FileFormatIdf                                // iCE Draw File
	FileFormatIff                                // IFF (Interchange File Format)
	FileFormatIlbc                               // iLBC storage
	FileFormatImage2                             // image2 sequence
	FileFormatImage2Pipe                         // piped image2 sequence
	FileFormatIngenient                          // raw Ingenient MJPEG
	FileFormatIpmovie                            // Interplay MVE
	FileFormatIpod                               // iPod H.264 MP4 (MPEG-4 Part 14)
	FileFormatIrcam                              // Berkeley/IRCAM/CARL Sound Format
	FileFormatIsmv                               // ISMV/ISMA (Smooth Streaming)
	FileFormatIss                                // Funcom ISS
	FileFormatIv8                                // IndigoVision 8000 video
	FileFormatIvf                                // On2 IVF
	FileFormatIvr                                // IVR (Internet Video Recording)
	FileFormatJ2KPipe                            // piped j2k sequence
	FileFormatJacosub                            // JACOsub subtitle format
	FileFormatJpegPipe                           // piped jpeg sequence
	FileFormatJpeglsPipe                         // piped jpegls sequence
	FileFormatJv                                 // Bitmap Brothers JV
	FileFormatLatm                               // LOAS/LATM
	FileFormatLavfi                              // Libavfilter virtual input device
	FileFormatLiveFlv                            // live RTMP FLV (Flash Video)
	FileFormatLmlm4                              // raw lmlm4
	FileFormatLoas                               // LOAS AudioSyncStream
	FileFormatLrc                                // LRC lyrics
	FileFormatLvf                                // LVF
	FileFormatLxf                                // VR native stream (LXF)
	FileFormatM4V                                // raw MPEG-4 video
	FileFormatMatroska                           // Matroska
	FileFormatMd5                                // MD5 testing
	FileFormatMgsts                              // Metal Gear Solid: The Twin Snakes
	FileFormatMicrodvd                           // MicroDVD subtitle format
	FileFormatMjpeg                              // raw MJPEG video
	FileFormatMjpeg2000                          // raw MJPEG 2000 video
	FileFormatMkvtimestampV2                     // extract pts as timecode v2 format, as defined by mkvtoolnix
	FileFormatMlp                                // raw MLP
	FileFormatMlv                                // Magic Lantern Video (MLV)
	FileFormatMm                                 // American Laser Games MM
	FileFormatMmf                                // Yamaha SMAF
	FileFormatMov                                // QuickTime / MOV
	FileFormatMp2                                // MP2 (MPEG audio layer 2)
	FileFormatMp3                                // MP3 (MPEG audio layer 3)
	FileFormatMp4                                // MP4 (MPEG-4 Part 14)
	FileFormatMpc                                // Musepack
	FileFormatMpc8                               // Musepack SV8
	FileFormatMpeg                               // MPEG-1 Systems / MPEG program stream
	FileFormatMpeg1Video                         // raw MPEG-1 video
	FileFormatMpeg2Video                         // raw MPEG-2 video
	FileFormatMpegts                             // MPEG-TS (MPEG-2 Transport Stream)
	FileFormatMpegtsraw                          // raw MPEG-TS (MPEG-2 Transport Stream)
	FileFormatMpegvideo                          // raw MPEG video
	FileFormatMpjpeg                             // MIME multipart JPEG
	FileFormatMpl2                               // MPL2 subtitles
	FileFormatMpsub                              // MPlayer subtitles
	FileFormatMsf                                // Sony PS3 MSF
	FileFormatMsnwctcp                           // MSN TCP Webcam stream
	FileFormatMtaf                               // Konami PS2 MTAF
	FileFormatMtv                                // MTV
	FileFormatMulaw                              // PCM mu-law
	FileFormatMusx                               // Eurocom MUSX
	FileFormatMv                                 // Silicon Graphics Movie
	FileFormatMvi                                // Motion Pixels MVI
	FileFormatMxf                                // MXF (Material eXchange Format)
	FileFormatMxfD10                             // MXF (Material eXchange Format) D-10 Mapping
	FileFormatMxfOpatom                          // MXF (Material eXchange Format) Operational Pattern Atom
	FileFormatMxg                                // MxPEG clip
	FileFormatNc                                 // NC camera feed
	FileFormatNistsphere                         // NIST SPeech HEader REsources
	FileFormatNsv                                // Nullsoft Streaming Video
	FileFormatNull                               // raw null video
	FileFormatNut                                // NUT
	FileFormatNuv                                // NuppelVideo
	FileFormatOga                                // Ogg Audio
	FileFormatOgg                                // Ogg
	FileFormatOgv                                // Ogg Video
	FileFormatOma                                // Sony OpenMG audio
	FileFormatOpus                               // Ogg Opus
	FileFormatPaf                                // Amazing Studio Packed Animation File
	FileFormatPamPipe                            // piped pam sequence
	FileFormatPbmPipe                            // piped pbm sequence
	FileFormatPcxPipe                            // piped pcx sequence
	FileFormatPgmPipe                            // piped pgm sequence
	FileFormatPgmyuvPipe                         // piped pgmyuv sequence
	FileFormatPictorPipe                         // piped pictor sequence
	FileFormatPjs                                // PJS (Phoenix Japanimation Society) subtitles
	FileFormatPmp                                // Playstation Portable PMP
	FileFormatPngPipe                            // piped png sequence
	FileFormatPpmPipe                            // piped ppm sequence
	FileFormatPsdPipe                            // piped psd sequence
	FileFormatPsp                                // PSP MP4 (MPEG-4 Part 14)
	FileFormatPsxstr                             // Sony Playstation STR
	FileFormatPva                                // TechnoTrend PVA
	FileFormatPvf                                // PVF (Portable Voice Format)
	FileFormatQcp                                // QCP
	FileFormatQdrawPipe                          // piped qdraw sequence
	FileFormatR3D                                // REDCODE R3D
	FileFormatRawvideo                           // raw video
	FileFormatRealtext                           // RealText subtitle format
	FileFormatRedspark                           // RedSpark
	FileFormatRl2                                // RL2
	FileFormatRm                                 // RealMedia
	FileFormatRoq                                // raw id RoQ
	FileFormatRpl                                // RPL / ARMovie
	FileFormatRsd                                // GameCube RSD
	FileFormatRso                                // Lego Mindstorms RSO
	FileFormatRtp                                // RTP output
	FileFormatRtpMpegts                          // RTP/mpegts output format
	FileFormatRtsp                               // RTSP output
	FileFormatS16Be                              // PCM signed 16-bit big-endian
	FileFormatS16Le                              // PCM signed 16-bit little-endian
	FileFormatS24Be                              // PCM signed 24-bit big-endian
	FileFormatS24Le                              // PCM signed 24-bit little-endian
	FileFormatS32Be                              // PCM signed 32-bit big-endian
	FileFormatS32Le                              // PCM signed 32-bit little-endian
	FileFormatS337M                              // SMPTE 337M
	FileFormatS8                                 // PCM signed 8-bit
	FileFormatSami                               // SAMI subtitle format
	FileFormatSap                                // SAP output
	FileFormatSbg                                // SBaGen binaural beats script
	FileFormatScc                                // Scenarist Closed Captions
	FileFormatSdp                                // SDP
	FileFormatSdr2                               // SDR2
	FileFormatSds                                // MIDI Sample Dump Standard
	FileFormatSdx                                // Sample Dump eXchange
	FileFormatSegment                            // segment
	FileFormatSgiPipe                            // piped sgi sequence
	FileFormatShn                                // raw Shorten
	FileFormatSiff                               // Beam Software SIFF
	FileFormatSinglejpeg                         // JPEG single image
	FileFormatSln                                // Asterisk raw pcm
	FileFormatSmjpeg                             // Loki SDL MJPEG
	FileFormatSmk                                // Smacker
	FileFormatSmoothstreaming                    // Smooth Streaming Muxer
	FileFormatSmush                              // LucasArts Smush
	FileFormatSol                                // Sierra SOL
	FileFormatSox                                // SoX native
	FileFormatSpdif                              // IEC 61937 (used on S/PDIF - IEC958)
	FileFormatSpx                                // Ogg Speex
	FileFormatSrt                                // SubRip subtitle
	FileFormatStl                                // Spruce subtitle format
	FileFormatSubviewer                          // SubViewer subtitle format
	FileFormatSubviewer1                         // SubViewer v1 subtitle format
	FileFormatSunrastPipe                        // piped sunrast sequence
	FileFormatSup                                // raw HDMV Presentation Graphic Stream subtitles
	FileFormatSvag                               // Konami PS2 SVAG
	FileFormatSvcd                               // MPEG-2 PS (SVCD)
	FileFormatSvgPipe                            // piped svg sequence
	FileFormatSwf                                // SWF (ShockWave Flash)
	FileFormatTak                                // raw TAK
	FileFormatTedcaptions                        // TED Talks captions
	FileFormatTee                                // Multiple muxer tee
	FileFormatThp                                // THP
	FileFormatTiertexseq                         // Tiertex Limited SEQ
	FileFormatTiffPipe                           // piped tiff sequence
	FileFormatTmv                                // 8088flex TMV
	FileFormatTruehd                             // raw TrueHD
	FileFormatTta                                // TTA (True Audio)
	FileFormatTty                                // Tele-typewriter
	FileFormatTxd                                // Renderware TeXture Dictionary
	FileFormatU16Be                              // PCM unsigned 16-bit big-endian
	FileFormatU16Le                              // PCM unsigned 16-bit little-endian
	FileFormatU24Be                              // PCM unsigned 24-bit big-endian
	FileFormatU24Le                              // PCM unsigned 24-bit little-endian
	FileFormatU32Be                              // PCM unsigned 32-bit big-endian
	FileFormatU32Le                              // PCM unsigned 32-bit little-endian
	FileFormatU8                                 // PCM unsigned 8-bit
	FileFormatUncodedframecrc                    // uncoded framecrc testing
	FileFormatV210                               // Uncompressed 4:2:2 10-bit
	FileFormatV210X                              // Uncompressed 4:2:2 10-bit
	FileFormatVag                                // Sony PS2 VAG
	FileFormatVc1                                // raw VC-1 video
	FileFormatVc1Test                            // VC-1 test bitstream
	FileFormatVcd                                // MPEG-1 Systems / MPEG program stream (VCD)
	FileFormatVivo                               // Vivo
	FileFormatVmd                                // Sierra VMD
	FileFormatVob                                // MPEG-2 PS (VOB)
	FileFormatVobsub                             // VobSub subtitle format
	FileFormatVoc                                // Creative Voice
	FileFormatVpk                                // Sony PS2 VPK
	FileFormatVplayer                            // VPlayer subtitles
	FileFormatVqf                                // Nippon Telegraph and Telephone Corporation (NTT) TwinVQ
	FileFormatW64                                // Sony Wave64
	FileFormatWav                                // WAV / WAVE (Waveform Audio)
	FileFormatWc3Movie                           // Wing Commander III movie
	FileFormatWebm                               // WebM
	FileFormatWebmChunk                          // WebM Chunk Muxer
	FileFormatWebmDashManifest                   // WebM DASH Manifest
	FileFormatWebp                               // WebP
	FileFormatWebpPipe                           // piped webp sequence
	FileFormatWebvtt                             // WebVTT subtitle
	FileFormatWsaud                              // Westwood Studios audio
	FileFormatWsd                                // Wideband Single-bit Data (WSD)
	FileFormatWsvqa                              // Westwood Studios VQA
	FileFormatWtv                                // Windows Television (WTV)
	FileFormatWv                                 // raw WavPack
	FileFormatWve                                // Psion 3 audio
	FileFormatXa                                 // Maxis XA
	FileFormatXbin                               // eXtended BINary text (XBIN)
	FileFormatXmv                                // Microsoft XMV
	FileFormatXpmPipe                            // piped xpm sequence
	FileFormatXvag                               // Sony PS3 XVAG
	FileFormatXwma                               // Microsoft xWMA
	FileFormatYop                                // Psygnosis YOP
	FileFormatYuv4Mpegpipe                       // YUV4MPEG pipe
)

func (FileFormat) String

func (typ FileFormat) String() string

type FileOption

type FileOption func(*File) error

FileOption configures how a file is handled by ffmpeg

func WithCodec

func WithCodec(stream StreamSpecifier, codec Codec) FileOption

WithCodec selects an encoder (when used before an output file) or a decoder (when used before an input file) for one or more streams

func WithDuration

func WithDuration(dur time.Duration) FileOption

WithDuration when used as an input option limits the duration of the data read from the input file and when used as an output option limits stops writing the ouput after its duration reaches duration.

func WithFileSizeLimit

func WithFileSizeLimit(limit int) FileOption

WithFileSizeLimit sets the file size limit, expressed in bytes

func WithFormat

func WithFormat(ff FileFormat) FileOption

WithFormat forces the the input or output file format

The format is normally auto detected for input files and guessed from the file extension for output files, so this option is not needed in most cases.

func WithPixelFormat

func WithPixelFormat(stream StreamSpecifier, pf PixelFormat) FileOption

func WithSize

func WithSize(stream StreamSpecifier, w, h int) FileOption

func WithStreamLoop

func WithStreamLoop(loop int) FileOption

WithStreamLoop sets the number of times input stream shall be looped

loop 0 means no loop, loop -1 means infinite loop

func WithTimestamp

func WithTimestamp(date time.Time) FileOption

WithTimestamp sets the recording timestamp in the container

type GlobalOption

type GlobalOption func() ([]string, error)

GlobalOption configures how ffmpeg runs overall

func WithFilterComplexScript

func WithFilterComplexScript(filename string) GlobalOption

WithFilterComplexScript ...

func WithLogLevel

func WithLogLevel(l LogLevel) GlobalOption

WithLogLevel sets the logging level used by ffmpeg

func WithNumFilterComplexThreads

func WithNumFilterComplexThreads(num int) GlobalOption

WithNumFilterComplexThreads defines how many threads are used to process a filter_complex graph

Similar to WithNumFilterThreads but used for "-filter_complex" graphs only. The default is the number of available CPUs.

func WithNumFilterThreads

func WithNumFilterThreads(num int) GlobalOption

WithNumFilterThreads defines how many threads are used to process a filter pipeline

Each pipeline will produce a thread pool with this many threads available for parallel processing. The default is the number of available CPUs.

func WithOpenCLOptions

func WithOpenCLOptions(opts map[string]string) GlobalOption

WithOpenCLOptions sets OpenCL environment options

This option is only available when FFmpeg has been compiled with "--enable-opencl"

func WithOverwrite

func WithOverwrite(ovr bool) GlobalOption

WithOverwrite sets whether to overwrite output files without asking

If set to false the command will exit immediately if a specified output file already exists

func WithTimelimit

func WithTimelimit(dur time.Duration) GlobalOption

WithTimelimit sets the timelimit duration on ffmpeg.

Exit after ffmpeg has been running for duration seconds.

type GlobalOptions

type GlobalOptions []GlobalOption

GlobalOptions represents a slice of GlobalOption to be applied

func (GlobalOptions) Flags

func (g GlobalOptions) Flags() []string

Flags generates the ffmpeg flags to be applied

type LogLevel

type LogLevel int

LogLevel ...

const (
	LogLevelQuiet   LogLevel = iota - 1 // Show nothing at all; be silent.
	LogLevelPanic   LogLevel = iota     // Only show fatal errors which could lead the process to crash, such as an assertion failure. This is not currently used for anything.
	LogLevelFatal                       // Only show fatal errors. These are errors after which the process absolutely cannot continue.
	LogLevelError                       // Show all errors, including ones which can be recovered from.
	LogLevelWarning                     // Show all warnings and errors. Any message related to possibly incorrect or unexpected events will be shown.
	LogLevelInfo                        // Show informative messages during processing. This is in addition to warnings and errors. This is the default value.
	LogLevelVerbose                     // Same as "info", except more verbose.
	LogLevelDebug                       // Show everything, including debugging information.
	LogLevelTrace
)

Log level definitions

func (LogLevel) String

func (l LogLevel) String() string

type PixelFormat

type PixelFormat int
const (
	PixelFormatYuv420P         PixelFormat = iota // 3            12
	PixelFormatYuyv422                            // 3            16
	PixelFormatRgb24                              // 3            24
	PixelFormatBgr24                              // 3            24
	PixelFormatYuv422P                            // 3            16
	PixelFormatYuv444P                            // 3            24
	PixelFormatYuv410P                            // 3             9
	PixelFormatYuv411P                            // 3            12
	PixelFormatGray                               // 1             8
	PixelFormatMonow                              // 1             1
	PixelFormatMonob                              // 1             1
	PixelFormatPal8                               // 1             8
	PixelFormatYuvj420P                           // 3            12
	PixelFormatYuvj422P                           // 3            16
	PixelFormatYuvj444P                           // 3            24
	PixelFormatXvmcmc                             // 0             0
	PixelFormatXvmcidct                           // 0             0
	PixelFormatUyvy422                            // 3            16
	PixelFormatUyyvyy411                          // 3            12
	PixelFormatBgr8                               // 3             8
	PixelFormatBgr4                               // 3             4
	PixelFormatBgr4Byte                           // 3             4
	PixelFormatRgb8                               // 3             8
	PixelFormatRgb4                               // 3             4
	PixelFormatRgb4Byte                           // 3             4
	PixelFormatNv12                               // 3            12
	PixelFormatNv21                               // 3            12
	PixelFormatArgb                               // 4            32
	PixelFormatRgba                               // 4            32
	PixelFormatAbgr                               // 4            32
	PixelFormatBgra                               // 4            32
	PixelFormatGray16Be                           // 1            16
	PixelFormatGray16Le                           // 1            16
	PixelFormatYuv440P                            // 3            16
	PixelFormatYuvj440P                           // 3            16
	PixelFormatYuva420P                           // 4            20
	PixelFormatVdpauH264                          // 0             0
	PixelFormatVdpauMpeg1                         // 0             0
	PixelFormatVdpauMpeg2                         // 0             0
	PixelFormatVdpauWmv3                          // 0             0
	PixelFormatVdpauVc1                           // 0             0
	PixelFormatRgb48Be                            // 3            48
	PixelFormatRgb48Le                            // 3            48
	PixelFormatRgb565Be                           // 3            16
	PixelFormatRgb565Le                           // 3            16
	PixelFormatRgb555Be                           // 3            15
	PixelFormatRgb555Le                           // 3            15
	PixelFormatBgr565Be                           // 3            16
	PixelFormatBgr565Le                           // 3            16
	PixelFormatBgr555Be                           // 3            15
	PixelFormatBgr555Le                           // 3            15
	PixelFormatVaapiMoco                          // 0             0
	PixelFormatVaapiIdct                          // 0             0
	PixelFormatVaapiVld                           // 0             0
	PixelFormatYuv420P16Le                        // 3            24
	PixelFormatYuv420P16Be                        // 3            24
	PixelFormatYuv422P16Le                        // 3            32
	PixelFormatYuv422P16Be                        // 3            32
	PixelFormatYuv444P16Le                        // 3            48
	PixelFormatYuv444P16Be                        // 3            48
	PixelFormatVdpauMpeg4                         // 0             0
	PixelFormatDxva2Vld                           // 0             0
	PixelFormatRgb444Le                           // 3            12
	PixelFormatRgb444Be                           // 3            12
	PixelFormatBgr444Le                           // 3            12
	PixelFormatBgr444Be                           // 3            12
	PixelFormatYa8                                // 2            16
	PixelFormatBgr48Be                            // 3            48
	PixelFormatBgr48Le                            // 3            48
	PixelFormatYuv420P9Be                         // 3            13
	PixelFormatYuv420P9Le                         // 3            13
	PixelFormatYuv420P10Be                        // 3            15
	PixelFormatYuv420P10Le                        // 3            15
	PixelFormatYuv422P10Be                        // 3            20
	PixelFormatYuv422P10Le                        // 3            20
	PixelFormatYuv444P9Be                         // 3            27
	PixelFormatYuv444P9Le                         // 3            27
	PixelFormatYuv444P10Be                        // 3            30
	PixelFormatYuv444P10Le                        // 3            30
	PixelFormatYuv422P9Be                         // 3            18
	PixelFormatYuv422P9Le                         // 3            18
	PixelFormatVdaVld                             // 0             0
	PixelFormatGbrp                               // 3            24
	PixelFormatGbrp9Be                            // 3            27
	PixelFormatGbrp9Le                            // 3            27
	PixelFormatGbrp10Be                           // 3            30
	PixelFormatGbrp10Le                           // 3            30
	PixelFormatGbrp16Be                           // 3            48
	PixelFormatGbrp16Le                           // 3            48
	PixelFormatYuva422P                           // 4            24
	PixelFormatYuva444P                           // 4            32
	PixelFormatYuva420P9Be                        // 4            22
	PixelFormatYuva420P9Le                        // 4            22
	PixelFormatYuva422P9Be                        // 4            27
	PixelFormatYuva422P9Le                        // 4            27
	PixelFormatYuva444P9Be                        // 4            36
	PixelFormatYuva444P9Le                        // 4            36
	PixelFormatYuva420P10Be                       // 4            25
	PixelFormatYuva420P10Le                       // 4            25
	PixelFormatYuva422P10Be                       // 4            30
	PixelFormatYuva422P10Le                       // 4            30
	PixelFormatYuva444P10Be                       // 4            40
	PixelFormatYuva444P10Le                       // 4            40
	PixelFormatYuva420P16Be                       // 4            40
	PixelFormatYuva420P16Le                       // 4            40
	PixelFormatYuva422P16Be                       // 4            48
	PixelFormatYuva422P16Le                       // 4            48
	PixelFormatYuva444P16Be                       // 4            64
	PixelFormatYuva444P16Le                       // 4            64
	PixelFormatVdpau                              // 0             0
	PixelFormatXyz12Le                            // 3            36
	PixelFormatXyz12Be                            // 3            36
	PixelFormatNv16                               // 3            16
	PixelFormatNv20Le                             // 3            20
	PixelFormatNv20Be                             // 3            20
	PixelFormatRgba64Be                           // 4            64
	PixelFormatRgba64Le                           // 4            64
	PixelFormatBgra64Be                           // 4            64
	PixelFormatBgra64Le                           // 4            64
	PixelFormatYvyu422                            // 3            16
	PixelFormatVda                                // 0             0
	PixelFormatYa16Be                             // 2            32
	PixelFormatYa16Le                             // 2            32
	PixelFormatGbrap                              // 4            32
	PixelFormatGbrap16Be                          // 4            64
	PixelFormatGbrap16Le                          // 4            64
	PixelFormatQsv                                // 0             0
	PixelFormatMmal                               // 0             0
	PixelFormatD3D11VaVld                         // 0             0
	PixelFormatCuda                               // 0             0
	PixelFormat0Rgb                               // 3            24
	PixelFormatRgb0                               // 3            24
	PixelFormat0Bgr                               // 3            24
	PixelFormatBgr0                               // 3            24
	PixelFormatYuv420P12Be                        // 3            18
	PixelFormatYuv420P12Le                        // 3            18
	PixelFormatYuv420P14Be                        // 3            21
	PixelFormatYuv420P14Le                        // 3            21
	PixelFormatYuv422P12Be                        // 3            24
	PixelFormatYuv422P12Le                        // 3            24
	PixelFormatYuv422P14Be                        // 3            28
	PixelFormatYuv422P14Le                        // 3            28
	PixelFormatYuv444P12Be                        // 3            36
	PixelFormatYuv444P12Le                        // 3            36
	PixelFormatYuv444P14Be                        // 3            42
	PixelFormatYuv444P14Le                        // 3            42
	PixelFormatGbrp12Be                           // 3            36
	PixelFormatGbrp12Le                           // 3            36
	PixelFormatGbrp14Be                           // 3            42
	PixelFormatGbrp14Le                           // 3            42
	PixelFormatYuvj411P                           // 3            12
	PixelFormatBayerBggr8                         // 3             8
	PixelFormatBayerRggb8                         // 3             8
	PixelFormatBayerGbrg8                         // 3             8
	PixelFormatBayerGrbg8                         // 3             8
	PixelFormatBayerBggr16Le                      // 3            16
	PixelFormatBayerBggr16Be                      // 3            16
	PixelFormatBayerRggb16Le                      // 3            16
	PixelFormatBayerRggb16Be                      // 3            16
	PixelFormatBayerGbrg16Le                      // 3            16
	PixelFormatBayerGbrg16Be                      // 3            16
	PixelFormatBayerGrbg16Le                      // 3            16
	PixelFormatBayerGrbg16Be                      // 3            16
	PixelFormatYuv440P10Le                        // 3            20
	PixelFormatYuv440P10Be                        // 3            20
	PixelFormatYuv440P12Le                        // 3            24
	PixelFormatYuv440P12Be                        // 3            24
	PixelFormatAyuv64Le                           // 4            64
	PixelFormatAyuv64Be                           // 4            64
	PixelFormatVideotoolboxVld                    // 0             0
	PixelFormatP010Le                             // 3            15
	PixelFormatP010Be                             // 3            15
	PixelFormatGbrap12Be                          // 4            48
	PixelFormatGbrap12Le                          // 4            48
	PixelFormatGbrap10Be                          // 4            40
	PixelFormatGbrap10Le                          // 4            40
	PixelFormatMediacodec                         // 0             0
	PixelFormatGray12Be                           // 1            12
	PixelFormatGray12Le                           // 1            12
	PixelFormatGray10Be                           // 1            10
	PixelFormatGray10Le                           // 1            10
	PixelFormatP016Le                             // 3            24
	PixelFormatP016Be                             // 3            24
	PixelFormatD3D11                              // 0             0
	PixelFormatGray9Be                            // 1             9
	PixelFormatGray9Le                            // 1             9
	PixelFormatGbrpf32Be                          // 3            96
	PixelFormatGbrpf32Le                          // 3            96
	PixelFormatGbrapf32Be                         // 4            128
	PixelFormatGbrapf32Le                         // 4            128
	PixelFormatDrmPrime                           // 0             0
)

func (PixelFormat) String

func (typ PixelFormat) String() string

type StreamSpecifier

type StreamSpecifier struct {
	Stream StreamType
	Idx    int
}

func AllStreamSpecifier

func AllStreamSpecifier() StreamSpecifier

func AttachmentStreamSpecifier

func AttachmentStreamSpecifier(idx int) StreamSpecifier

func AudioStreamSpecifier

func AudioStreamSpecifier(idx int) StreamSpecifier

func DataStreamSpecifier

func DataStreamSpecifier(idx int) StreamSpecifier

func StreamIndexSpecifier

func StreamIndexSpecifier(idx int) StreamSpecifier

func SubtitleStreamSpecifier

func SubtitleStreamSpecifier(idx int) StreamSpecifier

func VideoStreamSpecifier

func VideoStreamSpecifier(idx int) StreamSpecifier

func (StreamSpecifier) String

func (s StreamSpecifier) String() string

type StreamType

type StreamType int
const (
	StreamTypeAll   StreamType = iota - 1
	StreamTypeVideo StreamType = iota
	StreamTypeAudio
	StreamTypeSubtitle
	StreamTypeData
	StreamTypeAttachment
)

func (StreamType) String

func (st StreamType) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL