我正在尝试使用 xuggler 将一系列图像编码为 MP4 视频。然而,试图解决时基/帧率问题让我发疯!我似乎无法获得像样的视频编码。使用这个Converter.java
例子,我有
IRational num = IRational.make(24, 1);
outStreamCoder.setFrameRate(num);
outStreamCoder.setTimeBase(IRational.make(num.getDenominator(), num.getNumerator()));
...
long tsOffset = 0;
if (outStream.getStartTime() != Global.NO_PTS && outStream.getStartTime() > 0
&& outStream.getTimeBase() != null)
{
IRational defTimeBase = IRational.make(1, (int) Global.DEFAULT_PTS_PER_SECOND);
tsOffset = defTimeBase.rescale(outStream.getStartTime(), outStream.getTimeBase());
}
....
long timeStamp = (3600 * count); // experimenting
IVideoPicture outFrame = converter.toPicture(worksWithXugglerBufferedImage, timeStamp);
if (outFrame.getTimeStamp() != Global.NO_PTS)
outFrame.setTimeStamp(outFrame.getTimeStamp() - tsOffset);
对于 30 幅图像,编码时长远小于 1s。我希望它会超过一秒钟。谁能帮帮我,这让我困惑了一段时间!