Eyadox Ответов: 1

Vb.net - aforge video capture, как зеркально отразить видео в videosourceplayer


Я написал код, используя Aforge, чтобы захватить видео с камеры и отобразить его в VideoSourcePlayer. Проблема в том, что отображаемое видео не отражается так, как должно быть.

Я смог отразить его с помощью фильтра, но это относится только к сохраненным записям или изображениям, потому что зеркальный фильтр требует применения типа изображения.

Вот код для отображения видео, где мне нужна помощь, чтобы отразить его.

fiF = New FilterInfoCollection(FilterCategory.VideoInputDevice)
       finalVideo = New VideoCaptureDevice(fiF(SelectedCam).MonikerString)
       finalVideo.VideoResolution = finalVideo.VideoCapabilities(VidResolution)
       VideoSourcePlayer1.VideoSource = finalVideo
       finalVideo.Start()


А вот код, где я применяю зеркало на записанных видео.

If Recording = True Then
            Try
                
               
                BMP = DirectCast(eventArgs.Frame.Clone(), Bitmap) 

                Dim Fltr = New Mirror(False, True)
               
                Fltr.ApplyInPlace(BMP)

                VFwriter.WriteVideoFrame(BMP)
               
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

        Else

            VFwriter.Close()
           
        End If


Что я уже пробовал:

Применение того же зеркального фильтра к videoSourcePlayer не сработало. Я уверен, что есть другой способ отразить потоковое видео. Любая помощь будет оценена по достоинству.

1 Ответов

Рейтинг:
0

Hank Williams

Я бы взглянул на событие Aforge new frame, более подробную информацию о котором можно найти по ссылке ниже
Событие NewFrame[^]

Согласно документации Aforge

The event is fired on each new frame received from video source. The event is fired right after receiving and before displaying, what gives user a chance to perform some image processing on the new frame and/or update it.

Note Note:Users should not keep references of the passed to the event handler image. If user needs to keep the image, it should be cloned, since the original image will be disposed by the control when it is required.