Я использую Kinect SDK 2, C #.Я хочу сохранить цветовой поток в формате .AVI.Я получаю каждый кадр и сохраняю их в формате .jpeg с серийным номером.Я не уверен, что лучше делать это с .png или .jpeg.Мне нужно превратить эти изображения в файл .AVI в моем коде.
Вот как я сохраняю изображения цветового потока.Не могли бы вы дать мне какой-нибудь совет по этому поводу?
private void Reader_ColorFrameArrived(object sender,
ColorFrameArrivedEventArgs e)
{
// ColorFrame is IDisposable
using (ColorFrame colorFrame = e.FrameReference.AcquireFrame())
{
if (colorFrame != null)
{
var bytesPerPixel = (PixelFormats.Bgr32.BitsPerPixel) / 8;
var stride = bytesPerPixel *
colorFrame.FrameDescription.Width;
if (colorRecord == 1)
{
colorFrame.CopyConvertedFrameDataToArray(colorData, format);
var fd = colorFrame.FrameDescription;
// Creating BitmapSource
bmpSource = BitmapSource.Create(fd.Width, fd.Height, 96.0, 96.0, PixelFormats.Bgr32, null, colorData, stride);
// WritableBitmap to show on UI
kinectImage.Source = bmpSource;
kinectImage.Source = colorBitmap;
// JpegBitmapEncoder to save BitmapSource to file
// imageSerial is the serial of the sequential image
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmpSource));
using (var fs = new FileStream("img" + (imageSerial++) + ".jpeg", FileMode.Create, FileAccess.Write))
{
encoder.Save(fs);
}
}
}
Я нашел некоторую информацию о ffmpeg в одном из постов, но я не мог понять, как использовать его в c #.