# All files / src/utils data-types.ts

0% Statements 0/101
0% Branches 0/1
0% Functions 0/1
0% Lines 0/101

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102

     /**
     * Ffmpeg processing progress information
     */
    export type ProgressInformation = {
      /** Current frame being processed */
      frame?: number
      /** Current processing speed in frames per second */
      fps?: number
      /** Current output bitrate in kbits/s */
      bitrate?: number
      /** Projected output size in kB */
      size?: number
      /** Current timestamp */
      time?: string
      /** Current processing speed (compared to stream time - a speed of 2 means we process a 1h video in 30 minutes) */
      speed?: number
    }

    /**
     * Ffmpeg codec information for a single input stream
     */
    export type InputStreamCodecInformation = {
      /** Input format */
      format?: string
      /** Input duration */
      duration?: string
      /** Input audio codec info */
      audio?: string
      /** Input audio detailed information */
      audioDetails?: string
      /** Input video codec info */
      video?: string
      /** Input video detailed information */
      videoDetails?: string
    }

    /**
     * Fffmpeg process input information, as an array with one item per input stream
     */
    export type InputCodecInformation = InputStreamCodecInformation[]

    export type FfmpegCodecType =
      | 'audio'
      | 'video'
      | 'subtitle'
      | 'data'
      | 'attachment'

    export type FfmpegCodec = {
      description: string
      type: FfmpegCodecType
      canEncode: boolean
      canDecode: boolean
      encoders?: string[]
      decoders?: string[]
      intraFrame: boolean
      lossy: boolean
      lossless: boolean
    }

    export type FfmpegCodecs = {
      [key: string]: FfmpegCodec
    }

    export type FfmpegFormat = {
      description: string
      canMux: boolean
      canDemux: boolean
    }

    export type FfmpegFormats = {
      [key: string]: FfmpegFormat
    }

    export type FfmpegFilterStreamType = 'audio' | 'video'

    export type FfmpegFilter = {
      description: string
      inputs: FfmpegFilterStreamType[] | 'dynamic'
      outputs: FfmpegFilterStreamType[] | 'dynamic'
    }

    export type FfmpegFilters = {
      [key: string]: FfmpegFilter
    }

    export type FfmpegEncoderType = 'audio' | 'video' | 'subtitle'

    export type FfmpegEncoder = {
      description: string
      type: FfmpegEncoderType
      frameMultithreading: boolean
      sliceMultithreading: boolean
      experimental: boolean
      drawHorizBand: boolean
      directRendering: boolean
    }

    export type FfmpegEncoders = {
      [key: string]: FfmpegEncoder
    }