问题标签 [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 投票
0 回答
525 浏览

node.js - 如何使用 getSignedUrl() 将 Node.js fluent-ffmpeg 屏幕截图的目标文件夹设置为您的 AWS S3 存储桶?

我正在编写一个程序来为我的 Amazon S3 存储桶中的一组 .mp4 视频生成 .png 缩略图(同名,在同一个文件夹中)。对于此示例,我将为存储桶中的 /folder/file.mp4 创建一个 /folder/file.png。我已经设法使用 s3 对象和 getSignedUrl 设置源 URL,如下所示:

目标 URL 必须与源 URL 位于同一文件夹。所以我设置如下:

这种组合不起作用 - 有没有办法正确地做到这一点?

0 投票
3 回答
779 浏览

javascript - 如何循环使用动态数据的链式方法?

使用fluent-ffmpeg,我有一个动态的视频列表,我正在尝试使用 Node.js 拼接在一起。下面的代码可以工作,但是是手动硬写的。我如何将它变成带有链式函数的循环?

我调查eval()并无法让它发挥作用,并且不确定链式承诺是否是我正在寻找的(不完全确定在这里做什么)。

这是我尝试使用eval()但它不起作用:

变量是在上述代码之前定义的。

0 投票
1 回答
379 浏览

node.js - 使用 fluent-ffmpeg 转换 AWS Polly 音频流

我正在尝试使用 fluent-ffmpeg 在 Node.js 中转换来自 Amazon AWS Polly 的音频流。文档说我可以转换一个流,这是 Polly 的输出提供的,但我收到“无效输入”错误。

结果是:

AudioStream: } 2017-07-27T14:07:09.335Z dd75614c-72d4-11e7-b7cd-5d4425c782fc 错误:FfmpegCommand.proto.mergeAdd.proto.addInput.proto.input (/var/task/node_modules/fluent- ffmpeg/lib/options/inputs.js:34:15)

我知道 Polly 的输出是有效的音频流,因为我可以将它保存到 S3 存储桶中。我宁愿在保存到 S3 之前转换流,而不是保存它,从 S3 中提取它,转换它,然后再次保存。

谢谢你的帮助!

0 投票
1 回答
4755 浏览

node.js - 从 Fluent-Ffmpeg Api 调用 Ffmpeg 二进制文件时节点出现 ENOENT 错误

背景

我正在节点中连接一个火力基地功能。目的是将入站音频剪辑解析为设定的长度。使用 ffmpeg 和 fluent-ffmpeg。

问题

在 firebase 中触发该函数时,当 Fluent-Ffmpeg 尝试访问 Ffmpeg 二进制文件时出现 ENOENT 错误

Firebase 调试输出

错误:{错误:在 Process.ChildProcess._handle.onexit (internal/child_process.js: 193:32) onErrorNT (internal/child_process.js:367:16) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickDomainCallback (internal/process/next_tick.js:128:9) 代码:'ENOENT',errno:'ENOENT',系统调用:'spawn./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg',路径:'./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg ',
spawnargs: ['-formats' ] }

预期结果

入站文件被下载到临时目录,被裁剪,然后作为裁剪文件重新上传到 Firebase 存储。

环境

  • mac 客户端/firebase 存储
  • 节点 v8.1.0
  • ffmpeg v3.2.2
  • 流利的ffmpeg v2.1.2

代码 [更新以反映 Svenskunganka 的变化。现在工作]

我的 ffmpeg-binaries/bin 目录的内容和结构

我尝试过的事情

  • 我可以从命令行执行 ffmpeg
  • sudo chmod -R u+x ffmpeg-binaries/
  • ffmpeg 在全局路径中设置
  • 在 setFfmpegPath 中使用 ffmpeg.exe 二进制文件,得到相同的结果
    • 错误:{ 错误:spawn ./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg.exe ENOENT
  • 玩了许多不同的 setFfmpegPath 路径结构,例如:
    • ./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg
    • node_modules/ffmpeg 二进制文件/bin/ffmpeg
    • ./Cloud/functions/node_modules/ffmpeg-binaries/bin/

感谢您的任何建议。

0 投票
0 回答
993 浏览

firebase - Ffmpeg/Fluent-Ffmpeg:输出文件不反映输入参数

用例

当用户录制音频文件并上传到 Firebase 存储时,运行一个触发器来裁剪该文件的剪辑并将其保存到“预览”目录。

问题

当文件到达服务器时,它在开始时间(10 秒)之前只是死气沉沉,然后在超过 10 秒的持续时间后不会停止。我在“-t”和“-ss”参数中输入的任何内容似乎都对输出文件没有影响——没有正确裁剪。

环境

  • mac 客户端/firebase 存储
  • 节点 v8.1.0
  • ffmpeg v3.2.2
  • 流利的ffmpeg v2.1.2

节点代码

ffmpeg 命令

使用以下命令生成 Ffmpeg:ffmpeg -t 10 -i /tmp/2EB100B0-6C1E-4D51-9087-764CA653AFC720170711232034.aac -y -acodec aac /tmp/2EB100B0-6C1E-4D51-9087-764CA6213AFC72017074。

控制台输出

0 投票
1 回答
448 浏览

encoding - 用C++代码编写FFMPEG的Tee Pseudo muxer

有没有人知道如何通过 c++ 代码使用ffmpeg的Tee 伪复用器。请指导这样做。我正在努力获取多路复用传输流 (ts) 数据的多个输出。我能够在 ts 中复用 aac 和 h264。但我必须在多个输出中获取多路复用的 ts 数据。

因此,如果有人知道如何使用Tee 伪 muxer进行操作,请指导我。

0 投票
1 回答
2365 浏览

node.js - nodejs快速获取mp4文件缩略图

我想要一个 0.0 秒的视频缩略图。目前我正在使用 node-fluent-ffmpeg 来生成缩略图。以下是代码:

但问题是,这个过程花费了太多时间。生成缩略图通常需要 30 秒。如果 mp4 文件大小增加,它会不断增加。

所以我的问题是,有没有快速生成缩略图的方法。我们可以改进上面的代码来提高性能吗?

ps:这段代码运行的机器是512MB RAM 800MHz

0 投票
3 回答
5499 浏览

video - 无法使用 ffmpeg 从视频中提取 mp3 音频

我的输入是一个 .mp4 视频文件。

尝试#1

错误:


尝试#2

错误:


尝试#3

没有错误ffmpeg,但文件无效(大小为 334 字节)


尝试#4

没有错误ffmpeg,但文件无效(大小为 334 字节)


尝试#5

没有错误ffmpeg,但文件无效(大小为 334 字节)


我究竟做错了什么?这似乎是一件相当容易的事情......

0 投票
0 回答
129 浏览

video - ffmpeg。我可以同时循环到不同的帧吗

我的抽象示例(它不起作用)。

ffmpeg -i video.mp4 -filter_complex "loop=20:1:1;loop=20:1:100" -y output.mp4

谢谢。

0 投票
2 回答
2835 浏览

node.js - Ffmpeg error in Docker Container: ffmpeg exited with code 1:

I am currently working on a project and almost ready to deploy, but there is one problem: the code which is working perfectly on my Ubuntu 16.04 (Elementary OS Loki) machine does not work in Docker container. What might be the problem in my code?

Here is my Dockerfile:

I run sudo docker exec -it <container-name> ffmpeg --help and it outputs the expected help print. In my code, I download a Youtube video in mp4 format with this code:

And then try to process the video with fluent-ffmpeg:

It gives the following error: