Interface: OptionMember<T>
Defined in: src/lib/option.ts:1029
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:1030
Methods
getOption()
Get an option value from this object.
Uses the AVOption API to retrieve options.
Direct mapping to av_opt_get* functions.
Param
Option name
Param
Option type (defaults to AV_OPT_TYPE_STRING)
Param
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:1259
Parameters
name
string
type?
searchFlags?
Returns
string | null
Call Signature
getOption(
name,type,searchFlags?):string|null
Defined in: src/lib/option.ts:1260
Parameters
name
string
type
searchFlags?
Returns
string | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1263
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):bigint|null
Defined in: src/lib/option.ts:1264
Parameters
name
string
type
searchFlags?
Returns
bigint | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1265
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):bigint|null
Defined in: src/lib/option.ts:1266
Parameters
name
string
type
searchFlags?
Returns
bigint | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1267
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):boolean|null
Defined in: src/lib/option.ts:1268
Parameters
name
string
type
searchFlags?
Returns
boolean | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1269
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1270
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1273
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):number|null
Defined in: src/lib/option.ts:1274
Parameters
name
string
type
searchFlags?
Returns
number | null
Call Signature
getOption(
name,type,searchFlags?):IRational|null
Defined in: src/lib/option.ts:1277
Parameters
name
string
type
searchFlags?
Returns
IRational | null
Call Signature
getOption(
name,type,searchFlags?):IRational|null
Defined in: src/lib/option.ts:1278
Parameters
name
string
type
searchFlags?
Returns
IRational | null
Call Signature
getOption(
name,type,searchFlags?):AVPixelFormat|null
Defined in: src/lib/option.ts:1279
Parameters
name
string
type
searchFlags?
Returns
AVPixelFormat | null
Call Signature
getOption(
name,type,searchFlags?):AVSampleFormat|null
Defined in: src/lib/option.ts:1280
Parameters
name
string
type
searchFlags?
Returns
AVSampleFormat | null
Call Signature
getOption(
name,type,searchFlags?):IDimension|null
Defined in: src/lib/option.ts:1281
Parameters
name
string
type
searchFlags?
Returns
IDimension | null
Call Signature
getOption(
name,type,searchFlags?):ChannelLayout|null
Defined in: src/lib/option.ts:1282
Parameters
name
string
type
searchFlags?
Returns
ChannelLayout | null
Call Signature
getOption(
name,type,searchFlags?):Dictionary|null
Defined in: src/lib/option.ts:1283
Parameters
name
string
type
searchFlags?
Returns
Dictionary | null
Call Signature
getOption(
name,type,searchFlags?):string|null
Defined in: src/lib/option.ts:1284
Parameters
name
string
type
searchFlags?
Returns
string | null
listOptions()
listOptions():
OptionInfo[]
Defined in: src/lib/option.ts:1400
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
Option name
Param
Option value
Param
Option type (defaults to AV_OPT_TYPE_STRING)
Param
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';
// String options (default)
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:1037
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:1038
Parameters
name
string
value
string
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1039
Parameters
name
string
value
string
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1042
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1043
Parameters
name
string
value
bigint
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1044
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1045
Parameters
name
string
value
bigint
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1046
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1047
Parameters
name
string
value
boolean
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1048
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1049
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1052
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1053
Parameters
name
string
value
number
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1056
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1057
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1058
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1059
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1060
Parameters
name
string
value
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1061
Parameters
name
string
value
number | bigint
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1062
Parameters
name
string
value
Buffer
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1063
Parameters
name
string
value
number[]
type
searchFlags?
Returns
number
Call Signature
setOption(
name,value,type,searchFlags?):number
Defined in: src/lib/option.ts:1064
Parameters
name
string
value
type
searchFlags?
Returns
number
