我正在尝试使用 FFMPEG 将字幕刻录到视频中。我在无服务器 lambda 架构中工作,我们之前通过使用层将 FFMPEG 与 lambda 结合使用,一切正常。
现在我正在尝试使用以下命令在视频中刻录字幕:
ffmpeg -i https://some-bucket.s3.region.amazonaws.com/my-video.mp4 -f mp4 -vf subtitles=sub.srt subtitled-video.mp4
问题是,该命令在我的本地机器或我尝试的任何其他实例中完美运行。但是在我的 lambda 函数中,我只得到没有字幕的原始视频。起初我认为它可能是我正在使用的 ffmpeg 构建,但在尝试使用它之后,它在我尝试过的所有其他环境中都可以工作。
此外,我在 lambda 中的 ffmpeg 作业的输出中没有收到任何错误,一切似乎都可以正常工作。只是它不烧字幕
我希望你能帮助我解决这个问题。或者至少指出我正确的方向。
提前致谢
最佳答案
Lambda 会截断日志,而您只会看到日志的结尾。如果日志中间有警告消息,您将无法看到它。
我正在处理同样的问题,我发现的错误是没有字体。对于 EC2 实例和 Lambda 函数,如果您不提供字体,则不会像您的本地计算机那样提供系统字体。
如果没有字体,ffmpeg 命令将无法生成字幕。
我的解决方案是
subtitles=sample.srt:force_style="FontName=ArialUnicodeMS"
希望它可以帮助您解决问题。
关于node.js - nodejs Lambda函数中的FFMPEG意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68072428/