.net - C#: video compression using aforge.net -
my application receives sequence of images (bitmapimage) external device rate 30 fps. i'm using aforge.net library save received stream in .avi file. used following code inizializing aviwriter:
aviwriter writer; writer = new aviwriter("wmv3"); writer.framerate = 30; writer.open("test.avi", 320, 240); and each frame received add in video stream, following code line:
writer.addframe(resizebitmap(bitmapimage2bitmap(e.colorframe.bitmapimage),320,240)); but generated file heavy. (10 secondos corresponds 3mb).
i tryied setting low level of writer.quality , result seems same (just 5-7% less).
so, need more efficient compression.
what compressions supported in aforge.net ? compression should use in order reducing weight of saved file?
i suspect interframe compression not used in aviwriter (but may wrong). may try use videofilewriter aforge.video.ffmpeg instead:
var writer = new videofilewriter(); writer.open("test.mpg", 320, 240, 30, videocodec.default, 1000); // add frame writer.writevideoframe(frame); remember put dlls externals/ffmpeg/bin aforge zip output directory.
Comments
Post a Comment