编程如何实现视频按时间单元截取出来成为逐一图像?
如果在XP&Win7平台上,我要将一段视频截成若干时间单元(30秒)的图片,从编程角度上考虑,我应该要学哪些方面的知识。以前略微接触过VB,现在几乎是零,恳请您的回答?第一次提问,我需要的是学习计划。没有正规培训,只是业余爱好。期望越详细越好。
[解决办法]
实际上,视频文件并不像一些人想象的那样是由一系列帧图像数据组成的。为了压缩文件大小,文件往往是按时间轴记录逐帧之间的变化。
因此,一种通用的方法是,在播放视频的过程中,重新抓取视频播放数据。甚至有些格式转换工具都是这样做的。
[解决办法]
这个功能说起来简单,实际上要花的工夫是很不少的.
要完成你的要求的话至少要写一个基本成型的视频播放器框架了.
因为要完成的事情有以下几项:
一,根据文件头找到解码器;
二,使用解码器将视频流与音频流解码;
三,将每一帧视频绘到指定的设备上;
四,同步播放音频.
这已经是一个标准的视频播放器最简框架了.
而你的功能里,就是在第三步那里取30秒的帧的图片并保存.
建议你使用ffmpeg这个开源组件来帮助你,它有提供EXE形式的命令行工具,好象可以进行视频帧提取.
[解决办法]
先要抓到关键帧, 然后,其实也不必然后了, 关键帧就够了, 你也不会要求时间精确到几十毫秒吧
[解决办法]