C# 什么';渲染解码帧的最佳方法是什么?

C# 什么';渲染解码帧的最佳方法是什么?,c#,ffmpeg,bitmap,decode,C#,Ffmpeg,Bitmap,Decode,在解码并到达一帧后,我需要知道渲染它的最佳方法。为此我使用位图,但每次我都要创建一个新位图,每帧一个。也许这不是最好的方法,因为会消耗大量内存,重建位图可能需要时间。为了澄清,我给出了代码: ret = FFmpegInvoke.sws_scale( convertContext, &frame->data_0, frame->linesize, 0, frame->height, &convertedFrame-

在解码并到达一帧后,我需要知道渲染它的最佳方法。为此我使用位图,但每次我都要创建一个新位图,每帧一个。也许这不是最好的方法,因为会消耗大量内存,重建位图可能需要时间。为了澄清,我给出了代码:

ret = FFmpegInvoke.sws_scale(
    convertContext,
    &frame->data_0,
    frame->linesize,
    0,
    frame->height,
    &convertedFrame->data_0,
    convertedFrame->linesize);
Debug.Assert(ret >= 0);
var bmp = new Bitmap(dest_width, dest_height,
    convertedFrame->linesize[0], PixelFormat.Format32bppPArgb,
    new IntPtr(convertedFrame->data_0));
pictureBox1.Image = bmp;
我已将图片框控件添加到窗体中。我从每个解码和转换的帧数据创建一个位图,然后将图片框的图像设置为位图。 在找到了最好的方法,并且知道我是否做得正确之后,我需要知道为什么我在表格中提到了我与背景工作者的问题。显然,并发访问位图对象会导致异常。没关系,首先我要确定这件事