问题标签 [fluent-ffmpeg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
798 浏览

node.js - FFmpeg 淡出音频过滤器(淡出)没有被应用于迭代地剪辑的轨道

我正在尝试将轨道拆分为多个固定大小(30 秒)的剪辑,每个剪辑的开头和结尾分别有(5 秒)淡入/淡出。我正在使用ES6 Promises 数组中的每个命令进行交互并将每个命令保存在稍后node-fluent-ffmpegffmpeg使用.ffmpegPromise.all()

我能够成功剪辑轨道并添加淡入过滤器,但由于某种原因,淡出过滤器仅应用于轨道的第一个剪辑。ffmpeg我已经在文档和node-fluent-ffmpeg文档(此处此处)中四处寻找答案,但没有提到将淡出过滤器应用于多次剪辑的轨道所产生的问题。

我的代码与下面的代码片段非常相似,使用该audioFilters方法按顺序应用音频过滤器。请注意,我尝试只保留淡出过滤器,但问题仍然存在。任何指针将不胜感激。

这是我的ffmpeg版本信息:

0 投票
1 回答
473 浏览

javascript - ENAMETOOLONG nodeJs ffmpeg-fluent

我目前正在使用 ffmpeg-fluent 来合并视频文件。( https://github.com/fluent-ffmpeg/node-fluent-ffmpeg )

不幸的是,我将文件合并的循环在第千个文件处失败,但有以下异常:

/nodes_modules/fluent-ffmpeg 中的错误 ENAMETOOLONG。

我的问题是:

如何绕过此错误以编写具有无限字符数的命令?

0 投票
2 回答
3405 浏览

node.js - 使用流利的 ffmpeg 捕获错误的正确方法

我在我的 NodeJS 应用程序中使用 Fluent FFMpeg,并尝试在输入不存在的情况下添加一些错误处理。目前它只是因为这条消息而崩溃:

当输入源不存在时,我想等待一段时间(比如 1 秒)然后重试。这是目前我的代码:

当输入(尚)不存在时,如何正确处理错误?

0 投票
3 回答
1513 浏览

node.js - Node.JS FFMPEG 显示两个相邻的视频

有没有人知道如何使用 ffmpeg(fluent-ffmpeg) 的 node.js 包装器将两个视频合并为一个在左侧显示另一个在右侧显示的视频,而不是连接。

谢谢!

0 投票
0 回答
1263 浏览

node.js - Electron(节点)中的 Fluent-ffmpeg 和复杂过滤器

我想使用 fluent-ffmpeg 模块从 Electron 调用带有复杂过滤器的 ffmpeg,但没有成功。错误'[AVFilterGraph @ 0xb8.......]没有这样的过滤器“初始化复杂过滤器时出错。无效参数”与此问题相同错误:在Android中运行FFmpeg命令,在数组中拆分命令不起作用,但语境不同。

需要什么? 使用 fluent-ffmpeg 运行这个 ffmpeg 命令:

ffmpeg -i safework-background-0.mp4 -i image1.png -i image2.png -i image3.png -filter_complex "[0:v][1:v] 覆盖=1:1:enable='between(t ,5,8.5)' [tmp]; [tmp][2:v] overlay=1:1:enable='between(t,8.5,12)' [tmp]; [tmp][3:v] overlay= 1:1:enable='between(t,12,15)'" test-video-safework3.mp4

它使用复杂的过滤器将三个图像依次叠加在视频上并导出一个新视频。

什么不起作用? 显然,fluent-ffmpeg 扼流了复杂过滤器所需的引号,这是我的结论(与上面的 Android 变体问题相同)。

在 Electron 中没有 fluent-ffmpeg 有什么用? 你可以猜到我不得不求助于直接调用 ffmpeg。为了帮助其他人,以下命令将输入​​和输出视频文件名参数化,转换为 Electron 为:

上面的命令已经删除了每个图像的各种过滤器(在复杂过滤器中)之间的空格,否则它也会阻塞。

我真的很想在 Electron 中使用 fluent-ffmpeg,不仅是为了方便更优雅地调用 ffmpeg,而且还有一些附加功能,比如简单的进度报告。

0 投票
0 回答
700 浏览

node.js - 如何使用 Fluent FFMpeg 进行修剪和合并?

这是我想用 fluent-ffmpeg 做的事情:

我有 3 个输入文件。介绍、主要和结尾视频。我希望合并这三个,同时修剪主视频。这是我的代码:

该程序执行得很好,但是当我 ffplay final.mp4 时,结果是 introVideo 播放然后视频似乎冻结了。根据 fluent-ffmpeg 文档,它声明“这些 [输入选项] 方法中的每一个都适用于添加的最后一个输入”。所以我不明白为什么这种语法似乎不起作用......

如何修剪主视频以发送到 mergeToFile?

请注意,如果我在第二个 addInput 上没有 .seekinput(20).duration(3),这可以正常工作。

哦,这是输出的命令行值:

0 投票
1 回答
2505 浏览

node.js - ffmpeg mp3 通过节点 js 流式传输

我正在尝试剪切 mp3 并流式传输到浏览器,但在浏览器中它显示损坏的文件

0 投票
1 回答
1200 浏览

video - 将图像转换为视频

我在文件夹中有一些图像。我想将所有图像转换为视频。但问题是,当分辨率不同时,它会显示错误。我不想拉伸视频中的图像。我只想保持图像大小不变。但它显示了这个错误。

我的命令:

日志:

有没有办法保持原来的分辨率并制作所有图像的视频?

0 投票
1 回答
240 浏览

node.js - Node ffmpeg - 方形图像到视频图像失真

我有个问题。我使用了这段代码并得到了一个640x640视频,但它是从 a 转换而来的1280x720,这就是我得到扭曲图像的原因。我究竟做错了什么?我尝试了不同的编解码器,但我遇到了同样的问题。(我的图像资源640x640

问候

0 投票
1 回答
906 浏览

ffmpeg - ffmpeg 不绘制文本

希望你们中的一个人能告诉我为什么我的这个 ffmpeg 命令没有绘制所需的文本。制作的视频没有它。干得好:

ffmpeg -f image2 -thread_queue_size 64 -framerate 15.1 -i /home/michael-heuberger/binarykitchen/code/videomail.io/var/local/tmp/clients/videomail.io/11e6-723f-d0aa0bd0-aa9b-f7da27da678f/frames /%d.webp -y -an -vcodec libvpx -filter:v drawtext=fontfile=/home/michael-heuberger/binarykitchen/code/videomail.io/src/assets/fonts/Varela-Regular.ttf:text=www .videomail.io:fontsize=180:fontcolor=white:x=150:y=150:shadowcolor=black:shadowx=2:shadowy=2 -vf scale=trunc(iw/2)*2:trunc(ih/2 )*2 -crf 12 -deadline realtime -cpu-used 4 -pix_fmt yuv420p -loglevel warning -movflags +faststart /home/michael-heuberger/binarykitchen/code/videomail.io/var/local/tmp/clients/videomail.io /11e6-723f-d0aa0bd0-aa9b-f7da27da678f/videomail_preview.webm

关键部分是这个视频过滤器:

-filter:v drawtext=fontfile=/home/michael-heuberger/binarykitchen/code/videomail.io/src/assets/fonts/Varela-Regular.ttf:text=www.videomail.io:fontsize=180:fontcolor=white :x=150:y=150:shadowcolor=black:shadowx=2:shadowy=2

你觉得它正确吗?如果是这样,那为什么我在 videomail_preview.webm 视频文件中看不到任何文本?

在此处使用 ffmpeg v2.8.6 并启用 --enable-libfreetype、--enable-libfontconfig 和 --enable-libfribidi。

此外,上述命令是使用 fluent-ffmpeg 生成的。

那么,有什么想法吗?