首页 > 解决方案 > node.js 没有从 m3u8 文件生成完整的 m3u8 剪辑

问题描述

index.js

const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path;
const ffmpeg = require('fluent-ffmpeg');
const process = require('process');

const args = process.argv.slice(2);
if (args.length !== 4) {
  console.error('Incorrect number of arguments');
  process.exit(1);
}

const startTime = args[0];
const timeDuration = args[1];
const inputFile = args[2];
const outputFile=args[3];

ffmpeg.setFfmpegPath(ffmpegPath);

ffmpeg(inputFile)
  .setStartTime(startTime)
  .setDuration(timeDuration)
  .output(outputFile)
  .on('end', function(err) {
    if(!err) { 
      console.log('conversion Done') 
    }
  })
  .on('error', function(err){
    console.log('error: ', err)
  }).run();

我在终端上运行此命令以从 m3u8 文件生成剪辑 node index.js 00:00:10 46 ./path/sample.m3u8 ./path/output.m3u8

主要问题是它没有创建超过 13 秒的剪辑。例如,上面的命令应该生成一个 46 秒的剪辑,但它接近 13 秒。所以我不明白是什么问题。任何小于 13 的剪辑都可以正常工作。有没有办法解决这个问题?

这是 m3u8 文件的链接https://mp4.to/downloads/0cb552cd749c4cf4b

标签: node.jsexpressffmpegm3u8fluent-ffmpeg

解决方案


推荐阅读