Update plugins: VMAF mode, documentation fixes, version sync
- Added VMAF quality-targeted mode to av1_svt_converter (v2.25) - Fixed documentation version mismatch (misc_fixes v2.8, stream_organizer v4.10, audio_standardizer v1.15) - Updated rate control documentation with VMAF mode details - Added vmaf_target and vmaf_samples input options - Added ab-av1 binary detection with ABAV1_PATH env var support
This commit is contained in:
@@ -8,8 +8,11 @@ const details = () => ({
|
||||
Converts audio streams to specified codec (AAC/Opus) with configurable bitrate and channel options.
|
||||
Can preserve existing channels or downmix from multichannel to stereo/mono. Also creates missing
|
||||
downmixed tracks (8ch->6ch, 6ch/8ch->2ch) when they don't exist.
|
||||
|
||||
v1.15: Fixed duplicate description, added default markers, improved tooltips.
|
||||
v1.14: Fixed crash when input file has no subtitles (conditional mapping).
|
||||
`,
|
||||
Version: '1.13',
|
||||
Version: '1.15',
|
||||
Tags: 'audio,aac,opus,channels,stereo,downmix,quality',
|
||||
Inputs: [
|
||||
{
|
||||
@@ -60,11 +63,11 @@ const details = () => ({
|
||||
{
|
||||
name: 'channel_mode',
|
||||
type: 'string',
|
||||
defaultValue: 'preserve',
|
||||
defaultValue: 'preserve*',
|
||||
inputUI: {
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
'preserve',
|
||||
'preserve*',
|
||||
'stereo',
|
||||
'mono'
|
||||
],
|
||||
@@ -82,7 +85,7 @@ const details = () => ({
|
||||
'true*'
|
||||
],
|
||||
},
|
||||
tooltip: 'Create additional stereo (2ch) downmix tracks from multichannel audio (5.1/7.1).',
|
||||
tooltip: 'Create stereo (2ch) downmix from multichannel audio (5.1/7.1). Only creates if no stereo track exists AND multichannel source is present.',
|
||||
},
|
||||
{
|
||||
name: 'downmix_single_track',
|
||||
@@ -113,11 +116,11 @@ const details = () => ({
|
||||
{
|
||||
name: 'opus_application',
|
||||
type: 'string',
|
||||
defaultValue: 'audio',
|
||||
defaultValue: 'audio*',
|
||||
inputUI: {
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
'audio',
|
||||
'audio*',
|
||||
'voip',
|
||||
'lowdelay'
|
||||
],
|
||||
@@ -127,11 +130,11 @@ const details = () => ({
|
||||
{
|
||||
name: 'opus_vbr',
|
||||
type: 'string',
|
||||
defaultValue: 'on',
|
||||
defaultValue: 'on*',
|
||||
inputUI: {
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
'on',
|
||||
'on*',
|
||||
'off',
|
||||
'constrained'
|
||||
],
|
||||
@@ -211,11 +214,11 @@ const details = () => ({
|
||||
{
|
||||
name: 'quality_preset',
|
||||
type: 'string',
|
||||
defaultValue: 'custom',
|
||||
defaultValue: 'custom*',
|
||||
inputUI: {
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
'custom',
|
||||
'custom*',
|
||||
'high_quality',
|
||||
'balanced',
|
||||
'small_size'
|
||||
@@ -673,13 +676,23 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// Build stream mapping explicitly by type to prevent attachment processing errors
|
||||
// Using -map 0 would map ALL streams including attachments, which causes muxing errors
|
||||
// when combined with additional -map commands for downmix tracks
|
||||
let streamMap = '-map 0:v -map 0:a -map 0:s';
|
||||
let streamMap = '-map 0:v -map 0:a';
|
||||
|
||||
// Check if file has subtitle streams before mapping them
|
||||
const hasSubtitles = file.ffProbeData.streams.some(s => s.codec_type === 'subtitle');
|
||||
if (hasSubtitles) {
|
||||
streamMap += ' -map 0:s';
|
||||
}
|
||||
|
||||
if (hasAttachments) {
|
||||
// Add attachments separately with copy codec
|
||||
streamMap += ' -map 0:t -c:t copy';
|
||||
}
|
||||
|
||||
let ffmpegArgs = `${streamMap} -c:v copy -c:s copy`;
|
||||
let ffmpegArgs = `${streamMap} -c:v copy`;
|
||||
if (hasSubtitles) {
|
||||
ffmpegArgs += ' -c:s copy';
|
||||
}
|
||||
let audioIdx = 0;
|
||||
let processNeeded = false;
|
||||
let is2channelAdded = false;
|
||||
|
||||
Reference in New Issue
Block a user