Interface: OptionMember<T>
Defined in: src/lib/option.ts:1058
Base class for FFmpeg objects that support AVOptions.
Provides a common interface for getting, setting, and listing options on FFmpeg objects that have an AVClass structure. This includes codecs, formats, filters, and various processing contexts.
Classes that support AVOptions should extend this class to inherit the option management functionality.
Example
import { OptionMember, FFmpegError } from 'node-av';
import { AV_OPT_TYPE_INT, AV_OPT_TYPE_STRING, AV_OPT_TYPE_RATIONAL } from 'node-av/constants';
class CodecContext extends OptionMember<NativeCodecContext> {
constructor(native: NativeCodecContext) {
super(native);
}
}
// Use inherited methods
const codec = new CodecContext(native);
// Set options with automatic type handling
let ret = codec.setOption('preset', 'fast');
FFmpegError.throwIfError(ret, 'set preset');
ret = codec.setOption('bitrate', 2000000, AV_OPT_TYPE_INT);
FFmpegError.throwIfError(ret, 'set bitrate');
ret = codec.setOption('framerate', { num: 30, den: 1 }, AV_OPT_TYPE_RATIONAL);
FFmpegError.throwIfError(ret, 'set framerate');
// Get typed options
const preset = codec.getOption('preset');
const bitrate = codec.getOption('bitrate', AV_OPT_TYPE_INT);
const framerate = codec.getOption('framerate', AV_OPT_TYPE_RATIONAL);
// List all available options
const options = codec.listOptions();
for (const opt of options) {
console.log(`${opt.name}: ${opt.help}`);
}See
- Option For static option methods
- OptionInfo For option metadata
Extended by
FormatContextCodecContextSoftwareScaleContextSoftwareResampleContextIOContextFilterContextFilterGraphBitStreamFilterContext
Type Parameters
T
T extends OptionCapableObject
The native FFmpeg object type that supports AVOptions
Properties
native
protectednative:T
Defined in: src/lib/option.ts:1059
Methods
getOption()
Get an option value from this object.
Uses the AVOption API to retrieve options.
Direct mapping to av_opt_get* functions.
Param
name
Option name
Param
type
Option type (defaults to AV_OPT_TYPE_STRING)
Param
searchFlags
Search flags (default: AV_OPT_SEARCH_CHILDREN)
Example
import { AV_OPT_TYPE_STRING, AV_OPT_TYPE_RATIONAL, AV_OPT_TYPE_PIXEL_FMT, AV_OPT_TYPE_INT64 } from 'node-av/constants';
// String options (default)
const preset = obj.getOption('preset');
const codec = obj.getOption('codec', AV_OPT_TYPE_STRING);
// Typed options
const framerate = obj.getOption('framerate', AV_OPT_TYPE_RATIONAL); // Returns {num, den}
const pixFmt = obj.getOption('pix_fmt', AV_OPT_TYPE_PIXEL_FMT); // Returns AVPixelFormat
const bitrate = obj.getOption('bitrate', AV_OPT_TYPE_INT64); // Returns bigintCall Signature
getOption(
name,type?,searchFlags?):string|null
Defined in: src/lib/option.ts:1288
Parameters
name
string
type?
searchFlags?
Returns
string | null
Call Signature
getOption(
name,type,searchFlags?):string|null
Defined in: src/lib/option.ts:1289
Parameters
name
string
type
searchFlags?
Returns
string | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1292
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):bigint|null
Defined in: src/lib/option.ts:1293
Parameters
name
string
type
searchFlags?
Returns
bigint | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1294
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):bigint|null
Defined in: src/lib/option.ts:1295
Parameters
name
string
type
searchFlags?
Returns
bigint | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1296
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):boolean|null
Defined in: src/lib/option.ts:1297
Parameters
name
string
type
searchFlags?
Returns
boolean | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1298
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1299
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1302
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1303
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):IRational|null
Defined in: src/lib/option.ts:1306
Parameters
name
string
type
searchFlags?
Returns
IRational | null
Call Signature
getOption(
name,type,searchFlags?):IRational|null
Defined in: src/lib/option.ts:1307
Parameters
name
string
type
searchFlags?
Returns
IRational | null
Call Signature
getOption(
name,type,searchFlags?):AVPixelFormat|null
Defined in: src/lib/option.ts:1308
Parameters
name
string
type
searchFlags?
Returns
AVPixelFormat | null
Call Signature
getOption(
name,type,searchFlags?):AVSampleFormat|null
Defined in: src/lib/option.ts:1309
Parameters
name
string
type
searchFlags?
Returns
AVSampleFormat | null
Call Signature
getOption(
name,type,searchFlags?):IDimension|null
Defined in: src/lib/option.ts:1310
Parameters
name
string
type
searchFlags?
Returns
IDimension | null
Call Signature
getOption(
name,type,searchFlags?):ChannelLayout|null
Defined in: src/lib/option.ts:1311
Parameters
name
string
type
searchFlags?
Returns
ChannelLayout | null
Call Signature
getOption(
name,type,searchFlags?):Dictionary|null
Defined in: src/lib/option.ts:1312
Parameters
name
string
type
searchFlags?
Returns
Dictionary | null
Call Signature
getOption(
name,type,searchFlags?):string|null
Defined in: src/lib/option.ts:1313
Parameters
name
string
type
searchFlags?
Returns
string | null
listOptions()
listOptions():
OptionInfo[]
Defined in: src/lib/option.ts:1428
List all available options for this object.
Uses the AVOption API to enumerate all options. Useful for discovering available settings and their types.
Direct mapping to av_opt_next() iteration.
Returns
Array of option information objects
Example
const options = obj.listOptions();
for (const opt of options) {
console.log(`${opt.name}: ${opt.help}`);
console.log(` Type: ${opt.type}, Default: ${opt.defaultValue}`);
console.log(` Range: ${opt.min} - ${opt.max}`);
}See
OptionInfo For option metadata structure
setOption()
Set an option on this object.
Uses the AVOption API to set options. Available options depend on the specific object type.
Direct mapping to av_opt_set* functions.
Param
name
Option name
Param
value
Option value
Param
type
Option type; when omitted, the option's declared type is looked up via av_opt_find and the value converted accordingly
Param
searchFlags
Search flags (default: AV_OPT_SEARCH_CHILDREN)
Example
import { FFmpegError } from 'node-av';
import { AV_OPT_TYPE_STRING, AV_OPT_TYPE_INT64, AV_OPT_TYPE_RATIONAL, AV_OPT_TYPE_PIXEL_FMT } from 'node-av/constants';
// Untyped - the option's declared type is inferred
let ret = obj.setOption('preset', 'fast');
FFmpegError.throwIfError(ret, 'set preset');
ret = obj.setOption('codec', 'h264', AV_OPT_TYPE_STRING);
FFmpegError.throwIfError(ret, 'set codec');
// Integer options
ret = obj.setOption('bitrate', 2000000, AV_OPT_TYPE_INT64);
FFmpegError.throwIfError(ret, 'set bitrate');
ret = obj.setOption('threads', 4, AV_OPT_TYPE_INT);
FFmpegError.throwIfError(ret, 'set threads');
// Complex types with proper types
ret = obj.setOption('framerate', {num: 30, den: 1}, AV_OPT_TYPE_RATIONAL);
FFmpegError.throwIfError(ret, 'set framerate');
ret = obj.setOption('pix_fmt', AV_PIX_FMT_YUV420P, AV_OPT_TYPE_PIXEL_FMT);
FFmpegError.throwIfError(ret, 'set pixel format');Call Signature
setOption(
name,value):number
Defined in: src/lib/option.ts:1066
Parameters
name
string
value
string | number | bigint | boolean | null | undefined
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1067
Parameters
name
string
value
string
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1068
Parameters
name
string
value
string
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1071
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1072
Parameters
name
string
value
bigint
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1073
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1074
Parameters
name
string
value
bigint
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1075
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1076
Parameters
name
string
value
boolean
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1077
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1078
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1081
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1082
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1085
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1086
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1087
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1088
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1089
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1090
Parameters
name
string
value
number | bigint
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1091
Parameters
name
string
value
Buffer
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1092
Parameters
name
string
value
number[]
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1093
Parameters
name
string
value
type
searchFlags?
Returns
number
