AForge.Video.FFMPEG库几个注意事项
使用场景:用AForge.Video.FFMPEG.VideoFileWriter对象,将图片压缩成avi视频,压缩算法mpeg4,帧率5,多线程(32路并发)。
事项1:
Open视频文件时,请加上全局锁,否则多线程并发有异常抛出。
事项2:
Close视频文件时,请使用事项1的全局锁,否则会在Open 时出现“AccessViolationException”异常。(解决该问题花了2天)
事项3:
WriteVideoFrame时,请把图片加锁,可能会提示“访问受保护的内存”之类的错误,那是因为内存已经耗尽,需查看程序的内存泄露问题。
事项4:
提示“Video file resolution must be a multiple of two.”异常,长宽必须为偶数。
总体来说,FFMPEG库还是挺稳定的,对多线的支持也比较好,如果出错,基本上是上层的使用问题,注意保持线程同步即可。另外就是特别注意一下Open和Close需要用同一个锁。