Video FFMPEG:根据输入视频设置输出分辨率和比特率

Video FFMPEG:根据输入视频设置输出分辨率和比特率,video,ffmpeg,Video,Ffmpeg,我正在处理不同纵横比的用户视频。FFMPEG似乎只允许您指定固定的分辨率。我希望输出分辨率与输入分辨率相适应。同样,我希望FFMPEG能够根据输入视频智能地设置输出比特率:显然,它不应该大于输入 我可以用 ffmpeg -i example.flv 但这需要对输出进行一些难看的解析,所以我想知道FFMPEG或其他工具是否有更直接的功能 基本上,我有Youtube的问题:垃圾进来了,合理的统一质量应该出来。ffmpeg有一个库接口-我对此一无所知,但也许你可以用它直接将信息输入到你的代码中 一个

我正在处理不同纵横比的用户视频。FFMPEG似乎只允许您指定固定的分辨率。我希望输出分辨率与输入分辨率相适应。同样,我希望FFMPEG能够根据输入视频智能地设置输出比特率:显然,它不应该大于输入

我可以用

ffmpeg -i example.flv
但这需要对输出进行一些难看的解析,所以我想知道FFMPEG或其他工具是否有更直接的功能


基本上,我有Youtube的问题:垃圾进来了,合理的统一质量应该出来。

ffmpeg
有一个库接口-我对此一无所知,但也许你可以用它直接将信息输入到你的代码中


一个叫ahaslam的人可能已经写了一个解决您问题的脚本。

使用脚本似乎是我所问问题的正确答案,但我应该提到我正在使用PandaStream。我之所以担心,是因为PandaStream让您指定了一个固定的输出分辨率,但显然它具有这样的逻辑,即输入视频将被限制到该分辨率,例如,对于输出分辨率480x270,4:3视频将以360x270进行编码


这似乎是一个很好的妥协。只需将Panda设置为输出16:9的分辨率,然后16:10和4:3的视频在大多数情况下都会很好。

我知道这是一个非常老的问题,但我想加上我的2美分,看看它值多少钱

首先,使用
ffmpeg
获取视频信息确实会产生难看的输出。尝试改用
ffprobe
(与
ffmpeg
捆绑使用)。您可以添加诸如
-print\u format json-pretty
之类的选项,以获得信息的良好json输出,这更容易解析

此外,请阅读以下文章:
它也有点过时,但也应该有所帮助。

您是否正在寻找一个以易于解析的格式输出属性的脚本?这将是一个很好的开始。我不相信我自己的解析,因为输出可能会在意外的边缘情况下发生变化。您可以将此信息添加为对DaveParillo答案的“一半”评论和“一半”编辑,从而修复您的问题。除非这实际上是在回答你的问题(因为我不太明白你的意思),对此我仍然建议你做前面的两个动作,保留这个答案,根据新的问题修正它,然后接受它。我相信脚本是另外一回事。它计算比特率以适应某些文件大小。