首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在fluent FFMPEG nodejs中添加多个字幕

如何在fluent FFMPEG nodejs中添加多个字幕
EN

Stack Overflow用户
提问于 2021-10-25 09:51:22
回答 1查看 74关注 0票数 0

我搜索并找到了一些使用FFmpeg命令的命令,但是我不能在流利的FFmpeg中转换工作,所以请求帮助我。

这是我在另一个答案上找到的命令

代码语言:javascript
运行
复制
ffmpeg -i $movie.mov -i $sub_en.srt -i $sub_de.srt \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy -c:a copy -c:s srt \
-metadata:s:s:0 language=eng -metadata:s:s:1 language=ger \
$output.mkv

这就是我在fluent FFmpeg上添加字幕流的方式。

代码语言:javascript
运行
复制
ffmpeg()
    .addInput("./sample3.mp4")
    .addInput("merged.wav")
    .outputOptions(
      "-vf subtitles=./subt/114.srt:force_style='Alignment=10,FontName=QCF2604,Fontsize=18,MarginL=5,MarginV=25,Outline=0'"
    )
    .outputOptions(
      "-vf subtitles=dd.srt:force_style='Alignment=1,FontName=QCF2604,Fontsize=18,MarginL=5,MarginV=25,Outline=0'"
    )
    .outputOptions("-shortest")

    .output("./test.mp4")
    .on("end", function () {
      console.log("conversion ended");
      callback(null);
    })
    .on("error", function (e) {
      console.log("error: ", e.code, e.msg, e);
      callback(e);
    })
    .run();
}

但是通过这种方式,视频上只出现了第二个字幕。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-26 18:14:09

我找到了一个办法!

代码语言:javascript
运行
复制
ffmpeg()
    .addInput("./sample3.mp4")
    .addInput("./ayahs/114.png")
    .addInput("merged.wav")

    .addInput("color=black:s=600x1000:r=25") // Background Overlay
    .inputFormat("lavfi")

    .complexFilter([
      subtitles=./subt/114.srt:force_style='Alignment=10,FontName=QCF2604,Fontsize=14,MarginL=5,MarginV=25,Outline=0'[subt1]", // arabic subtitle
      "[subt1]subtitles=./subt/114_trans.srt:force_style='Alignment=2,FontName=FML-Leela,Fontsize=8,MarginL=15,MarginV=115,Outline=0'", // malayalam subtitle
    ])

    .outputOptions("-shortest")
    .output("./test.mp4")
    .on("end", function () {
      console.log("conversion ended");
      callback(null);
    })
    .on("error", function (e) {
      console.log("error: ", e.code, e.msg, e);
      callback(e);
    })
    .run();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69705942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档