Xuggler,xuggler 5.4 中的转发和倒带视频不起作用
Posted
技术标签:
【中文标题】Xuggler,xuggler 5.4 中的转发和倒带视频不起作用【英文标题】:Xuggler, forwarding and rewinding video in xuggler 5.4 NOT WORKING 【发布时间】:2013-03-04 07:02:48 【问题描述】:我在我的应用程序中使用了xuggle-xuggler5.4来添加视频和音频播放功能,我已经深入谷歌并找到了以下sn-p:
long duration = container.getDuration();
long target = new Double(duration * .50).longValue();
container.seekKeyFrame(0, target, 0, 0, IContainer.SEEK_FLAG_BYTE);
我不知道这个 sn-p 是否不正确,或者我的 xuggle 是错误的,或者我是 SICK(开个玩笑),但一切看起来都很好。当我播放视频时,它总是从第一个开始(不是我想要的位置)。
如果有人可以帮助我,我会很高兴 谢谢
【问题讨论】:
【参考方案1】:好的,我明白了;)
我得到的视频时长和帧速率如下:
IStream stream = iContainerObj.getStream(i);
IStreamCoder coder = stream.getStreamCoder();
if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO
&& videoStreamId == -1)
videoDuration = container.getDuration() == Global.NO_PTS ? 0
: container.getDuration() / 1000;
frameRate = coder.getFrameRate().getDouble();
// other ....
然后跳转到特定位置,我将以毫秒为单位的持续时间转换为秒,然后乘以 frameRate 和我想要的秒。最后调用 seekKeyFrame 跳转到位置。
注意:我也使用了 =>> IContainer.SEEK_FLAG_FRAME,这表明我正在为该方法提供帧号。
int jumpToThisSecond = 65;
long jumbTo = (long) (((videoDuration / 1000) * frameRate) * jumpToThisSecond);
container.seekKeyFrame(0, 0, jumbTo, container.getDuration(),
IContainer.SEEK_FLAG_FRAME);
【讨论】:
我正在使用 Xuggler 库。我在云中有视频(4.5 gb 视频)。我想要转发并获取特定的帧。我的输入视频作为 InputStream 到容器。如果我使用搜索框架,如果它是流,则它不会获取,而从文件系统加载文件我输入为 URL,这里搜索框架工作完美。我的问题:如果视频是输入流,Xuggler 会失败吗?需要帮助。 @PraveenGopal 从我上次与 Xuggler 合作到现在已经有 6 年了。我建议您在新问题中发布您的问题,以便其他活跃的人可以帮助您。 我发布了但没有回复。你能查一下***.com/questions/58483424/…以上是关于Xuggler,xuggler 5.4 中的转发和倒带视频不起作用的主要内容,如果未能解决你的问题,请参考以下文章