编辑avi文件的帧速率

0 c++ vfw

是否可以使用Video for windows库更改avi文件的帧速率?我尝试了以下步骤,但没有成功.

  1. AviFileInit
  2. AviFileOpen(OF_READWRITE)
  3. pavi1 = AviFileGetStream
  4. avi_info = AviStreamInfo
  5. avi_info.dwrate = 15
  6. EditStreamSetInfo(dwrate)返回-2147467262.

Dav*_*des 6

我很确定AVIFile*API不支持这一点.(免责声明:我是定义这些API的人,但它已经超过15年了......)

您不能只在普通AVIStream上调用EditStreamSetInfo,只能从CreateEditableStream返回一个.

那么你可以使用AVISave,但这显然会重新复制整个文件.

所以,是的,您可能希望通过解析AVI文件头足以找到您想要更改的一个DWORD来实现此目的.有很多关于RIFF和AVI文件格式的文档,例如http://www.opennet.ru/docs/formats/avi.txt.

  • +1只是为了原始开发者回复的冷静因素! (2认同)