1
0
mirror of https://github.com/mifi/lossless-cut.git synced 2024-11-21 18:02:35 +01:00

log ffprobe detected formats

This commit is contained in:
Mikael Finstad 2024-08-27 21:13:55 +02:00
parent 8eef3cbc16
commit 91fbc0fa95
No known key found for this signature in database
GPG Key ID: 25AB36E3E81CBC26
3 changed files with 9 additions and 8 deletions

View File

@ -53,7 +53,7 @@ import { darkModeTransition } from './colors';
import { getSegColor } from './util/colors';
import {
getStreamFps, isCuttingStart, isCuttingEnd,
readFileMeta, getSmarterOutFormat,
readFileMeta, getDefaultOutFormat,
extractStreams, setCustomFfPath as ffmpegSetCustomFfPath,
isIphoneHevc, isProblematicAvc1, tryMapChaptersToEdl,
getDuration, getTimecodeFromStreams, createChaptersFromSegments,
@ -1304,7 +1304,7 @@ function App() {
const fileMeta = await readFileMeta(fp);
// console.log('file meta read', fileMeta);
const fileFormatNew = await getSmarterOutFormat({ filePath: fp, fileMeta });
const fileFormatNew = await getDefaultOutFormat({ filePath: fp, fileMeta });
if (!fileFormatNew) throw new Error('Unable to determine file format');

View File

@ -8,7 +8,7 @@ import invariant from 'tiny-invariant';
import Checkbox from './Checkbox';
import { ReactSwal } from '../swal';
import { readFileMeta, getSmarterOutFormat } from '../ffmpeg';
import { readFileMeta, getDefaultOutFormat } from '../ffmpeg';
import useFileFormatState from '../hooks/useFileFormatState';
import OutputFormatSelect from './OutputFormatSelect';
import useUserSettings from '../hooks/useUserSettings';
@ -66,7 +66,7 @@ function ConcatDialog({ isShown, onHide, paths, onConcat, alwaysConcatMultipleFi
setOutFileName(undefined);
invariant(firstPath != null);
const fileMetaNew = await readFileMeta(firstPath);
const fileFormatNew = await getSmarterOutFormat({ filePath: firstPath, fileMeta: fileMetaNew });
const fileFormatNew = await getDefaultOutFormat({ filePath: firstPath, fileMeta: fileMetaNew });
if (aborted) return;
setFileMeta(fileMetaNew);
setFileFormat(fileFormatNew);

View File

@ -260,10 +260,12 @@ function mapDefaultFormat({ streams, requestedFormat }: { streams: FFprobeStream
async function determineOutputFormat(ffprobeFormatsStr: string | undefined, filePath: string) {
const ffprobeFormats = (ffprobeFormatsStr || '').split(',').map((str) => str.trim()).filter(Boolean);
if (ffprobeFormats.length === 0) {
console.warn('ffprobe returned unknown formats', ffprobeFormatsStr);
console.warn('FFprobe returned unknown formats', ffprobeFormatsStr);
return undefined;
}
console.log('FFprobe detected format(s)', ffprobeFormatsStr);
const [firstFfprobeFormat] = ffprobeFormats;
if (ffprobeFormats.length === 1) return firstFfprobeFormat;
@ -326,9 +328,8 @@ async function determineOutputFormat(ffprobeFormatsStr: string | undefined, file
}
}
export async function getSmarterOutFormat({ filePath, fileMeta: { format, streams } }: { filePath: string, fileMeta: { format: FFprobeFormat, streams: FFprobeStream[] } }) {
const formatsStr = format.format_name;
const assumedFormat = await determineOutputFormat(formatsStr, filePath);
export async function getDefaultOutFormat({ filePath, fileMeta: { format, streams } }: { filePath: string, fileMeta: { format: Pick<FFprobeFormat, 'format_name'>, streams: FFprobeStream[] } }) {
const assumedFormat = await determineOutputFormat(format.format_name, filePath);
return mapDefaultFormat({ streams, requestedFormat: assumedFormat });
}