C#ExtractFramesfromaPartofVideoFile使用AForgeffmpegwrapper,可以使用VideoFileReader类从视频中提取帧并保存为位图。请参阅此示例:Extractingframesofa.avifile我的问题是您无法指定从何处开始读取帧。它总是从视频文件的开头开始。但是,如果我想从一个两小时长的视频文件中提取帧怎么办?使用该课程,您必须解析整个第一个小时才能获得这些帧。有谁知道实现这一目标的方法?如果您知道要从哪里开始阅读视频,则跳过适当数量的帧即可;无需处理它们中的任何一个。当然,这假设您知道开始读取的确切帧号,可以通过将帧速率乘以您要执行提取的时间来计算。在您的示例中,如果视频长达两个小时并且您想从中间提取帧...VideoFileReaderreader=newVideoFileReader();reader.Open("文件.avi");//跳转到视频的1小时intframesToSkip=reader.FrameRate*3600;//1hour=3600secondsfor(inti=0;i这假设.FrameRate属性以每秒帧数返回.FrameRate中的值。不幸的是文档没有说,所以我不确定它如何处理非整数帧率的视频文件(即29.97是常见的帧率),很有用,需要多了解C#学习教程,希望大家多多关注---本文收集自互联网,不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处:
