【问题标题】:fluent-ffmpeg display_aspect_ratio not changingfluent-ffmpeg display_aspect_ratio 没有改变
【发布时间】:2022-06-27 04:50:49
【问题描述】:

大家好,我正在尝试使用流利的 ffmpeg 将某些输入的宽度和高度调整为 768x1366(基本上以垂直模式显示),所以我还必须更改它的 display_aspect_ratio,我碰巧知道它是 0.562225476。 这里的问题是,根据 fluent-ffmpeg doc,如果我设置固定大小,它不会改变纵横比,但如果我使用 ? 到自动模式,它也不会工作。这是我的代码:

ffmpeg({source: req.file.path}) 
            .withFps(30)
            .toFormat('mp4')
            .size("768x?")
            .aspect(0.562225476)

控制台命令: ffmpeg -i tmp/video.mp4 -y -r 30 -filter:v scale=w=768:h=1366 -f mp4 ./src/internal/media/video.mp4

所以当我用 ffprobe 检查 display_aspect_ratio 时,它仍然是 4:3(作为源文件)。

如果我不添加.aspect()选项,命令是完全一样的......所以不考虑它。

我也试过了:

ffmpeg({source: req.file.path}) 
            .withFps(30)
            .toFormat('mp4')
            .size('768x1366')
            .addOptions('-vf setdar=0.562225476')

这里的命令最终是ffmpeg -i tmp/video.mp4 -y -r 30 -filter:v scale=w=768:h=1366 -f mp4 -vf setdar=0.562225476 ./src/internal/media/video.mp4,所以看起来还可以,但是当我用 ffprobe 检查时,它没有应用宽度和高度的变化。

我真正需要的命令是某种:ffmpeg -i video.mp4 -vf scale=768:1766,"setdar=0.562225476" video2.mp4,它会改变 both、widthXheight 和 display_aspect_ratio

【问题讨论】:

    标签: node.js video ffmpeg ffprobe fluent-ffmpeg


    【解决方案1】:

    确实,您的最后一个电话正是您需要做的(除非您不需要在setdar 周围加上双引号)。

    [编辑] 你就不能这样做吗?

    ffmpeg({source: req.file.path}) 
                .withFps(30)
                .toFormat('mp4')
                .addOptions('-vf scale=768:1766,setdar=0.562225476')
    

    [/编辑]

    我不知道如何使用fluent-ffmpeg 做到这一点,但曾几何时,我将kiss-ffmpeg 提交给 NPM,以便更轻松地将控制台 ffmpeg 命令转换为 JavaScript。它不再维护(因为我从那时起转向 Python),但我看到人们仍在下载,所以应该仍然可以使用。

    使用kiss-ffmpeg,您可以指定vf 选项

    ffmpeg.outputs = [
      { url: "video2.mp4", options: { "vf": "scale=768:1766,setdar=0.562225476" } }
    ];
    

    请参阅 NPM 自述文件,了解如何设置调用的其余部分。

    【讨论】:

    • 谢谢,但我不能用不再维护的包来冒险我的应用程序。
    • 明白。实际上,现在我仔细查看了您的代码(应该先完成),您可能有一个简单的解决方法。请参阅我的答案的编辑。
    • 是的,你是对的。我也没有意识到这种解决方法。无论哪种方式,我仍然会在没有解决方案的情况下保持线程打开,以便了解我正在使用的库。坦克很多!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2022-01-14
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    相关资源
    最近更新 更多