Попытка использовать «-acodec libopus» в моем проекте npm, как я использую в командной строке, как в следующем формате;
ffmpeg -acodec libopus -i 1.webm 1.wav
Это работает отлично! Но я хотел бы сделать это возможным в моем проекте NPM.
Как я могу установить параметры? Это то, что у меня есть, но не работает. Выходной файл поврежден таким образом, что некоторые кадры аудиофайла отсутствуют. Как будто звук есть, а его нет. И наоборот.
var proc = new ffmpeg({
source: file,
nolog: false
});
format = "opus"; // or could be wav as well!
proc.addOptions([
'-f ' + format,
'-acodec libopus',
'-vn'
]);
Цель состоит в том, чтобы легко извлечь аудиофайл из видеофайла.
Без codec libopus я получаю следующие ошибки в командной строке, поэтому я предполагаю, что мне следует решить ту же проблему и в моем проекте NPM.
[opus @ 00000000006d4520] LBRR frames is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[opus @ 00000000006d4520] Error decoding a SILK frame.
[opus @ 00000000006d4520] Error decoding an Opus frame.
Моя библиотека обновлена, мне просто нужно правильно использовать кодек libopus. Какие-либо предложения?
\node-js>ffmpeg -version
ffmpeg version N-86175-g64ea4d1 Copyright (c) 2000-2017 the FFmpeg
developers
built with gcc 6.3.0 (GCC)
Output in command line;
xtranscribe transcodeWatson: file : ./data/that/2.webm
progress 62.625273103421605%
progress 100.01224534515762%
SAVED - transcodeWatson : .mp3
out of transcode!
fileSizeInBytes : 16284033
-vn
, а в строке примера, которую вы дали в начале, этого нет? Примечание. В ffmpeg важно, где размещается параметр, т. е. является ли он параметром ввода или вывода. Какая у вас версия ffmpeg? (Покажите вывод вашей командыffmpeg
при запуске в командной строке.) - person slhck   schedule 03.07.2017-acodec libopus
прежде чем вы определяете свой ввод (или, по крайней мере, так я это понял). - person zero298   schedule 03.07.2017-vn
. Если вы хотите показать пример, вы должны убедиться, что они показывают одно и то же. Когда я спрашиваю: «Что такое сгенерированная командная строка?» Я хотел увидеть, что fluent-ffmpeg на самом деле работает как процесс и что он выводит, то есть полный, неразрезанный вывод командной строки, как если бы вы запускали его в оболочке. Я не знаю, как это сделать с помощью fluent-ffmpeg, но, задавая вопросы о Stack Overflow о ffmpeg, старайтесь всегда указывать это. - person slhck   schedule 03.07.2017-vn
(нет видео), автор должен использовать API:noVideo()
. - person zero298   schedule 03.07.2017