首页 > 解决方案 > 使用 fluent-ffmpeg 将多个视频合并为一个 .mp4 文件

问题描述

版本信息

fluent-ffmpeg version: 2.1.2
ffmpeg version:4
OS:linux mint

重现代码

var fluent_ffmpeg = require("fluent-ffmpeg");

var mergedVideo = fluent_ffmpeg();

mergedVideo
  .mergeAdd('./Video1.mp4')
  .mergeAdd('./Video2.mp4')
  // .inputOptions(['-loglevel error','-hwaccel vdpau'])
  // .outputOptions('-c:v h264_nvenc')
  .on('error', function(err) {
      console.log('Error ' + err.message);
  })
  .on('end', function() {
      console.log('Finished!');
  })
  .mergeToFile('./mergedVideo8.mp4', '/tmp');

当我运行此代码时,我收到转换失败错误。

观察结果

Error ffmpeg exited with code 1: Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #3:0
Conversion failed!

我已经尝试使用命令行进行相同的转换:

ffmpeg -f concat -i textfile -c copy -fflags +genpts merged8.mp4

其中 textfile 具有以下内容-

file 'Video1.mp4'
file 'Video2.mp4'

我能够连接视频文件。但我想使用 fluent-ffmpeg 获得相同的结果。

标签: node.jsffmpegfluent-ffmpeg

解决方案


推荐阅读