gpt4 book ai didi

ffmpeg - 如何在 NPM 中正确使用编解码器类型

转载 作者:行者123 更新时间:2023-12-04 23:08:34 24 4
gpt4 key购买 nike

尝试在我的 npm 项目中使用“-acodec libopus”,就像我在命令行中使用的那样,格式如下;

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'
]);

目的是无缝地从视频文件中获取音频文件。

如果没有编解码器 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

最佳答案

根据the README ,您可以向流程中添加输入选项:

proc.addInputOption('-acodec libopus');

在 ffmpeg 中放置选项的位置很重要。如果你把它放在 -i 之前,它适用于该特定输入。如果将它放在输出文件名之前,它将应用于该输出。

关于ffmpeg - 如何在 NPM 中正确使用编解码器类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44723558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com