private void Form1_Load(object sender, EventArgs e) { Text += " (SDK v" + VideoCapture1.SDK_Version + ", " + VideoCapture1.SDK_State + ")"; tmRecording.Elapsed += (senderx, args) => { UpdateRecordingTime(); }; foreach (var device in VideoCapture1.Audio_CaptureDevicesInfo) { cbAudioInputDevice.Items.Add(device.Name); } if (cbAudioInputDevice.Items.Count > 0) { cbAudioInputDevice.SelectedIndex = 0; cbAudioInputDevice_SelectedIndexChanged(null, null); } foreach (var screen in Screen.AllScreens) { cbScreenCaptureDisplayIndex.Items.Add(screen.DeviceName.Replace(@"\\.\DISPLAY", string.Empty)); } cbScreenCaptureDisplayIndex.Items.Add("All (fullscreen)"); cbScreenCaptureDisplayIndex.SelectedIndex = 0; cbOutputFormat.SelectedIndex = 7; edOutput.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\" + "output.mp4"; VideoCapture1.Video_Renderer_SetAuto(); }
private void Form1_Load(object sender, EventArgs e) { Text += " (SDK v" + VideoCapture1.SDK_Version + ", " + VideoCapture1.SDK_State + "), C#"; cbDecklinkSourceInput.SelectedIndex = 0; cbDecklinkSourceNTSC.SelectedIndex = 0; cbDecklinkSourceComponentLevels.SelectedIndex = 0; cbDecklinkSourceTimecode.SelectedIndex = 0; cbOutputFormat.SelectedIndex = 7; edOutput.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\" + "output.mp4"; tmRecording.Elapsed += (senderx, args) => { UpdateRecordingTime(); }; string defaultAudioRenderer = string.Empty; foreach (string audioOutputDevice in VideoCapture1.Audio_OutputDevices) { cbAudioOutputDevice.Items.Add(audioOutputDevice); if (audioOutputDevice.Contains("Default DirectSound Device")) { defaultAudioRenderer = audioOutputDevice; } } if (cbAudioOutputDevice.Items.Count > 0) { if (string.IsNullOrEmpty(defaultAudioRenderer)) { cbAudioOutputDevice.SelectedIndex = 0; } else { cbAudioOutputDevice.Text = defaultAudioRenderer; } } foreach (var device in VideoCapture1.Decklink_CaptureDevices) { cbDecklinkCaptureDevice.Items.Add(device.Name); } if (cbDecklinkCaptureDevice.Items.Count > 0) { cbDecklinkCaptureDevice.SelectedIndex = 0; cbDecklinkCaptureDevice_SelectedIndexChanged(null, null); } VideoCapture1.Video_Renderer_SetAuto(); }
private void Form1_Load(object sender, EventArgs e) { Text += " (SDK v" + VideoCapture1.SDK_Version + ", " + VideoCapture1.SDK_State + ")"; tmRecording.Elapsed += (senderx, args) => { UpdateRecordingTime(); }; edOutput.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\" + "output.mp4"; VideoCapture1.Video_Renderer_SetAuto(); cbOutputFormat.SelectedIndex = 7; }
private void ConfigureVideoCapture() { // select source VideoCapture1.Debug_Mode = cbDebugMode.Checked; VideoCapture1.Debug_Dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\"; VideoCapture1.VLC_Path = Environment.GetEnvironmentVariable("VFVLCPATH"); if (rbVideoCaptureDevice.Checked) { VideoCapture1.Mode = VFVideoCaptureMode.VideoPreview; } else { VideoCapture1.Mode = VFVideoCaptureMode.IPPreview; } if ((VideoCapture1.Mode == VFVideoCaptureMode.IPCapture) || (VideoCapture1.Mode == VFVideoCaptureMode.IPPreview)) { // from IP camera IPCameraSourceSettings settings; SelectIPCameraSource(out settings); VideoCapture1.IP_Camera_Source = settings; } else if ((VideoCapture1.Mode == VFVideoCaptureMode.VideoCapture) || (VideoCapture1.Mode == VFVideoCaptureMode.VideoPreview) || (VideoCapture1.Mode == VFVideoCaptureMode.AudioCapture) || (VideoCapture1.Mode == VFVideoCaptureMode.AudioPreview)) { // from video capture device SelectVideoCaptureSource(); } VideoCapture1.Audio_RecordAudio = false; VideoCapture1.Audio_PlayAudio = false; VideoCapture1.Video_Sample_Grabber_Enabled = true; VideoCapture1.Video_Renderer_SetAuto(); }
private async void btStart_Click(object sender, EventArgs e) { #if !NETCOREAPP if (onvifControl != null) { onvifControl.Disconnect(); onvifControl.Dispose(); onvifControl = null; btONVIFConnect.Text = "Connect"; } #endif mmLog.Clear(); VideoCapture1.Debug_Mode = cbDebugMode.Checked; VideoCapture1.Debug_Dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\"; VideoCapture1.Audio_RecordAudio = cbIPAudioCapture.Checked; VideoCapture1.Audio_PlayAudio = cbIPAudioCapture.Checked; VideoCapture1.Video_Renderer_SetAuto(); VideoCapture1.Video_Sample_Grabber_Enabled = true; // source VideoCapture1.IP_Camera_Source = new IPCameraSourceSettings { URL = cbIPURL.Text }; switch (cbIPCameraType.SelectedIndex) { case 0: VideoCapture1.IP_Camera_Source.Type = VFIPSource.Auto_VLC; break; case 1: VideoCapture1.IP_Camera_Source.Type = VFIPSource.Auto_FFMPEG; break; case 2: VideoCapture1.IP_Camera_Source.Type = VFIPSource.Auto_LAV; break; case 3: VideoCapture1.IP_Camera_Source.Type = VFIPSource.RTSP_Live555; break; case 4: VideoCapture1.IP_Camera_Source.Type = VFIPSource.HTTP_FFMPEG; break; case 5: VideoCapture1.IP_Camera_Source.Type = VFIPSource.MMS_WMV; break; case 6: VideoCapture1.IP_Camera_Source.Type = VFIPSource.RTSP_UDP_FFMPEG; break; case 7: VideoCapture1.IP_Camera_Source.Type = VFIPSource.RTSP_TCP_FFMPEG; break; case 8: VideoCapture1.IP_Camera_Source.Type = VFIPSource.RTSP_HTTP_FFMPEG; break; case 9: { // audio not supported VideoCapture1.IP_Camera_Source.Type = VFIPSource.HTTP_MJPEG_LowLatency; VideoCapture1.Audio_RecordAudio = false; VideoCapture1.Audio_PlayAudio = false; cbIPAudioCapture.Checked = false; } break; case 10: VideoCapture1.IP_Camera_Source.Type = VFIPSource.RTSP_LowLatency; VideoCapture1.IP_Camera_Source.RTSP_LowLatency_UseUDP = false; break; case 11: VideoCapture1.IP_Camera_Source.Type = VFIPSource.RTSP_LowLatency; VideoCapture1.IP_Camera_Source.RTSP_LowLatency_UseUDP = true; break; case 12: VideoCapture1.IP_Camera_Source.Type = VFIPSource.NDI; break; } VideoCapture1.IP_Camera_Source.AudioCapture = cbIPAudioCapture.Checked; VideoCapture1.IP_Camera_Source.Login = edIPLogin.Text; VideoCapture1.IP_Camera_Source.Password = edIPPassword.Text; VideoCapture1.IP_Camera_Source.VLC_ZeroClockJitterEnabled = cbVLCZeroClockJitter.Checked; VideoCapture1.IP_Camera_Source.VLC_CustomLatency = Convert.ToInt32(edVLCCacheSize.Text); if (cbIPCameraONVIF.Checked) { VideoCapture1.IP_Camera_Source.ONVIF_Source = true; if (cbONVIFProfile.SelectedIndex != -1) { VideoCapture1.IP_Camera_Source.ONVIF_SourceProfile = cbONVIFProfile.Text; } } if (rbPreview.Checked) { VideoCapture1.Mode = VFVideoCaptureMode.IPPreview; } else if (rbCapture.Checked) { VideoCapture1.Mode = VFVideoCaptureMode.IPCapture; VideoCapture1.Output_Filename = edOutput.Text; switch (cbOutputFormat.SelectedIndex) { case 0: { var aviOutput = new VFAVIOutput(); SetAVIOutput(ref aviOutput); VideoCapture1.Output_Format = aviOutput; break; } case 1: { var wmvOutput = new VFWMVOutput(); SetWMVOutput(ref wmvOutput); VideoCapture1.Output_Format = wmvOutput; break; } case 2: { var mp4Output = new VFMP4v8v10Output(); SetMP4Output(ref mp4Output); VideoCapture1.Output_Format = mp4Output; break; } case 3: { var mp4Output = new VFMP4v11Output(); SetMP4v11Output(ref mp4Output); VideoCapture1.Output_Format = mp4Output; break; } case 4: { var gifOutput = new VFAnimatedGIFOutput(); SetGIFOutput(ref gifOutput); VideoCapture1.Output_Format = gifOutput; break; } case 5: { var tsOutput = new VFMPEGTSOutput(); SetMPEGTSOutput(ref tsOutput); VideoCapture1.Output_Format = tsOutput; break; } case 6: { var movOutput = new VFMOVOutput(); SetMOVOutput(ref movOutput); VideoCapture1.Output_Format = movOutput; break; } } } VideoCapture1.Video_Effects_Enabled = true; VideoCapture1.Video_Effects_Clear(); lbLogos.Items.Clear(); ConfigureVideoEffects(); await VideoCapture1.StartAsync(); tcMain.SelectedIndex = 3; tmRecording.Start(); }
private async void btStart_Click(object sender, EventArgs e) { mmLog.Clear(); VideoCapture1.Video_Sample_Grabber_Enabled = true; VideoCapture1.Video_Renderer.Zoom_Ratio = 0; VideoCapture1.Video_Renderer.Zoom_ShiftX = 0; VideoCapture1.Video_Renderer.Zoom_ShiftY = 0; VideoCapture1.Debug_Mode = cbDebugMode.Checked; VideoCapture1.Debug_Dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\VisioForge\\"; if (cbRecordAudio.Checked) { VideoCapture1.Audio_RecordAudio = true; VideoCapture1.Audio_PlayAudio = true; } else { VideoCapture1.Audio_RecordAudio = false; VideoCapture1.Audio_PlayAudio = false; } // apply capture parameters VideoCapture1.Video_Renderer_SetAuto(); VideoCapture1.Video_CaptureDevice = cbVideoInputDevice.Text; VideoCapture1.Video_CaptureDevice_IsAudioSource = true; VideoCapture1.Audio_OutputDevice = cbAudioOutputDevice.Text; VideoCapture1.Audio_CaptureDevice_Format_UseBest = true; VideoCapture1.Video_CaptureDevice_Format = cbVideoInputFormat.Text; VideoCapture1.Video_CaptureDevice_Format_UseBest = cbUseBestVideoInputFormat.Checked; if (cbFramerate.SelectedIndex != -1) { VideoCapture1.Video_CaptureDevice_FrameRate = (float)Convert.ToDouble(cbFramerate.Text); } if (rbPreview.Checked) { VideoCapture1.Mode = VFVideoCaptureMode.VideoPreview; } else { VideoCapture1.Mode = VFVideoCaptureMode.VideoCapture; VideoCapture1.Output_Filename = edOutput.Text; switch (cbOutputFormat.SelectedIndex) { case 0: { var aviOutput = new VFAVIOutput(); SetAVIOutput(ref aviOutput); VideoCapture1.Output_Format = aviOutput; break; } case 1: { var mkvOutput = new VFMKVv1Output(); SetMKVOutput(ref mkvOutput); VideoCapture1.Output_Format = mkvOutput; break; } case 2: { var wmvOutput = new VFWMVOutput(); SetWMVOutput(ref wmvOutput); VideoCapture1.Output_Format = wmvOutput; break; } case 3: { var dvOutput = new VFDVOutput(); SetDVOutput(ref dvOutput); VideoCapture1.Output_Format = dvOutput; break; } case 4: { VideoCapture1.Output_Format = new VFDirectCaptureDVOutput(); break; } case 5: { var webmOutput = new VFWebMOutput(); SetWebMOutput(ref webmOutput); VideoCapture1.Output_Format = webmOutput; break; } case 6: { var ffmpegDLLOutput = new VFFFMPEGDLLOutput(); SetFFMPEGDLLOutput(ref ffmpegDLLOutput); VideoCapture1.Output_Format = ffmpegDLLOutput; break; } case 7: { var ffmpegOutput = new VFFFMPEGEXEOutput(); SetFFMPEGEXEOutput(ref ffmpegOutput); VideoCapture1.Output_Format = ffmpegOutput; break; } case 8: { var mp4Output = new VFMP4v8v10Output(); SetMP4Output(ref mp4Output); VideoCapture1.Output_Format = mp4Output; break; } case 9: { var mp4Output = new VFMP4v11Output(); SetMP4v11Output(ref mp4Output); VideoCapture1.Output_Format = mp4Output; break; } case 10: { var gifOutput = new VFAnimatedGIFOutput(); SetGIFOutput(ref gifOutput); VideoCapture1.Output_Format = gifOutput; break; } case 11: { var encOutput = new VFMP4v8v10Output(); SetMP4Output(ref encOutput); encOutput.Encryption = true; encOutput.Encryption_Format = VFEncryptionFormat.MP4_H264_SW_AAC; VideoCapture1.Output_Format = encOutput; break; } case 12: { var tsOutput = new VFMPEGTSOutput(); SetMPEGTSOutput(ref tsOutput); VideoCapture1.Output_Format = tsOutput; break; } case 13: { var movOutput = new VFMOVOutput(); SetMOVOutput(ref movOutput); VideoCapture1.Output_Format = movOutput; break; } } } VideoCapture1.Video_Effects_Enabled = true; VideoCapture1.Video_Effects_Clear(); lbLogos.Items.Clear(); ConfigureVideoEffects(); await VideoCapture1.StartAsync(); tcMain.SelectedIndex = 3; tmRecording.Start(); }