Я пытаюсь понять, почему видео замедляется при записи темы с помощью VideoFileWriter в Visual Basi c. Я получаю потоковое видео с IP-камеры, URL-адрес которой загружен в MJPEGStream. То есть, если я записываю реальную минуту видео, оно растягивается и замедляется и, следовательно, длится более минуты.
В Load_Form я инициализирую свой MJPEGStream с URL-адресом
stream = New MJPEGStream("http://80.79.1.60/axis-cgi/mjpg/video.cgi")
AddHandler stream.NewFrame, New NewFrameEventHandler(AddressOf video_NuevoFrame1)
Затем У меня есть NewFrameEventHandler
Private Sub video_NuevoFrame1(sender As Object, eventArgs As NewFrameEventArgs)
Try
PictureBox1.Image = Nothing
If grabando = True Then 'Check if the status is in "recording"
btm = DirectCast(eventArgs.Frame.Clone(), Bitmap)
PictureBox1.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
writer.WriteVideoFrame(btm)
Else
btm = DirectCast(eventArgs.Frame.Clone(), Bitmap)
PictureBox1.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
End If
Catch ex As Exception
PictureBox1.Image = Nothing
End Try
End Sub
На кнопке я запускаю MJPEGStream
Еще один батен используется для записи
Private Sub btnGrabar_Click(sender As Object, e As EventArgs) Handles btnGrabar.Click
If btnGrabar.BackColor = Color.Black Then 'Not recording
hilo = New Threading.Thread(AddressOf grabadora)
hilo.Start()
Else
hilo.Interrupt()
grabando = False
btnGrabar.BackColor = Color.Black ' ESTA GRABANDO
writer.Close() 'DEJA DE GUARDAR DATOS
End If
End Sub
Запускает поток для записи
Private Sub grabadora()
Dim ANCHO As Integer = 320 'DEFINE EL ANCHO DEL FOTOGRAMA
Dim ALTO As Integer = 240 ' DEFINE EL ALTO DEL FOTOGRAMA
Try
While True
Dim cadena As String = "example.mp4" 'I have more code to create an automatic name
writer.Open(cadena, ANCHO, ALTO)
writer.WriteVideoFrame(btm) 'Start recording
grabando = True
btnGrabar.BackColor = Color.Red 'To know that is recording
System.Threading.Thread.Sleep(1800000)
writer.Close() 'will record as long as the thread is not interrupted in videos of 30'
End While
Catch ex As Exception
End Try
End Sub
Как видно на следующих изображениях, видео должно было длиться одну минуту, но оно длится минуту и десять секунд.
Видео начинается в 09: 48: 00
Видео заканчивается в 09:48:59, но видео на 10 секунд длиннее
Пожалуйста, помогите мне, я не Я не понимаю, почему это так странно работает, и спасибо за ваше внимание.