6

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

我可以通过以下方式获取视频的属性,

ffmpeg -i example.flv

但这需要对输出进行一些难看的解析,所以我想知道 FFMPEG 或其他工具是否有更直接的工具。

基本上,我遇到了 Youtube 问题:废话进来了,应该出来的质量相当均匀。

4

4 回答 4

3

我知道这是一个非常古老的问题,但我想为它的价值加上我的 2 美分。

首先,ffmpeg用于获取视频信息确实会产生丑陋的输出。尝试使用ffprobe(与 捆绑在一起ffmpeg) 代替。您可以添加一些选项,例如-print_format json -pretty获得漂亮的 JSON 信息输出,这更容易解析。

此外,请查看以下文章: http: //blog.superuser.com/2012/02/24/ffmpeg-the-ultimate-video-and-audio-manipulation-tool/ 它也有点过时但应该有所帮助也是。

于 2014-11-13T22:16:23.697 回答
2

一个名叫 ahaslam 的人可能已经编写了一个简短的 bash 脚本来解决您的问题。

于 2009-10-17T15:36:02.760 回答
1

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

http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html

于 2009-10-17T14:15:02.400 回答
1

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

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

于 2009-10-18T03:54:53.470 回答