m3u8 剪辑的前几秒不起作用,这是由节点 js 从另一个 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)
  .outputoptions('-hls_list_size 0')
  .on('end',function(err) {
    if(!err) { console.log('conversion Done') }
  })
  .on('error',function(err){
    console.log('error: ',err)
  }).run();

这是我用来从另一个 m3u8 文件创建剪辑 m3u8 格式文件代码。我在终端上使用这个命令来生成它。 这是命令

node index.js 5 40 ../path/input.m3u8 ../path/output.m3u8

所以这里 5 是开始时间,40 是持续时间(以秒为单位)。 问题是它生成的第一个 ts 文件(例如 output_test0.ts)没有正常工作。它以 kb 格式生成,而其他格式以 MB 格式生成。因此,当我播放新的 m3u8 文件时,前 3-5 秒剪辑是静态图片,但除此之外一切正常。 这是 m3u8 文件链接https://mp4.to/downloads/0cb552cd749c4cf4b

enter image description here

如您所见,第一个 output_test0.ts 文件与其他文件不同。其他输出 ts 文件以 MB 为单位,而第一个仅以 kb 为单位,这种情况仅发生在第一个文件中。我缺少任何命令输入?需要帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...