private async void InitMediaCapture() { mediaCapture = new Windows.Media.Capture.MediaCapture(); await mediaCapture.InitializeAsync(captureInitSettings); Windows.Media.Effects.VideoEffectDefinition def = new Windows.Media.Effects.VideoEffectDefinition(Windows.Media.VideoEffects.VideoStabilization); await mediaCapture.AddVideoEffectAsync(def, MediaStreamType.VideoRecord); profile = Windows.Media.MediaProperties.MediaEncodingProfile.CreateMp4(Windows.Media.MediaProperties.VideoEncodingQuality.Qvga); System.Guid MFVideoRotationGuild = new System.Guid("C380465D-2271-428C-9B83-ECEA3B4A85C1"); int MFVideoRotation = ConvertVideoRotationToMFRotation(VideoRotation.None); profile.Video.Properties.Add(MFVideoRotationGuild, PropertyValue.CreateInt32(MFVideoRotation)); var transcoder = new Windows.Media.Transcoding.MediaTranscoder(); transcoder.AddVideoEffect(Windows.Media.VideoEffects.VideoStabilization); capturePreview.Source = mediaCapture; DisplayInformation.AutoRotationPreferences = DisplayOrientations.None; var definition = new FaceDetectionEffectDefinition(); definition.SynchronousDetectionEnabled = false; definition.DetectionMode = FaceDetectionMode.HighPerformance; faceDetectionEffect = (FaceDetectionEffect)await mediaCapture.AddVideoEffectAsync(definition, MediaStreamType.VideoPreview); faceDetectionEffect.DesiredDetectionInterval = TimeSpan.FromMilliseconds(33); faceDetectionEffect.Enabled = true; faceDetectionEffect.FaceDetected += FaceDetectionEffect_FaceDetected; }
private async void InitMediaCapture() { mediaCapture = new Windows.Media.Capture.MediaCapture(); await mediaCapture.InitializeAsync(captureInitSettings); // Add video stabilization effect during Live Capture Windows.Media.Effects.VideoEffectDefinition def = new Windows.Media.Effects.VideoEffectDefinition(Windows.Media.VideoEffects.VideoStabilization); await mediaCapture.AddVideoEffectAsync(def, MediaStreamType.VideoRecord); profile = Windows.Media.MediaProperties.MediaEncodingProfile.CreateMp4(Windows.Media.MediaProperties.VideoEncodingQuality.Qvga); // Use MediaEncodingProfile to encode the profile System.Guid MFVideoRotationGuild = new System.Guid("C380465D-2271-428C-9B83-ECEA3B4A85C1"); int MFVideoRotation = ConvertVideoRotationToMFRotation(VideoRotation.None); profile.Video.Properties.Add(MFVideoRotationGuild, PropertyValue.CreateInt32(MFVideoRotation)); // add the mediaTranscoder var transcoder = new Windows.Media.Transcoding.MediaTranscoder(); transcoder.AddVideoEffect(Windows.Media.VideoEffects.VideoStabilization); // wire to preview XAML element capturePreview.Source = mediaCapture; DisplayInformation.AutoRotationPreferences = DisplayOrientations.None; }
private async Task <MediaCapture> StartRecording(string fileName) { var devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(Windows.Devices.Enumeration.DeviceClass.VideoCapture); var camerDeviceId = devices.FirstOrDefault()?.Id; var captureSettings = new MediaCaptureInitializationSettings { VideoDeviceId = camerDeviceId, AudioDeviceId = string.Empty, PhotoCaptureSource = PhotoCaptureSource.VideoPreview, StreamingCaptureMode = StreamingCaptureMode.Video }; var mediaCapture = new MediaCapture(); await mediaCapture.InitializeAsync(captureSettings); var def = new Windows.Media.Effects.VideoEffectDefinition(Windows.Media.VideoEffects.VideoStabilization); await mediaCapture.AddVideoEffectAsync(def, MediaStreamType.VideoRecord); var profile = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Qvga); var storageFolder = await KnownFolders.RemovableDevices .GetFolderAsync("E:\\"); var storageFile = await storageFolder.CreateFileAsync(fileName, CreationCollisionOption.GenerateUniqueName); await mediaCapture.StartRecordToStorageFileAsync(profile, storageFile); return(mediaCapture); }
private async Task AddEffectsAsync() { UpdateConfiguration(); var videoEffectDefinition = new Windows.Media.Effects.VideoEffectDefinition("Lumia.Imaging.VideoEffect", m_configurationPropertySet); await m_mediaCapture.ClearEffectsAsync(MediaStreamType.VideoPreview); await m_mediaCapture.ClearEffectsAsync(MediaStreamType.VideoRecord); await m_mediaCapture.ClearEffectsAsync(MediaStreamType.Photo); await m_mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.VideoPreview); switch (m_mediaCapture.MediaCaptureSettings.VideoDeviceCharacteristic) { case VideoDeviceCharacteristic.AllStreamsIndependent: await m_mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.VideoRecord); await m_mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.Photo); break; case VideoDeviceCharacteristic.PreviewPhotoStreamsIdentical: case VideoDeviceCharacteristic.RecordPhotoStreamsIdentical: await m_mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.VideoRecord); break; case VideoDeviceCharacteristic.PreviewRecordStreamsIdentical: await m_mediaCapture.AddVideoEffectAsync(videoEffectDefinition, MediaStreamType.Photo); break; } }
async Task initMediaCaptureAsync() { var captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings(); captureInitSettings.AudioDeviceId = DeviceInfo.Instance.Id; captureInitSettings.VideoDeviceId = DeviceInfo.Instance.Id; captureInitSettings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.AudioAndVideo; captureInitSettings.PhotoCaptureSource = Windows.Media.Capture.PhotoCaptureSource.VideoPreview; if (deviceList.Count > 0) { captureInitSettings.VideoDeviceId = deviceList[0].Id; } mediaCapture = new Windows.Media.Capture.MediaCapture(); await mediaCapture.InitializeAsync(captureInitSettings); // Add video stabilization effect during Live Capture Windows.Media.Effects.VideoEffectDefinition def = new Windows.Media.Effects.VideoEffectDefinition(Windows.Media.VideoEffects.VideoStabilization); await mediaCapture.AddVideoEffectAsync(def, MediaStreamType.VideoRecord); profile = Windows.Media.MediaProperties.MediaEncodingProfile.CreateMp4(Windows.Media.MediaProperties.VideoEncodingQuality.Qvga); // Use MediaEncodingProfile to encode the profile System.Guid MFVideoRotationGuild = new System.Guid("C380465D-2271-428C-9B83-ECEA3B4A85C1"); int MFVideoRotation = convertVideoRotationToMFRotation(VideoRotation.None); profile.Video.Properties.Add(MFVideoRotationGuild, PropertyValue.CreateInt32(MFVideoRotation)); // add the mediaTranscoder var transcoder = new Windows.Media.Transcoding.MediaTranscoder(); transcoder.AddVideoEffect(Windows.Media.VideoEffects.VideoStabilization); // wire to preview XAML element DisplayInformation.AutoRotationPreferences = DisplayOrientations.None; }
async Task AddVideoStabilization() { var def = new Windows.Media.Effects.VideoEffectDefinition(Windows.Media.VideoEffects.VideoStabilization); await mediaCapture.AddVideoEffectAsync(def, MediaStreamType.VideoRecord); }