我正在处理具有不同宽高比的用户视频。似乎FFMPEG只允许您指定固定的分辨率。我希望输出res适合输入res。同样,我希望FFMPEG能够根据输入视频智能地设置输出比特率:显然它不应该大于输入。
我可以使用
获取视频的属性ffmpeg -i example.flv
但这需要对输出进行一些难看的解析,所以我想知道FFMPEG或其他工具是否有更直接的设施。
基本上,我遇到了Youtube问题:废话进来了,合理的质量应该会出现。
答案 0 :(得分: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/ 它也有点过时但也应该有所帮助。
答案 1 :(得分:2)
名为ahaslam的人可能已经写了short bash script来解决您的问题。
答案 2 :(得分:1)
ffmpeg
有一个库接口 - 我对此一无所知,但也许您可以使用它直接将信息传递到您的代码中?
答案 3 :(得分:1)
使用脚本似乎是我问的问题的正确答案,但我应该提到我正在使用PandaStream。我担心因为PandaStream你指定了一个固定的输出res,但显然它有逻辑,使得输入视频受到这个分辨率的限制,例如对于输出res 480x270,4:3视频将以360x270编码。
这似乎是一个很好的妥协。只需将Panda设置为输出16:9的分辨率然后16:10和4:3的视频将在大多数情况下正常显示。