提取视频帧的问题
我的问题是这样的:
我现在是要抽出视频帧,把所有的帧都保存下来。我是用SampleGrabber做的。构建的graph为:
source--->splitter--->decoder--->samplegrabber--->nullrenderer
这样做可以抽出所有的视频帧,但是有2个问题:
(1)抽帧的时间完全等同于播放视频的时间,即视频1个小时,抽帧也要1个小时,这样很慢~~
(2)对于存在问题的视频(比如在某个位置,视频播放不下去了,会卡在那的情况),在某个位置出问题之后,就不能继续抽帧,即从该位置起,一直进入不了自动的回调函数SampleCB里面去。但是FilterGraph却始终在跑着,好像并不理会你SampleCB卡住在那的情况。我现在想这样:如果SampleCB进入不了,那FilterGraph也停住等待,那我可以做相应的处理了就~~
有谁知道么?帮忙解答下,谢谢!