# VisioForge SDK - Complete Professional Documentation > VisioForge provides enterprise-grade .NET SDKs for comprehensive video/audio processing. This documentation covers all products, APIs, code examples, and implementation guides. **Generated**: 2026-01-12T10:17:34.659Z **Source Analysis**: 667 sources (21 website pages + 646 help documentation files) **Content Optimization**: Full extraction with HTML-to-Markdown conversion ## Executive Summary & Company Profile VisioForge is a leading provider of professional .NET SDK solutions for multimedia processing, video capture, media playback, video editing, and real-time streaming applications. Founded with the mission to simplify complex multimedia development, VisioForge combines the power of industry-standard native libraries (FFmpeg, GStreamer) with elegant managed .NET APIs. **Market Position:** Premier alternative to complex native multimedia programming **Target Customers:** Enterprise developers, ISVs, system integrators, broadcasting companies **Core Technology:** Managed wrappers over proven native multimedia frameworks **Licensing Model:** Commercial per-developer licensing with maintenance and support ### Competitive Differentiators - **Zero Native Dependency Management** - All required libraries automatically included - **True Cross-Platform Development** - Single API for Windows, macOS, Linux, iOS, Android - **Commercial Licensing Freedom** - No GPL restrictions, clear IP ownership - **Hardware Acceleration Integration** - NVIDIA NVENC, Intel Quick Sync, AMD VCE, Apple VideoToolbox - **Professional Support Commitment** - Guaranteed response times, SLA options ## Product Suite - Detailed Overview ### Video Capture SDK .NET **Features**: 582 features included **Description**: Complete video capture solution for webcams, IP cameras, screens, and professional hardware **URL**: https://www.visioforge.com/video-capture-sdk-net ### Media Player SDK .NET **Features**: 79 features included **Description**: Universal media player with hardware acceleration and format support **URL**: https://www.visioforge.com/media-player-sdk-net ### Media Blocks SDK .NET **Features**: 214 features included **Description**: Pipeline-based media processing with modular block architecture **URL**: https://www.visioforge.com/media-blocks-sdk-net ### Video Edit SDK .NET **Features**: 273 features included **Description**: Professional video editing with timeline, effects, and format conversion **URL**: https://www.visioforge.com/video-edit-sdk-net ### Video Edit SDK FFmpeg .NET **Features**: .NET features included **Description**: FFmpeg-powered video editing SDK with cross-platform support and 1000+ format compatibility **URL**: https://www.visioforge.com/video-edit-sdk-ffmpeg-net ### All-in-One Media Framework **Features**: Delphi/ActiveX features included **Description**: Complete media framework for Delphi and ActiveX with capture, editing, and playback **URL**: https://www.visioforge.com/all-in-one-media-framework ### Video Fingerprinting SDK **Features**: .NET/C++ features included **Description**: Video identification and duplicate detection SDK with perceptual hashing **URL**: https://www.visioforge.com/video-fingerprinting-sdk ### FFmpeg Source DirectShow Filter **Features**: DirectShow features included **Description**: Universal media decoder DirectShow filter powered by FFmpeg **URL**: https://www.visioforge.com/ffmpeg-source-directshow-filter ### VLC Source DirectShow Filter **Features**: DirectShow features included **Description**: DirectShow source filter powered by VLC for 100+ media formats **URL**: https://www.visioforge.com/vlc-source-directshow-filter ### Virtual Camera SDK **Features**: DirectShow features included **Description**: Create virtual webcams for video conferencing, streaming, and DirectShow applications **URL**: https://www.visioforge.com/virtual-camera-sdk ### Encoding Filters Pack **Features**: DirectShow features included **Description**: DirectShow filters for video/audio encoding in MP4, MPEG-TS, MKV with GPU acceleration **URL**: https://www.visioforge.com/encoding-filters-pack ### Processing Filters Pack **Features**: DirectShow features included **Description**: DirectShow filters for video/audio processing, effects, and transformations **URL**: https://www.visioforge.com/processing-filters-pack ### Video Encryption SDK **Features**: DirectShow/.NET features included **Description**: Encrypt video files with AES-256 protection using DirectShow filters **URL**: https://www.visioforge.com/video-encryption-sdk ## Website Content ### Video and audio frameworks for developers (C#/VB/Delphi) - VisioForge Video and audio frameworks for developers. .Net, C++, and Delphi solutions for Windows, macOS, iOS, Android, and Linux **URL**: https://www.visioforge.com ### About Us - VisioForge Learn about VisioForge, a multimedia technology company based in Bilbao, Spain. We provide SDKs for .NET, C++, and Delphi developers across all platforms. **URL**: https://www.visioforge.com/about ### Buy or upgrade subscriptions for our software products - VisioForge Buy or upgrade subscriptions for our software products using credit card, PayPal, bank transfer, electronic payments, or local payments. **URL**: https://www.visioforge.com/buy ### Latest news, product updates, new tutorials - VisioForge VisioForge news. You can subscribe to our news by email, on Twitter, or on Facebook. Discover the latest features and updates in our developer SDKs. **URL**: https://www.visioforge.com/news ### Latest SDK News and Product Updates - 2024 Stay up-to-date with the latest VisioForge news for 2024. Discover what's new and exciting in our industry-leading software. **URL**: https://www.visioforge.com/news-2024 ### SDK News and Product Updates Archive - 2023 Learn about the latest updates from VisioForge for 2023. Find out about the enhancements and fixes in the .Net SDKs. **URL**: https://www.visioforge.com/news-2023 ### SDK News and Product Updates Archive - 2022 Discover what's new in VisioForge for 2022. Explore the latest features and updates in the .Net SDKs, and cross-platform APIs. **URL**: https://www.visioforge.com/news-2022 ### SDK News and Product Updates Archive - 2021 Discover the latest VisioForge news for 2021. Learn about the cross-platform support, new features, and API changes in the .Net SDKs. **URL**: https://www.visioforge.com/news-2021 ### Video Capture SDK .NET/C# - Record Video from Camera Video capture solution for .Net that can be used in WinForms, WPF, MAUI, Uno Platform, Avalonia, macOS, Android, and iOS apps (C# or VB.Net). **URL**: https://www.visioforge.com/video-capture-sdk-net ### Media Player SDK .NET - Video Playback .Net media player for video and audio files, network streams, or DVDs. Supports WinForms, WPF, MAUI, Uno Platform, Avalonia, mobile (C#/VB.Net). **URL**: https://www.visioforge.com/media-player-sdk-net ### Video Edit SDK .Net - edit your video in .Net - VisioForge Video editing and conversion in .Net. MP4, WebM, and many other formats. For WinForms/WPF/MAUI/Uno Platform/Avalonia/macOS/Android/iOS (C#/VB.Net) **URL**: https://www.visioforge.com/video-edit-sdk-net ### Video Edit SDK FFMPEG .Net - edit videos using FFMPEG - VisioForge Video editing and converting .Net SDK based on FFMPEG engine. WinForms, WPF, web backend, service, and console apps are supported. **URL**: https://www.visioforge.com/video-edit-sdk-ffmpeg-net ### Media Blocks SDK .Net - create video app using blocks - VisioForge Media blocks for creating media apps - player, recorder, streamer software. Few lines of code. Supports WinForms, WPF, MAUI, Uno Platform, Avalonia. **URL**: https://www.visioforge.com/media-blocks-sdk-net ### All-in-One Media Framework (Delphi/ActiveX) - VisioForge Video capture, editing, and playback solution. SDK can capture video from a webcam, IP camera, or screen, edit and play video or audio files **URL**: https://www.visioforge.com/all-in-one-media-framework ### Virtual Camera SDK - stream video and audio between apps - VisioForge SDK can stream video from files or other sources to a virtual camera/mic that can be used in Teams, Zoom, web browser, or any DirectShow app **URL**: https://www.visioforge.com/virtual-camera-sdk ### Video Fingerprinting SDK - find and compare videos - VisioForge SDK is used to find video duplicates, track ads, and find one video in another or in a live stream. Available for .Net and C++. All platforms **URL**: https://www.visioforge.com/video-fingerprinting-sdk ### Video Encryption SDK - encrypt video files - VisioForge Video and audio file encryption SDK for DirectShow and .Net. Use password or binary data as a key. C#/VB.Net apps supported. **URL**: https://www.visioforge.com/video-encryption-sdk ### VLC Source DirectShow Filter DirectShow filter powered by VLC engine for playing multimedia files in Windows applications. Supports 400+ formats. **URL**: https://www.visioforge.com/vlc-source-directshow-filter ### FFMPEG Source DirectShow Filter - Universal decoder - VisioForge FFMPEG-based DirectShow source filter that can be used in any DirectShow application to decode video/audio files or network streams **URL**: https://www.visioforge.com/ffmpeg-source-directshow-filter ### Encoding Filters Pack - MP4 and other formats - VisioForge DirectShow filters for video/audio decoding and encoding. Many formats and codecs are supported, including H264, HEVC, AAC, MP4, and MP3 **URL**: https://www.visioforge.com/encoding-filters-pack ### Processing Filters Pack - DirectShow video/audio effects - VisioForge Pack of DirectShow filters for video and audio processing and effects, motion detection, chroma-key, resize, crop, and picture-in-picture **URL**: https://www.visioforge.com/processing-filters-pack ## Help Documentation - Complete Collection ### DOCS Documentation #### Delphi Libraries for Professional Multimedia Dev - VisioForge Help [Skip to content](#delphiactivex-libraries-for-multimedia-development) # Delphi/ActiveX Libraries for Multimedia Development[¶](#delphiactivex-libraries-for-multimedia-development "Permanent link") Welcome to our developer documentation hub for Delphi/ActiveX multimedia libraries. This resource provides in-depth technical information, code examples, and implementation guides for developers working with our specialized components. ## Core Library Benefits[¶](#core-library-benefits "Permanent link") Our libraries empower Delphi developers to create sophisticated multimedia applications with minimal coding effort. The components are engineered for maximum performance and reliability in professional development environments. Key advantages include: - Simplified implementation of complex multimedia features - Optimized performance for resource-intensive operations - Cross-version compatibility with multiple Delphi releases - Extensive customization options for specialized requirements ## Documentation Organization[¶](#documentation-organization "Permanent link") ### Technical Reference Materials[¶](#technical-reference-materials "Permanent link") Each library section contains detailed API references, implementation examples, and recommended practices. Navigate to the specific library documentation for complete information about: - Component properties and attributes - Method signatures and parameters - Event handlers and callback functions - Type definitions and constants ### Code Examples and Tutorials[¶](#code-examples-and-tutorials "Permanent link") Our documentation includes practical code snippets and complete implementation examples to accelerate your development process. These examples demonstrate effective techniques for common multimedia programming scenarios. ## Installation Troubleshooting Guide[¶](#installation-troubleshooting-guide "Permanent link") When integrating our libraries into your development environment, you might en... **URL**: https://www.visioforge.com/help/docs/delphi/general/index.html #### Delphi 64-bit Package Installation Guide - VisioForge Help [Skip to content](#mastering-delphi-64-bit-package-installation) # Mastering Delphi 64-bit Package Installation[¶](#mastering-delphi-64-bit-package-installation "Permanent link") ## Introduction to 64-bit Development in Delphi[¶](#introduction-to-64-bit-development-in-delphi "Permanent link") The evolution to 64-bit computing represents a significant advancement for Delphi developers, opening doors to enhanced performance, expanded memory addressing capabilities, and improved resource utilization. Since the introduction of 64-bit support in Delphi XE2, developers have gained the powerful ability to compile native 64-bit Windows applications. This capability enables software to harness modern hardware architectures, access substantially larger memory spaces, and deliver optimized performance for data-intensive operations. However, this technological progression introduces a distinctive set of complexities, particularly regarding the installation and management of component packages (`.bpl` files). Many Delphi developers encounter perplexing obstacles when attempting to integrate 64-bit packages into their development workflow, leading to frustration and lost productivity. This in-depth guide explores these challenges thoroughly and provides meticulously detailed, actionable solutions. The fundamental issue originates from a critical architectural characteristic: **the Delphi Integrated Development Environment (IDE) remains a 32-bit application**, even in the most recent releases. This architectural discrepancy between the 32-bit IDE and the 64-bit compilation target creates numerous misunderstandings and technical difficulties related to package management. Understanding this architectural limitation constitutes the essential first step toward establishing a seamless development experience. We will thoroughly examine why the 32-bit IDE requires 32-bit design-time packages, explore proper project configuration techniques for both 32-bit and 64-bit targets, cl... **URL**: https://www.visioforge.com/help/docs/delphi/general/install-64bit/index.html #### Fixing .otares File Errors in Delphi Packages - VisioForge Help [Skip to content](#fixing-otares-file-errors-in-delphi-packages) # Fixing .otares File Errors in Delphi Packages[¶](#fixing-otares-file-errors-in-delphi-packages "Permanent link") ## How to Solve the .otares File Not Found Error in Delphi[¶](#how-to-solve-the-otares-file-not-found-error-in-delphi "Permanent link") When working with Delphi packages, developers frequently encounter the frustrating .otares file not found error that can completely halt your development workflow. This practical guide explains the problem, identifies common causes, and provides tested solutions to get your projects back on track. ### What is an .otares File?[¶](#what-is-an-otares-file "Permanent link") To effectively troubleshoot this issue, you need to understand the role of .otares files in Delphi: - Resource files specific to Delphi development environments - Contain compiled resources including images, icons, and binary assets - Generated during package compilation processes - Critical for packages with visual components or resource-dependent features ### Typical Error Messages[¶](#typical-error-messages "Permanent link") You'll likely encounter these errors during compilation or installation: `[](#__codelineno-0-1)[dcc32 Error] E1026 File not found: 'Package_Name.otares' [](#__codelineno-0-2)[dcc32 Error] E1026 Could not locate resource file 'Component_Package.otares' [](#__codelineno-0-3)[dcc32 Error] Package compilation failed due to missing .otares file` ### When This Issue Typically Occurs[¶](#when-this-issue-typically-occurs "Permanent link") These errors commonly appear when: 1. Installing third-party component packages 2. Upgrading to newer Delphi versions 3. Moving projects between development machines 4. Collaborating with team members on shared projects ### Why .otares File Errors Happen[¶](#why-otares-file-errors-happen "Permanent link") Several factors can trigger these errors: 1. **Missing Resource Files**: The .otares file isn't in the exp... **URL**: https://www.visioforge.com/help/docs/delphi/general/install-otares/index.html #### Delphi Media Framework for Video Processing - VisioForge Help [Skip to content](#all-in-one-media-framework) # All-in-One Media Framework[¶](#all-in-one-media-framework "Permanent link") A set of Delphi/ActiveX libraries for video processing, playback, and capture called All-in-One Media Framework. These libraries help developers create professional video editing, playback, and capture applications with minimal effort and maximum performance. The framework provides a comprehensive solution for media handling in Delphi applications, offering high-performance video processing capabilities that would otherwise require extensive low-level programming. Developers can implement complex video workflows with simple component-based architecture. You can find the following library documentation here: ## Libraries[¶](#libraries "Permanent link") - [TVFMediaPlayer](mediaplayer/) - Full-featured media player component with playlist support, frame-accurate seeking, and advanced playback controls - [TVFVideoCapture](videocapture/) - Powerful video capture component supporting webcams, capture cards, IP cameras, and screen recording - [TVFVideoEdit](videoedit/) - Professional video editing component with timeline support, transitions, filters, and output to multiple formats ## Implementation Examples[¶](#implementation-examples "Permanent link") The framework includes numerous examples demonstrating how to implement common media tasks: - Video players with custom controls and visualizations - Multi-camera recording applications - Video editing software with timeline support - Format conversion utilities - Streaming media applications ## General Information[¶](#general-information "Permanent link") ActiveX packages can be used in multiple programming languages and development environments including Visual C++, Visual Basic, and C++ Builder. These components extend your software capabilities, accelerating development and improving performance. With ActiveX integration, you can incorporate existing software componen... **URL**: https://www.visioforge.com/help/docs/delphi/index.html #### Media Player Library Updates and Features - VisioForge Help [Skip to content](#tvfmediaplayer-library-changelog) # TVFMediaPlayer Library Changelog[¶](#tvfmediaplayer-library-changelog "Permanent link") This document details the evolution of the TVFMediaPlayer library, chronicling the significant features, enhancements, optimizations, and bug fixes introduced across various versions. It serves as a comprehensive reference for developers tracking the library's progress and understanding the capabilities added over time. ## Version 10.0: Enhanced Media Handling and Customization[¶](#version-100-enhanced-media-handling-and-customization "Permanent link") Version 10.0 represents a significant step forward, focusing on improved media introspection, logging, customization, and compatibility. ### Core Enhancements[¶](#core-enhancements "Permanent link") - **Enhanced Media Information Reader:** This version significantly boosts the capabilities of the media information reader. It enables faster, more accurate extraction of metadata from an extensive array of media file types. Developers gain reliable access to critical details like duration, resolution, codec specifics, bitrates, and embedded tags, which streamlines media management and enhances the display capabilities within applications. - **Improved Logging Capabilities:** Logging has been substantially refined, offering developers more granular control. Configuration options now include distinct log levels (Debug, Info, Warning, Error) and flexible output destinations such as files, the console, or custom endpoints. This facilitates more effective issue diagnosis during development and robust monitoring of application behavior in production, ultimately leading to quicker troubleshooting and increased application stability. - **Standard Metadata Tag Support:** A cornerstone of this release is the introduction of comprehensive support for reading standard metadata tags embedded within popular video and audio containers. This includes formats like MP4, WMV, MP3, AAC... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/changelog/index.html #### Media Player Library Deployment for Delphi & ActiveX - VisioForge Help [Skip to content](#deployment-guide-for-tvfmediaplayer) # Deployment Guide for TVFMediaPlayer[¶](#deployment-guide-for-tvfmediaplayer "Permanent link") Deploying applications built with the TVFMediaPlayer library requires ensuring that all necessary components are correctly installed and configured on the target machine. This guide provides detailed instructions for both automated and manual deployment methods, catering to different scenarios and technical requirements. Whether you prefer the simplicity of silent installers or the granular control of manual setup, this document covers the essential steps to successfully deploy your Delphi or ActiveX media player application. ## Understanding Deployment Requirements[¶](#understanding-deployment-requirements "Permanent link") Before deploying your application, it's crucial to understand the dependencies of the TVFMediaPlayer library. The library relies on several core components, including base runtimes, specific codecs (like FFMPEG or VLC for certain sources), and Microsoft Visual C++ Redistributables. The deployment method you choose will determine how these dependencies are handled. ### Core Components[¶](#core-components "Permanent link") - **Base Library:** Contains the essential engine and DirectShow filters for basic playback functionality. - **Codec Packages:** Optional but often necessary for supporting a wide range of media formats and network streams (e.g., IP cameras). FFMPEG and VLC are common choices provided. - **Runtime Dependencies:** Microsoft Visual C++ Redistributable packages are required for the core library components to function correctly. Choosing the right deployment strategy depends on factors like user privileges on the target machine, the need for unattended installation, and the specific features of your application (e.g., which media sources it needs to support). ## Method 1: Automated Installation (Admin Rights Required)[¶](#method-1-automated-installation-admin-rights-... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/deployment/index.html #### Play Multiple Video Streams from Single File - VisioForge Help [Skip to content](#playing-video-files-with-multiple-video-streams) # Playing Video Files with Multiple Video Streams[¶](#playing-video-files-with-multiple-video-streams "Permanent link") ## Understanding Multiple Video Streams[¶](#understanding-multiple-video-streams "Permanent link") ### What Are Multiple Video Streams?[¶](#what-are-multiple-video-streams "Permanent link") Multiple video streams refer to different video tracks contained within a single media file. These streams can vary in several ways: - Different camera angles of the same scene - Alternate versions with varying resolutions or bitrates - Primary and secondary content (such as picture-in-picture) - Different aspect ratios or formats of the same content - Versions with or without special effects or graphics ### Supported File Formats[¶](#supported-file-formats "Permanent link") Many popular container formats support multiple video streams, including: - **Matroska (MKV)**: Widely recognized for its flexibility and robust support for multiple streams - **MP4/MPEG-4**: Common in both professional and consumer applications - **AVI**: Although older, still widely used in some contexts - **WebM**: Popular for web-based applications - **TS/MTS**: Used in broadcast applications and consumer video cameras Each format has its own characteristics and limitations regarding how it handles multiple video streams, but the `TVFMediaPlayer` component provides a unified approach to working with them. ## Implementing Multiple Video Stream Playback[¶](#implementing-multiple-video-stream-playback "Permanent link") ### Setting Up the Media Player[¶](#setting-up-the-media-player "Permanent link") The first step is to properly initialize the `TVFMediaPlayer` object. This involves creating the instance, configuring basic properties, and preparing it for playback: `[](#__codelineno-0-1)// Define and create the MediaPlayer object [](#__codelineno-0-2)var [](#__codelineno-0-3) MediaPlay... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/file-multiple-video-streams/index.html #### Media Player SDK for Delphi and ActiveX Development - VisioForge Help [Skip to content](#tvfmediaplayer-feature-rich-media-playback-for-delphi-activex) # TVFMediaPlayer: Feature-Rich Media Playback for Delphi & ActiveX[¶](#tvfmediaplayer-feature-rich-media-playback-for-delphi-activex "Permanent link") ## Introduction to TVFMediaPlayer[¶](#introduction-to-tvfmediaplayer "Permanent link") The VisioForge TVFMediaPlayer library stands as a powerful and versatile solution designed for developers working with Delphi (VCL) and ActiveX-compatible environments (like .NET WinForms/WPF, VB6). It provides a robust framework for integrating sophisticated multimedia playback capabilities directly into custom applications. Whether you're building a simple video viewer, a complex media center application, a surveillance system interface, or interactive training software, TVFMediaPlayer offers the tools needed to handle a diverse range of audio and video requirements. At its core, the library abstracts the complexities of various media codecs and streaming protocols, presenting a unified and relatively straightforward API. This allows developers to focus on application logic rather than low-level multimedia handling. The library emphasizes performance, stability, and extensive format support, making it a reliable choice for demanding playback scenarios. ## Core Features and Capabilities[¶](#core-features-and-capabilities "Permanent link") TVFMediaPlayer is packed with features designed to address common and advanced media playback needs. ### Extensive Format and Codec Support[¶](#extensive-format-and-codec-support "Permanent link") One of the library's most significant strengths is its ability to play back a vast array of media formats. This is achieved through flexible backend support: - **System Codecs:** Leverages codecs already installed on the Windows operating system (DirectShow/Media Foundation). Ideal for common formats like AVI, WMV, and MP3 when appropriate decoders are present. - **FFmpeg:** Integrates the renowned FFmpeg li... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/index.html #### TVFMediaPlayer Installation in C++ Builder - VisioForge Help [Skip to content](#installing-tvfmediaplayer-in-c-builder) # Installing TVFMediaPlayer in C++ Builder[¶](#installing-tvfmediaplayer-in-c-builder "Permanent link") Welcome to the detailed guide for integrating the powerful TVFMediaPlayer library into your Embarcadero C++ Builder development environment. This document covers the installation process for legacy versions like C++ Builder 5 and 6, as well as modern versions from 2006 onwards. We will explore the necessary prerequisites, step-by-step installation procedures for different IDE versions, considerations for 32-bit (x86) and 64-bit (x64) architectures, and common troubleshooting steps. ## Introduction to TVFMediaPlayer and VisioForge Media Framework[¶](#introduction-to-tvfmediaplayer-and-visioforge-media-framework "Permanent link") TVFMediaPlayer is a versatile multimedia component developed by VisioForge. It's part of the larger VisioForge Media Framework, designed to provide developers with a robust set of tools for handling audio and video playback, capture, processing, and streaming within their applications. TVFMediaPlayer specifically focuses on playback capabilities, supporting a wide array of formats and offering extensive control over media rendering. The component is delivered as an ActiveX control, making it easily integrable into environments that support COM technology, such as C++ Builder. Utilizing ActiveX allows for visual design-time integration and straightforward programmatic access to the player's features. ## Prerequisites[¶](#prerequisites "Permanent link") Before proceeding with the installation, ensure your development environment meets the following requirements: 1. **Supported C++ Builder Version:** You need a working installation of Embarcadero C++ Builder. This guide covers: - C++ Builder 5 - C++ Builder 6 - C++ Builder 2006 - C++ Builder 2007, 2009, 2010, XE series (XE to XE8), 10.x series (Seattle, Berlin, Tokyo, Rio, Sydney), 11.x (Alexandria),... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/install/builder/index.html #### TVFMediaPlayer Installation in Delphi - VisioForge Help [Skip to content](#installing-tvfmediaplayer-in-delphi) # Installing TVFMediaPlayer in Delphi[¶](#installing-tvfmediaplayer-in-delphi "Permanent link") Welcome to the detailed guide for installing the VisioForge Media Player SDK, specifically the `TVFMediaPlayer` component, into your Delphi development environment. This guide covers installations for classic Delphi versions like Delphi 6 and 7, as well as modern versions from Delphi 2005 onwards, including the latest releases supporting 64-bit development. ## Understanding TVFMediaPlayer[¶](#understanding-tvfmediaplayer "Permanent link") `TVFMediaPlayer` is a powerful VCL component from VisioForge designed for seamless integration of video and audio playback capabilities into Delphi applications. It simplifies tasks such as playing various media formats, capturing snapshots, controlling playback speed, managing audio streams, and much more. Built upon a robust media engine, it offers high performance and extensive format support, making it a versatile choice for multimedia application development in Delphi. This guide assumes you have a working installation of Embarcadero Delphi or a compatible older version (Borland Delphi). ## Step 1: Prerequisites and Downloading the Framework[¶](#step-1-prerequisites-and-downloading-the-framework "Permanent link") Before proceeding with the installation, ensure your development environment meets the necessary prerequisites. Primarily, you need a licensed or trial version of Delphi installed on your Windows machine. The `TVFMediaPlayer` component is distributed as part of the VisioForge All-in-One Media Framework. This framework bundles various VisioForge SDKs, providing a comprehensive toolkit for media handling. 1. **Navigate to the Product Page:** Open your web browser and go to the official VisioForge [All-in-One Media Framework product page](https://www.visioforge.com/all-in-one-media-framework). 2. **Select the Delphi Version:** Locate the download section spe... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/install/delphi/index.html #### Install the TVFMediaPlayer Library - VisioForge Help [Skip to content](#install-the-tvfmediaplayer-library) # Install the TVFMediaPlayer Library[¶](#install-the-tvfmediaplayer-library "Permanent link") Welcome to the detailed installation guide for the VisioForge TVFMediaPlayer library, a core component of the powerful All-in-One Media Framework. This guide provides comprehensive steps for installing the library across various Integrated Development Environments (IDEs), ensuring you can leverage its rich media playback capabilities effectively in your projects. The TVFMediaPlayer library offers developers robust tools for integrating audio and video playback, processing, and streaming functionalities into their applications. It is available in two primary forms to cater to different development ecosystems: 1. **Native Delphi Package:** Optimized specifically for Embarcadero Delphi developers, offering seamless integration, design-time support, and leveraging the full potential of the VCL framework. 2. **ActiveX Control (OCX):** Designed for broad compatibility, allowing integration into environments that support ActiveX technology, such as C++ Builder, Microsoft Visual Basic 6 (VB6), Microsoft Visual Studio (for C#, VB.NET, C++ MFC projects), and other ActiveX containers. This dual availability ensures that whether you are working within the Delphi ecosystem or utilizing other popular development tools, you can harness the power of TVFMediaPlayer. ## Before You Begin: System Requirements and Prerequisites[¶](#before-you-begin-system-requirements-and-prerequisites "Permanent link") Before proceeding with the installation, ensure your development environment meets the necessary requirements: - **Operating System:** Windows 7, 8, 8.1, 10, 11, or Windows Server 2012 R2 and newer (both x86 and x64 versions are supported). - **Development Environment:** A compatible IDE such as: - Embarcadero Delphi (refer to specific framework version for compatible Delphi releases, typically XE2 or newer). - E... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/install/index.html #### Installing TVFMediaPlayer Library in Visual Basic 6 - VisioForge Help [Skip to content](#integrating-tvfmediaplayer-with-visual-basic-6-a-comprehensive-guide) # Integrating TVFMediaPlayer with Visual Basic 6: A Comprehensive Guide[¶](#integrating-tvfmediaplayer-with-visual-basic-6-a-comprehensive-guide "Permanent link") Microsoft Visual Basic 6 (VB6), despite its age, remains a relevant platform for many legacy applications. Its simplicity and rapid application development (RAD) capabilities made it incredibly popular. One way to extend the functionality of VB6 applications, particularly in multimedia processing, is by leveraging ActiveX controls. The TVFMediaPlayer library, developed by VisioForge, offers a powerful suite of multimedia features accessible to VB6 developers through its ActiveX interface. This guide provides a comprehensive walkthrough for installing, configuring, and utilizing the TVFMediaPlayer library within a Visual Basic 6 project. We will cover the nuances of working with ActiveX in VB6, address the inherent 32-bit limitations, and provide practical steps for integration and basic usage. ## Understanding ActiveX and VB6 Compatibility[¶](#understanding-activex-and-vb6-compatibility "Permanent link") ActiveX controls are reusable software components based on Microsoft's Component Object Model (COM) technology. They allow developers to add specific functionalities to applications without writing the underlying code from scratch. Visual Basic 6 has excellent built-in support for ActiveX, enabling developers to easily incorporate third-party controls like TVFMediaPlayer into their projects via a graphical interface. This seamless integration means that VB6 developers can access the advanced multimedia capabilities of the VisioForge library—such as video playback, audio manipulation, screen capture, and network streaming—directly within the familiar VB6 IDE. ### The 32-bit Constraint[¶](#the-32-bit-constraint "Permanent link") A crucial point to understand is that Visual Basic 6 is strictly a 32-bit developm... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/install/visual-basic-6/index.html #### Installing TVFMediaPlayer ActiveX in Visual Studio - VisioForge Help [Skip to content](#installing-tvfmediaplayer-activex-in-visual-studio-2010-and-later) # Installing TVFMediaPlayer ActiveX in Visual Studio 2010 and Later[¶](#installing-tvfmediaplayer-activex-in-visual-studio-2010-and-later "Permanent link") This guide provides detailed instructions for integrating the VisioForge Media Player (`TVFMediaPlayer`) ActiveX control into your Microsoft Visual Studio projects (version 2010 and newer). We will cover the necessary steps for C++, C#, and Visual Basic .NET environments, explain the underlying mechanisms, and discuss important considerations, including why migrating to the native .NET SDK is highly recommended for modern development. ## Understanding ActiveX and its Role in Modern Development[¶](#understanding-activex-and-its-role-in-modern-development "Permanent link") ActiveX, a technology developed by Microsoft, allows software components (controls) to interact with one another regardless of the language they were originally written in. It's based on the Component Object Model (COM). In the context of Visual Studio, ActiveX controls can be embedded within application forms to provide specific functionalities, such as media playback in the case of `TVFMediaPlayer`. While historically significant, ActiveX usage has declined, especially within the .NET ecosystem. Modern .NET frameworks offer more integrated, robust, and secure ways to incorporate UI components and functionality. However, legacy applications or specific interoperability scenarios might still necessitate the use of ActiveX controls. When you use an ActiveX control in a .NET project (C# or VB.Net), Visual Studio doesn't interact with it directly. Instead, it automatically generates **Runtime Callable Wrappers (RCW)**. These wrappers are essentially .NET assemblies that act as intermediaries, translating .NET calls into COM calls that the ActiveX control understands, and vice versa. This process allows managed (.NET) code to utilize unmanaged (COM/ActiveX)... **URL**: https://www.visioforge.com/help/docs/delphi/mediaplayer/install/visual-studio/index.html #### Audio Capture to MP3 Files in Delphi, C++ MFC & VB6 - VisioForge Help [Skip to content](#audio-capture-to-mp3-files-in-delphi-c-mfc-vb6) # Audio Capture to MP3 Files in Delphi, C++ MFC & VB6[¶](#audio-capture-to-mp3-files-in-delphi-c-mfc-vb6 "Permanent link") ## Introduction[¶](#introduction "Permanent link") Audio capture capabilities are essential for many modern applications, from voice recording tools to multimedia creation software. This guide walks through the implementation of MP3 audio capture functionality in Delphi, C++ MFC, and VB6 applications using the VideoCapture component. MP3 remains one of the most widely used audio formats due to its excellent compression and broad compatibility. By implementing proper MP3 audio capture in your applications, you can provide users with efficient, high-quality audio recording capabilities. ## Prerequisites[¶](#prerequisites "Permanent link") Before implementing MP3 audio capture, ensure you have: - Development environment with Delphi, Visual C++ (for MFC), or Visual Basic 6 - VideoCapture component properly installed and referenced in your project - Basic understanding of audio encoding concepts - Required permissions for audio device access in your application ## LAME Encoder Configuration[¶](#lame-encoder-configuration "Permanent link") The LAME MP3 encoder provides extensive customization options for audio quality, bitrate management, and channel configuration. Properly configuring these settings is crucial for achieving the desired audio quality while managing file size. ### Configuring Basic Encoding Parameters[¶](#configuring-basic-encoding-parameters "Permanent link") The following code snippets demonstrate how to configure basic LAME encoding parameters: `[](#__codelineno-0-1)// Delphi [](#__codelineno-0-2)VideoCapture1.Audio_LAME_CBR_Bitrate := StrToInt(cbLameCBRBitrate.Items[cbLameCBRBitrate.ItemIndex]); [](#__codelineno-0-3)VideoCapture1.Audio_LAME_VBR_Min_Bitrate := StrToInt(cbLameVBRMin.Items[cbLameVBRMin.ItemIndex]); [](#__codelineno-0-4)VideoCaptu... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/audio-capture-mp3/index.html #### Delphi WAV Audio Capture Implementation Guide - VisioForge Help [Skip to content](#audio-capture-to-wav-files-developer-implementation-guide) # Audio Capture to WAV Files: Developer Implementation Guide[¶](#audio-capture-to-wav-files-developer-implementation-guide "Permanent link") ## Introduction[¶](#introduction "Permanent link") Capturing audio to WAV files is a fundamental requirement for many multimedia applications. This guide provides detailed instructions for implementing audio capture functionality with or without compression in your applications. Whether you're developing in Delphi, C++ MFC, or VB6 using our ActiveX controls, this guide will walk you through the entire process from initial setup to final implementation. ## Setting Up Your Development Environment[¶](#setting-up-your-development-environment "Permanent link") Before you begin implementing audio capture, ensure you have: 1. Installed the SDK in your development environment 2. Added the VideoCapture component to your form/project 3. Set up basic error handling to manage capture exceptions 4. Configured your application to access audio hardware ## Audio Codec Management[¶](#audio-codec-management "Permanent link") ### Retrieving Available Audio Codecs[¶](#retrieving-available-audio-codecs "Permanent link") The first step in implementing audio capture is to retrieve a list of available audio codecs on the system. This allows you to present users with codec options or to programmatically select the most appropriate codec for your application's needs. #### Delphi Implementation[¶](#delphi-implementation "Permanent link") `[](#__codelineno-0-1)// Iterate through all available audio codecs [](#__codelineno-0-2)for i := 0 to VideoCapture1.Audio_Codecs_GetCount - 1 do [](#__codelineno-0-3) cbAudioCodec.Items.Add(VideoCapture1.Audio_Codecs_GetItem(i));` #### C++ MFC Implementation[¶](#c-mfc-implementation "Permanent link") `[](#__codelineno-1-1)// Get all available audio codecs and populate combo box [](#__codelineno-1-2)for (int i = 0; i < m_... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/audio-capture-wav/index.html #### Delphi Audio Output Device Selection | VideoCapture - VisioForge Help [Skip to content](#audio-output-device-selection-in-delphi) # Audio Output Device Selection in Delphi[¶](#audio-output-device-selection-in-delphi "Permanent link") This guide provides detailed instructions and code examples for implementing audio output device selection in your video capture applications. Delphi, C++ MFC, and VB6 implementations are covered to help you integrate this functionality into your projects efficiently. ## Available Audio Output Device Enumeration[¶](#available-audio-output-device-enumeration "Permanent link") The first step in implementing audio output device selection is retrieving the complete list of available audio output devices on the system. This allows users to choose their preferred audio output device. ### Delphi Implementation[¶](#delphi-implementation "Permanent link") `[](#__codelineno-0-1)// Iterate through all available audio output devices [](#__codelineno-0-2)for i := 0 to VideoCapture1.Audio_OutputDevices_GetCount - 1 do [](#__codelineno-0-3) // Add each device to the dropdown list [](#__codelineno-0-4) cbAudioOutputDevice.Items.Add(VideoCapture1.Audio_OutputDevices_GetItem(i));` ### C++ MFC Implementation[¶](#c-mfc-implementation "Permanent link") `[](#__codelineno-1-1)// Populate the combobox with all available audio output devices [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.Audio_OutputDevices_GetCount(); i++) { [](#__codelineno-1-3) CString deviceName = m_VideoCapture.Audio_OutputDevices_GetItem(i); [](#__codelineno-1-4) m_AudioOutputDeviceCombo.AddString(deviceName); [](#__codelineno-1-5)}` ### VB6 Implementation[¶](#vb6-implementation "Permanent link") `[](#__codelineno-2-1)' Iterate through all available audio output devices [](#__codelineno-2-2)For i = 0 To VideoCapture1.Audio_OutputDevices_GetCount - 1 [](#__codelineno-2-3) ' Add each device to the dropdown list [](#__codelineno-2-4) cboAudioOutputDevice.AddItem VideoCapture1.Audio_OutputDevices_GetItem(i) [](#__codelineno-... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/audio-output/index.html #### TVFVideoCapture Library Version History - VisioForge Help [Skip to content](#tvfvideocapture-version-history) # TVFVideoCapture Version History[¶](#tvfvideocapture-version-history "Permanent link") ## Release 11.00 - Enhanced GPU Encoding & Modern Delphi Support[¶](#release-1100-enhanced-gpu-encoding-modern-delphi-support "Permanent link") - **Expanded Framework Compatibility**: Added support for Delphi 10.4 and 11.0 development environments - **Advanced AMD GPU Acceleration**: Implemented MP4 (H264/AAC) video encoding utilizing AMD graphics processing units - **Intel GPU Hardware Encoding**: Added MP4 (H264/AAC) video encoding through Intel integrated and discrete GPUs - **NVIDIA CUDA Acceleration**: Introduced MP4 (H264/AAC) video encoding powered by NVIDIA graphics hardware - **Container Format Improvements**: Enhanced MKV output with optimized performance and reliability - **New Output Format**: Added MOV container format support for Apple ecosystem compatibility ## Release 10.0 - Performance Optimizations & Multi-Platform Support[¶](#release-100-performance-optimizations-multi-platform-support "Permanent link") - **MP4 Enhancement**: Thoroughly updated and improved MP4 output capabilities - **Streaming Improvements**: Updated VLC source filter with enhanced RTMP and HTTPS support - **Memory Management**: Fixed critical CUDA encoder memory leak for stable long-duration encoding - **Resource Optimization**: Resolved FFMPEG source memory leak for improved application stability - **Audio Capture**: Enhanced What You Hear filter for superior system audio recording - **64-bit Architecture**: Added x64 VLC source for TVFMediaPlayer and TVFVideoCapture (both Delphi and ActiveX) - **Extended Format Support**: Enhanced YUV2RGB filter with HDYC format support - **Audio Encoding**: Updated LAME encoder with fix for low bitrate mono audio issues - **Development Environment**: Added Delphi 10, 10.1 support for modern development workflows ## Release 8.7 - Core Engine Updates[¶](#release-87-cor... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/changelog/index.html #### DirectShow Output Formats in Delphi - Complete Guide - VisioForge Help [Skip to content](#code-sample-custom-output-formats) # Code sample - Custom output formats[¶](#code-sample-custom-output-formats "Permanent link") Delphi, C++ MFC, and VB6 sample code. Currently, there are several options for connecting third-party DirectShow filters to get the necessary format. ## The first option - 3 different DirectShow filters[¶](#the-first-option-3-different-directshow-filters "Permanent link") An audio codec, a video codec, and a multiplexer – different filter. You can use both DirectShow filters and regular codecs as codecs. ## The second option - an all-in-one DirectShow filter[¶](#the-second-option-an-all-in-one-directshow-filter "Permanent link") A multiplexer, a video codec, and an audio codec – the same filter. Another difference is whether the filter can write to a file itself, whether you should use the standard File Writer filter, or whether you need another special filter. In the first two cases, VisioForge Video Capture will detect it automatically and set the necessary parameters, but you have to specify the necessary filter yourself in the third case. Now, let us see what the code for different options looks like. ## First option[¶](#first-option "Permanent link") Get lists of audio and video codecs `[](#__codelineno-0-1)for I := 0 to VideoCapture1.Video_Codecs_GetCount - 1 do [](#__codelineno-0-2) cbCustomVideoCodec.Items.Add(VideoCapture1.Video_Codecs_GetItem(i)); [](#__codelineno-0-3)for I := 0 to VideoCapture1.Audio_Codecs_GetCount - 1 do [](#__codelineno-0-4) cbCustomAudioCodec.Items.Add(VideoCapture1.Audio_Codecs_GetItem(i));` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.Video_Codecs_GetCount(); i++) [](#__codelineno-1-3) m_CustomVideoCodecCombo.AddString(m_VideoCapture.Video_Codecs_GetItem(i)); [](#__codelineno-1-4)for (int i = 0; i < m_VideoCapture.Audio_Codecs_GetCount(); i++) [](#__codelineno-1-5) m_CustomAudioCodecCombo.AddString(m_VideoCapture.Aud... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/custom-output/index.html #### TVFVideoCapture Deployment Guide for Delphi - VisioForge Help [Skip to content](#complete-tvfvideocapture-library-deployment-guide) # Complete TVFVideoCapture Library Deployment Guide[¶](#complete-tvfvideocapture-library-deployment-guide "Permanent link") When distributing applications built with the TVFVideoCapture library, you'll need to deploy several framework components to ensure proper functionality on end-user systems. This guide covers all deployment scenarios to help you create reliable installations. ## Deployment Options Overview[¶](#deployment-options-overview "Permanent link") You have two primary approaches for deploying the necessary components: automatic installers for simpler deployment or manual installation for more customized setups. ## Automatic Silent Installers (Requires Admin Rights)[¶](#automatic-silent-installers-requires-admin-rights "Permanent link") These pre-configured installers handle dependencies automatically and can be integrated into your application's installation process: ### Essential Components[¶](#essential-components "Permanent link") - **Base Package** (mandatory for all deployments) - [Delphi Version](https://files.visioforge.com/redists_delphi/redist_video_capture_base_delphi.exe) - [ActiveX Version](https://files.visioforge.com/redists_delphi/redist_video_capture_base_ax.exe) ### Optional Feature Components[¶](#optional-feature-components "Permanent link") - **FFMPEG Package** (required for file or IP camera sources) - [x86 Architecture](https://files.visioforge.com/redists_delphi/redist_video_capture_ffmpeg.exe) - **MP4 Output Support** - [x86 Architecture](https://files.visioforge.com/redists_delphi/redist_video_capture_mp4.exe) - **VLC Source Package** (alternative option for file or IP camera sources) - [x86 Architecture](https://files.visioforge.com/redists_delphi/redist_video_capture_vlc.exe) ## Manual Installation Process (Requires Admin Rights)[¶](#manual-installation-process-requires-admin-rights "Permanent link") For more control over... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/deployment/index.html #### DV Camcorder Integration in Delphi Applications - VisioForge Help [Skip to content](#complete-guide-to-dv-camcorder-control) # Complete Guide to DV Camcorder Control[¶](#complete-guide-to-dv-camcorder-control "Permanent link") This developer guide demonstrates how to effectively integrate and control Digital Video (DV) camcorders in your applications using the TVFVideoCapture component. The examples below include implementations for Delphi, C++ MFC, and Visual Basic 6, allowing you to choose the development environment that best suits your project requirements. ## Prerequisites for Implementation[¶](#prerequisites-for-implementation "Permanent link") Before using any of the DV control commands, you must initialize your video capture system by starting either the video preview or capture process. This establishes the necessary connection between your application and the DV device. ## DV Transport Control Commands[¶](#dv-transport-control-commands "Permanent link") The following sections provide detailed implementation examples for each of the essential DV transport control functions, allowing you to create professional video manipulation applications. ### Starting Playback[¶](#starting-playback "Permanent link") Initiate standard playback of your DV content with the `DV_PLAY` command. This command starts playback at normal speed and is essential for basic video viewing functionality. `[](#__codelineno-0-1)VideoCapture1.DV_SendCommand(DV_PLAY);` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)m_VideoCapture.DV_SendCommand(DV_PLAY);` `[](#__codelineno-2-1)' VB6 [](#__codelineno-2-2)VideoCapture1.DV_SendCommand DV_PLAY` ### Pausing Video Playback[¶](#pausing-video-playback "Permanent link") Temporarily suspend video playback while maintaining the current position with the `DV_PAUSE` command. This is useful for implementing frame analysis or allowing users to examine specific content. `[](#__codelineno-3-1)VideoCapture1.DV_SendCommand(DV_PAUSE);` `[](#__codelineno-4-1)// C++ MFC [](#__codelineno-4-2)m_VideoCaptu... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/dv-camcorder/index.html #### Delphi FM Radio & TV Tuner Implementation Guide - VisioForge Help [Skip to content](#implementing-fm-radio-and-tv-tuning-in-delphi-applications) # Implementing FM Radio and TV Tuning in Delphi Applications[¶](#implementing-fm-radio-and-tv-tuning-in-delphi-applications "Permanent link") ## Introduction to TV and Radio Tuning[¶](#introduction-to-tv-and-radio-tuning "Permanent link") This guide provides detailed implementation examples for Delphi developers working with FM radio and TV tuning functionality. We've included equivalent code samples for C++ MFC and VB6 to support cross-platform development needs. ## Device Management[¶](#device-management "Permanent link") ### Retrieving Available TV Tuners[¶](#retrieving-available-tv-tuners "Permanent link") The first step in implementing tuner functionality is identifying available hardware devices: `[](#__codelineno-0-1)// Iterate through all connected TV Tuner devices and populate dropdown [](#__codelineno-0-2)for I := 0 to VideoCapture1.TVTuner_Devices_GetCount - 1 do [](#__codelineno-0-3) cbTVTuner.Items.Add(VideoCapture1.TVTuner_Devices_GetItem(i));` `[](#__codelineno-1-1)// C++ MFC implementation for retrieving TV Tuner devices [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.TVTuner_Devices_GetCount(); i++) [](#__codelineno-1-3) m_cbTVTuner.AddString(m_VideoCapture.TVTuner_Devices_GetItem(i));` `[](#__codelineno-2-1)' VB6 implementation for device enumeration [](#__codelineno-2-2)For i = 0 To VideoCapture1.TVTuner_Devices_GetCount - 1 [](#__codelineno-2-3) cbTVTuner.AddItem VideoCapture1.TVTuner_Devices_GetItem(i) [](#__codelineno-2-4)Next i` ### Enumerating TV Format Support[¶](#enumerating-tv-format-support "Permanent link") Different regions use different broadcast standards. Your application should detect and handle these formats: `[](#__codelineno-3-1)// Load available TV formats (PAL, NTSC, SECAM, etc.) [](#__codelineno-3-2)for I := 0 to VideoCapture1.TVTuner_TVFormats_GetCount - 1 do [](#__codelineno-3-3) cbTVSystem.Items.Add(VideoCapture... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/fm-radio-tv-tuning/index.html #### Camera Video Adjustments for Delphi Applications - VisioForge Help [Skip to content](#implementing-hardware-video-adjustments-in-delphi-applications) # Implementing Hardware Video Adjustments in Delphi Applications[¶](#implementing-hardware-video-adjustments-in-delphi-applications "Permanent link") ## Overview[¶](#overview "Permanent link") Modern video capture devices offer powerful hardware-level adjustments that can significantly enhance the quality of your video applications. By leveraging these capabilities in your Delphi applications, you can provide users with professional-grade video control features without complex software-based image processing. ## Supported Adjustment Types[¶](#supported-adjustment-types "Permanent link") Most webcams and video capture devices support several adjustment parameters: - Brightness - Contrast - Saturation - Hue - Sharpness - Gamma - White balance - Gain ## Retrieving Available Adjustment Ranges[¶](#retrieving-available-adjustment-ranges "Permanent link") Before setting adjustments, you'll need to determine what ranges are supported by the connected device. The `Video_CaptureDevice_VideoAdjust_GetRanges` method provides this information. ### Delphi Implementation[¶](#delphi-implementation "Permanent link") `[](#__codelineno-0-1)// Retrieve the available range for brightness adjustment [](#__codelineno-0-2)// Returns minimum, maximum, step size, default value, and auto-adjustment capability [](#__codelineno-0-3)VideoCapture1.Video_CaptureDevice_VideoAdjust_GetRanges(adj_Brightness, min, max, step, default, auto);` ### C++ MFC Implementation[¶](#c-mfc-implementation "Permanent link") `[](#__codelineno-1-1)// C++ MFC implementation for getting brightness adjustment ranges [](#__codelineno-1-2)// Store results in integer variables for UI configuration [](#__codelineno-1-3)int min, max, step, default_value; [](#__codelineno-1-4)BOOL auto_value; [](#__codelineno-1-5)m_VideoCapture.Video_CaptureDevice_VideoAdjust_GetRanges( [](#__codelineno-1-6) VF_VIDEOCAP_ADJ_BRI... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/hardware-adjustments/index.html #### TVFVideoCapture for Delphi Developers - VisioForge Help [Skip to content](#tvfvideocapture-library-for-delphi-and-activex-development) # TVFVideoCapture Library for Delphi and ActiveX Development[¶](#tvfvideocapture-library-for-delphi-and-activex-development "Permanent link") ## Introduction to Video Capture Technology[¶](#introduction-to-video-capture-technology "Permanent link") The TVFVideoCapture library provides Delphi and ActiveX developers with a robust framework for implementing video and audio capture functionality in their applications. This powerful SDK enables seamless integration with a wide range of capture devices including: Read the full information on the [product page](https://www.visioforge.com/all-in-one-media-framework). ## Development Resources[¶](#development-resources "Permanent link") For detailed implementation guidance, explore these essential resources: - [Complete Changelog and Version History](changelog/) - [Installation and Configuration Guide](install/) - [Deployment Best Practices](deployment/) - [Licensing Information and EULA](../../eula/) - [Comprehensive API Documentation](https://api.visioforge.org/delphi/video_capture_sdk/index.html) ## Implementation Tutorials[¶](#implementation-tutorials "Permanent link") ### Audio Recording and Processing[¶](#audio-recording-and-processing "Permanent link") Master audio capture with these step-by-step guides: - [MP3 Audio Capture Implementation](audio-capture-mp3/) - Learn how to capture audio streams and encode them directly to MP3 format with configurable bitrates and quality settings. - [WAV Audio Recording with Compression Options](audio-capture-wav/) - Implement high-quality WAV audio recording with optional compression codecs and format configurations. - [Configuring Audio Output Devices](audio-output/) - Guide to selecting and configuring audio output devices for monitoring and playback in your applications. ### Video Capture and Device Control[¶](#video-capture-and-device-control "Permanent link") Learn ess... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/index.html #### TVFVideoCapture Integration for C++ Builder - VisioForge Help [Skip to content](#tvfvideocapture-integration-guide-for-c-builder) # TVFVideoCapture Integration Guide for C++ Builder[¶](#tvfvideocapture-integration-guide-for-c-builder "Permanent link") This detailed installation guide walks you through the process of integrating the powerful TVFVideoCapture ActiveX control with your C++ Builder projects. We've provided separate instructions for different C++ Builder versions to ensure seamless implementation regardless of your development environment. > Related products: [All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Installation in Borland C++ Builder 5/6[¶](#installation-in-borland-c-builder-56 "Permanent link") Follow these detailed steps to properly install the TVFVideoCapture control in Borland C++ Builder 5/6: 1. Navigate to the main menu and select **Component → Import ActiveX Controls** ![Screenshot showing the Component menu with Import ActiveX Controls option](../vcbcb5_1.webp) 1. From the available controls list, locate and select the **VisioForge Video Capture** item 2. Click the **Install** button to begin importing the ActiveX control ![Screenshot showing the ActiveX control selection dialog](../vcbcb5_2.webp) 1. When prompted for confirmation, click the **Yes** button to proceed ![Screenshot showing the confirmation dialog](../vcbcb5_3.webp) 1. Once the installation process completes successfully, you'll see a confirmation message 2. Click the **OK** button to finalize the installation ![Screenshot showing the successful installation message](../vcbcb5_4.webp) ## Installation in C++ Builder 2006 and Later Versions[¶](#installation-in-c-builder-2006-and-later-versions "Permanent link") For more recent versions of C++ Builder (2006 and newer), follow this expanded installation process: ### Step 1: Create a New Package[¶](#step-1-create-a-new-package "Permanent link") Begin by creating a new package that will contain the TVFVide... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/install/builder/index.html #### TVFVideoCapture Installation Guide for Delphi - VisioForge Help [Skip to content](#comprehensive-tvfvideocapture-installation-guide-for-delphi-developers) # Comprehensive TVFVideoCapture Installation Guide for Delphi Developers[¶](#comprehensive-tvfvideocapture-installation-guide-for-delphi-developers "Permanent link") > Related products: [All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Installation in Borland Delphi 6/7[¶](#installation-in-borland-delphi-67 "Permanent link") The installation process for legacy Delphi 6/7 environments requires several specific steps to ensure proper integration of the TVFVideoCapture library. ### Step 1: Create a New Package[¶](#step-1-create-a-new-package "Permanent link") Begin by creating a new package in your Delphi 6/7 development environment. ![Creating a new package in Delphi 6/7](../vcd6_1.webp) ### Step 2: Configure Library Paths[¶](#step-2-configure-library-paths "Permanent link") Add the TVFVideoCapture source directory to both the library and browser path settings. This allows Delphi to locate the necessary component files. ![Adding source directory to library paths](../vcd6_2.webp) ### Step 3: Open the Library Package[¶](#step-3-open-the-library-package "Permanent link") Navigate to and open the library package file to prepare for installation. ![Opening the library package](../vcd6_3.webp) ### Step 4: Install the Component Package[¶](#step-4-install-the-component-package "Permanent link") Complete the installation by selecting the install option within the package interface. ![Installing the package](../vcd6_4.webp) ![Confirmation of successful installation](../vcd6_5.webp) ### Architecture Limitations[¶](#architecture-limitations "Permanent link") While TVFVideoCapture offers both x86 and x64 architecture support, Delphi 6/7 only supports x86 due to platform limitations. Developers using these versions will need to utilize the 32-bit implementation exclusively. ## Installation Process for Delphi 2005 a... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/install/delphi/index.html #### TVFVideoCapture Installation Guide for IDEs - VisioForge Help [Skip to content](#tvfvideocapture-installation-guide) # TVFVideoCapture Installation Guide[¶](#tvfvideocapture-installation-guide "Permanent link") ## Installation[¶](#installation "Permanent link") 1. **Download the latest version of the VisioForge All-in-One Media Framework**: Navigate to the [product page](https://www.visioforge.com/all-in-one-media-framework) on our official website and download the most up-to-date version of the TVFVideoCapture library. Ensure that you select the appropriate version that matches your development environment requirements. 2. **Run the setup file**: After the download completes, locate the setup file in your download directory and execute it. This will launch the installation process. 3. **Follow the installation wizard instructions**: The setup wizard will guide you through the installation steps. Carefully read each prompt, accept the license agreement, choose the installation directory, and proceed by clicking "Next". 4. **Completion**: Upon successful installation, go to the installation folder. Here, you will find a variety of framework samples and detailed documentation designed to assist you in integrating and utilizing the library effectively within your projects. ### Delphi packages installation[¶](#delphi-packages-installation "Permanent link") For detailed instructions on installing the TVFVideoCapture packages in your Delphi IDE, please refer to the following [Delphi installation guide](delphi/). ### ActiveX installation[¶](#activex-installation "Permanent link") #### C++ Builder[¶](#c-builder "Permanent link") For [C++ Builder](builder/), the installation process involves importing the ActiveX control into your project. This straightforward process ensures that you can quickly start using the TVFVideoCapture library in your C++ Builder projects. #### Visual Basic 6[¶](#visual-basic-6 "Permanent link") In [Visual Basic 6](visual-basic-6/), open your project and go to the "Project" menu. Select "Compo... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/install/index.html #### Installing TVFVideoCapture in VB6 for Delphi Users - VisioForge Help [Skip to content](#integrating-tvfvideocapture-with-visual-basic-6) # Integrating TVFVideoCapture with Visual Basic 6[¶](#integrating-tvfvideocapture-with-visual-basic-6 "Permanent link") ## Overview and Compatibility[¶](#overview-and-compatibility "Permanent link") Microsoft Visual Basic 6 offers excellent compatibility with our TVFVideoCapture library through its ActiveX control interface. This integration empowers developers to significantly enhance their applications with advanced video capture capabilities while maintaining optimal performance characteristics. Due to the architecture of Visual Basic 6, which was developed during the early stages of Windows programming frameworks, the platform exclusively supports 32-bit applications. Consequently, only the x86 version of our TVFVideoCapture library is compatible with VB6 development environments. Despite this architectural limitation, our framework delivers exceptional performance within the 32-bit environment. The library provides full access to our comprehensive feature set, ensuring developers can implement sophisticated video capture solutions regardless of the 32-bit constraint. ## Detailed Installation Process[¶](#detailed-installation-process "Permanent link") The following step-by-step guide will walk you through the complete process of installing and configuring the TVFVideoCapture ActiveX control in your Visual Basic 6 development environment. ### Step 1: Create a New Project Environment[¶](#step-1-create-a-new-project-environment "Permanent link") Begin by launching Visual Basic 6 and creating a new standard project that will serve as the foundation for your video capture implementation. ![Creating a new VB6 project](../vcvb6_1.webp) ### Step 2: Access the Components Dialog[¶](#step-2-access-the-components-dialog "Permanent link") Navigate to the Project menu and select the "Components" option to open the component selection dialog. This interface allows you to browse and select from a... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/install/visual-basic-6/index.html #### TVFVideoCapture Integration for Delphi in VS - VisioForge Help [Skip to content](#installing-tvfvideocapture-in-visual-studio-2010-and-later) # Installing TVFVideoCapture in Visual Studio 2010 and Later[¶](#installing-tvfvideocapture-in-visual-studio-2010-and-later "Permanent link") ## Overview of TVFVideoCapture Integration[¶](#overview-of-tvfvideocapture-integration "Permanent link") The TVFVideoCapture ActiveX control provides powerful video capture capabilities for your development projects. This guide walks you through the installation process in Visual Studio environments, with special considerations for Delphi developers. ## Installation Requirements[¶](#installation-requirements "Permanent link") Before beginning the installation process, ensure you have: - Visual Studio 2010 or a later version installed - Administrator rights on your development machine - Both x86 and x64 ActiveX controls registered (if applicable) ## Installation Process for Different Project Types[¶](#installation-process-for-different-project-types "Permanent link") You can implement the TVFVideoCapture ActiveX control directly in various project types. The integration approach differs slightly depending on your development environment: ### For C++ Projects[¶](#for-c-projects "Permanent link") In C++ projects, you can use the ActiveX control directly without additional wrappers or interfaces. ### For C#/VB.Net Projects[¶](#for-cvbnet-projects "Permanent link") When working with C# or Visual Basic .NET projects, Visual Studio automatically generates a custom wrapper assembly. This wrapper exposes the ActiveX API through managed code, making integration seamless. ## Step-by-Step Installation Guide[¶](#step-by-step-installation-guide "Permanent link") Follow these detailed steps to install the TVFVideoCapture control in your Visual Studio environment: 1. Create a new project in your preferred language (C++, C#, or Visual Basic .NET) 2. Access the toolbox panel in your Visual Studio interface ![Opening the toolbox](../vcvs_1.w... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/install/visual-studio/index.html #### Delphi MPEG-2 Video Capture with TV Tuner Hardware - VisioForge Help [Skip to content](#mpeg-2-video-capture-in-delphi-using-tv-tuner-hardware-encoders) # MPEG-2 Video Capture in Delphi Using TV Tuner Hardware Encoders[¶](#mpeg-2-video-capture-in-delphi-using-tv-tuner-hardware-encoders "Permanent link") This comprehensive tutorial demonstrates how to implement high-quality MPEG-2 video capture functionality in your Delphi applications by leveraging TV tuners with built-in hardware encoding capabilities. Hardware encoding significantly reduces CPU usage while maintaining excellent video quality. ## Overview of MPEG-2 Hardware Encoding[¶](#overview-of-mpeg-2-hardware-encoding "Permanent link") MPEG-2 hardware encoders provide superior performance compared to software-based encoding solutions. They're particularly useful for developing professional video capture applications that require efficient processing and high-quality output. ## Enumerating Available MPEG-2 Hardware Encoders[¶](#enumerating-available-mpeg-2-hardware-encoders "Permanent link") The first step is to identify all available MPEG-2 hardware encoders in the system. This code demonstrates how to populate a dropdown with detected devices: `[](#__codelineno-0-1)// List all available MPEG-2 hardware encoders in the system [](#__codelineno-0-2)// This helps users select the appropriate encoding device [](#__codelineno-0-3)VideoCapture1.Special_Filters_Fill; [](#__codelineno-0-4)for I := 0 to VideoCapture1.Special_Filters_GetCount(SF_Hardware_Video_Encoder) - 1 do [](#__codelineno-0-5) cbMPEGEncoder.Items.Add(VideoCapture1.Special_Filters_GetItem(SF_Hardware_Video_Encoder, i));` `[](#__codelineno-1-1)// C++ MFC implementation for MPEG-2 encoder enumeration [](#__codelineno-1-2)// Populates a combobox with all detected hardware encoders [](#__codelineno-1-3)m_VideoCapture.Special_Filters_Fill(); [](#__codelineno-1-4)for (int i = 0; i < m_VideoCapture.Special_Filters_GetCount(SF_Hardware_Video_Encoder); i++) [](#__codelineno-1-5){ [](#__codelineno-1-6) CString... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/mpeg2-capture/index.html #### Network WMV Streaming in Delphi Applications - VisioForge Help [Skip to content](#wmv-network-streaming-implementation-guide) # WMV Network Streaming Implementation Guide[¶](#wmv-network-streaming-implementation-guide "Permanent link") ## Overview[¶](#overview "Permanent link") This guide demonstrates how to implement network-based video broadcasting using Windows Media Video (WMV) format in your Delphi applications. The techniques shown here allow you to stream video content over networks while simultaneously capturing and saving the video to a file for archival purposes. ## Requirements[¶](#requirements "Permanent link") Before implementing WMV network streaming, ensure that you have: - A supported video capture device connected to your system - Proper network access and permissions - A valid WMV profile file with encoder settings ## Implementation Steps[¶](#implementation-steps "Permanent link") ### Basic Configuration[¶](#basic-configuration "Permanent link") To enable WMV network streaming in your application, you'll need to configure several essential parameters: 1. Enable network streaming functionality 2. Specify a WMV profile file containing video encoding parameters 3. Set the maximum number of concurrent client connections 4. Define the network port for client connections ### Delphi Implementation Code[¶](#delphi-implementation-code "Permanent link") `[](#__codelineno-0-1)// Delphi code for configuring WMV network streaming [](#__codelineno-0-2)// Enable the network streaming functionality [](#__codelineno-0-3)VideoCapture1.Network_Streaming_Enabled := true; [](#__codelineno-0-4)[](#__codelineno-0-5)// Set the path to the WMV profile file containing encoder settings [](#__codelineno-0-6)// This file defines video quality, bitrate, resolution, etc. [](#__codelineno-0-7)VideoCapture1.Network_Streaming_WMV_Profile_FileName := edNetworkStreamingWMVProfile.Text; [](#__codelineno-0-8)[](#__codelineno-0-9)// Define maximum number of concurrent clients that can connect [](#__codelineno-0-10)VideoCapt... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/network-streaming-wmv/index.html #### Delphi Video Processing - Resize & Crop Tutorial - VisioForge Help [Skip to content](#video-resizing-and-cropping-in-delphi-tvfvideocapture) # Video Resizing and Cropping in Delphi TVFVideoCapture[¶](#video-resizing-and-cropping-in-delphi-tvfvideocapture "Permanent link") Video manipulation is a critical component of many modern applications. This guide provides detailed instructions for implementing real-time video resizing and cropping in your Delphi applications with minimal performance impact. ## Why Resize or Crop Video?[¶](#why-resize-or-crop-video "Permanent link") Video resizing and cropping serve multiple purposes in development: - Optimize video for different display sizes - Reduce bandwidth requirements for streaming - Focus on specific regions of interest - Create uniform video dimensions across your application - Improve performance on resource-constrained devices ## Enabling Resize and Crop Functionality[¶](#enabling-resize-and-crop-functionality "Permanent link") Before applying any transformations, you must enable the resize/crop functionality in the TVFVideoCapture component. ### Step 1: Enable the Feature[¶](#step-1-enable-the-feature "Permanent link") `[](#__codelineno-0-1)// Enable video resizing or cropping functionality [](#__codelineno-0-2)VideoCapture1.Video_ResizeOrCrop_Enabled := true;` `[](#__codelineno-1-1)// C++ MFC - Enable video transformation capabilities [](#__codelineno-1-2)m_VideoCapture.SetVideo_ResizeOrCrop_Enabled(TRUE);` `[](#__codelineno-2-1)' VB6 - Activate resize/crop features [](#__codelineno-2-2)VideoCapture1.Video_ResizeOrCrop_Enabled = True` ## Video Resizing Implementation[¶](#video-resizing-implementation "Permanent link") Resizing allows you to change the dimensions of your video stream while maintaining visual quality. ### Setting New Dimensions[¶](#setting-new-dimensions "Permanent link") `[](#__codelineno-3-1)// Set the desired width and height for the resized video output [](#__codelineno-3-2)VideoCapture1.Video_Resize_NewWidth := StrToInt(edResizeWidt... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/resize-crop/index.html #### Screen Recording in Delphi Applications - VisioForge Help [Skip to content](#screen-recording-implementation-in-delphi) # Screen Recording Implementation in Delphi[¶](#screen-recording-implementation-in-delphi "Permanent link") ## Introduction to Screen Capture Functionality[¶](#introduction-to-screen-capture-functionality "Permanent link") TVFVideoCapture provides powerful screen recording capabilities for Delphi developers. This guide walks through the implementation of screen capture features in your applications, allowing you to record specific regions or the entire screen with customizable settings. ## Configuring Screen Capture Area[¶](#configuring-screen-capture-area "Permanent link") You can precisely control which portion of the screen to record by setting coordinate parameters. This is particularly useful when you want to focus on specific application windows or screen regions. ### Setting Specific Screen Coordinates[¶](#setting-specific-screen-coordinates "Permanent link") Use these parameters to define the exact boundaries of your capture area: `[](#__codelineno-0-1)// Define the top edge position of the capture rectangle (in pixels) [](#__codelineno-0-2)VideoCapture1.Screen_Capture_Top := StrToInt(edScreenTop.Text); [](#__codelineno-0-3)// Define the bottom edge position of the capture rectangle (in pixels) [](#__codelineno-0-4)VideoCapture1.Screen_Capture_Bottom := StrToInt(edScreenBottom.Text); [](#__codelineno-0-5)// Define the left edge position of the capture rectangle (in pixels) [](#__codelineno-0-6)VideoCapture1.Screen_Capture_Left := StrToInt(edScreenLeft.Text); [](#__codelineno-0-7)// Define the right edge position of the capture rectangle (in pixels) [](#__codelineno-0-8)VideoCapture1.Screen_Capture_Right := StrToInt(edScreenRight.Text);` `[](#__codelineno-1-1)// Define the top edge position of the capture rectangle (in pixels) [](#__codelineno-1-2)m_VideoCapture.SetScreen_Capture_Top(atoi(m_edScreenTop.GetWindowText())); [](#__codelineno-1-3)// Define the bottom edge position of the cap... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/screen-capture/index.html #### Delphi Video Capture - Device Selection Guide - VisioForge Help [Skip to content](#code-sample-how-to-select-video-and-audio-capture-devices) # Code sample - How to select video and audio capture devices?[¶](#code-sample-how-to-select-video-and-audio-capture-devices "Permanent link") Delphi, C++ MFC and VB6 sample code ## Select video source[¶](#select-video-source "Permanent link") ### Get a list of available video capture devices[¶](#get-a-list-of-available-video-capture-devices "Permanent link") `[](#__codelineno-0-1)for i := 0 to VideoCapture1.Video_CaptureDevices_GetCount - 1 do [](#__codelineno-0-2) cbVideoInputDevice.Items.Add(VideoCapture1.Video_CaptureDevices_GetItem(i));` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.Video_CaptureDevices_GetCount(); i++) [](#__codelineno-1-3) m_cbVideoInputDevice.AddString(m_VideoCapture.Video_CaptureDevices_GetItem(i));` `[](#__codelineno-2-1)' VB6 [](#__codelineno-2-2)For i = 0 To VideoCapture1.Video_CaptureDevices_GetCount - 1 [](#__codelineno-2-3) cbVideoInputDevice.AddItem VideoCapture1.Video_CaptureDevices_GetItem(i) [](#__codelineno-2-4)Next i` ### Select the video input device[¶](#select-the-video-input-device "Permanent link") `[](#__codelineno-3-1)VideoCapture1.Video_CaptureDevice := cbVideoInputDevice.Items[cbVideoInputDevice.ItemIndex];` `[](#__codelineno-4-1)// C++ MFC [](#__codelineno-4-2)CString strDevice; [](#__codelineno-4-3)m_cbVideoInputDevice.GetLBText(m_cbVideoInputDevice.GetCurSel(), strDevice); [](#__codelineno-4-4)m_VideoCapture.put_Video_CaptureDevice(strDevice);` `[](#__codelineno-5-1)' VB6 [](#__codelineno-5-2)VideoCapture1.Video_CaptureDevice = cbVideoInputDevice.Text` ### Get a list of available video formats[¶](#get-a-list-of-available-video-formats "Permanent link") `[](#__codelineno-6-1)VideoCapture1.Video_CaptureDevice_Formats_Fill; [](#__codelineno-6-2)for I := 0 to VideoCapture1.Video_CaptureDevice_Formats_GetCount - 1 do [](#__codelineno-6-3) cbVideoInputFormat.Items.Add(VideoCaptur... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/video-audio-sources/index.html #### Video Capture to AVI Files in Delphi Applications - VisioForge Help [Skip to content](#complete-guide-to-video-capture-to-avi-files-in-delphi) # Complete Guide to Video Capture to AVI Files in Delphi[¶](#complete-guide-to-video-capture-to-avi-files-in-delphi "Permanent link") When developing multimedia applications in Delphi, video capture functionality is often a critical requirement. This guide explores how to implement high-quality video capture to AVI files using the TVFVideoCapture component in Delphi applications. We'll cover everything from setting up codecs to configuring audio parameters and starting the capture process. ## Understanding AVI Video Capture in Delphi[¶](#understanding-avi-video-capture-in-delphi "Permanent link") The TVFVideoCapture component provides a powerful and flexible way to capture video directly to AVI format in Delphi applications. AVI (Audio Video Interleave) remains a popular video container format due to its broad compatibility and reliability for recording purposes. When implementing video capture in your Delphi application, you'll need to consider several key aspects: 1. Selecting appropriate video and audio codecs 2. Configuring audio parameters 3. Setting the output format and capture mode 4. Managing the capture process This guide provides detailed explanations and code samples for each of these steps. ## Working with Video and Audio Codecs[¶](#working-with-video-and-audio-codecs "Permanent link") ### Retrieving Available Codecs[¶](#retrieving-available-codecs "Permanent link") Before capturing video, you'll need to populate your application with the available video and audio codecs. The TVFVideoCapture component makes this straightforward: `[](#__codelineno-0-1)procedure TMyForm.PopulateCodecLists; [](#__codelineno-0-2)var [](#__codelineno-0-3) I: Integer; [](#__codelineno-0-4)begin [](#__codelineno-0-5) // Clear existing items [](#__codelineno-0-6) cbVideoCodecs.Items.Clear; [](#__codelineno-0-7) cbAudioCodecs.Items.Clear; [](#__codelineno-0-8) [](#__codelineno... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/video-capture-avi/index.html #### Delphi Video Capture to DV File Format Guide - VisioForge Help [Skip to content](#video-capture-to-dv-file-format-implementation-guide) # Video Capture to DV File Format: Implementation Guide[¶](#video-capture-to-dv-file-format-implementation-guide "Permanent link") Digital Video (DV) remains a reliable format for video capture applications, particularly when working with legacy systems or specific professional requirements. This guide explores how to implement DV video capture functionality in your Delphi applications, with additional C++ MFC and VB6 examples for cross-platform reference. ## Understanding DV Format Options[¶](#understanding-dv-format-options "Permanent link") DV format offers several advantages for video capture applications: - Consistent quality with minimal generation loss - Efficient storage for professional video content - Support for both PAL and NTSC standards - Compatibility with professional video editing software - Reliable audio synchronization When implementing DV video capture, developers have two primary approaches: 1. **Direct Stream Capture** - Raw DV data without recompression 2. **Recompressed DV** - Processed video with customizable settings Each approach serves different use cases depending on your application requirements. ## Direct Stream Capture Implementation[¶](#direct-stream-capture-implementation "Permanent link") Direct stream capture provides the highest quality by avoiding any recompression of the video signal. This method is ideal for archival purposes and professional video production where maintaining the original signal integrity is crucial. ### Configuring DV Type Settings[¶](#configuring-dv-type-settings "Permanent link") The first step in implementing direct stream capture is setting the appropriate DV type configuration: #### Delphi[¶](#delphi "Permanent link") `[](#__codelineno-0-1)VideoCapture1.DV_Capture_Type2 := rbDVType2.Checked;` #### C++ MFC[¶](#c-mfc "Permanent link") `[](#__codelineno-1-1)m_videoCapture.SetDVCaptureType2(m_rbDVType2.G... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/video-capture-dv/index.html #### Video Capture to WMV - Implementation Guide - VisioForge Help [Skip to content](#video-capture-to-windows-media-video-wmv-using-external-profiles) # Video Capture to Windows Media Video (WMV) Using External Profiles[¶](#video-capture-to-windows-media-video-wmv-using-external-profiles "Permanent link") ## Introduction[¶](#introduction "Permanent link") Capturing video to Windows Media Video (WMV) format is a common requirement in many software applications. This guide provides a detailed walkthrough of implementing video capture functionality using external WMV profiles in Delphi, C++ MFC, and VB6 applications. The WMV format remains popular due to its compatibility with Windows platforms and efficient compression algorithms that balance quality and file size. ## Understanding WMV and External Profiles[¶](#understanding-wmv-and-external-profiles "Permanent link") Windows Media Video (WMV) is a compressed video file format developed by Microsoft as part of the Windows Media framework. When capturing video to WMV format, using external profiles allows for greater flexibility and customization of the output. External profiles contain pre-configured settings that define: - Video resolution - Bitrate - Frame rate - Compression quality - Audio settings - Other encoding parameters By leveraging external profiles, developers can quickly implement different quality presets without having to manually configure each parameter in code. ## Implementation Steps[¶](#implementation-steps "Permanent link") ### Step 1: Setting Up Your Environment[¶](#step-1-setting-up-your-environment "Permanent link") Before implementing video capture functionality, ensure your development environment is properly configured: 1. Install the necessary video capture component 2. Add the component reference to your project 3. Design your user interface to include: 4. A file selector for choosing the WMV profile 5. Output file location selector 6. Video capture preview window 7. Start/Stop capture controls ### Step 2: Selecting a WM... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/video-capture-wmv/index.html #### Delphi Video Input Source Selection with Crossbar - VisioForge Help [Skip to content](#selecting-video-input-sources-with-crossbar-technology) # Selecting Video Input Sources with Crossbar Technology[¶](#selecting-video-input-sources-with-crossbar-technology "Permanent link") ## Introduction to Video Input Selection[¶](#introduction-to-video-input-selection "Permanent link") When developing applications that capture video from external devices, you'll often need to handle multiple input sources. The crossbar is a crucial component in video capture systems that allows you to route different physical inputs (like composite, S-Video, HDMI) to your application. This guide walks you through the process of detecting, configuring, and selecting video inputs using the crossbar interface in Delphi, C++ MFC, and Visual Basic 6 applications. ## Understanding Crossbar Technology[¶](#understanding-crossbar-technology "Permanent link") Crossbar technology functions as a routing matrix in video capture devices, enabling the connection between various inputs and outputs. Modern capture cards and TV tuners frequently incorporate crossbar functionality to facilitate switching between different video sources such as: - Composite video inputs - S-Video connections - Component video - HDMI inputs - TV tuner inputs - Digital video interfaces Properly configuring these connections programmatically is essential for applications that need to dynamically switch between different video sources. ## Implementation Steps Overview[¶](#implementation-steps-overview "Permanent link") The implementation process for configuring crossbar connections in your application involves three main steps: 1. Initializing the crossbar interface and verifying its availability 2. Enumerating available video inputs for selection 3. Connecting the selected input to the video decoder output Let's examine each step in detail with sample code for Delphi, C++ MFC, and VB6 environments. ## Detailed Implementation Guide[¶](#detailed-implementation-guide "Perm... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/video-input-crossbar/index.html #### Video Renderer Options for Delphi Video Capture - VisioForge Help [Skip to content](#video-renderer-selection-guide-for-tvfvideocapture) # Video Renderer Selection Guide for TVFVideoCapture[¶](#video-renderer-selection-guide-for-tvfvideocapture "Permanent link") ## Overview of Available Renderers[¶](#overview-of-available-renderers "Permanent link") When developing video capture applications with TVFVideoCapture, selecting the appropriate video renderer significantly impacts performance and compatibility. This guide provides detailed implementation examples for the three available renderer options in Delphi, C++, and VB6 environments. ## Standard Video Renderer[¶](#standard-video-renderer "Permanent link") The standard Video Renderer utilizes GDI for drawing operations. This renderer option is primarily recommended for: - Legacy systems - Environments where Direct3D acceleration is unavailable - Maximum compatibility with older hardware `[](#__codelineno-0-1)// Delphi [](#__codelineno-0-2)VideoCapture1.Video_Renderer := VR_VideoRenderer;` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)m_VideoCapture.SetVideo_Renderer(VR_VideoRenderer);` `[](#__codelineno-2-1)' VB6 [](#__codelineno-2-2)VideoCapture1.Video_Renderer = VR_VideoRenderer` ## Video Mixing Renderer 9 (VMR9)[¶](#video-mixing-renderer-9-vmr9 "Permanent link") VMR9 represents a modern filtering solution capable of leveraging GPU capabilities for enhanced rendering. Key advantages include: - Hardware-accelerated video processing - Advanced deinterlacing options - Improved performance for high-resolution content `[](#__codelineno-3-1)// Delphi [](#__codelineno-3-2)VideoCapture1.Video_Renderer := VR_VMR9;` `[](#__codelineno-4-1)// C++ MFC [](#__codelineno-4-2)m_VideoCapture.SetVideo_Renderer(VR_VMR9);` `[](#__codelineno-5-1)' VB6 [](#__codelineno-5-2)VideoCapture1.Video_Renderer = VR_VMR9` ### Accessing Deinterlacing Modes[¶](#accessing-deinterlacing-modes "Permanent link") VMR9 supports multiple deinterlacing techniques. The following cod... **URL**: https://www.visioforge.com/help/docs/delphi/videocapture/video-renderer/index.html #### TVFVideoEdit Library Version History & Updates - VisioForge Help [Skip to content](#tvfvideoedit-library-complete-version-history) # TVFVideoEdit Library: Complete Version History[¶](#tvfvideoedit-library-complete-version-history "Permanent link") ## Version 10.0 - Latest Release[¶](#version-100-latest-release "Permanent link") ### Core Improvements[¶](#core-improvements "Permanent link") - **Enhanced Media Compatibility**: Added dedicated MP3 splitter component to resolve playback issues with problematic MP3 files that fail with the default splitter - **Audio Processing Enhancements**: Significantly improved information extraction and metadata reading for Speex audio files - **Performance Optimization**: Fixed critical memory leak in FFMPEG source implementation for better resource management - **Expanded Format Support**: YUV2RGB filter now fully supports HDYC format for professional video workflows ## Version 8.7 - Engine Updates[¶](#version-87-engine-updates "Permanent link") ### Technical Enhancements[¶](#technical-enhancements "Permanent link") - **VLC Integration**: Updated VLC engine to latest stable release (libVLC 2.2.1.0) for improved codec support - **Decoding Capabilities**: Implemented latest FFMPEG engine version with expanded format compatibility ## Version 8.6 - Stability Improvements[¶](#version-86-stability-improvements "Permanent link") ### Bug Fixes & Additions[¶](#bug-fixes-additions "Permanent link") - **Memory Management**: Resolved critical memory leak affecting long-running applications - **File Handling**: Fixed issues with incorrectly closed input and output files that caused resource locking - **WebM Support**: Added new high-performance WebM filters based on the official WebM project specifications ## Version 8.4 - Platform Expansion[¶](#version-84-platform-expansion "Permanent link") ### Development Environment Support[¶](#development-environment-support "Permanent link") - **Modern Delphi**: Added full Delphi XE8 integration and compatibility - **Architecture E... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/changelog/index.html #### TVFVideoEdit Library Deployment Guide - VisioForge Help [Skip to content](#tvfvideoedit-library-deployment-guide) # TVFVideoEdit Library Deployment Guide[¶](#tvfvideoedit-library-deployment-guide "Permanent link") ## Introduction[¶](#introduction "Permanent link") The TVFVideoEdit library provides powerful video editing capabilities for your Delphi and ActiveX applications. This guide explains how to properly deploy all necessary components to ensure your application functions correctly on end-user systems without requiring the full development framework. ## Deployment Options[¶](#deployment-options "Permanent link") You have two primary methods for deploying the TVFVideoEdit library components: automatic installers or manual installation. Each approach has specific advantages depending on your distribution requirements. ### Automatic Silent Installers[¶](#automatic-silent-installers "Permanent link") For streamlined deployment, we offer silent installer packages that handle all necessary component installation without user interaction: #### Required Base Package[¶](#required-base-package "Permanent link") - **Base components** (always required): - [Delphi version](https://files.visioforge.com/redists_delphi/redist_video_edit_base_delphi.exe) - [ActiveX version](https://files.visioforge.com/redists_delphi/redist_video_edit_base_ax.exe) #### Optional Feature Packages[¶](#optional-feature-packages "Permanent link") - **FFMPEG package** (required for file and IP camera support (only for FFMPEG source engine)): - [x86 architecture](https://files.visioforge.com/redists_delphi/redist_video_edit_ffmpeg.exe) - **MP4 output package** (for MP4 video creation): - [x86 architecture](https://files.visioforge.com/redists_delphi/redist_video_edit_mp4.exe) ### Manual Installation Process[¶](#manual-installation-process "Permanent link") For situations where you need precise control over component deployment, follow these detailed steps: 1. **Install Visual C++ Dependencies** 2. Install VC++ 2010 SP1 re... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/deployment/index.html #### TVFVideoEdit Library for Delphi Developers - VisioForge Help [Skip to content](#tvfvideoedit-for-delphi-activex-development) # TVFVideoEdit for Delphi / ActiveX Development[¶](#tvfvideoedit-for-delphi-activex-development "Permanent link") ## Introduction to TVFVideoEdit[¶](#introduction-to-tvfvideoedit "Permanent link") The TVFVideoEdit library empowers Delphi developers to integrate sophisticated video editing functionality into their applications. This robust SDK provides a complete framework for handling diverse media operations while maintaining excellent performance and stability across projects of varying complexity. ## Core Capabilities[¶](#core-capabilities "Permanent link") ### Format Support[¶](#format-support "Permanent link") TVFVideoEdit accommodates a wide array of video and audio formats, enabling seamless work with most industry-standard media types. This extensive compatibility ensures your application can process virtually any file users might import. ### Video Processing[¶](#video-processing "Permanent link") The library excels in fundamental video manipulation tasks, offering precise control over: - Resolution adjustment - Frame rate conversion - Aspect ratio modification - Color correction tools - Quality enhancement algorithms ### Effects and Transitions[¶](#effects-and-transitions "Permanent link") Enhance your application with: - Professional visual effects - Smooth transitions between clips - Custom animation capabilities - Real-time preview functionality - Text overlay with font control - Image compositing - Watermarking capabilities - Custom graphic insertion #### Audio Processing[¶](#audio-processing "Permanent link") Create complete multimedia solutions with: - Volume normalization - Equalization tools - Audio effects application - Voice enhancement options ## Technical Advantages[¶](#technical-advantages "Permanent link") ### Output Flexibility[¶](#output-flexibility "Permanent link") Export finished projects in multiple formats with customiz... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/index.html #### TVFVideoEdit Integration for C++ Builder - VisioForge Help [Skip to content](#complete-guide-to-tvfvideoedit-installation-in-c-builder) # Complete Guide to TVFVideoEdit Installation in C++ Builder[¶](#complete-guide-to-tvfvideoedit-installation-in-c-builder "Permanent link") > Related products: [VisioForge All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Introduction to TVFVideoEdit for C++ Builder[¶](#introduction-to-tvfvideoedit-for-c-builder "Permanent link") The TVFVideoEdit library provides powerful media processing capabilities for C++ Builder applications. This guide walks you through the installation process across different C++ Builder versions. Before you begin development, you'll need to properly install the ActiveX control into your IDE environment where it will be accessible through the component palette. ## Installation Process for Borland C++ Builder 5/6[¶](#installation-process-for-borland-c-builder-56 "Permanent link") ### Accessing the Import Menu[¶](#accessing-the-import-menu "Permanent link") Begin the installation process by navigating to the Component menu in your IDE: 1. Launch your Borland C++ Builder 5/6 environment 2. From the main menu, select **Component -> Import ActiveX Controls** ![Screenshot showing Component menu and Import ActiveX Controls option](../bcb6_1.webp) ### Selecting the Video Edit Control[¶](#selecting-the-video-edit-control "Permanent link") In the Import ActiveX Control dialog: 1. Locate and select the **"VisioForge Video Edit Control"** from the available controls list 2. Click the **Install** button to begin the import process ![Screenshot showing ActiveX control selection dialog](../bcb6_2.webp) ### Confirming Installation[¶](#confirming-installation "Permanent link") The system will prompt you to confirm the installation: 1. A confirmation dialog will appear 2. Click the **Yes** button to proceed with the installation ![Screenshot showing installation confirmation dialog](../bcb6_3.webp) ###... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/install/builder/index.html #### Install TVFVideoEdit in Delphi - VisioForge Help [Skip to content](#install-tvfvideoedit-in-delphi) # Install TVFVideoEdit in Delphi[¶](#install-tvfvideoedit-in-delphi "Permanent link") > Related products: [VisioForge All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Installation Requirements[¶](#installation-requirements "Permanent link") Before beginning the installation process, ensure that you have: 1. Appropriate Delphi version installed and properly configured 2. Administrative rights for package installation 3. Downloaded the latest version of the TVFVideoEdit library ## Installing in Borland Delphi 6/7[¶](#installing-in-borland-delphi-67 "Permanent link") ### Step 1: Configure Library Paths[¶](#step-1-configure-library-paths "Permanent link") Begin by opening the "Options" window in your Delphi IDE. ![Screenshot showing how to open Options window](../ved6_1.webp) Navigate to the Library section and add the source directory to both the library and browser paths. This ensures that Delphi can locate the necessary files. ![Screenshot showing library path configuration](../ved6_2.webp) ### Step 2: Open and Install the Package[¶](#step-2-open-and-install-the-package "Permanent link") Locate and open the main package file from the library. ![Screenshot showing how to open the package](../ved6_3.webp) Install the package by clicking the Install button in the IDE. This registers the components with Delphi's component palette. ![Screenshot showing install button location](../ved6_4.webp) ![Screenshot showing successful installation](../ved6_5.webp) ### Architecture Considerations[¶](#architecture-considerations "Permanent link") The library includes both x86 and x64 architecture versions. However, for Delphi 6/7, you must use the x86 version as these Delphi versions do not support 64-bit development. ## Installing in Delphi 2005 and Later[¶](#installing-in-delphi-2005-and-later "Permanent link") ### Step 1: Launch with Administrative P... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/install/delphi/index.html #### TVFVideoEdit installation in IDEs - VisioForge Help [Skip to content](#tvfvideoedit-library-installation-guide) # TVFVideoEdit library installation guide[¶](#tvfvideoedit-library-installation-guide "Permanent link") The library is available as a Delphi package exclusively for Delphi developers, offering tailored functionality and integration. Additionally, the ActiveX control version is versatile and can be used in MFC, VB6, or any other ActiveX-compatible IDEs, providing broad compatibility and flexibility for developers across different platforms. This ensures a robust and adaptable development experience regardless of your preferred environment. ## Installation[¶](#installation "Permanent link") 1. **Download the latest version of the All-in-One Media Framework**: Visit the [product page](https://www.visioforge.com/all-in-one-media-framework) and download the most recent version of the framework that is suitable for your needs. 2. **Run the setup file**: Once the download is complete, locate the setup file in your download directory and run it. This will start the installation process. 3. **Follow the installation wizard instructions**: The installation wizard will guide you through each step of the process. Carefully read and follow the prompts, accept the license agreement, select the installation directory, and continue by clicking the "Next" button. 4. **Completion**: After the installation is complete, navigate to the installation folder. Here, you will find various library samples and comprehensive documentation designed to assist you in getting started with integrating the library into your projects. ### Delphi packages installation[¶](#delphi-packages-installation "Permanent link") For detailed instructions on installing the TVFVideoEdit packages in your Delphi IDE, please refer to the following [Delphi installation guide](delphi/). ### ActiveX installation[¶](#activex-installation "Permanent link") #### C++ Builder[¶](#c-builder "Permanent link") For [C++ Builder](builder/), the installati... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/install/index.html #### Integrating TVFVideoEdit ActiveX in VB6 Projects - VisioForge Help [Skip to content](#installing-tvfvideoedit-activex-control-in-visual-basic-6) # Installing TVFVideoEdit ActiveX Control in Visual Basic 6[¶](#installing-tvfvideoedit-activex-control-in-visual-basic-6 "Permanent link") ## Introduction[¶](#introduction "Permanent link") Visual Basic 6 remains a popular development environment for creating Windows applications. By leveraging our TVFVideoEdit library as an ActiveX control, developers can incorporate advanced video editing and processing capabilities into their VB6 applications without extensive coding. ## Technical Requirements and Limitations[¶](#technical-requirements-and-limitations "Permanent link") Microsoft Visual Basic 6 operates as a 32-bit development platform and cannot produce 64-bit applications. Due to this architectural constraint, only the x86 (32-bit) version of our library is compatible with VB6 projects. Despite this limitation, the 32-bit implementation delivers excellent performance and provides full access to the library's extensive feature set. ## Installation Process[¶](#installation-process "Permanent link") Follow these detailed steps to properly install the TVFVideoEdit ActiveX control in your Visual Basic 6 environment: ### Step 1: Create a New Project[¶](#step-1-create-a-new-project "Permanent link") Begin by launching Visual Basic 6 and creating a new project: 1. Open Visual Basic 6 IDE 2. Select "New Project" from the File menu 3. Choose "Standard EXE" as the project type 4. Click "OK" to create the baseline project ![Creating a new VB6 project](../vevb6_1.webp) ### Step 2: Access Components Dialog[¶](#step-2-access-components-dialog "Permanent link") Next, you need to register the ActiveX control within your development environment: 1. In the menu, navigate to "Project" 2. Select "Components" to open the components dialog ![Opening the Components dialog](../vevb6_2.webp) ### Step 3: Select the TVFVideoEdit Control[¶](#step-3-select-the-tvfvideoedit-control "Permane... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/install/visual-basic-6/index.html #### Install TVFVideoEdit in Visual Studio - VisioForge Help [Skip to content](#install-tvfvideoedit-in-visual-studio) # Install TVFVideoEdit in Visual Studio[¶](#install-tvfvideoedit-in-visual-studio "Permanent link") ## Overview[¶](#overview "Permanent link") > Related products: [All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) TVFVideoEdit provides powerful video editing capabilities through ActiveX controls that integrate smoothly with various development environments. This guide walks you through the installation process specifically for Visual Studio 2010 and later versions. ## Compatibility Information[¶](#compatibility-information "Permanent link") The ActiveX control can be used directly in C++ projects without additional wrappers. For C# or VB.Net development, Visual Studio automatically creates a custom wrapper assembly that enables the ActiveX API in managed code environments. ## Prerequisites[¶](#prerequisites "Permanent link") Before beginning the installation process, ensure you have: - Visual Studio 2010 or later installed on your development machine - Administrative privileges (required for ActiveX registration) - Both x86 and x64 ActiveX controls registered (Visual Studio might use x86 for the UI designer even when targeting x64) ## Step-by-Step Installation Guide[¶](#step-by-step-installation-guide "Permanent link") ### Creating a New Project[¶](#creating-a-new-project "Permanent link") 1. Start Visual Studio and create a new project using C++, C#, or Visual Basic. 2. For this demonstration, we'll use a C# Windows Forms application, but the process applies similarly to VB.Net and C++ MFC projects. ![New project creation screen](../vevs2003_1.webp) ### Adding the ActiveX Control to Your Toolbox[¶](#adding-the-activex-control-to-your-toolbox "Permanent link") 1. Right-click on the Toolbox panel in Visual Studio 2. Select the "Choose Items" option from the context menu that appears ![Opening Choose Items dialog](../vevs2003_2.web... **URL**: https://www.visioforge.com/help/docs/delphi/videoedit/install/visual-studio/index.html #### DirectShow Filter Registration Guide - VisioForge Help [Skip to content](#directshow-filter-registration-guide) # DirectShow Filter Registration Guide[¶](#directshow-filter-registration-guide "Permanent link") ## Overview[¶](#overview "Permanent link") DirectShow filters must be registered with Windows before they can be used in applications. This guide covers all registration methods for VisioForge DirectShow filters. * * * ## Registration Methods[¶](#registration-methods "Permanent link") ### Method 1: Automatic Registration (Installer)[¶](#method-1-automatic-registration-installer "Permanent link") The recommended method for end-users is to use the official installer. **Available Installers**: - `visioforge_ffmpeg_source_filter_setup.exe` - FFMPEG Source Filter - `visioforge_vlc_source_filter_setup.exe` - VLC Source Filter - `visioforge_processing_filters_pack_setup.exe` - Processing Filters Pack - `visioforge_encoding_filters_pack_setup.exe` - Encoding Filters Pack - `visioforge_virtual_camera_sdk_setup.exe` - Virtual Camera SDK **Installation Steps**: 1. Run installer as Administrator 2. Follow installation wizard 3. Filters are automatically registered 4. No additional steps required * * * ### Method 2: Manual Registration (regsvr32)[¶](#method-2-manual-registration-regsvr32 "Permanent link") For development and testing, you can manually register filters using Windows `regsvr32` utility. #### Registration Command[¶](#registration-command "Permanent link") `[](#__codelineno-0-1)# Open Command Prompt as Administrator [](#__codelineno-0-2)# Right-click Start → Command Prompt (Admin) [](#__codelineno-0-3)[](#__codelineno-0-4)# Register x86 (32-bit) filter [](#__codelineno-0-5)regsvr32 "C:\Path\To\Filter.ax" [](#__codelineno-0-6)[](#__codelineno-0-7)# Register x64 (64-bit) filter [](#__codelineno-0-8)regsvr32 "C:\Path\To\Filter_x64.ax" [](#__codelineno-0-9)[](#__codelineno-0-10)# Unregister filter [](#__codelineno-0-11)regsvr32 /u "C:\Path\To\Filter.ax"` #### SDK-Specific Examples[¶](#sdk-specific-examp... **URL**: https://www.visioforge.com/help/docs/directshow/deployment/filter-registration/index.html #### DirectShow Filter Deployment & Installation Guide - VisioForge Help [Skip to content](#directshow-sdks-deployment-guide) # DirectShow SDKs - Deployment Guide[¶](#directshow-sdks-deployment-guide "Permanent link") ## Overview[¶](#overview "Permanent link") This comprehensive deployment guide covers everything you need to know about deploying VisioForge DirectShow SDKs in production environments. From filter registration to creating professional installers, this guide ensures your applications deploy smoothly. * * * ## What's Covered[¶](#whats-covered "Permanent link") ### Core Deployment Topics[¶](#core-deployment-topics "Permanent link") #### [Filter Registration](filter-registration/)[¶](#filter-registration "Permanent link") Learn how to register DirectShow filters using multiple methods. **Topics**: - Manual registration with regsvr32 - Programmatic registration (C++, C#) - Batch scripts for automation - Verification techniques - Troubleshooting registration issues - Registration-free COM **When to Read**: Essential for all deployment scenarios * * * #### [Redistributable Files](redistributable-files/)[¶](#redistributable-files "Permanent link") Complete reference of files to include in your deployment. **Topics**: - FFMPEG Source Filter files (~80-100MB) - VLC Source Filter files (~150-200MB) - Processing Filters Pack files (~20-180MB) - Encoding Filters Pack files (~40-300MB) - Virtual Camera SDK files (~15-35MB) - Dependencies and directory structures **When to Read**: Before creating installers or deployment packages * * * #### [Installer Integration](installer-integration/)[¶](#installer-integration "Permanent link") Create professional installers with WiX, NSIS, InstallShield, and Inno Setup. **Topics**: - WiX Toolset (MSI) - NSIS scripts - InstallShield projects - Inno Setup scripts - Custom actions for registration - Silent installation - Prerequisite bundling **When to Read**: When creating automated installation packages * * * ## Quick Start[¶](#quick-sta... **URL**: https://www.visioforge.com/help/docs/directshow/deployment/index.html #### Installer Integration Guide - DirectShow SDKs - VisioForge Help [Skip to content](#installer-integration-guide) # Installer Integration Guide[¶](#installer-integration-guide "Permanent link") ## Overview[¶](#overview "Permanent link") This guide provides comprehensive instructions for integrating VisioForge DirectShow filters into Windows installers. It covers multiple installer technologies, custom actions for filter registration, dependency management, and best practices. * * * ## Prerequisites[¶](#prerequisites "Permanent link") Before creating an installer, ensure you understand: - [Redistributable Files](../redistributable-files/) - Files to include in installer - [Filter Registration](../filter-registration/) - Registration mechanisms - Target platform architecture (x86/x64) - Visual C++ Redistributable requirements * * * ## Installer Technologies Overview[¶](#installer-technologies-overview "Permanent link") ### WiX Toolset[¶](#wix-toolset "Permanent link") **Best For**: Enterprise applications, MSI-based deployments, IT automation **Advantages**: - XML-based declarative syntax - Native MSI support - Excellent Windows Installer integration - Group Policy deployment support - Active development and community **Requirements**: - WiX Toolset 3.x or 4.x - Visual Studio integration (optional) - .wixproj project files [View WiX Examples →](#wix-toolset-examples) * * * ### NSIS (Nullsoft Scriptable Install System)[¶](#nsis-nullsoft-scriptable-install-system "Permanent link") **Best For**: Lightweight installers, custom UI, portable applications **Advantages**: - Small installer size - Highly customizable - Simple scripting language - No runtime dependencies - Fast execution **Requirements**: - NSIS 3.x compiler - .nsi script files [View NSIS Examples →](#nsis-examples) * * * ### InstallShield[¶](#installshield "Permanent link") **Best For**: Commercial applications, complex installations, advanced features **Advantages**: - Professional GUI designer - Built-in prerequisites detection... **URL**: https://www.visioforge.com/help/docs/directshow/deployment/installer-integration/index.html #### DirectShow SDKs - Redistributable Files Reference - VisioForge Help [Skip to content](#directshow-sdks-redistributable-files-reference) # DirectShow SDKs - Redistributable Files Reference[¶](#directshow-sdks-redistributable-files-reference "Permanent link") ## Overview[¶](#overview "Permanent link") This document provides a complete list of files required to redistribute each DirectShow SDK with your application. All files must be included in your installer or deployment package. * * * ## FFMPEG Source Filter[¶](#ffmpeg-source-filter "Permanent link") ### Core Files[¶](#core-files "Permanent link") #### x86 (32-bit)[¶](#x86-32-bit "Permanent link") **Filter**: - `VisioForge_FFMPEG_Source.ax` - Main DirectShow filter **FFmpeg Libraries** (required): - `avcodec-58.dll` - Video/audio codec library - `avdevice-58.dll` - Device handling - `avfilter-7.dll` - Audio/video filtering - `avformat-58.dll` - Container format handling - `avutil-56.dll` - Utility functions - `swresample-3.dll` - Audio resampling - `swscale-5.dll` - Video scaling and color conversion **Total Size**: ~80-100 MB #### x64 (64-bit)[¶](#x64-64-bit "Permanent link") **Filter**: - `VisioForge_FFMPEG_Source_x64.ax` - Main DirectShow filter (64-bit) **FFmpeg Libraries** (required): - `avcodec-58.dll` - 64-bit version - `avdevice-58.dll` - 64-bit version - `avfilter-7.dll` - 64-bit version - `avformat-58.dll` - 64-bit version - `avutil-56.dll` - 64-bit version - `swresample-3.dll` - 64-bit version - `swscale-5.dll` - 64-bit version **Total Size**: ~90-110 MB ### Installation Directory Structure[¶](#installation-directory-structure "Permanent link") `[](#__codelineno-0-1)YourApp\ [](#__codelineno-0-2)├── VisioForge_FFMPEG_Source.ax (x86) [](#__codelineno-0-3)├── VisioForge_FFMPEG_Source_x64.ax (x64) [](#__codelineno-0-4)├── avcodec-58.dll [](#__codelineno-0-5)├── avdevice-58.dll [](#__codelineno-0-6)├── avfilter-7.dll [](#__codelineno-0-7)├── avformat-58.dll [](#__codelineno-0-8)├── avutil-56.dll [](#__codelineno-0-9)├── swresample-3.dll [](#__cod... **URL**: https://www.visioforge.com/help/docs/directshow/deployment/redistributable-files/index.html #### Code Examples - VisioForge Help [Skip to content](#code-examples) # Code Examples[¶](#code-examples "Permanent link") ## Overview[¶](#overview "Permanent link") This page provides practical code examples for using the FFMPEG Source Filter in DirectShow applications. Examples are provided in C++, C#, and VB.NET. ## Complete Working Samples[¶](#complete-working-samples "Permanent link") **Official GitHub Repository**: All examples shown on this page are available as complete, working Visual Studio projects in our GitHub samples repository: 🔗 **[DirectShow Samples Repository](https://github.com/visioforge/directshow-samples)** ### FFMPEG Source Filter Samples[¶](#ffmpeg-source-filter-samples "Permanent link") - **[C# Sample](https://github.com/visioforge/directshow-samples/tree/master/FFMPEG%20Source%20Filter/dotnet/cs)** - Full-featured media player with all filter capabilities - **[VB.NET Sample](https://github.com/visioforge/directshow-samples/tree/master/FFMPEG%20Source%20Filter/dotnet/vbnet)** - VB.NET implementation - **[C++Builder Sample](https://github.com/visioforge/directshow-samples/tree/master/FFMPEG%20Source%20Filter/cpp_builder)** - C++ implementation Each sample includes: - Complete Visual Studio/C++Builder project files - Working code for playback, stream selection, and configuration - Hardware acceleration examples - Network streaming (RTSP/HLS) examples * * * ## Prerequisites[¶](#prerequisites "Permanent link") ### C++ Projects[¶](#c-projects "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "IFFMPEGSourceSettings.h" // From SDK [](#__codelineno-0-4)#pragma comment(lib, "strmiids.lib")` ### C# Projects[¶](#c-projects_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices;` **NuGet Packages**: - VisioForge.DirectShowAPI - MediaFoundationCore * * *... **URL**: https://www.visioforge.com/help/docs/directshow/ffmpeg-source-filters/examples/index.html #### FFMPEG Source DirectShow Filter for Multimedia Apps - VisioForge Help [Skip to content](#ffmpeg-source-directshow-filter) # FFMPEG Source DirectShow Filter[¶](#ffmpeg-source-directshow-filter "Permanent link") ## Introduction[¶](#introduction "Permanent link") The FFMPEG Source DirectShow filter enables developers to seamlessly integrate advanced media decoding and playback capabilities into any DirectShow-compatible application. This powerful component bridges the gap between complex multimedia formats and your software development needs, providing a robust foundation for building media-rich applications. * * * ## Installation[¶](#installation "Permanent link") Before using the code samples and integrating the filter into your application, you must first install the FFMPEG Source DirectShow Filter from the [product page](https://www.visioforge.com/ffmpeg-source-directshow-filter). **Installation Steps**: 1. Download the SDK installer from the product page 2. Run the installer with administrative privileges 3. The installer will register the FFMPEG Source filter and deploy all necessary FFMPEG DLLs 4. Sample applications and source code will be available in the installation directory **Note**: The filter must be properly registered on the system before it can be used in your applications. The installer handles this automatically. * * * ## Key Features and Capabilities[¶](#key-features-and-capabilities "Permanent link") Our filter comes bundled with all necessary FFMPEG DLLs and provides a feature-rich DirectShow filter interface that supports: - **Extensive Format Compatibility**: Handle a wide range of video and audio formats including MP4, MKV, AVI, MOV, WMV, FLV, and many others without additional codec installations - **Network Stream Support**: Connect to RTSP, RTMP, HTTP, UDP, and TCP streams for live media integration - **Multiple Stream Management**: Select between video and audio streams in multi-stream media files - **Advanced Seeking Capabilities**: Implement precise seeking functionality in your... **URL**: https://www.visioforge.com/help/docs/directshow/ffmpeg-source-filters/index.html #### FFMPEG Source Filter - Interface Reference - VisioForge Help [Skip to content](#iffmpegsourcesettings-interface-reference) # IFFmpegSourceSettings Interface Reference[¶](#iffmpegsourcesettings-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The `IFFmpegSourceSettings` interface provides advanced configuration options for the FFMPEG Source DirectShow filter. This interface enables developers to control hardware acceleration, buffering behavior, custom FFmpeg options, and various callbacks for media playback. ## Interface Definition[¶](#interface-definition "Permanent link") - **Interface Name**: `IFFmpegSourceSettings` - **GUID**: `{1974D893-83E4-4F89-9908-795C524CC17E}` - **Inherits From**: `IUnknown` ### Interface Definition Files[¶](#interface-definition-files "Permanent link") Complete interface definitions are available on GitHub: - **C# (.NET)**: [IFFmpegSourceSettings.cs](https://github.com/visioforge/directshow-samples/blob/main/Interfaces/dotnet/IFFmpegSourceSettings.cs) - **C++ Header**: [IFFmpegSourceSettings.h](https://github.com/visioforge/directshow-samples/blob/main/Interfaces/cpp/FFMPEG%20Source/IFFmpegSourceSettings.h) - **Delphi**: [VCFiltersAPI.pas](https://github.com/visioforge/directshow-samples/blob/main/Interfaces/delphi/VCFiltersAPI.pas) (search for `IFFMPEGSourceSettings`) All interface definitions include: - Complete method signatures with proper marshalling attributes - Callback delegate definitions - Enumeration types (buffering modes, media types) - Usage documentation and examples ## Methods Reference[¶](#methods-reference "Permanent link") ### Hardware Acceleration[¶](#hardware-acceleration "Permanent link") #### GetHWAccelerationEnabled[¶](#gethwaccelerationenabled "Permanent link") Retrieves the current hardware acceleration state. **Syntax (C++)**: `[](#__codelineno-0-1)BOOL GetHWAccelerationEnabled();` **Syntax (C#)**: `[](#__codelineno-1-1)[PreserveSig] [](#__codelineno-1-2)bool GetHWAccelerationEnabled();` **Returns*... **URL**: https://www.visioforge.com/help/docs/directshow/ffmpeg-source-filters/interface-reference/index.html #### DirectShow Encoding Filters - Codecs Reference - VisioForge Help [Skip to content](#encoding-filters-pack-codecs-reference) # Encoding Filters Pack - Codecs Reference[¶](#encoding-filters-pack-codecs-reference "Permanent link") ## Overview[¶](#overview "Permanent link") This document provides a comprehensive reference for all video and audio codecs supported by the DirectShow Encoding Filters Pack. The pack includes both software and hardware-accelerated encoders for professional media encoding. * * * ## Video Codecs[¶](#video-codecs "Permanent link") ### H.264/AVC (MPEG-4 Part 10)[¶](#h264avc-mpeg-4-part-10 "Permanent link") The most widely used video codec for streaming, broadcasting, and file storage. #### Encoder Options[¶](#encoder-options "Permanent link") Encoder Type Description Hardware Support Performance Quality **Software (x264)** CPU-based H.264 encoder None Moderate Excellent **NVENC** NVIDIA GPU encoder NVIDIA GPUs (Kepler+) Very Fast Good-Excellent **QuickSync** Intel integrated graphics Intel CPUs (2nd gen+) Fast Good **AMD AMF** AMD GPU encoder AMD GPUs (GCN+) Fast Good **Media Foundation** Windows MF encoder Various (OS-dependent) Moderate Good \#### Profiles and Levels **Profiles**: \- **Baseline** - Basic features, mobile devices \- **Main** - Standard features, most applications \- **High** - Advanced features, HD content, Blu-ray **Common Levels**: \- **Level 3.0** - SD (720x480 @ 30 fps) \- **Level 3.1** - 720p (1280x720 @ 30 fps) \- **Level 4.0** - 1080p (1920x1080 @ 30 fps) \- **Level 4.1** - 1080p @ 60 fps \- **Level 5.0** - 4K (3840x2160 @ 30 fps) \- **Level 5.1** - 4K @ 60 fps \#### Rate Control Modes Mode Description Use Case Bitrate Behavior \------ \------------- \---------- \------------------ **CBR** Constant Bitrate Streaming, broadcasting Fixed bitrate **VBR** Variable Bitrate File storage Varies based on complexity **CQP** Constant Quantization High quality archival Varies significantly \#### Recommended Settings **Str... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/codecs-reference/index.html #### Encoding Filters Pack - Code Examples - VisioForge Help [Skip to content](#encoding-filters-pack-code-examples) # Encoding Filters Pack - Code Examples[¶](#encoding-filters-pack-code-examples "Permanent link") ## Overview[¶](#overview "Permanent link") This page provides practical code examples for encoding video and audio using the Encoding Filters Pack. Covers: - **NVENC Encoder** - NVIDIA hardware encoding (H.264/H.265) - **Software Encoders** - H.264, H.265, VP8, VP9, MPEG-2 - **Audio Encoders** - AAC, MP3, Opus, Vorbis, FLAC - **Muxers** - MP4, MKV, WebM, MPEG-TS, AVI * * * ## Prerequisites[¶](#prerequisites "Permanent link") ### C++ Projects[¶](#c-projects "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "INVEncConfig.h" // NVENC interface [](#__codelineno-0-4)#pragma comment(lib, "strmiids.lib")` ### C# Projects[¶](#c-projects_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices;` **NuGet Packages**: - VisioForge.DirectShowAPI - MediaFoundationCore * * * ## NVENC Hardware Encoding Examples[¶](#nvenc-hardware-encoding-examples "Permanent link") ### Example 1: Basic NVENC H.264 Encoding[¶](#example-1-basic-nvenc-h264-encoding "Permanent link") Encode video with NVIDIA hardware acceleration. #### C# NVENC H.264 Encoding[¶](#c-nvenc-h264-encoding "Permanent link") `[](#__codelineno-2-1)using System; [](#__codelineno-2-2)using System.Runtime.InteropServices; [](#__codelineno-2-3)using VisioForge.DirectShowAPI; [](#__codelineno-2-4)using VisioForge.DirectShowLib; [](#__codelineno-2-5)[](#__codelineno-2-6)public class NVENCBasicExample [](#__codelineno-2-7){ [](#__codelineno-2-8) private IFilterGraph2 filterGraph; [](#__codelineno-2-9) private IMediaControl mediaControl; [](#__codelineno-2-10) [](#__codelineno-2-11) public void EncodeWithNVENC(string inputFile, st... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/examples/index.html #### DirectShow Encoding Filters Pack for Developers - VisioForge Help [Skip to content](#directshow-encoding-filters-pack) # DirectShow Encoding Filters Pack[¶](#directshow-encoding-filters-pack "Permanent link") ## Introduction[¶](#introduction "Permanent link") The DirectShow Encoding Filters Pack provides a powerful set of media encoding components designed specifically for software developers building professional multimedia applications. This toolkit enables seamless integration of high-performance encoding capabilities for both audio and video streams across a wide variety of popular formats. * * * ## Installation[¶](#installation "Permanent link") Before using the code samples and integrating the filters into your application, you must first install the DirectShow Encoding Filters Pack from the [product page](https://www.visioforge.com/encoding-filters-pack). **Installation Steps**: 1. Download the Encoding Filters Pack installer from the product page 2. Run the installer with administrative privileges 3. The installer will register all encoding and muxing filters 4. Sample applications and source code will be available in the installation directory **Note**: All filters must be properly registered on the system before they can be used in your applications. The installer handles this automatically. * * * ## Key Features[¶](#key-features "Permanent link") ### Multi-Format Encoding Support[¶](#multi-format-encoding-support "Permanent link") The filters pack supports numerous industry-standard formats, including: - **MP4 container** with H264, HEVC, and AAC codecs - **MPEG-TS** streams - **MKV** (Matroska) containers - **WebM** format with VP8/VP9 video codecs - Multiple audio formats including **Vorbis**, **MP3**, **FLAC**, and **Opus** ### Hardware Acceleration[¶](#hardware-acceleration "Permanent link") Developers can leverage GPU acceleration for improved encoding performance: - **Intel** QuickSync technology - **AMD/ATI** hardware acceleration - **Nvidia** NVENC encoding support This h... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/index.html #### AAC Encoder Interface Reference - VisioForge Help [Skip to content](#aac-encoder-interface-reference) # AAC Encoder Interface Reference[¶](#aac-encoder-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The AAC (Advanced Audio Coding) encoder DirectShow filters provide interfaces for high-quality audio encoding to the AAC format. AAC is the successor to MP3, offering better sound quality at the same bitrate and is the standard audio codec for MP4, M4A, and streaming applications. Two AAC encoder interfaces are available: - **IMonogramAACEncoder**: Simple configuration interface using a single configuration structure - **IVFAACEncoder**: Comprehensive interface with individual property methods for fine-grained control ## IMonogramAACEncoder Interface[¶](#imonogramaacencoder-interface "Permanent link") ### Overview[¶](#overview_1 "Permanent link") The **IMonogramAACEncoder** interface provides a simple, structure-based configuration approach for AAC encoding. Configuration is performed using the `AACConfig` structure that contains all essential encoding parameters. **Interface GUID**: `{B2DE30C0-1441-4451-A0CE-A914FD561D7F}` **Inherits From**: `IUnknown` ### AACConfig Structure[¶](#aacconfig-structure "Permanent link") `[](#__codelineno-0-1)/// [](#__codelineno-0-2)/// AAC encoder configuration structure. [](#__codelineno-0-3)/// [](#__codelineno-0-4)public struct AACConfig [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// AAC version/profile (typically 2 for AAC-LC, 4 for AAC-HE) [](#__codelineno-0-8) /// [](#__codelineno-0-9) public int version; [](#__codelineno-0-10) [](#__codelineno-0-11) /// [](#__codelineno-0-12) /// Object type / profile: [](#__codelineno-0-13) /// 2 = AAC-LC (Low Complexity) - recommended for most uses [](#__codelineno-0-14) /// 5 = AAC-HE (High Efficiency) [](#__codelineno-0-15) /// 29 = AAC-HEv2 (High Efficiency versi... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/aac/index.html #### FFMPEG Encoder DirectShow Filter Interface Reference - VisioForge Help [Skip to content](#ffmpeg-encoder-interface-reference) # FFMPEG Encoder Interface Reference[¶](#ffmpeg-encoder-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The **IVFFFMPEGEncoder** interface provides comprehensive configuration for encoding video and audio to various formats using the FFMPEG library. This powerful encoder supports multiple output formats including Flash Video (FLV), MPEG-1, MPEG-2, VCD, SVCD, DVD, and MPEG-2 Transport Stream. The encoder uses a structure-based configuration approach where all encoding parameters are set at once, providing a simple yet complete interface for professional video encoding to legacy and streaming formats. **Interface GUID**: `{17B8FF7D-A67F-45CE-B425-0E4F607D8C60}` **Filter CLSID**: `{554AB365-B293-4C1D-9245-E8DB01F027F7}` **Inherits From**: `IUnknown` ## Filter and Interface GUIDs[¶](#filter-and-interface-guids "Permanent link") `[](#__codelineno-0-1)// FFMPEG Encoder Filter CLSID [](#__codelineno-0-2)public static readonly Guid CLSID_FFMPEGEncoder = [](#__codelineno-0-3) new Guid("554AB365-B293-4C1D-9245-E8DB01F027F7"); [](#__codelineno-0-4)[](#__codelineno-0-5)// IVFFFMPEGEncoder Interface IID [](#__codelineno-0-6)public static readonly Guid IID_IVFFFMPEGEncoder = [](#__codelineno-0-7) new Guid("17B8FF7D-A67F-45CE-B425-0E4F607D8C60");` ## Output Formats[¶](#output-formats "Permanent link") ### VFFFMPEGDLLOutputFormat Enumeration[¶](#vfffmpegdlloutputformat-enumeration "Permanent link") `[](#__codelineno-1-1)/// [](#__codelineno-1-2)/// FFMPEG encoder output format options. [](#__codelineno-1-3)/// [](#__codelineno-1-4)public enum VFFFMPEGDLLOutputFormat [](#__codelineno-1-5){ [](#__codelineno-1-6) /// [](#__codelineno-1-7) /// Flash Video (.flv) - Web streaming format [](#__codelineno-1-8) /// [](#__codelineno-1-9) FLV = 0, [](#__codelineno-1-10) [](#__codelineno-1-11) /// ... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/ffmpeg/index.html #### FLAC Encoder Interface Reference - VisioForge Help [Skip to content](#flac-encoder-interface-reference) # FLAC Encoder Interface Reference[¶](#flac-encoder-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The **IFLACEncodeSettings** interface provides complete control over FLAC (Free Lossless Audio Codec) audio encoding parameters in DirectShow filter graphs. FLAC is a lossless audio compression format that reduces file size without any loss in audio quality, making it ideal for archival, professional audio production, and high-fidelity music distribution. This interface allows developers to configure encoding quality levels, Linear Predictive Coding (LPC) parameters, block sizes, mid-side stereo coding, and Rice partition orders to achieve optimal compression efficiency for different types of audio content. **Interface GUID**: `{A6096781-2A65-4540-A536-011235D0A5FE}` **Inherits From**: `IUnknown` ## Interface Definitions[¶](#interface-definitions "Permanent link") ### C# Definition[¶](#c-definition "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// FLAC (Free Lossless Audio Codec) encoder configuration interface. [](#__codelineno-0-8) /// Provides comprehensive control over FLAC encoding parameters for lossless audio compression. [](#__codelineno-0-9) /// [](#__codelineno-0-10) [ComImport] [](#__codelineno-0-11) [Guid("A6096781-2A65-4540-A536-011235D0A5FE")] [](#__codelineno-0-12) [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [](#__codelineno-0-13) public interface IFLACEncodeSettings [](#__codelineno-0-14) { [](#__codelineno-0-15) /// [](#__codelineno-0-16) /// Checks if encoding settings can be modified at the current time. [](#__cod... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/flac/index.html #### H.264 Encoder Interface Reference - VisioForge Help [Skip to content](#h264-encoder-interface-reference) # H.264 Encoder Interface Reference[¶](#h264-encoder-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The **IH264Encoder** interface provides comprehensive control over H.264/AVC (Advanced Video Coding) video encoding in DirectShow filter graphs. H.264 is the industry-standard video compression format used for broadcast, streaming, and distribution applications. This interface allows developers to configure encoding profiles, bitrate control, Group of Pictures (GOP) structure, macroblock encoding modes, and advanced timing parameters for optimal video quality and file size in various scenarios including streaming, broadcast, and archival. **Interface GUID**: `{09FA2EA3-4773-41a8-90DC-9499D4061E9F}` **Inherits From**: `IUnknown` ## Interface Definitions[¶](#interface-definitions "Permanent link") ### C# Definition[¶](#c-definition "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// H.264/AVC (Advanced Video Coding) encoder configuration interface. [](#__codelineno-0-8) /// Provides comprehensive control over H.264 encoding parameters including [](#__codelineno-0-9) /// bitrate control, profile/level settings, GOP structure, and rate control modes. [](#__codelineno-0-10) /// [](#__codelineno-0-11) [ComImport] [](#__codelineno-0-12) [Guid("09FA2EA3-4773-41a8-90DC-9499D4061E9F")] [](#__codelineno-0-13) [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [](#__codelineno-0-14) public interface IH264Encoder [](#__codelineno-0-15) { [](#__codelineno-0-16) /// [](#__codelineno-0-17) /// Gets the target bitrate for encoding. [](#__codelineno-0-... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/h264/index.html #### LAME MP3 Encoder - Interface Reference - VisioForge Help [Skip to content](#lame-mp3-encoder-interface-reference) # LAME MP3 Encoder Interface Reference[¶](#lame-mp3-encoder-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The `IAudioEncoderProperties` interface provides comprehensive control over LAME MP3 audio encoding. LAME (LAME Ain't an MP3 Encoder) is a high-quality MP3 encoder that produces excellent audio quality with efficient compression. This interface allows configuration of bitrate, quality, variable bitrate (VBR) settings, and various encoding flags for optimal MP3 output. ## Interface Definition[¶](#interface-definition "Permanent link") - **Interface Name**: `IAudioEncoderProperties` - **GUID**: `{595EB9D1-F454-41AD-A1FA-EC232AD9DA52}` - **Inherits From**: `IUnknown` ## Interface Definitions[¶](#interface-definitions "Permanent link") ### C# Definition[¶](#c-definition "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// LAME MP3 encoder interface. [](#__codelineno-0-8) /// [](#__codelineno-0-9) /// [](#__codelineno-0-10) /// Configuring MPEG audio encoder parameters with unspecified [](#__codelineno-0-11) /// input stream type may lead to misbehavior and confusing [](#__codelineno-0-12) /// results. In most cases the specified parameters will be [](#__codelineno-0-13) /// overridden by defaults for the input media type. [](#__codelineno-0-14) /// To achieve proper results use this interface on the [](#__codelineno-0-15) /// audio encoder filter with input pin connected to a valid source. [](#__codelineno-0-16) /// [](#__codelineno-0-17) [ComImport] [](#__codelineno-0-18) [System.Security.SuppressUnmanagedCodeSecurity] [](#__co... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/lame/index.html #### MP4 Muxer DirectShow Filter Interface Reference - VisioForge Help [Skip to content](#mp4-muxer-interface-reference) # MP4 Muxer Interface Reference[¶](#mp4-muxer-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The MP4 muxer DirectShow filters provide interfaces for configuring MP4 (MPEG-4 Part 14) container output. These interfaces allow developers to control threading behavior, timing correction, and special handling for live streaming scenarios. Two muxer interfaces are available: - **IMP4MuxerConfig**: Basic MP4 muxer configuration for threading and timing - **IMP4V10MuxerConfig**: Advanced configuration for version 10 muxer with timing flags and live streaming control ## IMP4MuxerConfig Interface[¶](#imp4muxerconfig-interface "Permanent link") ### Overview[¶](#overview_1 "Permanent link") The **IMP4MuxerConfig** interface provides basic configuration for MP4 multiplexing, controlling single-threaded operation and timing correction behavior. **Interface GUID**: `{99DC9BE5-0AFA-45d4-8370-AB021FB07CF4}` **Inherits From**: `IUnknown` ### Interface Definitions[¶](#interface-definitions "Permanent link") #### C# Definition[¶](#c-definition "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// MP4 muxer configuration interface. [](#__codelineno-0-8) /// Controls threading and timing behavior for MP4 container creation. [](#__codelineno-0-9) /// [](#__codelineno-0-10) [ComImport] [](#__codelineno-0-11) [Guid("99DC9BE5-0AFA-45d4-8370-AB021FB07CF4")] [](#__codelineno-0-12) [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [](#__codelineno-0-13) public interface IMP4MuxerConfig [](#__codelineno-0-14) { [](#__codelineno-0-15) /// [](#__codelineno-0-16) /// Gets the sin... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/mp4-muxer/index.html #### NVENC Encoder - Interface Reference - VisioForge Help [Skip to content](#invencconfig-interface-reference) # INVEncConfig Interface Reference[¶](#invencconfig-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The `INVEncConfig` interface provides comprehensive control over NVIDIA NVENC hardware video encoding. This interface extends the standard DirectShow `IAMVideoCompression` interface with NVENC-specific configuration options for H.264 and H.265 encoding. NVENC is NVIDIA's dedicated hardware encoder available on GeForce, Quadro, and Tesla GPUs, offering high-performance video encoding with minimal CPU usage. ## Filter and Interface GUIDs[¶](#filter-and-interface-guids "Permanent link") - **Filter CLSID**: `CLSID_NVEncoder` `{6EEC9161-7276-430B-A1197-0D4C3BCC87E5}` - **Interface**: `INVEncConfig` **GUID**: `{9A2AC42C-3E3D-4E6A-84E5-D097292D496B}` **Inherits From**: `IAMVideoCompression` **Header File**: `Intf.h` (C++) - **Interface**: `INVEncConfig2` **GUID**: `{2A741FB6-6DE1-460B-8FCA-76DB478C9357}` **Inherits From**: `IUnknown` **Header File**: `Intf2.h` (C++) ## Interface Definitions[¶](#interface-definitions "Permanent link") ### C++ Definition (INVEncConfig)[¶](#c-definition-invencconfig "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)[](#__codelineno-0-3)// {9A2AC42C-3E3D-4E6A-84E5-D097292D496B} [](#__codelineno-0-4)static const GUID IID_INVEncConfig = [](#__codelineno-0-5){ 0x9a2ac42c, 0x3e3d, 0x4e6a, { 0x84, 0xe5, 0xd0, 0x97, 0x29, 0x2d, 0x49, 0x6b } }; [](#__codelineno-0-6)[](#__codelineno-0-7)// {6EEC9161-7276-430B-A1197-0D4C3BCC87E5} [](#__codelineno-0-8)static const GUID CLSID_NVEncoder = [](#__codelineno-0-9){ 0x6eec9161, 0x7276, 0x430b, { 0xa1, 0x97, 0xd, 0x4c, 0x3b, 0xcc, 0x87, 0xe5 } }; [](#__codelineno-0-10)[](#__codelineno-0-11)MIDL_INTERFACE("9A2AC42C-3E3D-4E6A-84E5-D097292D496B") [](#__codelineno-0-12)INVEncConfig : public IAMVideoCompression [](#__codelineno-0-13){ [](#__codelineno-0-14)public: [](#__codeline... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/interfaces/nvenc/index.html #### DirectShow Encoding Filters - Muxers Reference - VisioForge Help [Skip to content](#encoding-filters-pack-muxers-reference) # Encoding Filters Pack - Muxers Reference[¶](#encoding-filters-pack-muxers-reference "Permanent link") ## Overview[¶](#overview "Permanent link") This document provides comprehensive information about all container formats (muxers) supported by the DirectShow Encoding Filters Pack. Muxers combine video and audio streams into container files for storage and streaming. * * * ## MP4 Container[¶](#mp4-container "Permanent link") ### Overview[¶](#overview_1 "Permanent link") MPEG-4 Part 14 (MP4) is the most widely used container format for video distribution. **File Extensions**: `.mp4`, `.m4v`, `.m4a` (audio only) **MIME Type**: `video/mp4`, `audio/mp4` ### Supported Codecs[¶](#supported-codecs "Permanent link") #### Video Codecs[¶](#video-codecs "Permanent link") - H.264/AVC ✓ (Primary) - H.265/HEVC ✓ - MPEG-4 Part 2 ✓ - MPEG-2 ✗ (use MPEG-TS instead) - VP8/VP9 ✗ (use WebM instead) #### Audio Codecs[¶](#audio-codecs "Permanent link") - AAC ✓ (Primary) - MP3 ✓ - Opus ✗ - Vorbis ✗ - FLAC ✓ - PCM ✓ ### Features[¶](#features "Permanent link") **Streaming Support**: - **Progressive Download**: ✓ (with proper moov atom placement) - **Adaptive Streaming**: ✓ (DASH, HLS with fragmented MP4) - **Live Streaming**: ✓ (fragmented MP4) **Metadata Support**: - **Basic Tags**: Title, artist, album, year - **Cover Art**: ✓ - **Chapters**: ✓ - **Subtitles**: ✓ (VTT, SRT, various text formats) **Technical Features**: - **Multiple Audio Tracks**: ✓ - **Multiple Subtitle Tracks**: ✓ - **Fast Start**: ✓ (moov atom at beginning) - **Fragmented MP4**: ✓ (for streaming) ### Best Practices[¶](#best-practices "Permanent link") **For Progressive Download (Web)**: `[](#__codelineno-0-1)- Place moov atom at beginning (fast start) [](#__codelineno-0-2)- Use H.264 Baseline/Main profile [](#__codelineno-0-3)- AAC-LC audio [](#__codelineno-0-4)- Keyframe interval: 2-4 seconds` **For Local Playback**:... **URL**: https://www.visioforge.com/help/docs/directshow/filters-enc/muxers-reference/index.html #### DirectShow Filter SDK Registration Guide - VisioForge Help [Skip to content](#sdk-registration-guide) # SDK Registration Guide[¶](#sdk-registration-guide "Permanent link") DirectShow filters and SDK components often require proper registration to function correctly within your applications. This guide provides detailed implementation methods for registering DirectShow filters across multiple programming languages. ## Registration Overview[¶](#registration-overview "Permanent link") Most DirectShow filters in the SDK can be registered using the IVFRegister interface. This standardized approach works consistently across development environments. However, some specialized filters (like RGB2YUV converters) are designed to work without explicit registration. ## Registration Methods by Language[¶](#registration-methods-by-language "Permanent link") ### C++ Implementation[¶](#c-implementation "Permanent link") The following C++ code demonstrates how to access the registration interface: `[](#__codelineno-0-1)// {59E82754-B531-4A8E-A94D-57C75F01DA30} [](#__codelineno-0-2)DEFINE_GUID(IID_IVFRegister, [](#__codelineno-0-3) 0x59E82754, 0xB531, 0x4A8E, 0xA9, 0x4D, 0x57, 0xC7, 0x5F, 0x01, 0xDA, 0x30); [](#__codelineno-0-4)[](#__codelineno-0-5)/// [](#__codelineno-0-6)/// Filter registration interface. [](#__codelineno-0-7)/// [](#__codelineno-0-8)DECLARE_INTERFACE_(IVFRegister, IUnknown) [](#__codelineno-0-9){ [](#__codelineno-0-10) /// [](#__codelineno-0-11) /// Sets registered. [](#__codelineno-0-12) /// [](#__codelineno-0-13) /// [](#__codelineno-0-14) /// License Key. [](#__codelineno-0-15) /// [](#__codelineno-0-16) STDMETHOD(SetLicenseKey) [](#__codelineno-0-17) (THIS_ [](#__codelineno-0-18) WCHAR * licenseKey [](#__codelineno-0-19) )PURE; [](#__codelineno-0-20)};` ### C# Implementation[¶](#c-implementation_1 "Permanent link") For .NET... **URL**: https://www.visioforge.com/help/docs/directshow/how-to-register/index.html #### DirectShow SDKs & Filters for Video Processing - VisioForge Help [Skip to content](#directshow-sdks-and-filters-for-video-development) # DirectShow SDKs and Filters for Video Development[¶](#directshow-sdks-and-filters-for-video-development "Permanent link") ## Introduction to DirectShow Technology[¶](#introduction-to-directshow-technology "Permanent link") DirectShow technology enables developers to create robust multimedia applications for capturing, processing, and playing video content. Our comprehensive suite of DirectShow filters and SDKs provides the essential building blocks for developing sophisticated video processing and playback applications with minimal effort. ## Playback and Decoding Solutions[¶](#playback-and-decoding-solutions "Permanent link") ### High-Performance Source Filters[¶](#high-performance-source-filters "Permanent link") Our powerful source filters enable seamless playback of diverse video formats in your custom applications. Built upon industry-standard libraries, these filters ensure maximum compatibility and performance. #### VLC Source DirectShow Filter[¶](#vlc-source-directshow-filter "Permanent link") The VLC Source filter delivers exceptional playback capabilities for numerous media formats, leveraging the versatile VLC media framework for optimal performance and format support. - [Explore VLC Source DirectShow Filter](vlc-source-filter/) #### FFMPEG Source DirectShow Filter[¶](#ffmpeg-source-directshow-filter "Permanent link") Our FFMPEG-based filters provide unparalleled media format compatibility, utilizing the widely-adopted FFMPEG libraries to handle virtually any video or audio format in your applications. - [Discover FFMPEG Source DirectShow Filter](ffmpeg-source-filters/) ## Advanced Encoding Solutions[¶](#advanced-encoding-solutions "Permanent link") ### Professional Encoding Filters[¶](#professional-encoding-filters "Permanent link") Our encoding filters enable developers to implement high-quality video and audio encoding directly within applications. The suite s... **URL**: https://www.visioforge.com/help/docs/directshow/index.html #### Processing Filters - Effects Reference - VisioForge Help [Skip to content](#video-effects-complete-reference) # Video Effects Complete Reference[¶](#video-effects-complete-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The DirectShow Processing Filters Pack provides 35+ real-time video effects that can be applied individually or chained together. This reference documents all available effects, their parameters, and usage. ## Effect Categories[¶](#effect-categories "Permanent link") - **Text and Graphics** - Text logos, graphic overlays - **Color Filters** - Red, green, blue, greyscale filters - **Image Adjustment** - Brightness, contrast, saturation - **Spatial Effects** - Flip, mirror, rotate - **Artistic Effects** - Marble, solarize, posterize, mosaic - **Noise and Quality** - Denoising algorithms (CAST, adaptive, mosquito) - **Deinterlacing** - Blend, triangle, CAVT methods - **Creative Effects** - Blur, shake, spray, invert * * * ## Text and Graphics Effects[¶](#text-and-graphics-effects "Permanent link") ### ef\_text\_logo[¶](#ef_text_logo "Permanent link") Renders text overlay on video with extensive customization options. **Effect Type**: `CVFEffectType.ef_text_logo` **Parameters** (`CVFTextLogoMain` structure): | Parameter | Type | Description | Default | |-----------|------|-------------|---------| | `x` | int | X position (pixels) | 0 | | `y` | int | Y position (pixels) | 0 | | `text` | BSTR | Text to display | "" | | `font_name` | BSTR | Font family name | "Arial" | | `font_size` | int | Font size (points) | 12 | | `font_color` | COLORREF | Text color (RGB) | 0xFFFFFF (white) | | `font_italic` | BOOL | Italic style | FALSE | | `font_bold` | BOOL | Bold style | FALSE | | `font_underline` | BOOL | Underline style | FALSE | | `font_strikeout` | BOOL | Strikethrough style | FALSE | | `transparent_bg` | BOOL | Transparent background | TRUE | | `bg_color` | COLORREF | Background color | 0x000000 (black) | | `transp` | DWORD | Transparency level (0-255) | 255 (opaque... **URL**: https://www.visioforge.com/help/docs/directshow/proc-filters/effects-reference/index.html #### Processing Filters Pack - Code Examples - VisioForge Help [Skip to content](#processing-filters-pack-code-examples) # Processing Filters Pack - Code Examples[¶](#processing-filters-pack-code-examples "Permanent link") ## Overview[¶](#overview "Permanent link") This page provides practical code examples for using the Processing Filters Pack, which includes: - **Video Effects** - 35+ real-time effects (text, graphics, color adjustments, denoise) - **Video Mixer** - 2-16 source mixing with PIP, alpha blending, chroma key - **Chroma Key** - Green/blue screen compositing * * * ## Prerequisites[¶](#prerequisites "Permanent link") ### C++ Projects[¶](#c-projects "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "IVFEffects45.h" [](#__codelineno-0-4)#include "IVFVideoMixer.h" [](#__codelineno-0-5)#include "IVFChromaKey.h" [](#__codelineno-0-6)#pragma comment(lib, "strmiids.lib")` ### C# Projects[¶](#c-projects_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices; [](#__codelineno-1-4)using System.Drawing;` **NuGet Packages**: - VisioForge.DirectShowAPI - MediaFoundationCore * * * ## Video Effects Examples[¶](#video-effects-examples "Permanent link") ### Example 1: Basic Video Effect[¶](#example-1-basic-video-effect "Permanent link") Apply a single video effect to a source. #### C# Implementation[¶](#c-implementation "Permanent link") `[](#__codelineno-2-1)using System; [](#__codelineno-2-2)using System.Runtime.InteropServices; [](#__codelineno-2-3)using VisioForge.DirectShowAPI; [](#__codelineno-2-4)using VisioForge.DirectShowLib; [](#__codelineno-2-5)[](#__codelineno-2-6)public class VideoEffectsBasicExample [](#__codelineno-2-7){ [](#__codelineno-2-8) private IFilterGraph2 filterGraph; [](#__codelineno-2-9) private IMediaControl mediaControl; [](#__codelineno-2-10) private IB... **URL**: https://www.visioforge.com/help/docs/directshow/proc-filters/examples/index.html #### DirectShow Processing Filters for Media Applications - VisioForge Help [Skip to content](#directshow-processing-filters-for-media-applications) # DirectShow Processing Filters for Media Applications[¶](#directshow-processing-filters-for-media-applications "Permanent link") ## Introduction to DirectShow Processing Filters[¶](#introduction-to-directshow-processing-filters "Permanent link") The DirectShow Processing Filters Pack delivers a powerful collection of specialized filters built for sophisticated audio and video manipulation in Windows applications. These filters enable developers to implement professional-grade media processing capabilities without developing complex algorithms from scratch. Designed for developers seeking to enhance their applications with advanced media functionality, this toolkit offers a streamlined approach to implementing robust audio-visual features with minimal code overhead. * * * ## Installation[¶](#installation "Permanent link") Before using the code samples and integrating the filters into your application, you must first install the DirectShow Processing Filters Pack from the [product page](https://www.visioforge.com/processing-filters-pack). **Installation Steps**: 1. Download the Processing Filters Pack installer from the product page 2. Run the installer with administrative privileges 3. The installer will register all processing filters 4. Sample applications and source code will be available in the installation directory **Note**: All filters must be properly registered on the system before they can be used in your applications. The installer handles this automatically. * * * ## Key Capabilities and Benefits[¶](#key-capabilities-and-benefits "Permanent link") ### Video Processing Capabilities[¶](#video-processing-capabilities "Permanent link") #### Advanced Visual Effects[¶](#advanced-visual-effects "Permanent link") - **Dynamic Effects Processing**: Apply real-time effects to video streams including blur, sharpen, sepia, grayscale, and numerous artistic filters - **Cu... **URL**: https://www.visioforge.com/help/docs/directshow/proc-filters/index.html #### Processing Filters - Chroma Key Interface - VisioForge Help [Skip to content](#ivfchromakey-interface-reference) # IVFChromaKey Interface Reference[¶](#ivfchromakey-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The `IVFChromaKey` interface provides professional chroma key (green screen/blue screen) compositing capabilities for DirectShow applications. This interface enables real-time background replacement by making specific colors transparent, allowing subjects filmed in front of colored backdrops to be composited over different backgrounds. Chroma keying is essential for virtual production, weather forecasting, video effects, and any scenario where background replacement is needed. ## Interface Definition[¶](#interface-definition "Permanent link") - **Interface Name**: `IVFChromaKey` - **GUID**: `{AF6E8208-30E3-44f0-AAFE-787A6250BAB3}` - **Inherits From**: `IUnknown` - **Header File**: `vf_eff_intf.h` (C++), `IVFChromaKey.cs` (.NET) ## Capabilities[¶](#capabilities "Permanent link") - **Color Keys**: Green, blue, red, or custom RGB colors - **Contrast Adjustment**: Separate low/high contrast thresholds - **Background Replacement**: Static image or video background - **Real-Time Processing**: Hardware-accelerated when available - **Edge Quality**: Adjustable tolerance for smooth edges * * * ## Methods Reference[¶](#methods-reference "Permanent link") ### Contrast Threshold Configuration[¶](#contrast-threshold-configuration "Permanent link") #### chroma\_put\_contrast[¶](#chroma_put_contrast "Permanent link") Sets the contrast threshold range for chroma keying. **Syntax (C++)**: `[](#__codelineno-0-1)HRESULT chroma_put_contrast(int low, int high);` **Syntax (C#)**: `[](#__codelineno-1-1)[PreserveSig] [](#__codelineno-1-2)int chroma_put_contrast(int low, int high);` **Parameters**: - `low`: Low contrast threshold (0-255) - Lower values = remove more similar colors - Higher values = stricter color matching - `high`: High contrast threshold (0-255) - Defin... **URL**: https://www.visioforge.com/help/docs/directshow/proc-filters/interfaces/chroma-key/index.html #### Processing Filters - Effects Interfaces Reference - VisioForge Help [Skip to content](#processing-filters-effects-interfaces-reference) # Processing Filters - Effects Interfaces Reference[¶](#processing-filters-effects-interfaces-reference "Permanent link") ## Overview[¶](#overview "Permanent link") This document provides comprehensive API reference for all interfaces in the DirectShow Processing Filters Pack. These interfaces enable video effects, audio enhancement, chroma keying, video mixing, screen capture, and advanced processing capabilities. * * * ## Interface Quick Reference[¶](#interface-quick-reference "Permanent link") Interface GUID Purpose **IVFEffects45** {5E767DA8-97AF-4607-B95F-8CC6010B84CA} Simple video effects **IVFEffectsPro** {9A794ABE-98AD-45AF-BBB0-042172C74C79} Advanced effects with sample grabber **IVFResize** {12BC6F20-2812-4660-8684-10F3FD3B4487} Video resize and crop **IVFVideoMixer** {3318300E-F6F1-4d81-8BC3-9DB06B09F77A} Multi-source video mixing **IVFChromaKey** {AF6E8208-30E3-44f0-AAFE-787A6250BAB3} Chroma keying (green screen) **IVFAudioEnhancer** {C2C0512A-AE91-4B4D-B4E0-913A0227DCD7} Audio channel gains **IVFAudioEnhancer3** {915E95CE-70F6-4FA5-B608-9B0BCDBE06B3} IEEE float audio output **IVFAudioChannelMapper** {EDB8F865-0A81-4E98-866F-B6F5F17C8FC2} Audio channel mapping **IVFScreenCapture3** {259E0009-9963-4a71-91AE-34B96D754899} Screen capture configuration **IVFMotDetConfig** {B10E9A0C-3D99-46D4-A397-6E0BC5BC3D76} Motion detection **IVFPushConfig** {F1876E64-C7AC-4B5B-8F64-67B5BB8CEAE4} Push source configuration \--- ## Video Effects Interfaces[¶](#video-effects-interfaces "Permanent link") ### IVFEffects45[¶](#ivfeffects45 "Permanent link") Simple interface for adding and managing video effects. **GUID**: `{5E767DA8-97AF-4607-B95F-8CC6010B84CA}` **C# Definition**: `[](#__codelineno-0-1)[ComImport] [](#__codelineno-0-2)[Guid("5E767DA8-97AF-4607-B95F-8CC6010B84CA")] [](#__codelineno-0-3)[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [](#__... **URL**: https://www.visioforge.com/help/docs/directshow/proc-filters/interfaces/effects-interface/index.html #### Processing Filters - Video Mixer Interface - VisioForge Help [Skip to content](#ivfvideomixer-interface-reference) # IVFVideoMixer Interface Reference[¶](#ivfvideomixer-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The `IVFVideoMixer` interface provides comprehensive control over multi-source video mixing in DirectShow applications. This interface enables Picture-in-Picture (PIP), video compositing, chroma keying, and flexible layout management for combining multiple video streams into a single output. The Video Mixer filter can handle 2-16 input video sources, each with independent position, size, transparency, and z-order configuration. ## Interface Definition[¶](#interface-definition "Permanent link") - **Interface Name**: `IVFVideoMixer` - **GUID**: `{3318300E-F6F1-4d81-8BC3-9DB06B09F77A}` - **Inherits From**: `IUnknown` - **Header File**: `yk_video_mixer_filter_define.h` (C++), `IVFVideoMixer.cs` (.NET) ## Capabilities[¶](#capabilities "Permanent link") - **Input Pins**: 2-16 simultaneous video sources - **Chroma Keying**: Green/blue screen support per input - **Resize Quality**: Multiple interpolation algorithms - **Z-Order**: Independent layering control - **Transparency**: Per-input alpha blending - **Position/Size**: Pixel-accurate placement * * * ## Methods Reference[¶](#methods-reference "Permanent link") ### Input Parameter Management[¶](#input-parameter-management "Permanent link") #### SetInputParam[¶](#setinputparam "Permanent link") Configures parameters for a specific input pin. **Syntax (C++)**: `[](#__codelineno-0-1)int SetInputParam(int pin_index, VFPIPVideoInputParam param);` **Syntax (C#)**: `[](#__codelineno-1-1)[PreserveSig] [](#__codelineno-1-2)int SetInputParam([In] int pin_index, [In] VFPIPVideoInputParam param);` **Parameters**: - `pin_index`: Zero-based input pin index (0 = first input, 1 = second, etc.) - `param`: Structure containing input configuration (see below) **Returns**: `0` on success, error code otherwise. **VFPI... **URL**: https://www.visioforge.com/help/docs/directshow/proc-filters/interfaces/video-mixer/index.html #### Video Encryption SDK - Code Examples - VisioForge Help [Skip to content](#video-encryption-sdk-code-examples) # Video Encryption SDK - Code Examples[¶](#video-encryption-sdk-code-examples "Permanent link") ## Overview[¶](#overview "Permanent link") This page provides comprehensive, working code examples for encrypting and decrypting video files using the Video Encryption SDK. Examples cover: - **Basic Encryption** - Encrypt video files with password protection - **File Decryption** - Decrypt and play encrypted video files - **Advanced Scenarios** - Binary keys, file-based keys, custom encoding settings - **Error Handling** - Robust error checking and recovery All examples include complete implementations in C++, C#, and Delphi. * * * ## Prerequisites[¶](#prerequisites "Permanent link") ### C++ Projects[¶](#c-projects "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "encryptor_intf.h" [](#__codelineno-0-4)#pragma comment(lib, "strmiids.lib") [](#__codelineno-0-5)#pragma comment(lib, "quartz.lib")` ### C# Projects[¶](#c-projects_1 "Permanent link") `[](#__codelineno-1-1)using System; [](#__codelineno-1-2)using System.Runtime.InteropServices; [](#__codelineno-1-3)using VisioForge.DirectShowAPI; [](#__codelineno-1-4)using VisioForge.DirectShowLib;` **Required NuGet Packages**: - VisioForge.DirectShowAPI - VisioForge.DirectShowLib ### Delphi Projects[¶](#delphi-projects "Permanent link") ## `[](#__codelineno-2-1)uses [](#__codelineno-2-2) DirectShow9, [](#__codelineno-2-3) EncryptorIntf;` [¶](#uses-directshow9-encryptorintf "Permanent link") ## Example 1: Basic Video Encryption[¶](#example-1-basic-video-encryption "Permanent link") Encrypt a video file with string password. ### C# Implementation[¶](#c-implementation "Permanent link") `[](#__codelineno-3-1)using System; [](#__codelineno-3-2)using System.Runtime.InteropServices; [](#__codelineno-3-3)using VisioForge.DirectShowAPI; [](#__codelineno-3-4)using Vis... **URL**: https://www.visioforge.com/help/docs/directshow/video-encryption-sdk/examples/index.html #### Advanced Video Encryption SDK for Developers - VisioForge Help [Skip to content](#video-encryption-sdk) # Video Encryption SDK[¶](#video-encryption-sdk "Permanent link") ## Introduction to Video Encryption[¶](#introduction-to-video-encryption "Permanent link") The [Video Encryption SDK](https://www.visioforge.com/video-encryption-sdk) provides robust tools for encoding video files into MP4 H264/AAC format with advanced encryption capabilities. Developers can secure their media content using custom passwords or binary data encryption methods. The SDK integrates seamlessly with any DirectShow application through a complete set of filters. These filters come with extensive interfaces allowing developers to fine-tune settings according to specific security requirements and implementation needs. * * * ## Installation[¶](#installation "Permanent link") Before using the code samples and integrating the SDK into your application, you must first install the Video Encryption SDK from the [product page](https://www.visioforge.com/video-encryption-sdk). **Installation Steps**: 1. Download the SDK installer from the product page 2. Run the installer with administrative privileges 3. The installer will register all necessary DirectShow filters 4. Sample applications and source code will be available in the installation directory **Note**: The SDK filters must be properly registered on the system before they can be used in your applications. The installer handles this automatically. * * * ## Integration Flexibility[¶](#integration-flexibility "Permanent link") You can implement the SDK in various DirectShow applications as filters for both encryption and decryption processes. The system works effectively with: - Live video sources - File-based video sources - Software video encoders - GPU-accelerated video encoders from the [DirectShow Encoding Filters pack](https://www.visioforge.com/encoding-filters-pack) (available separately) - Third-party DirectShow filters for additional video encoding options ## Key Feat... **URL**: https://www.visioforge.com/help/docs/directshow/video-encryption-sdk/index.html #### Video Encryption SDK - Interface Reference - VisioForge Help [Skip to content](#video-encryption-sdk-interface-reference) # Video Encryption SDK - Interface Reference[¶](#video-encryption-sdk-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The Video Encryption SDK provides COM interfaces for encrypting and decrypting MP4 video files with AES-256 encryption. This reference covers all interfaces, methods, and helper classes for C++, C#, and Delphi developers. * * * ## IVFCryptoConfig Interface[¶](#ivfcryptoconfig-interface "Permanent link") Primary interface for configuring encryption passwords and keys on both the encryption muxer and decryption demuxer filters. ### Interface GUID[¶](#interface-guid "Permanent link") `[](#__codelineno-0-1){BAA5BD1E-3B30-425e-AB3B-CC20764AC253}` ### Inheritance[¶](#inheritance "Permanent link") ## Inherits from `IUnknown`[¶](#inherits-from-iunknown "Permanent link") ### Interface Definitions[¶](#interface-definitions "Permanent link") #### C++ Definition[¶](#c-definition "Permanent link") `[](#__codelineno-1-1)#include "encryptor_intf.h" [](#__codelineno-1-2)[](#__codelineno-1-3)// {BAA5BD1E-3B30-425e-AB3B-CC20764AC253} [](#__codelineno-1-4)DEFINE_GUID(IID_ICryptoConfig, [](#__codelineno-1-5) 0xbaa5bd1e, 0x3b30, 0x425e, 0xab, 0x3b, 0xcc, 0x20, 0x76, 0x4a, 0xc2, 0x53); [](#__codelineno-1-6)[](#__codelineno-1-7)DECLARE_INTERFACE_(ICryptoConfig, IUnknown) [](#__codelineno-1-8){ [](#__codelineno-1-9) STDMETHOD(put_Provider)(THIS_ IPasswordProvider* pProvider) PURE; [](#__codelineno-1-10) STDMETHOD(get_Provider)(THIS_ IPasswordProvider** ppProvider) PURE; [](#__codelineno-1-11) STDMETHOD(put_Password)(THIS_ LPBYTE pBuffer, LONG lSize) PURE; [](#__codelineno-1-12) STDMETHOD(HavePassword)(THIS_) PURE; [](#__codelineno-1-13)};` #### C# Definition[¶](#c-definition_1 "Permanent link") `[](#__codelineno-2-1)using System; [](#__codelineno-2-2)using System.Runtime.InteropServices; [](#__codelineno-2-3)[](#__codelineno-2-4)[Co... **URL**: https://www.visioforge.com/help/docs/directshow/video-encryption-sdk/interface-reference/index.html #### Virtual Camera SDK - Code Examples - VisioForge Help [Skip to content](#virtual-camera-sdk-code-examples) # Virtual Camera SDK - Code Examples[¶](#virtual-camera-sdk-code-examples "Permanent link") ## Overview[¶](#overview "Permanent link") This page provides practical code examples for using the Virtual Camera SDK. The SDK enables you to: - **Write TO virtual camera**: Stream video from files, real cameras, or individual frames to virtual camera devices - **Read FROM virtual camera**: Capture video from virtual camera devices (appears as regular webcam to applications) - Apply real-time video effects and processing - Support multiple virtual camera instances The virtual camera appears as a standard webcam to applications like Zoom, Teams, OBS, and other video conferencing software. * * * ## Architecture Overview[¶](#architecture-overview "Permanent link") The Virtual Camera SDK provides three main filter types: 1. **CLSID\_VFVirtualCameraSource**: Reads FROM virtual camera device (acts as a video capture source) 2. **CLSID\_VFVirtualCameraSink**: Writes TO virtual camera device (acts as a renderer) 3. **CLSID\_VFVideoPushSource**: Push source for frame-by-frame rendering (image sequences, custom rendering) **Typical workflows**: - File/Camera → VirtualCameraSink → Virtual Camera Device → Other Applications - Virtual Camera Device → VirtualCameraSource → Your Application - PushSource (frames) → VirtualCameraSink → Virtual Camera Device → Other Applications * * * ## Prerequisites[¶](#prerequisites "Permanent link") ### C# Projects[¶](#c-projects "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)using VisioForge.DirectShowAPI; [](#__codelineno-0-4)using VisioForge.DirectShowLib;` **Required NuGet Packages**: - `VisioForge.DirectShowAPI` - DirectShow wrapper library **Key CLSIDs**: `[](#__codelineno-1-1)// Filter CLSIDs (available in Consts class) [](#__codelineno-1-2)public static readonly Guid CLSID_VFVirtua... **URL**: https://www.visioforge.com/help/docs/directshow/virtual-camera-sdk/examples/index.html #### DirectShow Virtual Camera SDK for Video Streaming - VisioForge Help [Skip to content](#directshow-virtual-camera-sdk) # DirectShow Virtual Camera SDK[¶](#directshow-virtual-camera-sdk "Permanent link") ## Overview[¶](#overview "Permanent link") Our robust DirectShow-based Virtual Camera SDK enables developers to implement powerful virtual camera functionality in their applications. The SDK provides sink filters that can be utilized as output in Video Capture SDK or Video Edit SDK environments, while the source filters can be employed as video sources for various capture applications. With this versatile toolkit, you can stream video content from virtually any source directly to a virtual camera device. These virtual devices are fully compatible with popular communication platforms such as `Skype`, `Zoom`, `Microsoft Teams`, web browsers, and numerous other applications that support DirectShow virtual cameras. The SDK also includes comprehensive audio streaming capabilities for complete multimedia solutions. To help you get started quickly, the SDK package includes a fully-functional sample application that demonstrates how to stream video content from files to virtual camera devices. Download the SDK from our [product page](https://www.visioforge.com/virtual-camera-sdk) to start integrating virtual camera functionality into your applications today. * * * ## Installation[¶](#installation "Permanent link") Before using the code samples and integrating the SDK into your application, you must first install the Virtual Camera SDK from the [product page](https://www.visioforge.com/virtual-camera-sdk). **Installation Steps**: 1. Download the SDK installer from the product page 2. Run the installer with administrative privileges 3. The installer will register the virtual camera driver and all necessary DirectShow filters 4. Sample applications and source code will be available in the installation directory **Note**: The virtual camera driver and filters must be properly registered on the system before they can be used in... **URL**: https://www.visioforge.com/help/docs/directshow/virtual-camera-sdk/index.html #### VLC Source Filter - Code Examples - VisioForge Help [Skip to content](#code-examples) # Code Examples[¶](#code-examples "Permanent link") ## Overview[¶](#overview "Permanent link") This page provides practical code examples for using the VLC Source Filter in DirectShow applications. The VLC Source Filter supports multi-audio tracks, subtitles, 360° video, and custom VLC command-line options. * * * ## Prerequisites[¶](#prerequisites "Permanent link") ### C++ Projects[¶](#c-projects "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "IVlcSrc.h" // From SDK [](#__codelineno-0-4)#include "IVlcSrc2.h" // For custom parameters [](#__codelineno-0-5)#include "IVlcSrc3.h" // For frame rate override [](#__codelineno-0-6)#pragma comment(lib, "strmiids.lib")` ### C# Projects[¶](#c-projects_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices; [](#__codelineno-1-4)using System.Text;` **NuGet Packages**: - VisioForge.DirectShowAPI - MediaFoundationCore * * * ## Example 1: Basic File Playback[¶](#example-1-basic-file-playback "Permanent link") Play a local media file with VLC Source Filter. ### C++ Implementation[¶](#c-implementation "Permanent link") `[](#__codelineno-2-1)#include [](#__codelineno-2-2)#include "IVlcSrc.h" [](#__codelineno-2-3)[](#__codelineno-2-4)// CLSID for VLC Source Filter [](#__codelineno-2-5)DEFINE_GUID(CLSID_VFVLCSource, [](#__codelineno-2-6) 0x9f73dcd4, 0x2fc8, 0x4e89, 0x8f, 0xc3, 0x2d, 0xf1, 0x69, 0x3c, 0xa0, 0x3e); [](#__codelineno-2-7)[](#__codelineno-2-8)HRESULT PlayVLCFile(LPCWSTR filename, HWND hVideoWindow) [](#__codelineno-2-9){ [](#__codelineno-2-10) IGraphBuilder* pGraph = NULL; [](#__codelineno-2-11) IMediaControl* pControl = NULL; [](#__codelineno-2-12) IBaseFilter* pSourceFilter = NULL; [](#__codelineno-2-13) IVlc... **URL**: https://www.visioforge.com/help/docs/directshow/vlc-source-filter/examples/index.html #### VLC Source DirectShow Filter for Media Playback - VisioForge Help [Skip to content](#vlc-source-directshow-filter) # VLC Source DirectShow Filter[¶](#vlc-source-directshow-filter "Permanent link") ## Overview[¶](#overview "Permanent link") The VLC Source DirectShow filter empowers developers to seamlessly integrate advanced media playback capabilities into any DirectShow-based application. This powerful component enables smooth playback of various video files and network streams across multiple formats and protocols. Our SDK package delivers a complete solution with all necessary VLC player DLLs bundled alongside a flexible DirectShow filter. The package provides both standard file-selection interfaces and extensive options for custom filter configurations to match your specific development requirements. For complete product details and licensing options, visit the [product page](https://www.visioforge.com/vlc-source-directshow-filter). * * * ## Installation[¶](#installation "Permanent link") Before using the code samples and integrating the filter into your application, you must first install the VLC Source DirectShow Filter from the [product page](https://www.visioforge.com/vlc-source-directshow-filter). **Installation Steps**: 1. Download the SDK installer from the product page 2. Run the installer with administrative privileges 3. The installer will register the VLC Source filter and deploy all necessary VLC DLLs 4. Sample applications and source code will be available in the installation directory **Note**: The filter must be properly registered on the system before it can be used in your applications. The installer handles this automatically. * * * ## Technical Specifications[¶](#technical-specifications "Permanent link") ### Supported DirectShow Interfaces[¶](#supported-directshow-interfaces "Permanent link") The filter implements these standard DirectShow interfaces for maximum compatibility: - **IAMStreamSelect** - Comprehensive video and audio stream selection capabilities - **IAMStreamConfig**... **URL**: https://www.visioforge.com/help/docs/directshow/vlc-source-filter/index.html #### VLC Source Filter - Interface Reference - VisioForge Help [Skip to content](#vlc-source-filter-interface-reference) # VLC Source Filter Interface Reference[¶](#vlc-source-filter-interface-reference "Permanent link") ## Overview[¶](#overview "Permanent link") The VLC Source DirectShow filter exposes three progressive interfaces (`IVlcSrc`, `IVlcSrc2`, `IVlcSrc3`) that provide comprehensive control over media playback, audio/subtitle track selection, and VLC configuration. These interfaces enable developers to leverage VLC's powerful media framework within DirectShow applications. ## Interface Hierarchy[¶](#interface-hierarchy "Permanent link") `[](#__codelineno-0-1)IUnknown [](#__codelineno-0-2) └── IVlcSrc [](#__codelineno-0-3) └── IVlcSrc2 [](#__codelineno-0-4) └── IVlcSrc3` Each interface extends the previous one, adding new capabilities while maintaining backward compatibility. * * * ## IVlcSrc Interface[¶](#ivlcsrc-interface "Permanent link") The base interface providing essential file loading and track selection capabilities. ### Interface Definition[¶](#interface-definition "Permanent link") - **Interface Name**: `IVlcSrc` - **GUID**: `{77493EB7-6D00-41C5-9535-7C593824E892}` - **Inherits From**: `IUnknown` - **Header File**: `ivlcsrc.h` (C++), `IVlcSrc.cs` (.NET) ### Methods[¶](#methods "Permanent link") #### SetFile[¶](#setfile "Permanent link") Sets the media file or URL to play. **Syntax (C++)**: `[](#__codelineno-1-1)HRESULT SetFile(WCHAR *file);` **Syntax (C#)**: `[](#__codelineno-2-1)[PreserveSig] [](#__codelineno-2-2)int SetFile([MarshalAs(UnmanagedType.LPWStr)] string file);` **Parameters**: - `file`: Wide-character string containing the file path or URL. **Returns**: `S_OK` (0) on success, error code otherwise. **Supported Sources**: - Local files: `C:\Videos\movie.mp4` - HTTP streams: `https://example.com/stream.m3u8` - RTSP streams: `rtsp://example.com/live` - HLS playlists: `https://example.com/playlist.m3u8` - DASH streams: `https://... **URL**: https://www.visioforge.com/help/docs/directshow/vlc-source-filter/interface-reference/index.html #### .Net SDKs Updates and Release History - VisioForge Help [Skip to content](#changelog) # Changelog[¶](#changelog "Permanent link") Changes and updates for all .Net SDKs. ## 2025.12.9[¶](#2025129 "Permanent link") - Added Uno Platform support for desktop and mobile platforms ## 2025.11.4[¶](#2025114 "Permanent link") - .Net 10 support for all SDKs ## 2025.11.3[¶](#2025113 "Permanent link") - WPF VideoView update: Added RotationAngle, RotateCrop, and RotationStretch properties to support rotated video rendering ## 2025.11.1[¶](#2025111 "Permanent link") - \[Media Blocks SDK .Net\] Add synchronized overlay group support for OverlayManagerBlock ## 2025.10.10[¶](#20251010 "Permanent link") - \[**Windows SDKs**\] Updated VideoEffectRotate with no-crop option ## 2025.10.6[¶](#2025106 "Permanent link") ### 🚀 Major Feature: Ultra-Low Latency RTSP Streaming[¶](#major-feature-ultra-low-latency-rtsp-streaming "Permanent link") - **\[Media Blocks SDK .Net\]** Revolutionary low latency mode for RTSP sources achieving **60-120ms total latency** (10-14x improvement over default 1-2 seconds) - Added `RTSPSourceSettings.LowLatencyMode` property for one-line enablement of optimized streaming - Automatic pipeline optimization: RTSP source (80ms), queue buffers (10-20ms), and renderer sync control - GStreamer integration: `latency=80ms`, `buffer-mode=0`, queue `max-size-buffers=2` with `leaky=downstream` - Perfect for real-time surveillance, security systems, live monitoring, and interactive video applications - **\[Media Blocks SDK .Net\]** Enhanced RTSPSourceBlock with comprehensive low latency configuration - Added `RTSPBufferMode` enum with 5 modes (None, Auto, Slave, Buffer, Synced) for fine-grained jitter buffer control - Added `RTSPNTPTimeSource` enum (NTP, RunningTime, Clock) for NTP timestamp synchronization in multi-camera scenarios - New properties: `LowLatencyMode`, `BufferMode`, `DropOnLatency`, `NTPSync`, `NTPTimeSource` - Optimized `QueueElement` with automatic low latency conf... **URL**: https://www.visioforge.com/help/docs/dotnet/changelog/index.html #### Cross-platform .Net deployment manual for Android - VisioForge Help [Skip to content](#android-implementation-and-deployment-guide) # Android Implementation and Deployment Guide[¶](#android-implementation-and-deployment-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to VisioForge SDKs for Android[¶](#introduction-to-visioforge-sdks-for-android "Permanent link") Android developers working with .NET technologies can leverage the powerful capabilities of VisioForge SDKs to integrate advanced media functionality into their applications. The SDKs provide robust solutions for media manipulation, playback, capture, and editing on the Android platform using .NET technologies. The VisioForge SDK for Android offers powerful capabilities for video processing, capturing, editing, and playback, all optimized for the Android platform while maintaining a consistent cross-platform development experience. The Android deployment process requires special consideration for package management, device compatibility, permissions, and performance optimization. This document provides detailed instructions to ensure your application runs smoothly on Android devices. ## System Requirements[¶](#system-requirements "Permanent link") Before beginning your Android implementation and deployment process, ensure your development environment meets the following requirements: ### Device Requirements[¶](#device-requirements "Permanent link") - Android device running Android 10.0 or later - ARM or ARM64 processor architecture - Sufficient storage space for application assets and media processing - Camera and microphone hardware (if using video/audio capture features) ### Development Environment Requirements[¶](#development-environment-requirements "Permanent link") -... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/Android/index.html #### .NET Cross-Platform Deployment Guide for Ubuntu - VisioForge Help [Skip to content](#ubuntu-deployment-guide-for-visioforge-sdk-applications) # Ubuntu Deployment Guide for VisioForge SDK Applications[¶](#ubuntu-deployment-guide-for-visioforge-sdk-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") Deploying .NET applications with VisioForge SDKs on Ubuntu Linux offers multiple benefits, including cross-platform compatibility, access to Linux-specific hardware, and the ability to run your multimedia applications on environments ranging from server infrastructure to edge devices. This comprehensive guide will walk you through the complete process of configuring your Ubuntu environment, installing the necessary dependencies, and deploying your VisioForge-powered .NET application. The VisioForge SDK family works on Ubuntu and other Linux distributions that support `GStreamer` libraries. Additional supported platforms include `Nvidia Jetson` devices and `Raspberry Pi`, making it perfect for a wide range of applications from desktop multimedia software to IoT solutions. ## System Requirements[¶](#system-requirements "Permanent link") Before deploying your application, ensure your Ubuntu environment meets these minimum requirements: - Ubuntu 20.04 LTS or later (22.04 LTS and later recommended) - .NET 7.0 or later runtime - At least 4GB RAM (8GB recommended for video processing) - x86\_64 or ARM64 architecture - Internet connection for package installation ## Installation and Setup[¶](#installation-and-setup "Permanent link") ### Installing .NET[¶](#installing-net "Permanent link") Download the latest [.NET installer](https://dotnet.microsoft.com/en-us/download/dotnet) package from the Microsoft websi... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/Ubuntu/index.html #### Cross-platform SDK .Net deployment for Windows - VisioForge Help [Skip to content](#windows-installation-and-deployment-guide-for-visioforge-cross-platform-sdk) # Windows Installation and Deployment Guide for VisioForge Cross-Platform SDK[¶](#windows-installation-and-deployment-guide-for-visioforge-cross-platform-sdk "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to VisioForge SDK Installation and Deployment[¶](#introduction-to-visioforge-sdk-installation-and-deployment "Permanent link") The VisioForge SDK suite provides powerful multimedia capabilities for your .NET applications, supporting video capture, editing, playback, and advanced media processing across multiple platforms. This comprehensive guide covers both installation and deployment for Windows applications. ## Installation[¶](#installation "Permanent link") SDKs are accessible in two forms: a setup file and NuGet packages. The setup file provides a straightforward installation process, ensuring that all necessary components are correctly configured. On the other hand, NuGet packages offer a flexible and modular approach to incorporating SDKs into your projects, allowing for easy updates and dependency management. We highly recommend utilizing NuGet packages due to their convenience and efficiency in managing project dependencies and updates. When building your application, you have the option to create both x86 and x64 versions. This allows your application to run on a wider range of systems, accommodating different hardware architectures. However, it's important to note that the setup file is exclusively available for the x64 architecture. This means that while you can develop and compile x86 builds, the initial setup and installation process will require an x64 system. ### IDEs[¶](#... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/Windows/index.html #### Computer Vision Implementation for Developers - VisioForge Help [Skip to content](#computer-vision-implementation-guide) # Computer Vision Implementation Guide[¶](#computer-vision-implementation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net), [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net), [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Overview of Available Packages[¶](#overview-of-available-packages "Permanent link") Our SDK provides two powerful NuGet packages that deliver robust computer vision capabilities for your applications: 1. **VisioForge CV Package**: Designed specifically for Windows environments 2. **VisioForge CVD Package**: Cross-platform solution that works across multiple operating systems These packages provide a comprehensive API for integrating computer vision features directly into your .NET applications. ## Deployment Requirements[¶](#deployment-requirements "Permanent link") ### Windows-Specific CV Package[¶](#windows-specific-cv-package "Permanent link") #### Installation Process[¶](#installation-process "Permanent link") The Windows-specific CV package is designed for seamless integration: - Simply install the NuGet package through your preferred package manager - No additional deployment steps are necessary - Ready to use immediately after installation ### Cross-Platform CVD Package[¶](#cross-platform-cvd-package "Permanent link") Our cross-platform CVD package requires specific configurations based on your operating system: #### Windows Environment Setup[¶](#windows-environment-setup "Permanent link") When deploying on Windows systems: - Install the NuGet package through Visual Studio or the .NET CLI - No additional dependencies or configurations are required - Works out of the box with standard Windows installations #### Ubuntu Linux Configuration[¶](#ubuntu-linux-configuration "Permanent link") For Ubuntu Linux systems, install the following dependencies: `[](#__c... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/computer-vision/index.html #### iOS Cross-Platform .NET App Deployment Guide - VisioForge Help [Skip to content](#apple-ios-deployment-guide) # Apple iOS Deployment Guide[¶](#apple-ios-deployment-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Overview[¶](#overview "Permanent link") This comprehensive guide walks you through the process of deploying VisioForge SDK-powered applications to Apple iOS devices. The VisioForge SDK provides a powerful framework for building media-rich applications on iOS, offering robust support for video capture, editing, playback, and processing capabilities. The iOS deployment process involves several key considerations, from package management to permission handling and performance optimization. This document will guide you through each step to ensure a smooth deployment experience. ## System Requirements[¶](#system-requirements "Permanent link") Before beginning your iOS deployment process, ensure your development environment meets the following requirements: ### Hardware Requirements[¶](#hardware-requirements "Permanent link") - Apple Mac computer for development (required for iOS app signing) - iOS device for testing (strongly recommended over simulators) - Sufficient storage space for development tools and application assets ### Software Requirements[¶](#software-requirements "Permanent link") - Apple iOS device running iOS 12 or later (latest version recommended) - Xcode 12 or later with iOS SDK installed - Apple Developer account (required for app signing and distribution) - Visual Studio for Mac, JetBrains Rider, or Visual Studio Code - .Net 7.0 SDK or later (we recommend the latest stable version) ## Architecture Support[¶](#architecture-support "Permanent link") The VisioForge SDK for iOS provides native support for both maj... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/iOS/index.html #### Cross-Platform .NET SDK Deployment Guide - VisioForge Help [Skip to content](#cross-platform-deployment-guide-for-visioforge-net-sdk) # Cross-Platform Deployment Guide for VisioForge .NET SDK[¶](#cross-platform-deployment-guide-for-visioforge-net-sdk "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to VisioForge SDK Deployment[¶](#introduction-to-visioforge-sdk-deployment "Permanent link") The VisioForge SDK suite provides powerful multimedia capabilities for .NET applications, supporting video capture, editing, playback, and advanced media processing across multiple platforms. Proper deployment is critical to ensure your applications function correctly and leverage the full potential of these SDKs. This comprehensive guide outlines the deployment process for applications built with VisioForge's cross-platform .NET SDKs, helping you navigate the specific requirements of each supported operating system. ## Deployment Overview[¶](#deployment-overview "Permanent link") Deploying applications built with VisioForge SDKs requires careful consideration of platform-specific dependencies and configurations. The deployment process varies significantly depending on your target platform due to differences in: - Native library requirements - Media framework dependencies - Hardware access mechanisms - Package distribution methods ### Key Deployment Considerations[¶](#key-deployment-considerations "Permanent link") Before beginning the deployment process, consider these critical factors: 1. **Target Platform Architecture**: Ensure you select the appropriate architecture (x86, x64, ARM64) for your deployment platform 2. **Required Dependencies**: Some platforms require additional libraries that aren't included in NuGet packages 3. **Framework Co... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/index.html #### Cross-platform .Net deployment manual for macOS - VisioForge Help [Skip to content](#apple-macos-deployment-guide) # Apple macOS Deployment Guide[¶](#apple-macos-deployment-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") VisioForge's powerful .NET SDKs provide comprehensive media processing capabilities for macOS developers. Whether you're building video capture applications, media players, video editors, or complex media processing pipelines, our SDKs offer the tools you need to deliver high-quality solutions on Apple's platforms. The VisioForge SDK provides comprehensive support for macOS application development using .NET technologies. You can leverage this SDK to build robust media processing applications that run natively on macOS, including support for both Intel (x64) and Apple Silicon (ARM64) architectures. This guide covers everything you need to know to set up, configure, and deploy applications for macOS and MacCatalyst environments using the VisioForge SDK. Whether you're building traditional macOS applications or cross-platform solutions using frameworks like MAUI or Avalonia, this document will help you navigate the installation and deployment process. ## System Requirements[¶](#system-requirements "Permanent link") Before starting the installation and deployment process, ensure your development environment meets the following requirements: ### Hardware Requirements[¶](#hardware-requirements "Permanent link") - Mac computer with Intel processor (x64) or Apple Silicon (ARM64) - Minimum 8GB RAM (16GB recommended for video processing) - Sufficient disk space for development tools and application assets ### Software Requirements[¶](#software-requirements "Permanent link") - macOS 10.15 (... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/macOS/index.html #### Cross-platform .NET Deployment for Uno Platform - VisioForge Help [Skip to content](#uno-platform-implementation-and-deployment-guide) # Uno Platform Implementation and Deployment Guide[¶](#uno-platform-implementation-and-deployment-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to VisioForge SDKs for Uno Platform[¶](#introduction-to-visioforge-sdks-for-uno-platform "Permanent link") Uno Platform is a powerful cross-platform UI framework that enables developers to build native applications for Windows, Android, iOS, macOS, and Linux from a single codebase. VisioForge provides comprehensive support for Uno Platform applications through the `VisioForge.DotNet.Core.UI.Uno` package, which contains specialized UI controls designed specifically for the Uno Platform. The Uno Platform deployment process requires special consideration for each target platform. This document provides detailed instructions to ensure your application runs smoothly across all supported platforms. ## Supported Platforms[¶](#supported-platforms "Permanent link") VisioForge SDKs support the following Uno Platform targets: Platform Framework Target Status Windows Desktop net10.0-windows10.0.19041.0 ✔ Full Support Android net10.0-android ✔ Full Support iOS net10.0-ios ✔ Full Support macOS (Catalyst) net10.0-maccatalyst ✔ Full Support Linux Desktop (Skia) net10.0-desktop ✔ Full Support ## System Requirements[¶](#system-requirements "Permanent link") Before beginning your Uno Platform implementation, ensure your development environment meets the following requirements: ### Development Environment Requirements[¶](#development-environment-requirements "Permanent link") - Windows, Linux, or macOS computer - Visual Studio 2022 with Uno Platform extension, Je... **URL**: https://www.visioforge.com/help/docs/dotnet/deployment-x/uno/index.html #### Working with Audio Sample Grabber in .NET SDKs - VisioForge Help [Skip to content](#working-with-audio-sample-grabber-in-net-sdks) # Working with Audio Sample Grabber in .NET SDKs[¶](#working-with-audio-sample-grabber-in-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Audio Sample Grabber[¶](#introduction-to-audio-sample-grabber "Permanent link") The Audio Sample Grabber is a powerful feature available across our .NET SDKs that enables developers to access raw audio frames directly from both live sources and media files. This capability opens up a wide range of possibilities for audio processing, analysis, and manipulation in your applications. When working with audio processing, gaining access to individual audio frames is essential for tasks such as: - Real-time audio visualization - Custom audio effects processing - Speech recognition integration - Audio analysis and metrics - Custom audio format conversion - Sound detection algorithms The `OnAudioFrameBuffer` event is the core mechanism that provides access to these raw audio frames. This event fires each time a new audio frame is available, giving you direct access to unmanaged memory containing the decoded audio data. ## How Audio Sample Grabber Works[¶](#how-audio-sample-grabber-works "Permanent link") The Audio Sample Grabber intercepts the audio pipeline during playback or capture, providing you with the raw audio data before it's rendered to the output device. This data is typically in PCM (Pulse Code Modulation) format, which is the standard format for uncompressed digital audio, but can occasionally be in IEEE floating-point format depending on the audio source. Each time the `OnAudioFrameBuffer` event fires, it provides an `AudioFrameBufferEventArgs` object co... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-effects/audio-sample-grabber/index.html #### AAC Audio Encoder Implementation Guide - VisioForge Help [Skip to content](#aac-encoder-and-m4a-output) # AAC encoder and M4A output[¶](#aac-encoder-and-m4a-output "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The VisioForge SDK provides several AAC encoder implementations, each with unique characteristics and use cases. ## What is M4A Output?[¶](#what-is-m4a-output "Permanent link") M4A is a file format used for storing audio data encoded with the Advanced Audio Coding (AAC) codec. VisioForge .Net SDKs provide robust support for creating high-quality M4A audio files through their dedicated M4AOutput class. This format is widely used for digital audio distribution due to its excellent compression efficiency and sound quality. ## Cross-platform M4A (AAC) output[¶](#cross-platform-m4a-aac-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The cross-platform capable SDKs (VideoCaptureCoreX, VideoEditCoreX, MediaBlocksPipeline) allow you to utilize several AAC encoder implementations via `M4AOutput`. This guide focuses on three main approaches using dedicated settings objects: 1. [AVENC AAC Encoder](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.AVENCAACEncoderSettings.html) - A feature-rich, cross-platform encoder. 2. [VO-AAC Encoder](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.VOAACEncoderSettings.html) - A streamlined, cross-platform encoder. 3. Media Foundation AAC Encoder - A Windows-specific system encoder, accessible on Windows platforms via `MFAACEncoderSettings`. ### AVENC AAC Encoder[¶](#avenc-aac-encoder "Permanent link") The AVENC AAC Encoder offers the most comprehensive configuration options for audio encoding. It provides advanced settings for stereo coding, prediction, and noise shaping. #### Key Features[... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/aac/index.html #### FLAC Audio Encoder Integration Guide - VisioForge Help [Skip to content](#flac-encoder-and-output) # FLAC encoder and output[¶](#flac-encoder-and-output "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The FLAC (Free Lossless Audio Codec) encoder provides high-quality lossless audio compression while preserving the original audio quality. ## Cross-platform FLAC output[¶](#cross-platform-flac-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Features[¶](#features "Permanent link") The FLAC encoder supports a wide range of audio configurations: - Sample rates from 1 Hz to 655,350 Hz - Up to 8 audio channels (mono to 7.1 surround) - Lossless compression with adjustable quality settings - Streamable output support - Configurable block sizes and compression parameters ### Quality Settings[¶](#quality-settings "Permanent link") The encoder provides a quality parameter ranging from 0 to 9: - 0: Fastest compression (lowest CPU usage) - 1-7: Balanced compression settings - 8: Highest compression (higher CPU usage) - 9: Insane compression (extremely CPU intensive) The default quality setting is 5, which offers a good balance between compression ratio and processing speed. ### Basic Settings[¶](#basic-settings "Permanent link") The cross-platform [FLACEncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.FLACEncoderSettings.html) class offers advanced configuration options: `[](#__codelineno-0-1)// Create FLAC encoder settings with default quality [](#__codelineno-0-2)var flacSettings = new FLACEncoderSettings [](#__codelineno-0-3){ [](#__codelineno-0-4) // Default compression level [](#__codelineno-0-5) Quality = 5, [](#__codelineno-0-6) [](#__codelineno-0-7) // Audio block size in samples [](#__co... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/flac/index.html #### Audio Encoder Integration Guide for .NET SDKs - VisioForge Help [Skip to content](#audio-encoders-for-net-development) # Audio Encoders for .NET Development[¶](#audio-encoders-for-net-development "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Audio Encoding in .NET Applications[¶](#introduction-to-audio-encoding-in-net-applications "Permanent link") When developing media applications in .NET, choosing the right audio encoder is crucial for ensuring optimal performance, compatibility, and quality. VisioForge's suite of .NET SDKs provides developers with powerful tools for audio encoding across various formats, enabling the creation of professional-grade media applications. Audio encoders are essential components that convert raw audio data into compressed formats suitable for storage, streaming, or playback. Each encoder offers different advantages in terms of compression ratio, audio quality, processing requirements, and platform compatibility. This guide will help you navigate the various audio encoding options available in VisioForge's .NET SDKs. ## Available Audio Encoders[¶](#available-audio-encoders "Permanent link") VisioForge's .NET SDKs include support for the following audio encoders, each designed for specific use cases: ### [AAC Encoder](aac/)[¶](#aac-encoder "Permanent link") Advanced Audio Coding (AAC) represents the industry standard for high-quality audio compression. It delivers excellent sound quality at lower bit rates compared to older formats like MP3. **Key features:** - Efficient compression with minimal quality loss - Wide device and platform compatibility - Variable bit rate support for optimized file sizes - Ideal for streaming applications and mobile devices - Support for multi-channel audio (up to 48 channels) AAC is particularly well-suited for applications where audio qual... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/index.html #### Record, Capture & Edit MP3 Audio in C# - VisioForge Help [Skip to content](#mastering-mp3-audio-record-capture-edit-in-c-and-net) # Mastering MP3 Audio: Record, Capture & Edit in C# and .NET[¶](#mastering-mp3-audio-record-capture-edit-in-c-and-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The VisioForge SDK empowers developers to seamlessly record, capture, and edit MP3 audio within C# applications. This guide explores how to leverage our robust .NET SDK for high-quality MP3 audio processing. Whether you need to capture media streams, record MP3 files, or edit audio waveforms, our C# media toolkit provides comprehensive tools using the LAME library. MP3, a widely adopted lossy audio compression format, is ideal for audio streaming and efficient storage. You can utilize the MP3 encoder to integrate audio capture and recording functionalities into various container formats such as MP4, AVI, and MKV, enhancing your audio capture projects. Our SDK works seamlessly with Visual Studio for a smooth development experience. SDK contains MP3 audio encoder that can be used to encode audio streams to MP3 format using the LAME library. MP3 is a lossy audio compression format that is widely used in audio streaming and storage. You can use MP3 encode to encode audio in MP4, AVI, MKV, and other containers. ## Cross-platform MP3 Audio Capture and Recording[¶](#cross-platform-mp3-audio-capture-and-recording "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The [MP3EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.MP3EncoderSettings.html) class provides developers with a streamlined approach to configure MP3 encoding for C# audio capture projects. This cross-platform solution supports various rate controls and quality settings, making it ideal for record .NET MP... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/mp3/index.html #### Optimizing OPUS Audio Encoding in .NET Applications - VisioForge Help [Skip to content](#mastering-opus-audio-encoding-in-net-applications) # Mastering OPUS Audio Encoding in .NET Applications[¶](#mastering-opus-audio-encoding-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to OPUS Audio Encoding[¶](#introduction-to-opus-audio-encoding "Permanent link") OPUS stands as one of the most versatile and efficient audio codecs available for modern software development. VisioForge .NET SDKs include a royalty-free OPUS encoder that transforms audio into the highly adaptable Opus format. This encoded audio can be encapsulated in various containers including Ogg, Matroska, WebM, or RTP streams, making it ideal for both streaming applications and stored media. Developed by the Internet Engineering Task Force (IETF), OPUS combines the best elements of the SILK and CELT codecs to deliver exceptional performance across a wide range of audio requirements. The codec excels in both speech and music encoding at bitrates from as low as 6 kbps to as high as 510 kbps, offering developers remarkable flexibility in balancing quality against bandwidth constraints. ## Why Choose OPUS for Your .NET Applications[¶](#why-choose-opus-for-your-net-applications "Permanent link") OPUS has become the preferred choice for many audio applications for several compelling reasons: - **Low Latency**: With encoding delays as low as 5ms, OPUS is perfect for real-time communication applications - **Adaptive Bitrate**: Seamlessly switches between speech and music optimization - **Wide Bitrate Range**: Functions effectively from 6 kbps to 510 kbps - **Superior Compression**: Offers better quality than MP3, AAC, and other codecs at equivalent bitrates - **Open Standard**: Royalty-free and open-source, reducing licensing concerns - **Cross... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/opus/index.html #### Speex Audio Encoder Integration for .NET - VisioForge Help [Skip to content](#speex-audio-encoder-for-net) # Speex Audio Encoder for .NET[¶](#speex-audio-encoder-for-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Speex[¶](#introduction-to-speex "Permanent link") Speex is a patent-free audio codec specifically designed for speech encoding in .NET applications. Whether you need to capture, edit, or record audio in C#, Speex provides excellent compression while maintaining voice quality across various bitrates. VisioForge integrates this powerful encoder into its .NET SDKs, offering developers flexible configuration options for speech-based applications. The codec is particularly well-suited for C# developers looking to implement high-quality audio capture and recording features in their applications. ## Core Functionality[¶](#core-functionality "Permanent link") The Speex encoder in VisioForge SDKs supports: - Multiple frequency bands for different quality levels - Variable and fixed bitrate encoding - Voice activity detection and silence compression - Adjustable complexity and quality settings - Cross-platform compatibility across Windows, macOS, and Linux - Seamless integration with dotnet applications ## Cross-platform Implementation[¶](#cross-platform-implementation "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Encoder Modes[¶](#encoder-modes "Permanent link") Speex offers four operation modes optimized for different frequency ranges: Mode Value Optimal Sample Rate Auto 0 Automatic selection based on input Ultra Wide Band 1 32 kHz Wide Band 2 16 kHz Narrow Band 3 8 kHz The encoder automatically adjusts internal parameters based on the selected mode. For most speech applications, Wide Band (mode 2) offers an excellent balance betwe... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/speex/index.html #### Vorbis Audio Encoding Guide for .NET Development - VisioForge Help [Skip to content](#vorbis-audio-encoding-for-net-developers) # Vorbis Audio Encoding for .NET Developers[¶](#vorbis-audio-encoding-for-net-developers "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Vorbis in VisioForge SDK[¶](#introduction-to-vorbis-in-visioforge-sdk "Permanent link") The VisioForge SDK suite offers powerful Vorbis audio encoding capabilities that enable developers to implement high-quality audio compression in their .NET applications. Vorbis, an open-source audio codec, delivers exceptional audio fidelity with efficient compression ratios, making it ideal for streaming applications, multimedia content, and web audio. This guide will help you navigate the various Vorbis implementation options available in the VisioForge SDK ecosystem, providing practical code examples and optimization strategies for different use cases. ## Cross-Platform Vorbis Encoder[¶](#cross-platform-vorbis-encoder "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) VisioForge's Vorbis implementations work across multiple platforms, giving you flexibility in deployment environments. The cross-platform components are specifically designed to function consistently across different operating systems. ### Implementation Options[¶](#implementation-options "Permanent link") The SDK provides three distinct approaches to Vorbis encoding, each tailored to specific development scenarios: #### 1\. WebM Container with Vorbis Audio[¶](#1-webm-container-with-vorbis-audio "Permanent link") The [WebM output](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WebMOutput.html) implementation encapsulates Vorbis audio within the WebM container format. This option is particularly well-suited for web-based applications and HTML5 vide... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/vorbis/index.html #### WAV Audio Format Integration in .NET Applications - VisioForge Help [Skip to content](#implementing-wav-audio-in-net-applications) # Implementing WAV Audio in .NET Applications[¶](#implementing-wav-audio-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## What is WAV Format?[¶](#what-is-wav-format "Permanent link") WAV (Waveform Audio File Format) functions as an uncompressed audio container format rather than a codec. It stores raw PCM (Pulse-Code Modulation) audio data in its native form. When working with VisioForge SDKs, the WAV output functionality allows developers to create high-quality audio files with configurable PCM settings. Since WAV preserves audio without compression, it maintains original sound quality at the cost of larger file sizes compared to compressed formats like MP3 or AAC. ## How WAV Files Work[¶](#how-wav-files-work "Permanent link") The WAV format stores audio samples in their raw form. When your application outputs to WAV format, it performs three key operations: 1. Organizing raw PCM audio data into the WAV container structure 2. Defining interpretation parameters (sample rate, bit depth, and channel count) 3. Generating appropriate WAV headers and metadata This uncompressed nature means file sizes are predictable and directly calculated from the audio parameters: `[](#__codelineno-0-1)File size (bytes) = Sample Rate × Bit Depth × Channels × Duration / 8` For example, a one-minute stereo WAV file sampled at 44.1kHz with 16-bit samples consumes approximately 10.1 MB: `[](#__codelineno-1-1)44100 × 16 × 2 × 60 / 8 = 10,584,000 bytes` ## Cross-Platform WAV Implementation[¶](#cross-platform-wav-implementation "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Key Features[¶](#key-features "Permanent link") - Flexible audio format configuration (d... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/wav/index.html #### WavPack Audio Encoder Integration for .NET - VisioForge Help [Skip to content](#wavpack-audio-encoder-for-net-applications) # WavPack Audio Encoder for .NET Applications[¶](#wavpack-audio-encoder-for-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introduction to WavPack[¶](#introduction-to-wavpack "Permanent link") WavPack is a powerful audio codec that offers both lossless and hybrid lossy compression capabilities, making it highly versatile for different application requirements. The VisioForge.Core library provides a robust implementation of this codec for .NET developers seeking high-quality audio compression solutions. With support for various quality levels, correction modes, and stereo encoding options, the WavPack encoder can handle multiple channel configurations while delivering excellent compression across a wide range of bitrates and sample rates. ## Getting Started with WavPack[¶](#getting-started-with-wavpack "Permanent link") ### Basic Configuration[¶](#basic-configuration "Permanent link") To begin using the WavPack encoder, you'll need to create an instance of the `WavPackEncoderSettings` class with your desired parameters: `[](#__codelineno-0-1)var encoder = new WavPackEncoderSettings [](#__codelineno-0-2){ [](#__codelineno-0-3) Mode = WavPackEncoderMode.Normal, [](#__codelineno-0-4) JointStereoMode = WavPackEncoderJSMode.Auto, [](#__codelineno-0-5) CorrectionMode = WavPackEncoderCorrectionMode.Off, [](#__codelineno-0-6) MD5 = false [](#__codelineno-0-7)};` This simple configuration uses balanced compression settings and automatic stereo encoding mode selection, suitable for most general use cases. ### Compression Modes Explained[¶](#compression-modes-explained "Permanent link") WavPack offers fou... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/wavpack/index.html #### Windows Media Audio Encoder Integration Guide - VisioForge Help [Skip to content](#windows-media-audio-encoder) # Windows Media Audio encoder[¶](#windows-media-audio-encoder "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Windows Media Audio (WMA) is a popular audio codec developed by Microsoft for efficient audio compression. This documentation covers the WMA encoder implementations available in the VisioForge .Net SDKs. ## Overview[¶](#overview "Permanent link") The VisioForge SDK provides two distinct approaches for WMA encoding: the platform-specific [WMAOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WMAOutput.html) for Windows environments and the cross-platform [WMAEncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.WMAEncoderSettings.html). Let's explore both implementations in detail to understand their capabilities and use cases. ## Cross-platform WMA output[¶](#cross-platform-wma-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The `WMAEncoderSettings` provides a cross-platform solution for WMA encoding. This implementation is built on SDK and offers consistent behavior across different operating systems. ### Key Features[¶](#key-features "Permanent link") The encoder supports the following audio configurations: - Sample rates: 44.1 kHz and 48 kHz - Bitrates: 128, 192, 256, and 320 Kbps - Channel configurations: Mono (1) and Stereo (2) ### Rate Control[¶](#rate-control "Permanent link") The WMA encoder implements constant bitrate (CBR) encoding, allowing you to specify a fixed bitrate from the supported values. This ensures consistent audio quality and predictable file sizes throughout the encoded content. ### Usage Example[¶](#usage-example "Permanent link") Add the WMA output to the Video Capture SD... **URL**: https://www.visioforge.com/help/docs/dotnet/general/audio-encoders/wma/index.html #### Use Third-Party Video Filters in .NET - VisioForge Help [Skip to content](#use-third-party-video-filters-in-net) # Use Third-Party Video Filters in .NET[¶](#use-third-party-video-filters-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") Third-party video processing filters provide powerful capabilities for manipulating video streams in .NET applications. These filters can be seamlessly integrated into various SDK platforms including Video Capture SDK .Net, Media Player SDK .Net, and Video Edit SDK .Net to enhance your applications with advanced video processing features. This guide explores how to implement, configure, and optimize third-party DirectShow filters within your .NET projects, providing you with the knowledge needed to create sophisticated video processing applications. ## Understanding DirectShow Filters[¶](#understanding-directshow-filters "Permanent link") DirectShow filters are COM-based components that process media data within the DirectShow framework. They can perform various operations including: - Video effects and transitions - Color correction and grading - Frame rate conversion - Resolution changes - Noise reduction - Special effects processing Before using third-party filters, it's important to understand how they operate within the DirectShow pipeline and how they interact with our SDK components. ## Prerequisites[¶](#prerequisites "Permanent link") To successfully implement third-party video processing filters in your .NET applications, you'll need: 1. The appropriate SDK (.NET Video Capture, Media Player, or Video Edit) 2. Third-party DirectShow filters of your choice 3. Administrative access for filter registration 4. Basic understanding of DirectShow architecture ## Filter Registration Process[¶](#filter-registration-proc... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/3rd-party-video-effects/index.html #### ASF/WMV File Indexing in .NET - Complete Guide - VisioForge Help [Skip to content](#complete-guide-to-asf-and-wmv-file-indexing-in-net) # Complete Guide to ASF and WMV File Indexing in .NET[¶](#complete-guide-to-asf-and-wmv-file-indexing-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) When working with Windows Media files in your .NET applications, you'll likely encounter challenges with seeking functionality, especially with files lacking proper index structures. This guide explains how to implement efficient indexing for ASF, WMV, and WMA files to ensure smooth playback and navigation capabilities in your applications. ## Understanding the Indexing Problem[¶](#understanding-the-indexing-problem "Permanent link") ASF (Advanced Systems Format) is Microsoft's container format designed for streaming media. WMV (Windows Media Video) and WMA (Windows Media Audio) are built on this format. While these formats are widely used, many files lack proper indexing structures, which creates several problems: - Choppy or unpredictable seeking behavior - Inability to jump to specific timestamps - Inconsistent playback when navigating through the file - Performance issues during random access operations Proper indexing creates a map of the file's content, allowing your application to quickly locate and access specific points in the media stream. ## Benefits of Implementing Media File Indexing[¶](#benefits-of-implementing-media-file-indexing "Permanent link") Adding indexing capabilities to your .NET application provides several advantages: 1. **Improved User Experience**: Allows users to navigate media files with precise seeking 2. **Enhanced Performance**: Reduces processing overhead when jumping to specific points in media 3. **Broader File Compatibility**: Handle a wider range of ASF, WMV, and WMA files regardless of their origi... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/asf-wmv-files-indexing/index.html #### Use Custom DirectShow Filter Interfaces - VisioForge Help [Skip to content](#use-custom-directshow-filter-interfaces) # Use Custom DirectShow Filter Interfaces[¶](#use-custom-directshow-filter-interfaces "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) _Note: The API shown in this guide is the same across all our SDK products, including Video Capture SDK .Net, Video Edit SDK .Net, and Media Player SDK .Net._ DirectShow is a powerful multimedia framework that allows developers to perform complex operations on media streams. One of its key strengths is the ability to work with custom filter interfaces, giving you precise control over media processing. This guide will walk you through implementing and utilizing custom DirectShow filter interfaces in your .NET applications. ## Understanding DirectShow Filters[¶](#understanding-directshow-filters "Permanent link") DirectShow uses a filter-based architecture where each filter performs a specific operation on the media stream. These filters are connected in a graph, creating a pipeline for media processing. ### Key DirectShow Components[¶](#key-directshow-components "Permanent link") - **Filter**: A component that processes media data - **Pin**: Connection points between filters - **Filter Graph**: The complete pipeline of connected filters - **IBaseFilter**: The fundamental interface that all DirectShow filters implement ## Getting Started with Custom Filter Interfaces[¶](#getting-started-with-custom-filter-interfaces "Permanent link") To work with DirectShow filters in .NET, you'll need to: 1. Add the proper references to your project 2. Access the filter through appropriate events 3. Cast the filter to the interface you need 4. Implement your custom logic ### Required Project References[¶](#required-project-references "Permanent link") To access DirectShow functional... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/custom-filter-interface/index.html #### Creating Custom Video Effects in C# Applications - VisioForge Help [Skip to content](#creating-custom-real-time-video-effects-in-c-applications) # Creating Custom Real-time Video Effects in C# Applications[¶](#creating-custom-real-time-video-effects-in-c-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to Video Frame Processing[¶](#introduction-to-video-frame-processing "Permanent link") When developing video applications, you often need to apply custom effects or overlays to video streams in real-time. The .NET SDK provides two powerful events for this purpose: `OnVideoFrameBitmap` and `OnVideoFrameBuffer`. These events give you direct access to each video frame, allowing you to modify pixels before they're rendered or encoded. ## Implementation Methods[¶](#implementation-methods "Permanent link") There are two primary approaches to implementing custom video effects: 1. **Using OnVideoFrameBitmap**: Process frames as Bitmap objects with GDI+ - easier to use but with moderate performance 2. **Using OnVideoFrameBuffer**: Manipulate raw RGB24 image buffer directly - offers better performance but requires more low-level code ## Code Examples for Custom Video Effects[¶](#code-examples-for-custom-video-effects "Permanent link") ### Text Overlay Implementation[¶](#text-overlay-implementation "Permanent link") Adding text overlays to video is useful for watermarking, displaying information, or creating captions. This example demonstrates how to add simple text to your video frames: `[](#__codelineno-0-1)private void VideoCapture1_OnVideoFrameBitmap(object sender, VideoFrameBitmapEventArgs e) [](#__codelineno-0-2){ [](#__codelineno-0-3) Graphics grf = Graphics.FromImage(e.Frame); [](#__codelineno-0-4) [](#__codelineno-0-5) grf.DrawString("Hello!", new Font(FontFamily.GenericSansSerif, 20), new SolidB... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/custom-video-effects/index.html #### Implementing Dynamic Text Overlays on Video Frames - VisioForge Help [Skip to content](#implementing-dynamic-text-overlays-on-video-frames-in-net) # Implementing Dynamic Text Overlays on Video Frames in .NET[¶](#implementing-dynamic-text-overlays-on-video-frames-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") Adding text overlays to video content has become essential for various applications, from adding watermarks and timestamps to creating informative annotations and captions. While many SDKs offer built-in text overlay capabilities, these functions might not always provide the level of customization or flexibility required for advanced projects. This guide demonstrates how to implement custom text overlays using the `OnVideoFrameBuffer` event. This approach gives you full control over the text appearance, position, and behavior, allowing for more sophisticated overlay implementations than what's possible with standard API methods. ## Why Use Custom Text Overlays?[¶](#why-use-custom-text-overlays "Permanent link") Standard text overlay APIs often have limitations in areas such as: - Number of concurrent text elements - Font customization options - Dynamic text updates - Animation capabilities - Precise positioning control - Alpha channel management By leveraging the `OnVideoFrameBuffer` event and working directly with bitmap data, you can overcome these limitations and implement exactly what your application needs. ## Understanding the Approach[¶](#understanding-the-approach "Permanent link") The technique demonstrated in this article involves: 1. Creating a transparent bitmap with the same dimensions as the video frame 2. Drawing text elements onto this bitmap using GDI+ (System.Drawing) 3. Converting the bitmap to a memory buffer 4. Overlaying this buffer ont... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/draw-multitext-onvideoframebuffer/index.html #### Drawing Video on PictureBox in .NET Applications - VisioForge Help [Skip to content](#drawing-video-on-picturebox-in-net-applications) # Drawing Video on PictureBox in .NET Applications[¶](#drawing-video-on-picturebox-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to Video Rendering in WinForms[¶](#introduction-to-video-rendering-in-winforms "Permanent link") Displaying video content in desktop applications is a common requirement for many software developers working with multimedia. Whether you're building applications for video surveillance, media players, video editing tools, or any software that processes video streams, understanding how to effectively render video is crucial. The PictureBox control is one of the most straightforward ways to display video frames in Windows Forms applications. While it wasn't specifically designed for video playback, with proper implementation, it can provide smooth video rendering with minimal resource consumption. This guide focuses on implementing video rendering on PictureBox controls in .NET WinForms applications. We'll cover the entire process from setup to implementation, addressing common pitfalls and optimization techniques. ## Why Use PictureBox for Video Display?[¶](#why-use-picturebox-for-video-display "Permanent link") Before diving into implementation details, let's examine the advantages of using PictureBox for video display: - **Simplicity**: PictureBox is a straightforward control that most .NET developers are already familiar with. - **Flexibility**: It allows customization of how images are displayed through its SizeMode property. - **Integration**: It integrates seamlessly with other WinForms controls. - **Low overhead**: For many applications, it provides sufficient performance without requiring more complex DirectX or OpenGL implement... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/draw-video-picturebox/index.html #### Excluding DirectShow Filters in .NET Applications - VisioForge Help [Skip to content](#excluding-directshow-filters-in-net-applications) # Excluding DirectShow Filters in .NET Applications[¶](#excluding-directshow-filters-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") When developing multimedia applications in .NET, you'll frequently interact with DirectShow — Microsoft's framework for multimedia streaming. DirectShow uses a filter-based architecture where individual components (filters) process media data. However, not all filters are created equal. Some can cause performance issues, compatibility problems, or simply don't meet your application's specific needs. This guide explores how to effectively identify and exclude problematic DirectShow filters from your application's processing pipeline. ## Understanding DirectShow Filters[¶](#understanding-directshow-filters "Permanent link") DirectShow filters are COM objects that perform specific operations on media data, such as: - **Source filters**: Read media from files, capture devices, or network streams - **Transform filters**: Process or convert media data (decoders, encoders, effects) - **Renderer filters**: Display video or play audio When DirectShow builds a filter graph, it automatically selects filters based on merit (priority) and compatibility. This automatic selection sometimes includes third-party filters that may: - Reduce performance - Cause stability issues - Introduce compatibility problems - Override preferred processing methods ## Common Issues with DirectShow Filters[¶](#common-issues-with-directshow-filters "Permanent link") ### Decoder Conflicts[¶](#decoder-conflicts "Permanent link") Multiple decoders installed on a system can compete to handle the same media formats. For examp... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/exclude-filters/index.html #### Drawing Images with OnVideoFrameBuffer in .NET - VisioForge Help [Skip to content](#drawing-images-with-onvideoframebuffer-in-net) # Drawing Images with OnVideoFrameBuffer in .NET[¶](#drawing-images-with-onvideoframebuffer-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") The `OnVideoFrameBuffer` event provides a powerful way to manipulate video frames in real-time. This guide demonstrates how to overlay images on video frames using this event in .NET applications. This technique is useful for adding watermarks, logos, or other visual elements to video content during processing or playback. ## Understanding the Process[¶](#understanding-the-process "Permanent link") When working with video frames in .NET, you need to: 1. Load your image (logo, watermark, etc.) into memory 2. Convert the image to a compatible buffer format 3. Listen for the `OnVideoFrameBuffer` event 4. Draw the image onto each video frame as it's processed 5. Update the frame data to display the changes ## Code Implementation[¶](#code-implementation "Permanent link") Let's walk through the implementation step by step: ### Step 1: Load Your Image[¶](#step-1-load-your-image "Permanent link") First, load the image file you want to overlay on the video: `[](#__codelineno-0-1)// Bitmap loading from file [](#__codelineno-0-2)private Bitmap logoImage = new Bitmap(@"logo24.jpg"); [](#__codelineno-0-3)// You can also use PNG with alpha channel for transparency [](#__codelineno-0-4)//private Bitmap logoImage = new Bitmap(@"logo32.png");` ### Step 2: Prepare Memory Buffers[¶](#step-2-prepare-memory-buffers "Permanent link") Initialize pointers for the image buffer: `[](#__codelineno-1-1)// Logo RGB24/RGB32 buffer [](#__codelineno-1-2)private IntPtr logoImageBuffer = IntPtr.Zero; [](#__codelineno-1-3)private int l... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/image-onvideoframebuffer/index.html #### Essential .NET SDK Code Samples for Developers - VisioForge Help [Skip to content](#net-sdk-code-samples-practical-implementation-guide) # .NET SDK Code Samples: Practical Implementation Guide[¶](#net-sdk-code-samples-practical-implementation-guide "Permanent link") In this guide, you'll find a collection of practical code samples and implementation techniques for working with our .NET SDKs. These examples address common development scenarios and demonstrate how to leverage our libraries effectively for media processing applications. ## DirectShow Filter Implementation[¶](#directshow-filter-implementation "Permanent link") DirectShow provides a powerful framework for handling multimedia streams. Our SDKs simplify working with these components through well-designed interfaces and helper methods. ### Media Indexing and Format Handling[¶](#media-indexing-and-format-handling "Permanent link") - [ASF and WMV Files Indexing](asf-wmv-files-indexing/) - Learn techniques for properly indexing Windows Media formats to enable seeking and efficient playback position control. This sample demonstrates how to establish accurate navigation points within media files and handle large ASF/WMV content effectively. ### Custom Filter Integration[¶](#custom-filter-integration "Permanent link") - [Custom DirectShow Filter Interface Usage](custom-filter-interface/) - This tutorial walks through the process of implementing and connecting custom DirectShow filters within your application. You'll learn how to create filter interfaces that integrate seamlessly with the existing DirectShow architecture while adding your own specialized functionality. ### Third-Party Integration[¶](#third-party-integration "Permanent link") - [Integrating Third-Party Video Processing Filters](3rd-party-video-effects/) - Discover how to incorporate external video processing components into your DirectShow filter graph. This example demonstrates proper filter registration, connection methods, and parameter configuration for third-party video effects and transf... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/index.html #### Implementing Mouse Wheel Events in .NET SDKs - VisioForge Help [Skip to content](#implementing-mouse-wheel-events-in-net-sdks) # Implementing Mouse Wheel Events in .NET SDKs[¶](#implementing-mouse-wheel-events-in-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to Mouse Wheel Events[¶](#introduction-to-mouse-wheel-events "Permanent link") Mouse wheel events provide an intuitive way for users to interact with video content in multimedia applications. Whether you're developing a video player, editor, or capture application, implementing proper mouse wheel event handling enhances user experience by allowing smooth zooming, scrolling, or timeline navigation. In .NET applications, the `MouseWheel` event is triggered when the user rotates the mouse wheel. This event provides crucial information about the direction and intensity of the wheel movement through the `MouseEventArgs` parameter. ## Why Implement Mouse Wheel Events?[¶](#why-implement-mouse-wheel-events "Permanent link") Mouse wheel functionality offers several benefits to your video applications: - **Improved User Experience**: Enables intuitive zoom functionality in video viewers - **Enhanced Navigation**: Allows quick timeline scrubbing in video editors - **Volume Control**: Provides convenient volume adjustment in media players - **Efficient UI Interaction**: Reduces reliance on on-screen controls ## Basic Implementation[¶](#basic-implementation "Permanent link") ### Setting Up Event Handlers[¶](#setting-up-event-handlers "Permanent link") To implement mouse wheel functionality in your .NET application, you need to set up three key event handlers: 1. `MouseEnter`: Ensures the control gains focus when the mouse enters 2. `MouseLeave`: Releases focus when the mouse leaves 3. `MouseWheel`: Handles the actual wheel rotation event Here's a bas... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/mouse-wheel-usage/index.html #### Multiple Output Video Screens in WPF Applications - VisioForge Help [Skip to content](#implementing-multiple-video-output-screens-in-wpf-applications) # Implementing Multiple Video Output Screens in WPF Applications[¶](#implementing-multiple-video-output-screens-in-wpf-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) When developing WPF applications that require handling multiple video feeds simultaneously, developers often face challenges with performance, synchronization, and resource management. This guide provides a comprehensive approach to implementing multiple video output screens in your WPF applications using C# and the Image control. ## Getting Started with Multiple Video Screens[¶](#getting-started-with-multiple-video-screens "Permanent link") Check the installation guide for WPF [here](../../../install/). To begin implementing multiple video outputs in your WPF application, you'll need to: 1. Add the appropriate Video View control to your application 2. Set up event handling for video frame processing 3. Configure your rendering pipeline for optimal performance ### Setting Up Your WPF Project[¶](#setting-up-your-wpf-project "Permanent link") First, place the `VisioForge.Core.UI.WPF.VideoView` control on your WPF window. It's recommended to give this control a descriptive name, such as `videoView`, for clarity in your code. This control will serve as your primary video display element. ### Handling Video Frames[¶](#handling-video-frames "Permanent link") The key to creating multiple output screens is proper event handling. You'll need to subscribe to the "OnVideoFrameBuffer" event for your SDK control. This event provides access to the raw video frame data that you can then distribute to multiple display elements. ## Implementing the Video Frame Handler[¶](#implementing-the-video-frame-handler "Permanent link... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/multiple-screens-wpf/index.html #### OnVideoFrameBitmap Real-Time Frame Guide - VisioForge Help [Skip to content](#onvideoframebitmap-real-time-frame-guide) # OnVideoFrameBitmap Real-Time Frame Guide[¶](#onvideoframebitmap-real-time-frame-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) The `OnVideoFrameBitmap` event is a powerful feature in .NET video processing libraries that allows developers to access and modify video frames in real-time. This guide explores the practical applications, implementation techniques, and performance considerations when working with bitmap frame manipulation in C# applications. ## Understanding OnVideoFrameBitmap Events[¶](#understanding-onvideoframebitmap-events "Permanent link") The `OnVideoFrameBitmap` event provides a direct interface to access video frames as they're processed by the SDK. This capability is essential for applications that require: - Real-time video analysis - Frame-by-frame manipulation - Dynamic overlay implementation - Custom video effects - Computer vision integration When the event fires, it delivers a bitmap representation of the current video frame, allowing for pixel-level access and manipulation before the frame continues through the processing pipeline. ## Basic Implementation[¶](#basic-implementation "Permanent link") To begin working with the `OnVideoFrameBitmap` event, you'll need to subscribe to it in your code: `[](#__codelineno-0-1)// Subscribe to the OnVideoFrameBitmap event [](#__codelineno-0-2)videoProcessor.OnVideoFrameBitmap += VideoProcessor_OnVideoFrameBitmap; [](#__codelineno-0-3)[](#__codelineno-0-4)// Implement the event handler [](#__codelineno-0-5)private void VideoProcessor_OnVideoFrameBitmap(object sender, VideoFrameBitmapEventArgs e) [](#__codelineno-0-6){ [](#__codelineno-0-7) // Frame manipulation code will go here [](#__codelineno-0-8) // e.Frame cont... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/onvideoframebitmap-usage/index.html #### Reading Media File Information in C# for Developers - VisioForge Help [Skip to content](#reading-media-file-information-in-c) # Reading Media File Information in C[¶](#reading-media-file-information-in-c "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") Accessing detailed information embedded within media files is essential for developing sophisticated applications like media players, video editors, content management systems, and file analysis tools. Understanding properties such as codecs, resolution, frame rate, bitrate, duration, and embedded tags allows developers to build more intelligent and user-friendly software. This guide demonstrates how to read comprehensive information from video and audio files using C# and the `MediaInfoReader` class. The techniques shown are applicable across various .NET projects and provide a foundation for handling media files programmatically. ## Why Extract Media File Information?[¶](#why-extract-media-file-information "Permanent link") Media file information serves multiple purposes in application development: - **User Experience**: Display technical details to users in media players - **Compatibility Checks**: Verify if files meet required specifications - **Automated Processing**: Configure encoding parameters based on source properties - **Content Organization**: Catalog media libraries with accurate metadata - **Quality Assessment**: Evaluate media files for potential issues ## Implementation Guide[¶](#implementation-guide "Permanent link") Let's explore the process of extracting media file information in a step-by-step approach. The examples assume a WinForms application with a `TextBox` control named `mmInfo` for displaying the extracted information. ### Step 1: Initialize the Media Information Reader[¶](#step-1-initialize-the-media-i... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/read-file-info/index.html #### Video Renderer Selection Guide for .NET Applications - VisioForge Help [Skip to content](#video-renderer-selection-guide-for-winforms-applications) # Video Renderer Selection Guide for WinForms Applications[¶](#video-renderer-selection-guide-for-winforms-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to Video Rendering in .NET[¶](#introduction-to-video-rendering-in-net "Permanent link") When developing multimedia applications in .NET, selecting the appropriate video renderer is crucial for optimal performance and compatibility. This guide focuses on DirectShow-based SDK engines: VideoCaptureCore, VideoEditCore, and MediaPlayerCore, which share the same API across all SDKs. Video renderers serve as the bridge between your application and the display hardware, determining how video content is processed and presented to the user. The right choice can significantly impact performance, visual quality, and hardware resource utilization. ## Understanding Available Video Renderer Options[¶](#understanding-available-video-renderer-options "Permanent link") DirectShow in Windows offers three primary renderer options, each with distinct characteristics and use cases. Let's explore each renderer in detail to help you make an informed decision for your application. ### Legacy Video Renderer (GDI-based)[¶](#legacy-video-renderer-gdi-based "Permanent link") The Video Renderer is the oldest option in the DirectShow ecosystem. It relies on GDI (Graphics Device Interface) for drawing operations. **Key characteristics:** - Software-based rendering without hardware acceleration - Compatible with older systems and configurations - Lower performance ceiling compared to modern alternatives - Simple implementation with minimal configuration options **Implementation example:** `[](#__codelineno-0-1)VideoCapture1.Video_Rende... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/select-video-renderer-winforms/index.html #### Text Overlay Implementation with OnVideoFrameBuffer - VisioForge Help [Skip to content](#creating-custom-text-overlays-with-onvideoframebuffer-in-net) # Creating Custom Text Overlays with OnVideoFrameBuffer in .NET[¶](#creating-custom-text-overlays-with-onvideoframebuffer-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to Text Overlays in Video Processing[¶](#introduction-to-text-overlays-in-video-processing "Permanent link") Adding text overlays to video content is a common requirement in many professional applications, from video editing software to security camera feeds, broadcasting tools, and educational applications. While the standard video effect APIs provide basic text overlay capabilities, developers often need more control over how text appears on video frames. This guide demonstrates how to manually implement custom text overlays using the OnVideoFrameBuffer event available in VideoCaptureCore, VideoEditCore, and MediaPlayerCore engines. By intercepting video frames during processing, you can apply custom text and graphics with precise control over positioning, formatting, and animation. ## Understanding the OnVideoFrameBuffer Event[¶](#understanding-the-onvideoframebuffer-event "Permanent link") The OnVideoFrameBuffer event is a powerful hook that gives developers direct access to the video frame buffer during processing. This event fires for each frame of video, providing an opportunity to modify the frame data before it's displayed or encoded. Key benefits of using OnVideoFrameBuffer for text overlays include: - **Frame-level access**: Modify individual frames with pixel-perfect precision - **Dynamic content**: Update text based on real-time data or timestamps - **Custom styling**: Apply custom fonts, colors, and effects beyond what built-in APIs offer - **Performance optimizations**: Implement... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/text-onvideoframebuffer/index.html #### Remove DirectShow Filters in Windows - VisioForge Help [Skip to content](#remove-directshow-filters-in-windows) # Remove DirectShow Filters in Windows[¶](#remove-directshow-filters-in-windows "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) DirectShow filters are essential components for multimedia applications in Windows environments. They enable software to process audio and video data efficiently. However, there may be situations where you need to uninstall these filters, such as when upgrading your application, resolving conflicts, or completely removing a software package. This guide provides detailed instructions on how to properly uninstall DirectShow filters from your system. ## Understanding DirectShow Filters[¶](#understanding-directshow-filters "Permanent link") DirectShow is a multimedia framework and API designed by Microsoft for software developers to perform various operations with media files. It's built on the Component Object Model (COM) architecture and uses a modular approach where each processing step is handled by a separate component called a filter. Filters are categorized into three main types: - **Source filters**: Read data from files, capture devices, or network streams - **Transform filters**: Process or modify the data (compression, decompression, effects) - **Rendering filters**: Display video or play audio When SDK components are installed, they register DirectShow filters in the Windows Registry, making them available to any application that uses the DirectShow framework. ## Why Uninstall DirectShow Filters?[¶](#why-uninstall-directshow-filters "Permanent link") There are several reasons why you might need to uninstall DirectShow filters: 1. **Version conflicts**: Newer versions of the SDK might require removing older filters 2. **System cleanup**: Removing unused components to maint... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/uninstall-directshow-filter/index.html #### Setting Custom Images for VideoView in .NET SDKs - VisioForge Help [Skip to content](#setting-custom-images-for-videoview-controls-in-net-applications) # Setting Custom Images for VideoView Controls in .NET Applications[¶](#setting-custom-images-for-videoview-controls-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") When developing media applications in .NET, it's often necessary to display a custom image within your VideoView control when no video content is playing. This capability is essential for creating professional-looking applications that maintain visual appeal during inactive states. Custom images can serve as placeholders, branding opportunities, or informational displays to enhance the user experience. This guide explores the implementation of custom image functionality for VideoView controls across various .NET SDK applications. ## Understanding VideoView Custom Images[¶](#understanding-videoview-custom-images "Permanent link") The VideoView control is a versatile component that displays video content in your application. However, when the control is not actively playing video, it typically shows a blank or default display. By implementing custom images, you can: - Display your application or company logo - Show preview thumbnails of available content - Present instructional information to users - Maintain visual consistency across your application - Indicate the video's status (paused, stopped, loading, etc.) It's important to note that the custom image is only visible when the control is not playing any video content. Once playback begins, the video stream automatically replaces the custom image. ## Implementation Process[¶](#implementation-process "Permanent link") The process of setting a custom image for a VideoView control involves three... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/video-view-set-custom-image/index.html #### Implementing Audio VU Meters & Waveform Visualizers - VisioForge Help [Skip to content](#audio-visualization-implementing-vu-meters-and-waveform-displays-in-net) # Audio Visualization: Implementing VU Meters and Waveform Displays in .NET[¶](#audio-visualization-implementing-vu-meters-and-waveform-displays-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Audio visualization is a crucial component of modern media applications, providing users with visual feedback about audio levels and waveform patterns. This guide demonstrates how to implement VU (Volume Unit) meters and waveform visualizers in both WinForms and WPF applications. ## Understanding Audio Visualization Components[¶](#understanding-audio-visualization-components "Permanent link") Before diving into implementation, it's important to understand the two main visualization tools we'll be working with: ### VU Meters[¶](#vu-meters "Permanent link") VU meters display the instantaneous audio level of a signal, typically showing how loud the audio is at any given moment. They provide real-time feedback about audio levels, helping users monitor signal strength and prevent distortion or clipping. ### Waveform Painters[¶](#waveform-painters "Permanent link") Waveform visualizers display the audio signal as a continuous line that represents amplitude changes over time. They provide a more detailed representation of the audio content, showing patterns and characteristics that might not be apparent from listening alone. ## Implementation in WinForms Applications[¶](#implementation-in-winforms-applications "Permanent link") WinForms provides a straightforward way to implement audio visualization components with minimal code. Let's explore the implementation of both VU meters and waveform painters. ### WinForms VU Meter Implementation[¶](#winforms-vu-meter-implementation "Permanent lin... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/vu-meters/index.html #### Implementing Custom Zoom Effects in .NET Video Apps - VisioForge Help [Skip to content](#implementing-custom-zoom-effects-with-onvideoframebuffer-in-net) # Implementing Custom Zoom Effects with OnVideoFrameBuffer in .NET[¶](#implementing-custom-zoom-effects-with-onvideoframebuffer-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction[¶](#introduction "Permanent link") Implementing custom zoom effects in video applications is a common requirement for developers working with video processing. This guide explains how to manually create zoom functionality in your .NET video applications using the OnVideoFrameBuffer event. This technique works across multiple SDK platforms, including Video Capture, Media Player, and Video Edit SDKs. ## Understanding the OnVideoFrameBuffer Event[¶](#understanding-the-onvideoframebuffer-event "Permanent link") The OnVideoFrameBuffer event is a powerful feature that gives developers direct access to video frame data during playback or processing. By handling this event, you can: - Access raw frame data in real-time - Apply custom modifications to individual frames - Implement visual effects like zooming, rotation, or color adjustments - Control video quality and performance ## Implementation Steps[¶](#implementation-steps "Permanent link") The process of implementing a zoom effect involves several key steps: 1. Allocating memory for temporary buffers 2. Handling the OnVideoFrameBuffer event 3. Applying the zoom transformation to each frame 4. Managing memory to prevent leaks Let's break down each of these steps with detailed explanations. ## Memory Management for Frame Processing[¶](#memory-management-for-frame-processing "Permanent link") When working with video frames, proper memory management is critical. You'll need to allocate sufficient memory to handle frame data and tempora... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/zoom-onvideoframebuffer/index.html #### Setting Zoom Parameters for Multiple Video Renderers - VisioForge Help [Skip to content](#configuring-zoom-settings-for-multiple-video-renderers-in-net) # Configuring Zoom Settings for Multiple Video Renderers in .NET[¶](#configuring-zoom-settings-for-multiple-video-renderers-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) When developing multimedia applications that utilize multiple video renderers, controlling the zoom and position parameters independently for each display is essential for creating professional-quality user interfaces. This guide covers the implementation details, parameter configurations, and best practices for setting up multiple video renderers with customized zoom settings in your .NET applications. ## Understanding Multiple Renderer Configurations[¶](#understanding-multiple-renderer-configurations "Permanent link") Multiple renderer support (also known as multiscreen functionality) allows your application to display video content across different display areas simultaneously. Each renderer can be configured with its own: - Zoom ratio (magnification level) - Horizontal shift (X-axis positioning) - Vertical shift (Y-axis positioning) This capability is particularly valuable for applications such as: - Video surveillance systems displaying multiple camera feeds - Media production software with preview and output windows - Medical imaging applications requiring different zoom levels for analysis - Multi-display kiosk systems with synchronized content ## Implementing the MultiScreen\_SetZoom Method[¶](#implementing-the-multiscreen_setzoom-method "Permanent link") The SDK provides the `MultiScreen_SetZoom` method which takes four key parameters: 1. **Screen Index** (zero-based): Identifies which renderer to configure 2. **Zoom Ratio**: Controls the magnification percentage 3. **Shift X**: Adjusts... **URL**: https://www.visioforge.com/help/docs/dotnet/general/code-samples/zoom-video-multiple-renderer/index.html #### Video Capture to MPEG-TS Files in C# and .NET - VisioForge Help [Skip to content](#video-capture-to-mpeg-ts-in-c-and-net-complete-guide) # Video Capture to MPEG-TS in C# and .NET: Complete Guide[¶](#video-capture-to-mpeg-ts-in-c-and-net-complete-guide "Permanent link") ## Introduction[¶](#introduction "Permanent link") This technical guide demonstrates how to capture C# TS video from cameras and microphones using two powerful VisioForge multimedia solutions: Video Capture SDK .NET with VideoCaptureCoreX engine and Media Blocks SDK .NET with MediaBlocksPipeline engine. Both SDKs provide robust capabilities for capturing, recording, and editing TS (MPEG Transport Stream) files in .NET applications. We'll explore detailed code samples for implementing video/audio capture to TS in C# with optimized performance and quality. ## Installation and deployment[¶](#installation-and-deployment "Permanent link") Please refer to the [installation guide](../../../install/) for detailed instructions on how to install the VisioForge .NET SDKs on your system. ## Video Capture SDK .NET (VideoCaptureCoreX) - Capture MPEG-TS in C[¶](#video-capture-sdk-net-videocapturecorex-capture-mpeg-ts-in-c "Permanent link") VideoCaptureCoreX provides a streamlined approach to capture TS video and audio in C#. Its component-based architecture handles the complex media pipeline, allowing developers to focus on configuration rather than lower-level implementation details when working with TS files in .NET. ### Core Components[¶](#core-components "Permanent link") 1. **VideoCaptureCoreX**: Main engine for managing video capture, rendering, and TS output. 2. **VideoView**: UI component for real-time video rendering during capture. 3. **DeviceEnumerator**: Class for discovering video/audio devices. 4. **VideoCaptureDeviceSourceSettings**: Configuration for camera input when capturing MPEG-TS. 5. **AudioRendererSettings**: Configuration for audio playback with AAC support. 6. **MPEGTSOutput**: Configuration specifically for MPEG-TS file output. ### Im... **URL**: https://www.visioforge.com/help/docs/dotnet/general/guides/video-capture-to-mpegts/index.html #### Record and Edit WMA Files in C# and .NET - VisioForge Help [Skip to content](#record-and-edit-wma-files-in-c-and-net-a-comprehensive-guide) # Record and Edit WMA Files in C# and .NET: A Comprehensive Guide[¶](#record-and-edit-wma-files-in-c-and-net-a-comprehensive-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introduction to WMA Recording and Editing in .NET[¶](#introduction-to-wma-recording-and-editing-in-net "Permanent link") This article provides a comprehensive guide for developers working with Windows Media Audio (WMA) files in .NET applications. We'll explore how to record .NET WMA audio from microphones and other capture devices using the VideoCaptureCoreX class, and how to edit dotnet WMA files using the VideoEditCoreX class from the VisioForge .NET SDKs. Windows Media Audio is a popular audio format developed by Microsoft that offers excellent compression while maintaining good audio quality. The WMA format is widely used in Windows applications and supports various bitrates and sample rates, making it suitable for both voice records and high-quality music. The VisioForge library provides powerful classes for capturing audio data from system devices and processing audio video content. Whether you need to create a simple voice recorder console application or a complex WinForms audio editor, these SDKs deliver the functionality you need. This guide will show you how to capture dotnet WMA audio and record csharp WMA files with ease. ## Prerequisites and Installation[¶](#prerequisites-and-installation "Permanent link") Before you begin recording or editing WMA files in your dotnet application, ensure you have the following: - Visual Studio 2019 or later - .NET 6.0 or later (or .NET Framework 4.7.2+) - VisioForge Video Capture SDK .NET or Video Edit SDK .NET ### Installing the NuGet Packages[¶](#installing-the-nuget-packages "Permanent link") Install the required packages using... **URL**: https://www.visioforge.com/help/docs/dotnet/general/guides/wma-recording-editing/index.html #### .Net SDKs - Info, Manuals & Usage Guides - VisioForge Help [Skip to content](#visioforge-net-sdks-information-manuals-and-usage) # VisioForge .Net SDKs: Information, Manuals, and Usage[¶](#visioforge-net-sdks-information-manuals-and-usage "Permanent link") This section provides essential information, detailed software manuals, and practical usage guides for the suite of VisioForge .Net SDKs. Whether you're working with video capture, media playback, or video editing, find the resources you need below. - [Code samples](code-samples/) - [How to send logs?](sendlogs/) ## Guides[¶](#guides "Permanent link") - [Video capture to MPEG-TS in VisioForge SDKs](guides/video-capture-to-mpegts/) - [Record and Edit WMA Files in C# and .NET](guides/wma-recording-editing/) ## SDK Components[¶](#sdk-components "Permanent link") Explore the core components of VisioForge .Net SDKs: ### Media Processing & Effects[¶](#media-processing-effects "Permanent link") - **[Video Effects & Processing](video-effects/)**: Enhance your applications with powerful video effects, overlays, and processing capabilities. Learn how to implement professional-grade visual effects, text/image overlays, and custom video processing. - **[Audio Effects](audio-effects/audio-sample-grabber/)**: Explore options for applying various audio effects and enhancements within your .NET applications. ### Encoding & Formats[¶](#encoding-formats "Permanent link") - **[Video Encoders](video-encoders/)**: Detailed overview of video encoders (H.264, HEVC, AV1, etc.) - features, performance, and implementation for .NET developers. - **[Audio Encoders](audio-encoders/)**: Master audio encoding (AAC, FLAC, MP3, Opus) with guidance on optimal settings, performance tips, and best practices. - **[Output Formats](output-formats/)**: Learn about video and audio container formats (MP4, WebM, AVI, MKV) including examples, codec comparisons, and compatibility. ### Streaming & Connectivity[¶](#streaming-connectivity "Permanent link") - **[Network Streaming](net... **URL**: https://www.visioforge.com/help/docs/dotnet/general/index.html #### Network Video Streaming to Flash Media Server - VisioForge Help [Skip to content](#streaming-to-adobe-flash-media-server-advanced-implementation-guide) # Streaming to Adobe Flash Media Server: Advanced Implementation Guide[¶](#streaming-to-adobe-flash-media-server-advanced-implementation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introduction[¶](#introduction "Permanent link") Adobe Flash Media Server (FMS) remains a powerful solution for streaming video content across various platforms. This guide demonstrates how to implement high-quality video streaming to Adobe Flash Media Server using VisioForge's .NET SDKs. The integration supports real-time video effects, quality adjustment, and seamless device switching during streaming sessions. ## Prerequisites[¶](#prerequisites "Permanent link") Before implementing the streaming functionality, ensure you have: - VisioForge Video Capture SDK .NET or Video Edit SDK .NET installed - Adobe Flash Media Server (or a compatible service like Wowza with RTMP support) - Adobe Flash Media Live Encoder (FMLE) - .NET Framework 4.7.2 or later - Visual Studio 2022 or newer - Basic understanding of C# programming ## Demo Application Walkthrough[¶](#demo-application-walkthrough "Permanent link") The demo application provided with VisioForge SDKs offers a straightforward way to test streaming functionality. Here's a detailed walkthrough: 1. Start the Main Demo application 2. Navigate to the "Network Streaming" tab 3. Enable streaming by selecting the "Enabled" checkbox 4. Select the "External" radio button for external encoder compatibility 5. Start preview or capture to initialize the video stream 6. Open Adobe Flash Media Live Encoder 7. Configure FMLE to use "VisioForge Network Source" as the video source 8. Configure video parameters: 9. Resolution (e.g., 1280x720, 1920x1080) 10. Frame rate (typically 25-30 fps for smooth streaming) 11.... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/adobe-flash/index.html #### Stream Video and Audio to Amazon S3 Storage - VisioForge Help [Skip to content](#aws-s3-output) # AWS S3 Output[¶](#aws-s3-output "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The AWS S3 Output functionality in VisioForge SDKs enables direct video and audio output streaming to Amazon S3 storage. This guide will walk you through setting up and using AWS S3 output in your applications. ## Overview[¶](#overview "Permanent link") The `AWSS3Output` class is a specialized output handler within the VisioForge SDKs that facilitates video and audio output streaming to Amazon Web Services (AWS) S3 storage. This class implements multiple interfaces to support both video editing (`IVideoEditXBaseOutput`) and video capture (`IVideoCaptureXBaseOutput`) scenarios, along with processing capabilities for both video and audio content. ## Class Implementation[¶](#class-implementation "Permanent link") `[](#__codelineno-0-1)public class AWSS3Output : IVideoEditXBaseOutput, IVideoCaptureXBaseOutput, IOutputVideoProcessor, IOutputAudioProcessor` ## Key Features[¶](#key-features "Permanent link") The `AWSS3Output` class provides a comprehensive solution for streaming media content to AWS S3 by managing: - Video encoding configuration - Audio encoding configuration - Custom media processing - AWS S3-specific settings ## Properties[¶](#properties "Permanent link") ### Video Encoder Settings[¶](#video-encoder-settings "Permanent link") `[](#__codelineno-1-1)public IVideoEncoder Video { get; set; }` Controls the video encoding process. The selected video encoder must be compatible with the configured sink settings. This property allows you to specify compression methods, quality settings, and other video-specific parameters. ### Audio Encoder Settings[¶](#audio-encoder-setti... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/aws-s3/index.html #### Facebook Live Integration for .NET Development - VisioForge Help [Skip to content](#facebook-live-streaming-with-visioforge-sdks) # Facebook Live Streaming with VisioForge SDKs[¶](#facebook-live-streaming-with-visioforge-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Facebook Live Streaming[¶](#introduction-to-facebook-live-streaming "Permanent link") Facebook Live provides a powerful platform for real-time video broadcasting to global audiences. Whether you're developing applications for live events, video conferencing, gaming streams, or social media integration, VisioForge SDKs offer robust solutions for implementing Facebook Live streaming in your .NET applications. This comprehensive guide explains how to implement Facebook Live streaming using VisioForge's suite of SDKs, with detailed code examples and configuration options for different platforms and hardware configurations. ## Core Components for Facebook Live Integration[¶](#core-components-for-facebook-live-integration "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The cornerstone of Facebook Live integration in VisioForge is the `FacebookLiveOutput` class, which provides a complete implementation of the RTMP protocol required for Facebook streaming. This class implements multiple interfaces to ensure compatibility across various SDK components: - `IVideoEditXBaseOutput` - For Video Edit SDK integration - `IVideoCaptureXBaseOutput` - For Video Capture SDK integration - `IOutputVideoProcessor` - For video stream processing - `IOutputAudioProcessor` - For audio stream processing This multi-interface implementation ensures seamless operation across the entire VisioForge ecosystem, allowing developers to maintain consistent code while working with different SDK components. ## Setting Up Facebook Live Strea... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/facebook/index.html #### Implementing HLS Network Streaming in .NET - VisioForge Help [Skip to content](#complete-guide-to-hls-network-streaming-implementation-in-net) # Complete Guide to HLS Network Streaming Implementation in .NET[¶](#complete-guide-to-hls-network-streaming-implementation-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## What is HTTP Live Streaming (HLS)?[¶](#what-is-http-live-streaming-hls "Permanent link") HTTP Live Streaming (HLS) is an adaptive bitrate streaming communications protocol designed and developed by Apple Inc. First introduced in 2009, it has since become one of the most widely adopted streaming protocols across various platforms and devices. HLS works by breaking the overall stream into a sequence of small HTTP-based file downloads, each containing a short segment of the overall content. ### Key Features of HLS Streaming[¶](#key-features-of-hls-streaming "Permanent link") - **Adaptive Bitrate Streaming**: HLS automatically adjusts video quality based on the viewer's network conditions, ensuring optimal playback quality without buffering. - **Cross-Platform Compatibility**: Works across iOS, macOS, Android, Windows, and most modern web browsers. - **HTTP-Based Delivery**: Leverages standard web server infrastructure, allowing content to pass through firewalls and proxy servers. - **Media Encryption and Authentication**: Supports content protection through encryption and various authentication methods. - **Live and On-Demand Content**: Can be used for both live broadcasting and pre-recorded media. ### HLS Technical Structure[¶](#hls-technical-structure "Permanent link") HLS content delivery relies on three key components: 1. **Manifest File (.m3u8)**: A playlist file that contains metadata about the various streams available 2. **... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/hls-streaming/index.html #### HTTP MJPEG Video Streaming Implementation Guide - VisioForge Help [Skip to content](#http-mjpeg-streaming) # HTTP MJPEG streaming[¶](#http-mjpeg-streaming "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The SDK's feature of streaming video encoded as Motion JPEG (MJPEG) over HTTP is advantageous for its simplicity and broad compatibility. MJPEG encodes each video frame individually as a JPEG image, which simplifies decoding and is ideal for applications like web streaming and surveillance. The use of HTTP ensures easy integration and high compatibility across different platforms and devices and is effective even in networks with strict configurations. This method is particularly suitable for real-time video feeds and applications requiring straightforward frame-by-frame analysis. With adjustable frame rates and resolutions, the SDK offers flexibility for various network conditions and quality requirements, making it a versatile choice for developers implementing video streaming in their applications. ## Cross-platform MJPEG output[¶](#cross-platform-mjpeg-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The streaming functionality is implemented through two main classes: 1. `HTTPMJPEGLiveOutput`: The high-level configuration class that sets up the streaming output 2. `HTTPMJPEGLiveSinkBlock`: The underlying implementation block that handles the actual streaming process ### HTTPMJPEGLiveOutput Class[¶](#httpmjpegliveoutput-class "Permanent link") This class serves as the configuration entry point for setting up an MJPEG HTTP stream. It implements the `IVideoCaptureXBaseOutput` interface, making it compatible with the video capture pipeline system. #### Key Properties[¶](#key-properties "Permanent link") - `Port`: Gets the network port number on which the MJPEG stream will be served ####... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/http-mjpeg/index.html #### Guide to IIS Smooth Streaming Implementation - VisioForge Help [Skip to content](#comprehensive-guide-to-iis-smooth-streaming-implementation) # Comprehensive Guide to IIS Smooth Streaming Implementation[¶](#comprehensive-guide-to-iis-smooth-streaming-implementation "Permanent link") IIS Smooth Streaming is Microsoft's implementation of adaptive streaming technology that dynamically adjusts video quality based on network conditions and CPU capabilities. This guide provides detailed instructions on configuring and implementing IIS Smooth Streaming using VisioForge SDKs. ## Compatible VisioForge SDKs[¶](#compatible-visioforge-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoCaptureCore](#) [VideoEditCore](#) ## Overview of IIS Smooth Streaming[¶](#overview-of-iis-smooth-streaming "Permanent link") IIS Smooth Streaming provides several key advantages for developers and end-users: - **Adaptive bitrate streaming**: Automatically adjusts video quality based on available bandwidth - **Reduced buffering**: Minimizes playback interruptions during network fluctuations - **Broad device compatibility**: Works across desktops, mobile devices, smart TVs, and more - **Scalable delivery**: Handles large numbers of concurrent viewers efficiently This technology is particularly valuable for applications requiring high-quality video delivery across varied network conditions, such as live events, educational platforms, and media-rich applications. ## Prerequisites[¶](#prerequisites "Permanent link") Before implementing IIS Smooth Streaming with VisioForge SDKs, ensure you have: 1. Windows Server with IIS installed 2. Administrative access to the server 3. Relevant VisioForge SDK (Video Capture SDK .Net or Video Edit SDK .Net) 4. Basic understanding of .NET development ## Step-by-Step IIS Configuration[¶](#step-by-step-iis-configuration "Permanent link") ### Installing Required Components[¶](#instal... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/iis-smooth-streaming/index.html #### Network Streaming Guide for .NET Development - VisioForge Help [Skip to content](#comprehensive-network-streaming-guide) # Comprehensive Network Streaming Guide[¶](#comprehensive-network-streaming-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Network Streaming[¶](#introduction-to-network-streaming "Permanent link") Network streaming enables real-time transmission of audio and video content across the internet or local networks. VisioForge's comprehensive SDKs provide powerful tools for implementing various streaming protocols in your .NET applications, allowing you to create professional-grade broadcasting solutions with minimal development effort. This guide covers all streaming options available in VisioForge SDKs, including implementation details, best practices, and code examples to help you select the most appropriate streaming technology for your specific requirements. ## Streaming Protocol Overview[¶](#streaming-protocol-overview "Permanent link") VisioForge SDKs support a wide range of streaming protocols, each with unique advantages for different use cases: ### Real-Time Protocols[¶](#real-time-protocols "Permanent link") - **[RTMP (Real-Time Messaging Protocol)](rtmp/)**: Industry-standard protocol for low-latency live streaming, widely used for live broadcasting to CDNs and streaming platforms - **[RTSP (Real-Time Streaming Protocol)](rtsp/)**: Ideal for IP camera integration and surveillance applications, offering precise control over media sessions - **[SRT (Secure Reliable Transport)](srt/)**: Advanced protocol designed for high-quality, low-latency video delivery over unpredictable networks - **[NDI (Network Device Interface)](ndi/)**: Professional-grade protocol for high-quality, low-latency video transmission over local networks ### HTTP-Based Streaming[¶](#http-based-streaming "P... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/index.html #### NDI Network Video Streaming Integration Guide - VisioForge Help [Skip to content](#network-device-interface-ndi-streaming-integration) # Network Device Interface (NDI) Streaming Integration[¶](#network-device-interface-ndi-streaming-integration "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## What is NDI and Why Use It?[¶](#what-is-ndi-and-why-use-it "Permanent link") The VisioForge SDK's integration of Network Device Interface (NDI) technology provides a transformative solution for professional video production and broadcasting workflows. NDI has emerged as a leading industry standard for live production, enabling high-quality, ultra-low-latency video streaming over conventional Ethernet networks. NDI significantly simplifies the process of sharing and managing multiple video streams across diverse devices and platforms. When implemented within the VisioForge SDK, it facilitates seamless transmission of high-definition video and audio content from servers to clients with exceptional performance characteristics. This makes the technology particularly valuable for applications including: - Live broadcasting and streaming - Professional video conferencing - Multi-camera production setups - Remote production workflows - Educational and corporate presentation environments The inherent flexibility and efficiency of NDI streaming technology substantially reduces dependency on specialized hardware configurations, delivering a cost-effective alternative to traditional SDI-based systems for professional-grade live video production. ## Installation Requirements[¶](#installation-requirements "Permanent link") ### Prerequisites for NDI Implementation[¶](#prerequisites-for-ndi-implementation "Permanent link") To successfully implement NDI streaming functionality within your application, you must install one of the following official NDI software packages: 1. **[NDI SDK](https://ndi.video/for-develop... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/ndi/index.html #### RTMP Live Streaming for .NET Applications - VisioForge Help [Skip to content](#rtmp-streaming-with-visioforge-sdks) # RTMP Streaming with VisioForge SDKs[¶](#rtmp-streaming-with-visioforge-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to RTMP Streaming[¶](#introduction-to-rtmp-streaming "Permanent link") RTMP (Real-Time Messaging Protocol) is a robust communication protocol designed for high-performance transmission of audio, video, and data between a server and a client. VisioForge SDKs provide comprehensive support for RTMP streaming, enabling developers to create powerful streaming applications with minimal effort. This guide covers implementation details for RTMP streaming across different VisioForge products, including cross-platform solutions and Windows-specific integrations. ## Cross-Platform RTMP Implementation[¶](#cross-platform-rtmp-implementation "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The `RTMPOutput` class serves as the central configuration point for RTMP streaming in cross-platform scenarios. It implements multiple interfaces including `IVideoEditXBaseOutput` and `IVideoCaptureXBaseOutput`, making it versatile for both video editing and capture workflows. ### Setting Up RTMP Output[¶](#setting-up-rtmp-output "Permanent link") To begin implementing RTMP streaming, you need to create and configure an `RTMPOutput` instance: `[](#__codelineno-0-1)// Initialize with streaming URL [](#__codelineno-0-2)var rtmpOutput = new RTMPOutput("rtmp://your-streaming-server/stream-key"); [](#__codelineno-0-3)[](#__codelineno-0-4)// Alternatively, set the URL after initialization [](#__codelineno-0-5)var rtmpOutput = new RTMPOutput(); [](#__codelineno-0-6)rtmpOutput.Sink.Location = "rtmp://your-streaming-server/stream-key";` ### Integration with VisioForge SDKs[... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/rtmp/index.html #### RTSP Video Streaming Implementation in .NET - VisioForge Help [Skip to content](#mastering-rtsp-streaming-with-visioforge-sdks) # Mastering RTSP Streaming with VisioForge SDKs[¶](#mastering-rtsp-streaming-with-visioforge-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to RTSP[¶](#introduction-to-rtsp "Permanent link") The Real-Time Streaming Protocol (RTSP) is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. It acts like a "network remote control," allowing users to play, pause, and stop media streams. VisioForge SDKs harness the power of RTSP to provide robust video and audio streaming capabilities. Our SDKs integrate RTSP with industry-standard codecs like **H.264 (AVC)** for video and **Advanced Audio Coding (AAC)** for audio. H.264 offers excellent video quality at relatively low bitrates, making it ideal for streaming over various network conditions. AAC provides efficient and high-fidelity audio compression. This powerful combination ensures reliable, high-definition audiovisual streaming suitable for demanding applications such as: - **Security and Surveillance:** Delivering clear, real-time video feeds from IP cameras. - **Live Broadcasting:** Streaming events, webinars, or performances to a wide audience. - **Video Conferencing:** Enabling smooth, high-quality communication. - **Remote Monitoring:** Observing industrial processes or environments remotely. This guide delves into the specifics of implementing RTSP streaming using VisioForge SDKs, covering both modern cross-platform approaches and legacy Windows-specific methods. ## Cross-Platform RTSP Output (Recommended)[¶](#cross-platform-rtsp-output-recommended "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The modern VisioForge S... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/rtsp/index.html #### Implementing SRT Protocol Streaming in .NET - VisioForge Help [Skip to content](#srt-streaming-implementation-guide-for-visioforge-net-sdks) # SRT Streaming Implementation Guide for VisioForge .NET SDKs[¶](#srt-streaming-implementation-guide-for-visioforge-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## What is SRT and Why Should You Use It?[¶](#what-is-srt-and-why-should-you-use-it "Permanent link") SRT (Secure Reliable Transport) is a high-performance streaming protocol designed for delivering high-quality, low-latency video across unpredictable networks. Unlike traditional streaming protocols, SRT excels in challenging network conditions by incorporating unique error recovery mechanisms and encryption features. The VisioForge .NET SDKs provide comprehensive support for SRT streaming through an intuitive configuration API, enabling developers to implement secure, reliable video delivery in their applications with minimal effort. ## Getting Started with SRT in VisioForge[¶](#getting-started-with-srt-in-visioforge "Permanent link") ### Supported SDK Platforms[¶](#supported-sdk-platforms "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Basic SRT Configuration[¶](#basic-srt-configuration "Permanent link") Implementing SRT streaming in your application starts with specifying your streaming destination URL. The SRT URL follows a standard format that includes protocol, host, and port information. #### Video Capture SDK Implementation[¶](#video-capture-sdk-implementation "Permanent link") `[](#__codelineno-0-1)// Initialize SRT output with destination URL [](#__codelineno-0-2)var srtOutput = new SRTOutput("srt://streaming-server:1234"); [](#__codelineno-0-3)[](#__codelineno-0-4)// Add the configured SRT output to your capture engine [](#__codelineno-0-5)videoCapture.Outputs_Add(srtO... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/srt/index.html #### UDP Video and Audio Streaming in .NET - VisioForge Help [Skip to content](#udp-streaming-with-visioforge-sdks) # UDP Streaming with VisioForge SDKs[¶](#udp-streaming-with-visioforge-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to UDP Streaming[¶](#introduction-to-udp-streaming "Permanent link") The User Datagram Protocol (UDP) is a lightweight, connectionless transport protocol that provides a simple interface between network applications and the underlying IP network. Unlike TCP, UDP offers minimal overhead and doesn't guarantee packet delivery, making it ideal for real-time applications where speed is crucial and occasional packet loss is acceptable. VisioForge SDKs offer robust support for UDP streaming, enabling developers to implement high-performance, low-latency streaming solutions for various applications, including live broadcasts, video surveillance, and real-time communication systems. ## Key Features and Capabilities[¶](#key-features-and-capabilities "Permanent link") The VisioForge SDK suite provides comprehensive UDP streaming functionality with the following key features: ### Video and Audio Codec Support[¶](#video-and-audio-codec-support "Permanent link") - **Video Codecs**: Full support for H.264 (AVC) and H.265 (HEVC), offering excellent compression efficiency while maintaining high video quality. - **Audio Codec**: Advanced Audio Coding (AAC) support, providing superior audio quality at lower bitrates compared to older audio codecs. ### MPEG Transport Stream (MPEG-TS)[¶](#mpeg-transport-stream-mpeg-ts "Permanent link") The SDK utilizes MPEG-TS as the container format for UDP streaming. MPEG-TS offers several advantages: - Designed specifically for transmission over potentially unreliable networks - Built-in error correction capabilities - Support for multiplexing multipl... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/udp/index.html #### WMV Network Streaming with .NET Development - VisioForge Help [Skip to content](#windows-media-video-wmv-network-streaming-implementation-guide) # Windows Media Video (WMV) Network Streaming Implementation Guide[¶](#windows-media-video-wmv-network-streaming-implementation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction to WMV Streaming Technology[¶](#introduction-to-wmv-streaming-technology "Permanent link") Windows Media Video (WMV) represents a versatile and powerful streaming technology developed by Microsoft. As an integral component of the Windows Media framework, WMV has established itself as a reliable solution for efficiently delivering video content across networks. This format utilizes sophisticated compression algorithms that substantially reduce file sizes while maintaining acceptable visual quality, making it particularly well-suited for streaming applications where bandwidth optimization is critical. The WMV format supports an extensive range of video resolutions and bitrates, allowing developers to tailor their streaming implementations to accommodate varying network conditions and end-user requirements. This adaptability makes WMV an excellent choice for applications that need to serve diverse client environments with different connectivity constraints. ## Technical Overview of WMV Format[¶](#technical-overview-of-wmv-format "Permanent link") ### Key Features and Capabilities[¶](#key-features-and-capabilities "Permanent link") WMV implements the Advanced Systems Format (ASF) container, which provides several technical advantages for streaming applications: - **Efficient compression**: Employs codec technology that balances quality with file size - **Scalable bitrate adjustment**: Adapts to available bandwidth conditions - **Error resilience**: Built-in mechanisms for packet loss recovery - **Content protection**: Supports Digital Rights Management (DRM) when required - **Metadata support**: Allows embe... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/wmv/index.html #### YouTube Live Streaming Integration for .NET Apps - VisioForge Help [Skip to content](#youtube-live-streaming-with-visioforge-sdks) # YouTube Live Streaming with VisioForge SDKs[¶](#youtube-live-streaming-with-visioforge-sdks "Permanent link") ## Introduction to YouTube Streaming Integration[¶](#introduction-to-youtube-streaming-integration "Permanent link") The YouTube RTMP output functionality in VisioForge SDKs enables developers to create robust .NET applications that stream high-quality video content directly to YouTube. This implementation leverages various video and audio encoders to optimize streaming performance across different hardware configurations and platforms. This comprehensive guide provides detailed instructions on setting up, configuring, and troubleshooting YouTube streaming in your applications. ## Supported SDK Platforms[¶](#supported-sdk-platforms "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) All major VisioForge SDK platforms provide cross-platform capabilities for YouTube streaming, ensuring consistent functionality across Windows, macOS, and other operating systems. ## Understanding the YouTubeOutput Class[¶](#understanding-the-youtubeoutput-class "Permanent link") The `YouTubeOutput` class serves as the primary interface for YouTube streaming configuration, offering extensive customization options including: - **Video encoder selection and configuration**: Choose from multiple hardware-accelerated and software-based encoders - **Audio encoder selection and configuration**: Configure AAC audio encoders with custom parameters - **Custom video and audio processing**: Apply filters and transformations before streaming - **YouTube-specific sink settings**: Fine-tune streaming parameters specific to YouTube's requirements ## Getting Started: Basic Setup Process[¶](#getting-started-basic-setup-process "Permanent link") ### Stream Key Configuration[¶](#stream-key-configuration "Permanent link") The foundation of any YouTube streaming implementation be... **URL**: https://www.visioforge.com/help/docs/dotnet/general/network-streaming/youtube/index.html #### AVI File Output Guide for .NET SDK Development - VisioForge Help [Skip to content](#avi-file-output-in-visioforge-net-sdks) # AVI File Output in VisioForge .NET SDKs[¶](#avi-file-output-in-visioforge-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) AVI (Audio Video Interleave) is a Microsoft-developed multimedia container format that stores both audio and video data in a single file with synchronized playback. It supports both compressed and uncompressed data, offering flexibility while sometimes resulting in larger file sizes. ## Technical Overview of AVI Format[¶](#technical-overview-of-avi-format "Permanent link") AVI files use a RIFF (Resource Interchange File Format) structure to organize data. This format divides content into chunks, with each chunk containing either audio or video frames. Key technical aspects include: - Container format supporting multiple audio and video codecs - Interleaved audio and video data for synchronized playback - Maximum file size of 4GB in standard AVI (extended to 16EB in OpenDML AVI) - Support for multiple audio tracks and subtitles - Widely supported across platforms and media players Despite newer container formats like MP4 and MKV offering more features, AVI remains valuable for certain workflows due to its simplicity and compatibility with legacy systems. ## Cross-Platform AVI Implementation[¶](#cross-platform-avi-implementation "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The [AVIOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.AVIOutput.html) class provides a robust way to configure and generate AVI files with various encoding options. ### Setting Up AVI Output[¶](#setting-up-avi-output "Permanent link") Create an `AVIOutput` instance by specifying a target filename: `[](#__codelineno-0-1)var aviOutput... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/avi/index.html #### DirectShow Custom Video Format Integration in .NET - VisioForge Help [Skip to content](#creating-custom-video-output-formats-with-directshow-filters) # Creating Custom Video Output Formats with DirectShow Filters[¶](#creating-custom-video-output-formats-with-directshow-filters "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoCaptureCore](#) [VideoEditCore](#) ## Overview[¶](#overview "Permanent link") Working with video in .NET applications often requires custom output formats to meet specific project requirements. The VisioForge SDKs provide powerful capabilities to implement custom format outputs using DirectShow filters, giving developers precise control over audio and video processing pipelines. This guide demonstrates practical techniques for implementing custom output formats that work seamlessly with both the Video Capture SDK .NET and Video Edit SDK .NET, allowing you to tailor your video applications to exact specifications. ## Why Use Custom Output Formats?[¶](#why-use-custom-output-formats "Permanent link") Custom output formats offer several advantages for .NET developers: - Support for specialized video codecs not available in standard formats - Fine-grained control over video and audio compression settings - Integration with third-party DirectShow filters - Ability to create proprietary or industry-specific output formats - Optimization for specific use cases (streaming, archiving, editing) ## Getting Started with CustomOutput[¶](#getting-started-with-customoutput "Permanent link") The `CustomOutput` class is the cornerstone for configuring custom output settings in VisioForge SDKs. This class enables you to define and configure the filters used in your video processing pipeline. Start by initializing a new instance: `[](#__codelineno-0-1)var customOutput = new CustomOutput();` While our examples use the `VideoCaptureCore` class, developers using Video Edit SDK .NET can apply... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/custom/index.html #### FFMPEG Integration for VisioForge Video SDKs - VisioForge Help [Skip to content](#ffmpegexe-integration-with-visioforge-net-sdks) # FFMPEG.exe Integration with VisioForge .Net SDKs[¶](#ffmpegexe-integration-with-visioforge-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoCaptureCore](#) [VideoEditCore](#) ## Introduction to FFMPEG Output in .NET[¶](#introduction-to-ffmpeg-output-in-net "Permanent link") This guide provides detailed instructions for implementing FFMPEG.exe output in Windows applications using VisioForge's .NET SDKs. The integration works with both [Video Capture SDK .NET](https://www.visioforge.com/video-capture-sdk-net) and [Video Edit SDK .NET](https://www.visioforge.com/video-edit-sdk-net), utilizing the `VideoCaptureCore` and `VideoEditCore` engines. FFMPEG functions as a powerful multimedia framework that enables developers to output to a wide variety of video and audio formats. Its flexibility stems from extensive codec support and granular control over encoding parameters for both video and audio streams. ## Why Use FFMPEG with VisioForge SDKs?[¶](#why-use-ffmpeg-with-visioforge-sdks "Permanent link") Integrating FFMPEG into your VisioForge-powered applications provides several technical advantages: - **Format versatility**: Support for virtually all modern container formats - **Codec flexibility**: Access to both open-source and proprietary codecs - **Performance optimization**: Options for CPU and GPU acceleration - **Customization depth**: Fine-grained control over encoding parameters - **Cross-platform compatibility**: Consistent output on different systems ## Key Features and Capabilities[¶](#key-features-and-capabilities "Permanent link") ### Supported Output Formats[¶](#supported-output-formats "Permanent link") FFMPEG supports numerous container formats, including but not limited to: - MP4 (MPEG-4 Part 14) - WebM (VP8/VP9 with Vorbis/Opus) -... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/ffmpeg-exe/index.html #### GIF Animation Encoding for .NET Development - VisioForge Help [Skip to content](#gif-encoder) # GIF Encoder[¶](#gif-encoder "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The GIF encoder is a component of the VisioForge SDK that enables video encoding to the GIF format. This document provides detailed information about the GIF encoder settings and implementation guidelines. ## Cross-platform GIF output[¶](#cross-platform-gif-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The GIF encoder settings are managed through the `GIFEncoderSettings` class, which provides configuration options for controlling the encoding process. ### Properties[¶](#properties "Permanent link") 1. **Repeat** 2. Type: `uint` 3. Description: Controls the number of times the GIF animation will repeat 4. Values: - `-1`: Loop forever - `0..n`: Finite number of repetitions 5. **Speed** 6. Type: `int` 7. Description: Controls the encoding speed 8. Range: 1 to 30 (higher values result in faster encoding) 9. Default: 10 ## Implementation Guide[¶](#implementation-guide "Permanent link") ### Basic Usage[¶](#basic-usage "Permanent link") Here's a basic example of how to configure and use the GIF encoder: `[](#__codelineno-0-1)using VisioForge.Core.Types.X.VideoEncoders; [](#__codelineno-0-2)[](#__codelineno-0-3)// Create and configure GIF encoder settings [](#__codelineno-0-4)var settings = new GIFEncoderSettings [](#__codelineno-0-5){ [](#__codelineno-0-6) Repeat = 0, // Play once [](#__codelineno-0-7) Speed = 15 // Set encoding speed to 15 [](#__codelineno-0-8)};` ### Advanced Configuration[¶](#advanced-configuration "Permanent link") For more controlled GIF encoding, you can adjust the settings based on your specific needs: `[](#__codelineno-1-1)// Configure for an infi... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/gif/index.html #### Video & Audio Format Guide for .NET Development - VisioForge Help [Skip to content](#output-formats-for-net-media-sdks) # Output Formats for .NET Media SDKs[¶](#output-formats-for-net-media-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") The VisioForge .NET SDKs support a wide range of output formats for video, audio, and media projects. Selecting the right format is crucial for ensuring compatibility, optimizing file size, and maintaining quality appropriate for your target platform. This guide covers all available formats, their technical specifications, use cases, and implementation details to help developers make informed decisions. ## Choosing the Right Format[¶](#choosing-the-right-format "Permanent link") When selecting an output format, consider these key factors: - **Target platform** - Some formats work better on specific devices or browsers - **Quality requirements** - Different codecs provide varying levels of quality at different bitrates - **File size constraints** - Some formats offer better compression than others - **Processing overhead** - Encoding complexity varies between formats - **Streaming requirements** - Certain formats are optimized for streaming scenarios ## Video Container Formats[¶](#video-container-formats "Permanent link") ### AVI (Audio Video Interleave)[¶](#avi-audio-video-interleave "Permanent link") [AVI](avi/) is a classic container format developed by Microsoft that supports various video and audio codecs. **Key features:** - Wide compatibility with Windows applications - Supports virtually any DirectShow-compatible video and audio codec - Simple structure makes it reliable for video editing workflows - Better suited for archiving than streaming ### MP4 (MPEG-4 Part 14)[¶](#mp4-mpeg-4-part-14 "Permanent link") [MP4](mp4/... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/index.html #### MKV Container Format for .NET Video Applications - VisioForge Help [Skip to content](#mkv-output-in-visioforge-net-sdks) # MKV Output in VisioForge .NET SDKs[¶](#mkv-output-in-visioforge-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introduction to MKV Format[¶](#introduction-to-mkv-format "Permanent link") MKV (Matroska Video) is a flexible, open-standard container format that can hold an unlimited number of video, audio, and subtitle tracks in one file. The VisioForge SDKs provide robust support for MKV output with various encoding options to meet diverse development requirements. This format is particularly valuable for developers working on applications that require: - Multiple audio tracks or languages - High-quality video with multiple codec options - Cross-platform compatibility - Support for metadata and chapters ## Getting Started with MKV Output[¶](#getting-started-with-mkv-output "Permanent link") The `MKVOutput` class serves as the primary interface for generating MKV files in VisioForge SDKs. You can initialize it with default settings or specify custom encoders to match your application's needs. ### Basic Implementation[¶](#basic-implementation "Permanent link") `[](#__codelineno-0-1)// Create MKV output with default encoders [](#__codelineno-0-2)var mkvOutput = new MKVOutput("output.mkv"); [](#__codelineno-0-3)[](#__codelineno-0-4)// Or specify custom encoders during initialization [](#__codelineno-0-5)var videoEncoder = new NVENCH264EncoderSettings(); [](#__codelineno-0-6)var audioEncoder = new MFAACEncoderSettings(); [](#__codelineno-0-7)var mkvOutput = new MKVOutput("output.mkv", videoEncoder, audioEncoder);` ## Video Encoding Options[¶](#video-encoding-options "Permanent link") The MKV format supports multiple video codecs, g... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/mkv/index.html #### MOV File Encoding with VisioForge .NET SDKs - VisioForge Help [Skip to content](#mov-file-output-for-net-video-applications) # MOV File Output for .NET Video Applications[¶](#mov-file-output-for-net-video-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introduction to MOV Output in VisioForge[¶](#introduction-to-mov-output-in-visioforge "Permanent link") The MOV container format is widely used for video storage in professional environments and Apple ecosystems. VisioForge's .NET SDKs provide robust cross-platform support for generating MOV files with customizable encoding options. The `MOVOutput` class serves as the primary interface for configuring and generating these files across Windows, macOS, and Linux environments. MOV files created with VisioForge SDKs can leverage hardware acceleration through NVIDIA, Intel, and AMD encoders, making them ideal for performance-critical applications. This guide walks through the essential steps for implementing MOV output in .NET video applications. ### When to Use MOV Format[¶](#when-to-use-mov-format "Permanent link") MOV is particularly well-suited for: - Video editing workflows - Projects requiring Apple ecosystem compatibility - Professional video production pipelines - Applications needing metadata preservation - High-quality archival purposes ## Getting Started with MOV Output[¶](#getting-started-with-mov-output "Permanent link") The `MOVOutput` class ([API reference](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.Output.MOVOutput.html)) provides the foundation for MOV file generation with VisioForge SDKs. It encapsulates the configuration of video and audio encoders, processing parameters, and sink settings. ### Basic Implementation[¶](#basic-implementation "Permanent link"... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/mov/index.html #### MP4 Video Output Integration for .NET - VisioForge Help [Skip to content](#mp4-file-output) # MP4 file output[¶](#mp4-file-output "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) MP4 (MPEG-4 Part 14), introduced in 2001, is a digital multimedia container format most commonly used to store video and audio. It also supports subtitles and images. MP4 is known for its high compression and compatibility across various devices and platforms, making it a popular choice for streaming and sharing. Capturing videos from a webcam and saving them to a file is a common requirement in many applications. One way to achieve this is by using a software development kit (SDK) like VisioForge Video Capture SDK .Net, which provides an easy-to-use API for capturing and processing videos in C#. To capture video in MP4 format using Video Capture SDK, you need to configure video output format using one of the classes for MP4 output. You can use several available software and hardware video encoders, including Intel QuickSync, Nvidia NVENC, and AMD/ATI APU. ## Cross-platform MP4 output[¶](#cross-platform-mp4-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) The [MP4Output](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.Output.MP4Output.html?q=MP4Output) class provides a flexible and powerful way to configure MP4 video output settings for video capture and editing operations. This guide will walk you through how to use the MP4Output class effectively, covering its key features and common usage patterns. MP4Output implements several important interfaces: - IVideoEditXBaseOutput - IVideoCaptureXBaseOutput - Media Block creation This makes it suitable for both video editing and capture scenarios while providing extensive control over video and audio processing. ### Basic Usage[¶](#basic-usa... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/mp4/index.html #### MPEG-TS File Output Guide for .NET - VisioForge Help [Skip to content](#mpeg-ts-output) # MPEG-TS Output[¶](#mpeg-ts-output "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The MPEG-TS (Transport Stream) output module in VisioForge SDK functionality for creating MPEG transport stream files with various video and audio encoding options. This guide explains how to configure and use the `MPEGTSOutput` class effectively. ## Cross-platform MPEG-TS output[¶](#cross-platform-mpeg-ts-output "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) To create a new MPEG-TS output, use the following constructor: `[](#__codelineno-0-1)// Initialize with AAC audio (recommended) [](#__codelineno-0-2)var output = new MPEGTSOutput("output.ts", useAAC: true);` You can also use MP3 audio instead of AAC: `[](#__codelineno-1-1)// Initialize with MP3 audio instead of AAC [](#__codelineno-1-2)var output = new MPEGTSOutput("output.ts", useAAC: false);` ### Video Encoding Options[¶](#video-encoding-options "Permanent link") The [MPEGTSOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.Output.MPEGTSOutput.html) supports multiple video encoders through the `Video` property. Available encoders include: **[H.264 Encoders](../../video-encoders/h264/)** - OpenH264 (Software-based) - NVENC H.264 (NVIDIA GPU acceleration) - QSV H.264 (Intel Quick Sync) - AMF H.264 (AMD GPU acceleration) **[H.265/HEVC Encoders](../../video-encoders/hevc/)** - MF HEVC (Windows Media Foundation, Windows only) - NVENC HEVC (NVIDIA GPU acceleration) - QSV HEVC (Intel Quick Sync) - AMF H.265 (AMD GPU acceleration) Example of setting a specific video encoder: `[](#__codelineno-2-1)// Check if NVIDIA encoder is available [](#__codelineno-2-2)if (NVENCH264EncoderSettings.IsAvailable()) [](#__codelineno-2-3){... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/mpegts/index.html #### Professional MXF Integration for .NET Applications - VisioForge Help [Skip to content](#mxf-output-in-visioforge-net-sdks) # MXF Output in VisioForge .NET SDKs[¶](#mxf-output-in-visioforge-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Material Exchange Format (MXF) is an industry-standard container format designed for professional video applications. It's widely adopted in broadcast environments, post-production workflows, and archival systems. VisioForge SDKs provide robust cross-platform MXF output capabilities that allow developers to integrate this professional format into their applications. ## Understanding MXF Format[¶](#understanding-mxf-format "Permanent link") MXF serves as a wrapper that can contain various types of video and audio data along with metadata. The format was designed to address interoperability issues in professional video workflows: - **Industry Standard**: Adopted by major broadcasters worldwide - **Professional Metadata**: Supports extensive technical and descriptive metadata - **Versatile Container**: Compatible with numerous audio and video codecs - **Cross-Platform**: Supported across Windows, macOS, and Linux ## Getting Started with MXF Output[¶](#getting-started-with-mxf-output "Permanent link") Implementing MXF output in VisioForge SDKs requires just a few steps. The basic setup involves: 1. Creating an MXF output object 2. Specifying video and audio stream types 3. Configuring encoder settings 4. Adding the output to your pipeline ### Basic Implementation[¶](#basic-implementation "Permanent link") Here's the foundational code to create an MXF output: `[](#__codelineno-0-1)var mxfOutput = new MXFOutput( [](#__codelineno-0-2) filename: "output.mxf", [](#__codelineno-0-3) videoStreamType: MXFVideoStre... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/mxf/index.html #### WebM Video Output for .NET - Developer Guide - VisioForge Help [Skip to content](#webm-video-output-in-visioforge-net-sdks) # WebM Video Output in VisioForge .NET SDKs[¶](#webm-video-output-in-visioforge-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## What is WebM?[¶](#what-is-webm "Permanent link") WebM is an open-source, royalty-free media file format optimized for web delivery. Developed to provide efficient video streaming with minimal processing requirements, WebM has become a standard for HTML5 video content. The format supports modern codecs including VP8 and VP9 for video compression, along with Vorbis and Opus for audio encoding. The key advantages of WebM include: - **Web-optimized performance** with fast loading times - **Broad browser support** across major platforms - **High-quality video** at smaller file sizes - **Open-source licensing** without royalty costs - **Efficient streaming** capabilities for media applications ## Windows Implementation[¶](#windows-implementation "Permanent link") [VideoCaptureCore](#) [VideoEditCore](#) On Windows platforms, VisioForge's implementation leverages the [WebMOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WebMOutput.html) class from the `VisioForge.Core.Types.Output` namespace. ### Basic Configuration[¶](#basic-configuration "Permanent link") To quickly implement WebM output in your Windows application: `[](#__codelineno-0-1)using VisioForge.Core.Types.Output; [](#__codelineno-0-2)[](#__codelineno-0-3)// Initialize WebM output settings [](#__codelineno-0-4)var webmOutput = new WebMOutput(); [](#__codelineno-0-5)[](#__codelineno-0-6)// Configure essential parameters [](#__codelineno-0-7)webmOutput.Video_Mode = VP8QualityMode.Realtime; [](#__codelineno-0-8)webmOutput.Video_EndUsage = VP8EndUsageMode.VBR; [](#__codelineno-0-9)webm... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/webm/index.html #### WMV File Output and Encoding Guide - VisioForge Help [Skip to content](#windows-media-video-encoders) # Windows Media Video encoders[¶](#windows-media-video-encoders "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) This documentation covers the Windows Media Video (WMV) encoding capabilities available in VisioForge, including both Windows-specific and cross-platform solutions. ## Windows-only output[¶](#windows-only-output "Permanent link") [VideoCaptureCore](#) [VideoEditCore](#) The [WMVOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WMVOutput.html) class provides comprehensive Windows Media encoding capabilities for both audio and video on Windows platforms. ### Quick Start Guide[¶](#quick-start-guide "Permanent link") #### Simple Video Capture with Default Settings[¶](#simple-video-capture-with-default-settings "Permanent link") `[](#__codelineno-0-1)using VisioForge.Core.VideoCapture; [](#__codelineno-0-2)using VisioForge.Core.Types.Output; [](#__codelineno-0-3)[](#__codelineno-0-4)var captureCore = new VideoCaptureCore(); [](#__codelineno-0-5)[](#__codelineno-0-6)// Use default WMV settings (Internal Profile mode) [](#__codelineno-0-7)captureCore.Output_Format = new WMVOutput(); [](#__codelineno-0-8)captureCore.Output_Filename = "output.wmv"; [](#__codelineno-0-9)[](#__codelineno-0-10)await captureCore.StartAsync();` #### Simple Video Editing with Default Settings[¶](#simple-video-editing-with-default-settings "Permanent link") `[](#__codelineno-1-1)using VisioForge.Core.VideoEdit; [](#__codelineno-1-2)using VisioForge.Core.Types.Output; [](#__codelineno-1-3)[](#__codelineno-1-4)var editCore = new VideoEditCore(); [](#__codelineno-1-5)[](#__codelineno-1-6)// Use default WMV settings [](#__codelineno-1-7)editCore.Output_Format = new WMVOutput(); [](#__codelineno-1-8)editCore.Output_Filename... **URL**: https://www.visioforge.com/help/docs/dotnet/general/output-formats/wmv/index.html #### Troubleshooting with Logs for .NET SDK Products - VisioForge Help [Skip to content](#troubleshooting-with-logs-for-net-sdk-products) # Troubleshooting with Logs for .NET SDK Products[¶](#troubleshooting-with-logs-for-net-sdk-products "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Why Logs Matter in SDK Troubleshooting[¶](#why-logs-matter-in-sdk-troubleshooting "Permanent link") When developing applications that utilize media SDKs, you may encounter technical issues that require detailed investigation. Debug logs provide critical information that helps identify the root cause of problems quickly and efficiently. These logs capture everything from initialization sequences to detailed operation steps, error conditions, and system information. Properly collected logs offer several key benefits: - **Faster Issue Resolution**: Technical support can quickly identify the source of problems - **Complete Context**: Logs provide a full picture of what happened before, during, and after an issue - **System Information**: Details about your environment help reproduce and solve problems - **Development Insights**: Understanding logs can help you optimize your implementation ## Log Collection in Demo Applications[¶](#log-collection-in-demo-applications "Permanent link") Our demo applications include built-in debugging capabilities that make it easy to collect logs for troubleshooting. Follow these steps to enable and share logs: ### Step-by-Step Guide for Demo Application Logging[¶](#step-by-step-guide-for-demo-application-logging "Permanent link") 1. **Launch the Demo Application** 2. Open the relevant demo application for your SDK 3. Locate the main interface where settings can be configured 4. **Enable Debug Mode** 5. Find and check the "Debug" checkbox in the application interface 6. This activates detailed logging of all SDK... **URL**: https://www.visioforge.com/help/docs/dotnet/general/sendlogs/index.html #### Implementing Video Effects in .NET Applications - VisioForge Help [Skip to content](#implementing-video-effects-in-net-sdk-applications) # Implementing Video Effects in .NET SDK Applications[¶](#implementing-video-effects-in-net-sdk-applications "Permanent link") Video effects can significantly enhance the visual quality and user experience of your media applications. This guide demonstrates how to properly implement and manage video effects across various .NET SDK environments. [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Implementation Overview[¶](#implementation-overview "Permanent link") When working with video processing in .NET applications, you'll often need to apply various effects to enhance or modify the video content. The following sections explain the process step-by-step. ## C# Code Implementation[¶](#c-code-implementation "Permanent link") ### Example: Lightness Effect in Media Player SDK[¶](#example-lightness-effect-in-media-player-sdk "Permanent link") This detailed example demonstrates how to implement a lightness effect, which is a common video enhancement technique. The same implementation approach applies to Video Edit SDK .Net and Video Capture SDK .Net environments. ### Step 1: Define the Effect Interface[¶](#step-1-define-the-effect-interface "Permanent link") First, you need to declare the appropriate interface for your desired effect: `[](#__codelineno-0-1)IVideoEffectLightness lightness;` ### Step 2: Retrieve or Create the Effect Instance[¶](#step-2-retrieve-or-create-the-effect-instance "Permanent link") Each effect requires a unique identifier. The following code checks if the effect already exists in the SDK control: `[](#__codelineno-1-1)var effect = MediaPlayer1.Video_Effects_Get("Lightness");` ### Step 3: Add the Effect if Not Present[¶](... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-effects/add/index.html #### Complete Video Effects Reference for .NET SDKs - VisioForge Help [Skip to content](#complete-video-effects-reference) # Complete Video Effects Reference[¶](#complete-video-effects-reference "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") This document provides a comprehensive reference for all video effects available in VisioForge .NET SDKs. Effects are available in two distinct implementations: ### Effect Types by SDK Engine[¶](#effect-types-by-sdk-engine "Permanent link") #### Classic Effects (Windows Only)[¶](#classic-effects-windows-only "Permanent link") - **Available in**: VideoCaptureCore, MediaPlayerCore, VideoEditCore - **Platform**: Windows only (.NET Framework 4.7.2+ and .NET 6-10) - **Types**: - `VideoEffect*` - CPU-based processing - `GPUVideoEffect*` - GPU-accelerated (DirectX) - `Maxine*` - NVIDIA AI-powered effects (RTX GPUs) - **Location**: `VisioForge.Core.Types.VideoEffects` namespace #### Cross-Platform Effects[¶](#cross-platform-effects "Permanent link") - **Available in**: VideoCaptureCoreX, MediaPlayerCoreX, VideoEditCoreX, Media Blocks SDK - **Platform**: Windows, Linux, macOS, Android, iOS - **Types**: - `*VideoEffect` classes in `VisioForge.Core.Types.X.VideoEffects` - Cross-platform processing for universal compatibility - **Location**: `VisioForge.Core.Types.X.VideoEffects` namespace > **Important**: When choosing effects, select based on your target SDK and platform requirements. Cross-platform effects provide broader compatibility, while Classic effects offer Windows-specific optimizations and DirectX GPU acceleration. ## Effect Categories[¶](#effect-categories "Permanent link") The following sections list all available effects. Each effect includes SDK a... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-effects/effects-reference/index.html #### Adding Image Overlays to Video Streams - VisioForge Help [Skip to content](#image-overlay) # Image overlay[¶](#image-overlay "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCore](#) [MediaPlayerCore](#) [VideoEditCore](#) ## Introduction[¶](#introduction "Permanent link") This example demonstrates how to overlay an image on a video stream. JPG, PNG, BMP, and GIF images are supported. ## Sample code[¶](#sample-code "Permanent link") Most simple image overlay with image added from a file with custom position: `[](#__codelineno-0-1) var effect = new VideoEffectImageLogo(true, "imageoverlay"); [](#__codelineno-0-2) effect.Filename = @"logo.png"; [](#__codelineno-0-3) effect.Left = 100; [](#__codelineno-0-4) effect.Top = 100; [](#__codelineno-0-5) [](#__codelineno-0-6) VideoCapture1.Video_Effects_Add(effect);` ### Transparent image overlay[¶](#transparent-image-overlay "Permanent link") SDK fully supports transparency in PNG images. If you want to set a custom transparency level, you can use the `TransparencyLevel` property with a range (0..255). `[](#__codelineno-1-1)var effect = new VideoEffectImageLogo(true, "imageoverlay"); [](#__codelineno-1-2)effect.Filename = @"logo.jpg"; [](#__codelineno-1-3)[](#__codelineno-1-4)effect.TransparencyLevel = 50; [](#__codelineno-1-5)[](#__codelineno-1-6)VideoCapture1.Video_Effects_Add(effect);` ### Animated GIF overlay[¶](#animated-gif-overlay "Permanent link") You can overlay an animated GIF image on a video stream. The SDK will play the GIF animation in the overlay. `[](#__codelineno-2-1)var effect = new VideoEffectImageLogo(true, "imageoverlay"); [](#__codelineno-2-2)effect.Filename = @"animated.gif"; [](#__codelineno-2-3)[](#__codelineno-2-4)effect.Animated = true; [](#__codelineno-2-5)effect.Anima... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-effects/image-overlay/index.html #### Advanced Video Effects & Processing for .Net SDKs - VisioForge Help [Skip to content](#video-effects-and-processing-for-net-applications) # Video Effects and Processing for .Net Applications[¶](#video-effects-and-processing-for-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net)[Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") Our .Net SDKs provide developers with two distinct implementations of video effects to match your platform and performance requirements: ### Classic Effects (Windows Only)[¶](#classic-effects-windows-only "Permanent link") Available in **VideoCaptureCore**, **MediaPlayerCore**, and **VideoEditCore**: - CPU-based effects (`VideoEffect*`) - GPU-accelerated effects (`GPUVideoEffect*`) using DirectX - AI-powered effects (`Maxine*`) using NVIDIA technology - Windows-only, optimized for desktop performance ### Cross-Platform Effects[¶](#cross-platform-effects "Permanent link") Available in **VideoCaptureCoreX**, **MediaPlayerCoreX**, **VideoEditCoreX**, and **Media Blocks SDK**: - Cross-platform implementation (`*VideoEffect` classes) - Works on Windows, Linux, macOS, Android, and iOS - Hardware acceleration through platform-specific multimedia plugins - Extended overlay system and advanced features - Better suited for mobile and cross-platform deployment ## Complete Effects Reference[¶](#complete-effects-reference "Permanent link") **[View Complete Video Effects Reference →](effects-reference/)** Our comprehensive effects reference provides detailed information on all 100+ available video effects across both implementations: - **Classic effects** for Windows-only applications - **Cross-platform effects** for universal compatibility - Effect parameters, usage... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-effects/index.html #### Advanced Text Overlays for .NET Video Processing - VisioForge Help [Skip to content](#implementing-text-overlays-in-video-streams) # Implementing Text Overlays in Video Streams[¶](#implementing-text-overlays-in-video-streams "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCore](#) [MediaPlayerCore](#) [VideoEditCore](#) ## Introduction[¶](#introduction "Permanent link") Text overlays provide a powerful way to enhance video streams with dynamic information, branding, captions, or timestamps. This guide explores how to implement fully customizable text overlays with precise control over appearance, positioning, and animations. ## Classic Engine Implementation[¶](#classic-engine-implementation "Permanent link") Our classic engines (VideoCaptureCore, MediaPlayerCore, VideoEditCore) offer a straightforward API for adding text to video streams. ### Basic Text Overlay Implementation[¶](#basic-text-overlay-implementation "Permanent link") The following example demonstrates a simple text overlay with custom positioning: `[](#__codelineno-0-1)var effect = new VideoEffectTextLogo(true, "textoverlay"); [](#__codelineno-0-2)[](#__codelineno-0-3)// set position [](#__codelineno-0-4)effect.Left = 20; [](#__codelineno-0-5)effect.Top = 20; [](#__codelineno-0-6)[](#__codelineno-0-7)// set Font (System.Drawing.Font) [](#__codelineno-0-8)effect.Font = new Font("Arial", 40); [](#__codelineno-0-9)[](#__codelineno-0-10)// set text [](#__codelineno-0-11)effect.Text = "Hello, world!"; [](#__codelineno-0-12)[](#__codelineno-0-13)// set text color [](#__codelineno-0-14)effect.FontColor = Color.Yellow; [](#__codelineno-0-15)[](#__codelineno-0-16)MediaPlayer1.Video_Effects_Add(effect);` ### Dynamic Information Display Options[¶](#dynamic-information-display-options "Permanent li... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-effects/text-overlay/index.html #### Video sample grabber usage - VisioForge Help [Skip to content](#video-sample-grabber-usage) # Video sample grabber usage[¶](#video-sample-grabber-usage "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Getting RAW video frames as unmanaged memory pointer inside the structure[¶](#getting-raw-video-frames-as-unmanaged-memory-pointer-inside-the-structure "Permanent link") X-enginesClassic enginesMedia Blocks SDK `[](#__codelineno-0-1)// Subscribe to the video frame buffer event [](#__codelineno-0-2)VideoCapture1.OnVideoFrameBuffer += OnVideoFrameBuffer; [](#__codelineno-0-3)[](#__codelineno-0-4)private void OnVideoFrameBuffer(object sender, VideoFrameXBufferEventArgs e) [](#__codelineno-0-5){ [](#__codelineno-0-6) // Process the VideoFrameX object [](#__codelineno-0-7) ProcessFrame(e.Frame); [](#__codelineno-0-8) [](#__codelineno-0-9) // If you've modified the frame and want to update the video stream [](#__codelineno-0-10) e.UpdateData = true; [](#__codelineno-0-11)} [](#__codelineno-0-12)[](#__codelineno-0-13)// Example of processing a VideoFrameX frame - adjusting brightness [](#__codelineno-0-14)private void ProcessFrame(VideoFrameX frame) [](#__codelineno-0-15){ [](#__codelineno-0-16) // Only process RGB/BGR/RGBA/BGRA formats [](#__codelineno-0-17) if (frame.Format != VideoFormatX.RGB && [](#__codelineno-0-18) frame.Format != VideoFormatX.BGR && [](#__codelineno-0-19) frame.Format != VideoFormatX.RGBA && [](#__codelineno-0-20) frame.Format != VideoFormatX.BGRA) [](#__codelineno-0-21) { [](#__codelineno-0-22) return; [](#__codelineno-0-23) } [](#__codelineno-0-24) [](#__codelineno-0-25) // Get the data as a byte array for manipulation... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-effects/video-sample-grabber/index.html #### AV1 encoders usage in VisioForge .Net SDKs - VisioForge Help [Skip to content](#av1-encoders) # AV1 Encoders[¶](#av1-encoders "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) VisioForge supports multiple AV1 encoder implementations, each with its own unique features and capabilities. This document covers the available encoders and their configuration options. Currently, AV1 encoder are supported in the cross-platform engines: `VideoCaptureCoreX`, `VideoEditCoreX`, and `Media Blocks SDK`. ## Available Encoders[¶](#available-encoders "Permanent link") 1. [AMD AMF AV1 Encoder (AMF)](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.AMFAV1EncoderSettings.html) 2. [NVIDIA NVENC AV1 Encoder (NVENC)](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.NVENCAV1EncoderSettings.html) 3. [Intel QuickSync AV1 Encoder (QSV)](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.QSVAV1EncoderSettings.html) 4. [AOM AV1 Encoder](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.AOMAV1EncoderSettings.html) 5. [RAV1E Encoder](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.RAV1EEncoderSettings.html) You can use AV1 encoder with [WebM output](../../output-formats/webm/) or for network streaming. ## AMD AMF AV1 Encoder[¶](#amd-amf-av1-encoder "Permanent link") The AMD AMF AV1 encoder provides hardware-accelerated encoding using AMD graphics cards. ### Features[¶](#features "Permanent link") - Multiple quality presets - Variable bitrate control modes - GOP size control - QP (Quantization Parameter) control - Smart Access Video support ### Rate Control Modes[¶](#rate-control-modes "Permanent link") - `Default`: Depends on Usage - `CQP`: Co... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-encoders/av1/index.html #### H264 encoders usage in VisioForge .Net SDKs - VisioForge Help [Skip to content](#h264-encoders) # H264 Encoders[¶](#h264-encoders "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) This document provides detailed information about available H264 encoders, their features, rate control options, and usage examples. For Windows-only engines check the [MP4 output](../../output-formats/mp4/) page. ## Overview[¶](#overview "Permanent link") The following H264 encoders are available: 1. AMD AMF H264 Encoder (GPU-accelerated) 2. NVIDIA NVENC H264 Encoder (GPU-accelerated) 3. Intel QSV H264 Encoder (GPU-accelerated) 4. OpenH264 Encoder (Software) 5. Apple Media H264 Encoder (Hardware-accelerated for Apple devices) 6. VAAPI H264 Encoder (Linux hardware acceleration) 7. Various OMX-based encoders (Platform-specific) ## AMD AMF H264 Encoder[¶](#amd-amf-h264-encoder "Permanent link") AMD's Advanced Media Framework (AMF) provides hardware-accelerated encoding on AMD GPUs. ### Key Features[¶](#key-features "Permanent link") - Hardware-accelerated encoding - Multiple preset options (Balanced, Speed, Quality) - Configurable GOP size - CABAC entropy coding support - Various rate control methods ### Rate Control Options[¶](#rate-control-options "Permanent link") `[](#__codelineno-0-1)public enum AMFH264EncoderRateControl [](#__codelineno-0-2){ [](#__codelineno-0-3) Default = -1, // Default, depends on usage [](#__codelineno-0-4) CQP = 0, // Constant QP [](#__codelineno-0-5) CBR = 1, // Constant bitrate [](#__codelineno-0-6) VBR = 2, // Peak constrained VBR [](#__codelineno-0-7) LCVBR = 3 // Latency Constrained VBR [](#__codelineno-0-8)}` ### Sample Usage[¶](#sample-usage "Permanent link") `[](#__cod... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-encoders/h264/index.html #### HEVC Encoding with VisioForge .Net SDKs - VisioForge Help [Skip to content](#hevc-hardware-encoding-in-net-applications) # HEVC Hardware Encoding in .NET Applications[¶](#hevc-hardware-encoding-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) This guide explores hardware-accelerated HEVC (H.265) encoding options available in VisioForge .NET SDKs. We'll cover implementation details for AMD, NVIDIA, and Intel GPU encoders, helping you choose the right solution for your video processing needs. For Windows-specific output formats, refer to our [MP4 output documentation](../../output-formats/mp4/). ## Hardware HEVC Encoders Overview[¶](#hardware-hevc-encoders-overview "Permanent link") Modern GPUs offer powerful hardware encoding capabilities that significantly outperform software-based solutions. VisioForge SDKs support three major hardware HEVC encoders: - **AMD AMF** - For AMD Radeon GPUs - **NVIDIA NVENC** - For NVIDIA GeForce and professional GPUs - **Intel QuickSync** - For Intel CPUs with integrated graphics Each encoder provides unique features and optimization options. Let's explore their capabilities and implementation details. ## AMD AMF HEVC Encoder[¶](#amd-amf-hevc-encoder "Permanent link") AMD's Advanced Media Framework (AMF) delivers hardware-accelerated HEVC encoding on compatible Radeon GPUs. It balances encoding speed, quality, and efficiency for various scenarios. ### Key Features and Settings[¶](#key-features-and-settings "Permanent link") - **Rate Control Methods**: - `CQP` (Constant QP) for fixed quality settings - `LCVBR` (Latency Constrained VBR) for streaming - `VBR` (Variable Bitrate) for offline encoding - `CBR` (Constant Bitrate) for reliable bandwidth usage - **Usage Profiles**: - Transcoding... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-encoders/hevc/index.html #### Video Encoders for VisioForge .NET - VisioForge Help [Skip to content](#video-encoders-for-visioforge-net) # Video Encoders for VisioForge .NET[¶](#video-encoders-for-visioforge-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Video Encoders[¶](#introduction-to-video-encoders "Permanent link") Video encoders are essential components in multimedia processing applications, responsible for compressing video data while maintaining optimal quality. VisioForge .NET SDKs incorporate multiple advanced encoders to meet diverse development requirements across different platforms and use cases. This guide provides detailed information about each encoder's capabilities, performance characteristics, and implementation details to help .NET developers make informed decisions for their multimedia applications. ## Hardware vs. Software Encoding[¶](#hardware-vs-software-encoding "Permanent link") When developing video processing applications, choosing between hardware and software encoders significantly impacts application performance and user experience. ### Hardware-Accelerated Encoders[¶](#hardware-accelerated-encoders "Permanent link") Hardware encoders utilize dedicated processing units (GPUs or specialized hardware): - **Advantages**: Lower CPU usage, higher encoding speeds, improved battery efficiency - **Use cases**: Real-time streaming, live video processing, mobile applications - **Examples in our SDK**: NVIDIA NVENC, AMD AMF, Intel QuickSync ### Software Encoders[¶](#software-encoders "Permanent link") Software encoders run on the CPU without specialized hardware: - **Advantages**: Greater compatibility, more quality control options, platform independence - **Use cases**: High-quality offline encoding, environments without compatible hardware - **Examples in our SDK**: OpenH264, Software MJPE... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-encoders/index.html #### Motion JPEG (MJPEG) Encoders in VisioForge .NET SDKs - VisioForge Help [Skip to content](#motion-jpeg-mjpeg-video-encoders-for-net-applications) # Motion JPEG (MJPEG) Video Encoders for .NET Applications[¶](#motion-jpeg-mjpeg-video-encoders-for-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introduction to MJPEG Encoding in VisioForge[¶](#introduction-to-mjpeg-encoding-in-visioforge "Permanent link") The VisioForge .NET SDK suite provides robust Motion JPEG (MJPEG) encoder implementations designed for efficient video processing in your applications. MJPEG remains a popular choice for many video applications due to its simplicity, compatibility, and specific use cases where frame-by-frame compression is advantageous. This documentation provides a detailed exploration of the two MJPEG encoder options available in the VisioForge library: 1. CPU-based MJPEG encoder - The default implementation utilizing processor resources 2. GPU-accelerated Intel QuickSync MJPEG encoder - Hardware-accelerated option for compatible systems Both implementations offer developers flexible configuration options while maintaining the core MJPEG functionality through the unified `IMJPEGEncoderSettings` interface. ## What is MJPEG and Why Use It?[¶](#what-is-mjpeg-and-why-use-it "Permanent link") Motion JPEG (MJPEG) is a video compression format where each video frame is compressed separately as a JPEG image. Unlike more modern codecs such as H.264 or H.265 that use temporal compression across frames, MJPEG treats each frame independently. ### Key Advantages of MJPEG[¶](#key-advantages-of-mjpeg "Permanent link") - **Frame-by-frame processing**: Each frame maintains independent quality without temporal artifacts - **Lower latency**: Minimal processing delay makes it suitab... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-encoders/mjpeg/index.html #### VP8 and VP9 Encoders in VisioForge .NET - VisioForge Help [Skip to content](#vp8-and-vp9-encoders-in-visioforge-net) # VP8 and VP9 Encoders in VisioForge .NET[¶](#vp8-and-vp9-encoders-in-visioforge-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) This guide shows you how to implement VP8 and VP9 video encoding in VisioForge .NET SDKs. You'll learn about the available encoder options and how to optimize them for your specific application needs. ## Encoder Options Overview[¶](#encoder-options-overview "Permanent link") VisioForge SDK provides multiple encoder implementations based on your platform requirements: ### Windows Platform Encoders[¶](#windows-platform-encoders "Permanent link") [VideoCaptureCore](#) [VideoEditCore](#) - Software-based VP8 and VP9 encoders configured through the [WebMOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WebMOutput.html) class ### Cross-Platform X-Engine Options[¶](#cross-platform-x-engine-options "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) - VP8 software encoder via [VP8EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.VP8EncoderSettings.html) - VP9 software encoder via [VP9EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.VP9EncoderSettings.html) - Hardware-accelerated Intel GPU VP9 encoder via [QSVVP9EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.QSVVP9EncoderSettings.html) for integrated GPUs ## Bitrate Control Strategies[¶](#bitrate-control-strategies "Permanent link") All VP8 and VP9 encoders support different bitrate control modes to match your application requirements: ### Constant Bitrate (CBR)[¶](#constant-bitrate-cbr "Permanent link") CBR maintains consistent bitrate th... **URL**: https://www.visioforge.com/help/docs/dotnet/general/video-encoders/vp8-vp9/index.html #### .NET SDKs for Video & Media Development - VisioForge Help [Skip to content](#net-sdks-for-professional-media-development) # .NET SDKs for Professional Media Development[¶](#net-sdks-for-professional-media-development "Permanent link") ## Introduction to Our .NET SDKs[¶](#introduction-to-our-net-sdks "Permanent link") Our powerful .NET SDKs empower developers to seamlessly integrate advanced video capture, sophisticated video editing, smooth playback, and efficient media processing capabilities into their software applications. These professionally engineered tools provide a complete solution for all your multimedia development needs. ## Multi-Platform Compatibility[¶](#multi-platform-compatibility "Permanent link") All our .NET SDKs are designed with cross-platform functionality in mind, providing robust support across: - Windows desktop environments - Linux distributions - macOS systems - Android mobile devices - iOS applications This versatility ensures your media applications can reach users on virtually any platform without compromising functionality. ## Hardware Acceleration Technologies[¶](#hardware-acceleration-technologies "Permanent link") Our SDKs leverage cutting-edge GPU-accelerated encoding and decoding technologies to maximize performance: ### Desktop Platforms[¶](#desktop-platforms "Permanent link") - Intel Quick Sync Video for efficient hardware acceleration - NVIDIA NVENC for superior encoding performance - AMD VCE (Video Coding Engine) for optimized processing ### Mobile Platforms[¶](#mobile-platforms "Permanent link") - Native hardware encoding and decoding capabilities - Performance-optimized implementations for battery efficiency ## Getting Started Resources[¶](#getting-started-resources "Permanent link") ### SDK Usage Tutorials[¶](#sdk-usage-tutorials "Permanent link") - [Installation Guide](install/) - Step-by-step setup instructions - [SDK Initialization](init/) - Proper initialization procedures - [System Requirements](system-requirements/) - Detailed co... **URL**: https://www.visioforge.com/help/docs/dotnet/index.html #### .NET SDK Setup and Configuration Guide - VisioForge Help [Skip to content](#initialization) # Initialization[¶](#initialization "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Type of SDK engines[¶](#type-of-sdk-engines "Permanent link") All SDKs contain Windows-only DirectShow-based engines and cross-platform X-engines. ### Windows-only engines[¶](#windows-only-engines "Permanent link") - VideoCaptureCore - VideoEditCore - MediaPlayerCore ### X-engines[¶](#x-engines "Permanent link") - VideoCaptureCoreX - VideoEditCoreX - MediaPlayerCoreX - MediaBlocksPipeline X-engines require additional initialization and de-initialization steps. ## SDK initialization and de-initialization for X-engines[¶](#sdk-initialization-and-de-initialization-for-x-engines "Permanent link") You need to initialize SDK before any SDK class usage and de-initialize SDK before the application exits. To initialize SDK, use the following code: `[](#__codelineno-0-1)VisioForge.Core.VisioForgeX.InitSDK();` To de-initialize SDK, use the following code: `[](#__codelineno-1-1)VisioForge.Core.VisioForgeX.DestroySDK();` If the SDK is not properly deinitialized, the application may experience a hang-on exit due to the inability to finalize one of its threads. This issue arises because the SDK continues to operate, preventing the application from closing smoothly. To ensure a clean exit, it is crucial to deinitialize the SDK appropriately based on the UI framework you are using. For applications developed using different UI frameworks, you can deinitialize the SDK in the `FormClosing` event or another relevant event handler. This approach ensures that the SDK is properly destroyed before the application closes, allowing for all threads to terminate correctly. Moreover, t... **URL**: https://www.visioforge.com/help/docs/dotnet/init/index.html #### Integrate Media SDKs with Avalonia Applications - VisioForge Help [Skip to content](#building-media-rich-avalonia-applications-with-visioforge) # Building Media-Rich Avalonia Applications with VisioForge[¶](#building-media-rich-avalonia-applications-with-visioforge "Permanent link") ## Framework Overview[¶](#framework-overview "Permanent link") Avalonia UI stands out as a versatile, truly cross-platform .NET UI framework with support spanning desktop environments (Windows, macOS, Linux) and mobile platforms (iOS and Android). VisioForge enhances this ecosystem through the specialized `VisioForge.DotNet.Core.UI.Avalonia` package, which delivers high-performance multimedia controls tailored for Avalonia's architecture. Our suite of SDKs empowers Avalonia developers with extensive multimedia capabilities: [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Setup and Configuration[¶](#setup-and-configuration "Permanent link") ### Essential Package Installation[¶](#essential-package-installation "Permanent link") Creating an Avalonia application with VisioForge multimedia capabilities requires installing several key NuGet components: 1. Avalonia-specific UI layer: `VisioForge.DotNet.Core.UI.Avalonia` 2. Core functionality package: `VisioForge.DotNet.Core` (or specialized SDK variant) 3. Platform-specific native bindings (covered in detail in later sections) Add these to your project manifest (`.csproj`): `[](#__codelineno-0-1) [](#__codelineno-0-2) [](#__codelineno-0-3) [](#__codelineno-0-4) [](#__codelineno-0-5)` ### Av... **URL**: https://www.visioforge.com/help/docs/dotnet/install/avalonia/index.html #### .NET SDKs Installation Guide for Developers - VisioForge Help [Skip to content](#visioforge-net-sdks-installation-guide) # VisioForge .NET SDKs Installation Guide[¶](#visioforge-net-sdks-installation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) VisioForge offers powerful multimedia SDKs for .NET developers that enable advanced video capture, editing, playback, and media processing capabilities in your applications. This guide covers everything you need to know to properly install and configure our SDKs in your development environment. ## Available .NET SDKs[¶](#available-net-sdks "Permanent link") VisioForge provides several specialized SDKs to address different multimedia needs: - [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) - For capturing video from cameras, screen recording, and streaming - [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) - For video editing, processing, and format conversion - [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) - For building custom media processing pipelines - [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) - For creating custom media players with advanced features ## Installation Methods[¶](#installation-methods "Permanent link") You can install our SDKs using two primary methods: ### Using Setup Files[¶](#using-setup-files "Permanent link") The setup file installation method is recommended for Windows development environments. This approach: 1. Automatically installs all required dependencies 2. Configures Visual Studio integration 3. Includes sample projects to help you get started quickly 4. Provides documentation and additional resources Setup files can be downloaded from the respective SDK product... **URL**: https://www.visioforge.com/help/docs/dotnet/install/index.html #### Integrate Media SDKs with .NET MAUI Applications - VisioForge Help [Skip to content](#integrating-visioforge-sdks-with-net-maui-applications) # Integrating VisioForge SDKs with .NET MAUI Applications[¶](#integrating-visioforge-sdks-with-net-maui-applications "Permanent link") ## Overview[¶](#overview "Permanent link") .NET Multi-platform App UI (MAUI) enables developers to build cross-platform applications for mobile and desktop from a single codebase. VisioForge provides comprehensive support for MAUI applications through the `VisioForge.Core.UI.MAUI` package, which contains specialized UI controls designed specifically for the .NET MAUI platform. Our SDKs enable powerful multimedia capabilities across all MAUI-supported platforms: [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Getting Started[¶](#getting-started "Permanent link") ### Installation[¶](#installation "Permanent link") To begin using VisioForge with your MAUI project, install the required NuGet packages: 1. The core UI package: `VisioForge.Core.UI.MAUI` 2. Platform-specific redistributable (detailed in platform sections below) ### SDK Initialization[¶](#sdk-initialization "Permanent link") Proper initialization is essential for the VisioForge SDKs to function correctly within your MAUI application. This process must be completed in your `MauiProgram.cs` file. `[](#__codelineno-0-1)using SkiaSharp.Views.Maui.Controls.Hosting; [](#__codelineno-0-2)using VisioForge.Core.UI.MAUI; [](#__codelineno-0-3)[](#__codelineno-0-4)public static class MauiProgram [](#__codelineno-0-5){ [](#__codelineno-0-6) public static MauiApp CreateMauiApp() [](#__codelineno-0-7) { [](#__codelineno-0-8) var builder = MauiApp.CreateBuilder(); [](#__codelineno-0-9) builder [](#__codelineno-0... **URL**: https://www.visioforge.com/help/docs/dotnet/install/maui/index.html #### Integrate .Net SDKs into JetBrains Rider | Tutorial - VisioForge Help [Skip to content](#net-sdks-integration-with-jetbrains-rider) # .Net SDKs Integration with JetBrains Rider[¶](#net-sdks-integration-with-jetbrains-rider "Permanent link") ## Introduction[¶](#introduction "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) This comprehensive guide walks you through the process of installing and configuring VisioForge .Net SDKs within JetBrains Rider, a powerful cross-platform IDE for .NET development. While we'll use a Windows application with WPF as our primary example, these installation steps can be readily adapted for macOS, iOS, or Android applications as well. JetBrains Rider provides a consistent development experience across Windows, macOS, and Linux platforms, making it an excellent choice for cross-platform .NET development. ## Creating Your Project[¶](#creating-your-project "Permanent link") ### Setting Up a Modern Project Structure[¶](#setting-up-a-modern-project-structure "Permanent link") Begin by launching JetBrains Rider and creating a new project. For this tutorial, we'll use WPF (Windows Presentation Foundation) as our framework. It's crucial to utilize the modern project format, which provides enhanced compatibility with VisioForge SDKs and offers a more streamlined development experience. 1. Open JetBrains Rider 2. Select "Create New Solution" from the welcome screen 3. Choose "WPF Application" from the available templates 4. Configure your project settings, ensuring you select the modern project format 5. Click "Create" to generate your project structure ![Project creation screen in Rider](../rider1.webp) ## Adding Required NuGet Packages[¶](#adding-required-nuget-packages "Permanent link") ### Installing the Main SDK Package[¶](#installing-th... **URL**: https://www.visioforge.com/help/docs/dotnet/install/rider/index.html #### Integrate Media SDKs with Uno Platform Applications - VisioForge Help [Skip to content](#integrating-visioforge-sdks-with-uno-platform-applications) # Integrating VisioForge SDKs with Uno Platform Applications[¶](#integrating-visioforge-sdks-with-uno-platform-applications "Permanent link") ## Overview[¶](#overview "Permanent link") Uno Platform is a powerful cross-platform UI framework that enables developers to build native mobile, desktop, and embedded applications from a single C# and XAML codebase. VisioForge provides comprehensive support for Uno Platform applications through the `VisioForge.DotNet.Core.UI.Uno` package, which contains specialized UI controls designed specifically for the Uno Platform. Our SDKs enable powerful multimedia capabilities across all Uno Platform-supported platforms: [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Supported Platforms[¶](#supported-platforms "Permanent link") Uno Platform with VisioForge SDKs supports: - **Windows Desktop** - Full native WinUI 3 support with hardware acceleration - **Android** - Native Android views with MediaCodec hardware acceleration - **iOS** - Native UIKit with VideoToolbox hardware acceleration - **macOS** - Mac Catalyst support for Apple Silicon and Intel - **Linux Desktop** - Skia-based rendering with GStreamer ## Quick Start[¶](#quick-start "Permanent link") ### 1\. Install NuGet Packages[¶](#1-install-nuget-packages "Permanent link") Add the core VisioForge packages to your Uno Platform project: `[](#__codelineno-0-1) [](#__codelineno-0-2) [](#__codelineno-0-3) [](#__codelineno-0-4)` ### 2\. Initialize the SDK[¶](#2... **URL**: https://www.visioforge.com/help/docs/dotnet/install/uno/index.html #### Integrating .NET SDKs with Visual Studio - VisioForge Help [Skip to content](#comprehensive-guide-to-integrating-net-sdks-with-visual-studio) # Comprehensive Guide to Integrating .NET SDKs with Visual Studio[¶](#comprehensive-guide-to-integrating-net-sdks-with-visual-studio "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to VisioForge .NET SDKs[¶](#introduction-to-visioforge-net-sdks "Permanent link") VisioForge offers a powerful suite of multimedia SDKs for .NET developers, enabling you to build feature-rich applications with advanced video capture, editing, playback, and media processing capabilities. This comprehensive guide will walk you through the process of integrating these SDKs into your Visual Studio projects, ensuring a smooth development experience. For professional developers working on multimedia applications, properly integrating these SDKs is crucial for optimal performance and functionality. Our recommended approach is to use NuGet packages, which simplifies dependency management and ensures you're always using the latest features and bug fixes. ## Installation Methods Overview[¶](#installation-methods-overview "Permanent link") There are two primary methods to install VisioForge .NET SDKs: 1. **NuGet Package Installation** (Recommended): The modern, streamlined approach that handles dependencies automatically and simplifies updates. 2. **Manual Installation**: A traditional approach for specialized scenarios, though generally not recommended for most projects. We'll cover both methods in detail, but strongly encourage the NuGet approach for most development scenarios. ## NuGet Package Installation (Recommended Method)[¶](#nuget-package-installation-recommended-method "Permanent link") NuGet is the package manager for .N... **URL**: https://www.visioforge.com/help/docs/dotnet/install/visual-studio/index.html #### Integrate .NET SDKs with Visual Studio for Mac - VisioForge Help [Skip to content](#complete-guide-to-integrating-visioforge-net-sdks-with-visual-studio-for-mac) # Complete Guide to Integrating VisioForge .NET SDKs with Visual Studio for Mac[¶](#complete-guide-to-integrating-visioforge-net-sdks-with-visual-studio-for-mac "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to VisioForge SDKs on macOS[¶](#introduction-to-visioforge-sdks-on-macos "Permanent link") VisioForge provides powerful multimedia SDKs for .NET developers working on macOS and iOS platforms. This detailed guide will walk you through the entire process of integrating these SDKs into your Visual Studio for Mac projects. While this tutorial primarily focuses on macOS application development, the same principles apply to iOS applications with minimal adaptations. By following this guide, you'll learn how to properly set up your development environment, install the necessary packages, configure UI components, and prepare your application for deployment. This knowledge will serve as a solid foundation for building sophisticated multimedia applications using VisioForge technology. ## Prerequisites for Development[¶](#prerequisites-for-development "Permanent link") Before starting the integration process, ensure you have: - Visual Studio for Mac (latest version recommended) - .NET SDK installed (minimum version 6.0) - Basic knowledge of C# and .NET development - Administrative access to your macOS system - Active internet connection for NuGet package downloads - Optional: XCode for storyboard editing Having these prerequisites in place will ensure a smooth installation process and prevent common setup issues. ## Setting Up a New macOS Project[¶](#setting-up-a-new-macos-project... **URL**: https://www.visioforge.com/help/docs/dotnet/install/visual-studio-mac/index.html #### .Net Media AWS S3 Blocks Guide - VisioForge Help [Skip to content](#aws-s3-blocks-visioforge-media-blocks-sdk-net) # AWS S3 Blocks - VisioForge Media Blocks SDK .Net[¶](#aws-s3-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) AWS S3 blocks enable interaction with Amazon Simple Storage Service (S3) to read media files as sources or write media files as sinks within your pipelines. ## AWSS3SinkBlock[¶](#awss3sinkblock "Permanent link") The `AWSS3SinkBlock` allows you to write media data from your pipeline to a file in an AWS S3 bucket. This is useful for storing recorded media, transcoded files, or other outputs directly to cloud storage. #### Block info[¶](#block-info "Permanent link") Name: `AWSS3SinkBlock`. Pin direction Media type Pins count Input Auto (depends on connected block) 1 #### Settings[¶](#settings "Permanent link") The `AWSS3SinkBlock` is configured using `AWSS3SinkSettings`. Key properties: - `Uri` (string): The S3 URI where the media file will be written (e.g., "s3://your-bucket-name/path/to/output/file.mp4"). - `AccessKeyId` (string): Your AWS Access Key ID. - `SecretAccessKey` (string): Your AWS Secret Access Key. - `Region` (string): The AWS region where the bucket is located (e.g., "us-east-1"). - `SessionToken` (string, optional): AWS session token, if using temporary credentials. - `EndpointUrl` (string, optional): Custom S3-compatible endpoint URL. - `ContentType` (string, optional): The MIME type of the content being uploaded (e.g., "video/mp4"). - `StorageClass` (string, optional): S3 storage class (e.g., "STANDARD", "INTELLIGENT\_TIERING"). - `ServerSideEncryption` (string, optional): Server-side encryption method (e.g., "AES256", "aws:kms"). - `ACL` (string, optional): Access Control List for the uploaded object (e.g., "private", "public-read"). #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; SystemVideoSourceBlock-->VideoEncoderBl... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/AWS/index.html #### Audio Encoders for .NET Media Processing - VisioForge Help [Skip to content](#audio-encoders-blocks) # Audio encoders blocks[¶](#audio-encoders-blocks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Audio encoding is the process of converting raw audio data into a compressed format. This process is essential for reducing the size of audio files, making them easier to store and stream over the internet. VisioForge Media Blocks SDK provides a wide range of audio encoders that support various formats and codecs. ## Availability checks[¶](#availability-checks "Permanent link") Before using any encoder, you should check if it's available on the current platform. Each encoder block provides a static `IsAvailable()` method for this purpose: `[](#__codelineno-0-1)// For most encoders [](#__codelineno-0-2)if (EncoderBlock.IsAvailable()) [](#__codelineno-0-3){ [](#__codelineno-0-4) // Use the encoder [](#__codelineno-0-5)} [](#__codelineno-0-6)[](#__codelineno-0-7)// For AAC encoder which requires passing settings [](#__codelineno-0-8)if (AACEncoderBlock.IsAvailable(settings)) [](#__codelineno-0-9){ [](#__codelineno-0-10) // Use the AAC encoder [](#__codelineno-0-11)}` This check is important because not all encoders are available on all platforms. Always perform this check before attempting to use an encoder to avoid runtime errors. ## AAC encoder[¶](#aac-encoder "Permanent link") `AAC (Advanced Audio Coding)`: A lossy compression format known for its efficiency and superior sound quality compared to MP3, widely used in digital music and broadcasting. AAC encoder is used for encoding files in MP4, MKV, M4A and some other formats, as well as for network streaming using RTSP and HLS. Use the `AACEncoderSettings` class to set the parameters. ### Block info[¶](#block-info "Permanent link") Name: AACEncoderBlock. Pin direction Media type Pins count Input PCM/IEEE 1 Output AAC 1 ### Constructor options[¶](#constructor-options "Permanent link") `[](#__codel... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/AudioEncoders/index.html #### Audio Effects Reference - VisioForge Help [Skip to content](#audio-effects-reference) # Audio Effects Reference[¶](#audio-effects-reference "Permanent link") This document provides a comprehensive reference for all audio effects available in VisioForge SDKs. ## Effect Types and Availability[¶](#effect-types-and-availability "Permanent link") VisioForge provides **two types** of audio effects with different platform support: ### Cross-Platform Effects[¶](#cross-platform-effects "Permanent link") - **Platform Support**: Windows, macOS, Linux, iOS, Android - **SDKs**: Media Blocks SDK, Video Capture SDK (VideoCaptureCoreX), Media Player SDK (MediaPlayerCoreX) - **Implementation**: Cross-platform audio processing - **Location**: `VisioForge.Core.Types.X.AudioEffects` namespace - **Usage**: Via `AudioEffectsBlock` in audio pipelines (Media Blocks SDK) or `Audio_Effects_*` methods (VideoCaptureCoreX/MediaPlayerCoreX) ### Classic DSP Effects (VideoCaptureCore/MediaPlayerCore/VideoEditCore)[¶](#classic-dsp-effects-videocapturecoremediaplayercorevideoeditcore "Permanent link") - **Platform Support**: Windows only - **SDKs**: Video Capture SDK, Media Player SDK, Video Edit SDK - **Implementation**: Native DSP processing - **Location**: `VisioForge.Core.DSP` namespace - **Usage**: Via `Audio_Effects_*` methods on SDK cores ### DirectSound Effects (Windows Classic)[¶](#directsound-effects-windows-classic "Permanent link") - **Platform Support**: Windows only - **SDKs**: Video Capture SDK, Media Player SDK, Video Edit SDK - **Implementation**: DirectSound/DirectX-based - **Location**: `VisioForge.Core.Types.X._Windows.AudioEffects` namespace - **Usage**: Via `Audio_Effects_DS_*` methods on SDK cores ## Volume and Level Control[¶](#volume-and-level-control "Permanent link") ### Volume[¶](#volume "Permanent link") **Availability:** ✅ Cross-platform (Media Blocks, VideoCaptureCoreX, MediaPlayerCoreX) | ✅ Classic SDKs (Windows) **Audio Element:** `volume` Controls the volume le... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/AudioProcessing/audio-effects-reference/index.html #### .Net Audio Processing & Effect Blocks - VisioForge Help [Skip to content](#audio-processing-and-effect-blocks) # Audio processing and effect blocks[¶](#audio-processing-and-effect-blocks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) VisioForge Media Blocks SDK .Net includes a set of audio processing and effect blocks that allow you to create audio processing pipelines for your applications. The blocks can be connected to each other to create a processing pipeline. Most of the blocks are available for all platforms, including Windows, Linux, MacOS, Android, and iOS. ## Basic Audio Processing[¶](#basic-audio-processing "Permanent link") ### Audio Converter[¶](#audio-converter "Permanent link") The audio converter block converts audio from one format to another. #### Block info[¶](#block-info "Permanent link") Name: AudioConverterBlock. Pin direction Media type Pins count Input Uncompressed audio 1 Output Uncompressed audio 1 #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; UniversalSourceBlock-->AudioConverterBlock; AudioConverterBlock-->AudioRendererBlock; ``` #### Sample code[¶](#sample-code "Permanent link") `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var filename = "test.mp3"; [](#__codelineno-0-4)var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename))); [](#__codelineno-0-5)[](#__codelineno-0-6)var audioConverter = new AudioConverterBlock(); [](#__codelineno-0-7)pipeline.Connect(fileSource.AudioOutput, audioConverter.Input); [](#__codelineno-0-8)[](#__codelineno-0-9)var audioRenderer = new AudioRendererBlock(); [](#__codelineno-0-10)pipeline.Connect(audioConverter.Output, audioRenderer.Input); [](#__codelineno-0-11)[](#__codelineno-0-12)await pipeline.StartAsync();` #### Platforms[¶](#platforms "Permanent link") Windows, macOS, Linux, iOS, Android. ### Audio Resampler[¶](#audio-resampler "Permanent... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/AudioProcessing/index.html #### Audio Rendering Block for .NET Media Processing - VisioForge Help [Skip to content](#audio-rendering-block-cross-platform-audio-output-processing) # Audio Rendering Block: Cross-Platform Audio Output Processing[¶](#audio-rendering-block-cross-platform-audio-output-processing "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Audio Rendering[¶](#introduction-to-audio-rendering "Permanent link") The Audio Renderer Block serves as a critical component in media processing pipelines, enabling applications to output audio streams to sound devices across multiple platforms. This versatile block handles the complex task of converting digital audio data into audible sound through the appropriate hardware interfaces, making it an essential tool for developers building audio-enabled applications. Audio rendering requires careful management of hardware resources, buffer settings, and timing synchronization to ensure smooth, uninterrupted playback. This block abstracts these complexities and provides a unified interface for audio output across diverse computing environments. ## Core Functionality[¶](#core-functionality "Permanent link") The Audio Renderer Block accepts uncompressed audio streams and outputs them to either the default audio device or a user-selected alternative. It provides essential audio playback controls including: - Volume adjustment with precise decibel control - Mute functionality for silent operation - Device selection from available system audio outputs - Buffering settings to optimize for latency or stability These capabilities allow developers to create applications with professional-grade audio output without needing to implement platform-specific code for each target operating system. ## Underlying Technology[¶](#underlying-technology "Permanent link") ### Platform-Specific Implementation[¶](#platform-specific-implementation "Permanent link") The `AudioRendererBlock` supports various platform-specific audio rendering technologies. It c... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/AudioRendering/index.html #### .Net Audio Visualizer Blocks - VisioForge Help [Skip to content](#audio-visualizer-blocks) # Audio visualizer blocks[¶](#audio-visualizer-blocks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) VisioForge Media Blocks SDK .Net includes a set of audio visualizer blocks that allow you to create audio-reactive visualizations for your applications. These blocks take audio input and produce video output representing the audio characteristics. The blocks can be connected to other audio and video processing blocks to create complex media pipelines. Most of the blocks are available for all platforms, including Windows, Linux, MacOS, Android, and iOS. ## Spacescope[¶](#spacescope "Permanent link") The Spacescope block is a simple audio visualization element that maps the left and right audio channels to X and Y coordinates, respectively, creating a Lissajous-like pattern. This visualizes the phase relationship between the channels. The appearance, such as using dots or lines and colors, can be customized via `SpacescopeSettings`. #### Block info[¶](#block-info "Permanent link") Name: SpacescopeBlock. Pin direction Media type Pins count Input Uncompressed audio 1 Output Video 1 #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; UniversalSourceBlock-->SpacescopeBlock; SpacescopeBlock-->VideoRendererBlock; ``` #### Sample code[¶](#sample-code "Permanent link") `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var filename = "test.mp3"; // Or any audio source [](#__codelineno-0-4)var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename))); [](#__codelineno-0-5)[](#__codelineno-0-6)// Settings can be customized, e.g., for shader, line thickness, etc. [](#__codelineno-0-7)// The style (dots, lines, color-dots, color-lines) can be set in SpacescopeSettings. [](#__codelineno-0-8)var spacescopeSettings = new SpacescopeSettings()... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/AudioVisualizers/index.html #### Link Media Pipelines - Bridge Blocks Guide - VisioForge Help [Skip to content](#bridge-blocks) # Bridge blocks[¶](#bridge-blocks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Bridges can be used to link two pipelines and dynamically switch between them. For example, you can switch between different files or cameras in the first Pipeline without interrupting streaming in the second Pipeline. To link source and sink, give them the same name. Each bridge pair has a unique channel name. ## Bridge audio sink and source[¶](#bridge-audio-sink-and-source "Permanent link") Bridges can be used to connect different media pipelines and use them independently. `BridgeAudioSourceBlock` is used to connect to `BridgeAudioSinkBlock` and supports uncompressed audio. ### Block info[¶](#block-info "Permanent link") #### BridgeAudioSourceBlock information[¶](#bridgeaudiosourceblock-information "Permanent link") Pin direction Media type Pins count Output audio uncompressed audio 1 #### BridgeAudioSinkBlock information[¶](#bridgeaudiosinkblock-information "Permanent link") Pin direction Media type Pins count Input audio uncompressed audio 1 ### Sample pipelines[¶](#sample-pipelines "Permanent link") #### First pipeline with an audio source and a bridge audio sink[¶](#first-pipeline-with-an-audio-source-and-a-bridge-audio-sink "Permanent link") ``` graph LR; VirtualAudioSourceBlock-->BridgeAudioSinkBlock; ``` #### Second pipeline with a bridge audio source and an audio renderer[¶](#second-pipeline-with-a-bridge-audio-source-and-an-audio-renderer "Permanent link") ``` graph LR; BridgeAudioSourceBlock-->AudioRendererBlock; ``` ### Sample code[¶](#sample-code "Permanent link") The source pipeline with virtual audio source and bridge audio sink. `[](#__codelineno-0-1)// create source pipeline [](#__codelineno-0-2)var sourcePipeline = new MediaBlocksPipeline(); [](#__codelineno-0-3)[](#__codelineno-0-4)// create virtual audio source and bridge audio sink [](#__codelineno... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Bridge/index.html #### Blackmagic Decklink Integration for .NET Developers - VisioForge Help [Skip to content](#blackmagic-decklink-integration-with-media-blocks-sdk) # Blackmagic Decklink Integration with Media Blocks SDK[¶](#blackmagic-decklink-integration-with-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Decklink Integration[¶](#introduction-to-decklink-integration "Permanent link") The VisioForge Media Blocks SDK for .NET provides robust support for Blackmagic Decklink devices, enabling developers to implement professional-grade audio and video functionality in their applications. This integration allows for seamless capture and rendering operations using Decklink's high-quality hardware. Our SDK includes specialized blocks designed specifically for Decklink devices, giving you full access to their capabilities including SDI, HDMI, and other inputs/outputs. These blocks are optimized for performance and offer a straightforward API for implementing complex media workflows. ### Key Capabilities[¶](#key-capabilities "Permanent link") - **Audio Capture and Rendering**: Capture and output audio through Decklink devices - **Video Capture and Rendering**: Capture and output video in various formats and resolutions - **Multiple Device Support**: Work with multiple Decklink devices simultaneously - **Professional I/O Options**: Utilize SDI, HDMI, and other professional interfaces - **High-Quality Processing**: Maintain professional video/audio quality throughout the pipeline - **Combined Audio/Video Blocks**: Simplified handling of synchronized audio and video streams with dedicated source and sink blocks. ## System Requirements[¶](#system-requirements "Permanent link") Before using the Decklink blocks, ensure your system meets these requirements: - **Hardware**: Compatible Blackmagic Decklink device - **Software**: Blackmagic Decklink SDK or drivers installed ## Decklink Block Types[¶](#decklink-block-types "Permanent link") The SDK provides several... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Decklink/index.html #### .Net Media Demuxer Blocks Guide - VisioForge Help [Skip to content](#demuxer-blocks-visioforge-media-blocks-sdk-net) # Demuxer Blocks - VisioForge Media Blocks SDK .Net[¶](#demuxer-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Demuxer blocks are essential components in media processing pipelines. They take a multimedia stream, typically from a file or network source, and separate it into its constituent elementary streams, such as video, audio, and subtitles. This allows for individual processing or rendering of each stream. VisioForge Media Blocks SDK .Net provides several demuxer blocks to handle various container formats. ## MPEG-TS Demux Block[¶](#mpeg-ts-demux-block "Permanent link") The `MPEGTSDemuxBlock` is used to demultiplex MPEG Transport Streams (MPEG-TS). MPEG-TS is a standard format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is commonly used in digital television broadcasting and streaming. ### Block info[¶](#block-info "Permanent link") Name: `MPEGTSDemuxBlock`. Pin direction Media type Pins count Input MPEG-TS Data 1 Output video Depends on stream content 0 or 1+ Output audio Depends on stream content 0 or 1+ Output subtitle Depends on stream content 0 or 1+ Output metadata Depends on stream content 0 or 1+ ### Settings[¶](#settings "Permanent link") The `MPEGTSDemuxBlock` is configured using `MPEGTSDemuxSettings`. Key properties of `MPEGTSDemuxSettings`: - `Latency` (`TimeSpan`): Gets or sets the latency. Default is 700 milliseconds. - `ProgramNumber` (int): Gets or sets the program number. Use -1 for default/automatic selection. ### The sample pipeline[¶](#the-sample-pipeline "Permanent link") This example shows how to connect a source (like `HTTPSourceBlock` for a network stream or `UniversalSourceBlock` for a local file that outputs raw MPEG-TS data) to `MPEGTSDemuxBlock`, and then connect its outputs to respective... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Demuxers/index.html #### Creating Camera Applications with Media Blocks SDK - VisioForge Help [Skip to content](#building-camera-applications-with-media-blocks-sdk) # Building Camera Applications with Media Blocks SDK[¶](#building-camera-applications-with-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") This comprehensive guide demonstrates how to create a fully functional camera viewing application using the Media Blocks SDK .Net. The SDK provides a robust framework for capturing, processing, and displaying video streams across multiple platforms including Windows, macOS, iOS, and Android. ## Architecture Overview[¶](#architecture-overview "Permanent link") To create a camera viewer application, you'll need to understand two fundamental components: 1. **System Video Source** - Captures the video stream from connected camera devices 2. **Video Renderer** - Displays the captured video on screen with configurable settings These components work together within a pipeline architecture that manages media processing. ## Essential Media Blocks[¶](#essential-media-blocks "Permanent link") To build a camera application, you need to add the following blocks to your pipeline: - **[System Video Source Block](../../Sources/)** - Connects to and reads from camera devices - **[Video Renderer Block](../../VideoRendering/)** - Displays the video with configurable rendering options ## Setting Up the Pipeline[¶](#setting-up-the-pipeline "Permanent link") ### Creating the Base Pipeline[¶](#creating-the-base-pipeline "Permanent link") First, create a pipeline object that will manage the media flow: `[](#__codelineno-0-1)using VisioForge.Core.MediaBlocks; [](#__codelineno-0-2)[](#__codelineno-0-3)// Initialize the pipeline [](#__codelineno-0-4)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-5)[](#__codelineno-0-6)// Add error handling [](#__codelineno-0-7)pipeline.OnError += (sender, args) => [](#__codelineno-0-8){ [](#__codelineno... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/GettingStarted/camera/index.html #### Complete Guide to Media Device Enumeration in .NET - VisioForge Help [Skip to content](#complete-guide-to-media-device-enumeration-in-net) # Complete Guide to Media Device Enumeration in .NET[¶](#complete-guide-to-media-device-enumeration-in-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The Media Blocks SDK provides a powerful and efficient way to discover and work with various media devices in your .NET applications. This guide will walk you through the process of enumerating different types of media devices using the SDK's `DeviceEnumerator` class. ## Introduction to Device Enumeration[¶](#introduction-to-device-enumeration "Permanent link") Device enumeration is a critical first step when developing applications that interact with media hardware. The `DeviceEnumerator` class provides a centralized way to detect and list all available media devices connected to your system. The SDK uses a singleton pattern for device enumeration, making it easy to access the functionality from anywhere in your code: `[](#__codelineno-0-1)// Access the shared DeviceEnumerator instance [](#__codelineno-0-2)var enumerator = DeviceEnumerator.Shared;` ## Discovering Video Input Devices[¶](#discovering-video-input-devices "Permanent link") ### Standard Video Sources[¶](#standard-video-sources "Permanent link") To list all available video input devices (webcams, capture cards, virtual cameras): `[](#__codelineno-1-1)var videoSources = await DeviceEnumerator.Shared.VideoSourcesAsync(); [](#__codelineno-1-2)[](#__codelineno-1-3)foreach (var device in videoSources) [](#__codelineno-1-4){ [](#__codelineno-1-5) Debug.WriteLine($"Video device found: {device.Name}"); [](#__codelineno-1-6) // You can access additional properties here if needed [](#__codelineno-1-7)}` The `VideoCaptureDeviceInfo` objects returned provide detailed information about each device, including device name, internal identifiers, and API type. ## Working with Audio Devices[¶](#working-with-audio-devices "Permanen... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/GettingStarted/device-enum/index.html #### Media Blocks SDK .Net - Developer Quick Start Guide - VisioForge Help [Skip to content](#media-blocks-sdk-net-developer-quick-start-guide) # Media Blocks SDK .Net - Developer Quick Start Guide[¶](#media-blocks-sdk-net-developer-quick-start-guide "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") This guide provides a comprehensive walkthrough for integrating the Media Blocks SDK .Net into your applications. The SDK is built around a modular pipeline architecture, enabling you to create, connect, and manage multimedia processing blocks for video, audio, and more. Whether you're building video processing tools, streaming solutions, or multimedia applications, this guide will help you get started quickly and correctly. ## SDK Installation Process[¶](#sdk-installation-process "Permanent link") The SDK is distributed as a NuGet package for easy integration into your .Net projects. Install it using: `[](#__codelineno-0-1)dotnet add package VisioForge.DotNet.MediaBlocks` For platform-specific requirements and additional installation details, refer to the [detailed installation guide](../../install/). ## Core Concepts and Architecture[¶](#core-concepts-and-architecture "Permanent link") ### MediaBlocksPipeline[¶](#mediablockspipeline "Permanent link") - The central class for managing the flow of media data between processing blocks. - Handles block addition, connection, state management, and event handling. - Implements `IMediaBlocksPipeline` and exposes events such as `OnError`, `OnStart`, `OnPause`, `OnResume`, `OnStop`, and `OnLoop`. ### MediaBlock and Interfaces[¶](#mediablock-and-interfaces "Permanent link") - Each processing unit is a `MediaBlock` (or a derived class), implementing the `IMediaBlock` interface. - Key interfaces: - `IMediaBlock`: Base interface for all blocks. Defines properties for `Name`, `Type`, `Input`, `Inputs`, `Output`, `Outputs`, and methods for pipeline context and YAML export. - `IMediaBlockDy... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/GettingStarted/index.html #### Media Blocks Pipeline Core for Media Processing - VisioForge Help [Skip to content](#media-blocks-pipeline-core-functionality) # Media Blocks Pipeline: Core Functionality[¶](#media-blocks-pipeline-core-functionality "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Overview of Pipeline and Block Structure[¶](#overview-of-pipeline-and-block-structure "Permanent link") The Media Blocks SDK is built around the `MediaBlocksPipeline` class, which manages a collection of modular processing blocks. Each block implements the `IMediaBlock` interface or one of its specialized variants. Blocks are connected via input and output pads, allowing for flexible media processing chains. ### Main Block Interfaces[¶](#main-block-interfaces "Permanent link") - **IMediaBlock**: Base interface for all blocks. Exposes properties for name, type, input/output pads, and methods for YAML conversion and pipeline context retrieval. - **IMediaBlockDynamicInputs**: For blocks (like muxers) that can create new inputs dynamically. Methods: `CreateNewInput(mediaType)` and `GetInput(mediaType)`. - **IMediaBlockInternals**: Internal methods for pipeline integration (e.g., `SetContext`, `Build`, `CleanUp`, `GetElement`, `GetCore`). - **IMediaBlockInternals2**: For post-connection logic (`PostConnect()`). - **IMediaBlockRenderer**: For renderer blocks, exposes `IsSync` property. - **IMediaBlockSettings**: For settings/configuration objects that can create a block (`CreateBlock()`). - **IMediaBlockSink**: For sink blocks, exposes filename/URL getter/setter. - **IMediaBlockSource**: For source blocks (currently only commented-out pad accessors). ### Pads and Media Types[¶](#pads-and-media-types "Permanent link") - **MediaBlockPad**: Represents a connection point (input/output) on a block. Has direction (`In`/`Out`), media type (`Video`, `Audio`, `Subtitle`, `Metadata`, `Auto`), and connection logic. - **Pad connection**: Use `pipeline.Connect(outputPad, inputPad)` or `pipeline.Connect(block1.Outpu... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/GettingStarted/pipeline/index.html #### Media Blocks SDK .Net Player Implementation Guide - VisioForge Help [Skip to content](#building-a-feature-rich-video-player-with-media-blocks-sdk) # Building a Feature-Rich Video Player with Media Blocks SDK[¶](#building-a-feature-rich-video-player-with-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) This detailed tutorial walks you through the process of creating a professional-grade video player application using Media Blocks SDK .Net. By following these instructions, you'll understand how to implement key functionalities including media loading, playback control, and audio-video rendering. ## Essential Components for Your Player Application[¶](#essential-components-for-your-player-application "Permanent link") To construct a fully functional video player, your application pipeline requires these critical building blocks: - [Universal source](../../Sources/) - This versatile component handles media input from various sources, allowing your player to read and process video files from local storage or network streams. - [Video renderer](../../VideoRendering/) - The visual component responsible for displaying video frames on screen with proper timing and formatting. - [Audio renderer](../../AudioRendering/) - Manages sound output, ensuring synchronized audio playback alongside your video content. ## Setting Up the Media Pipeline[¶](#setting-up-the-media-pipeline "Permanent link") ### Creating the Foundation[¶](#creating-the-foundation "Permanent link") The first step in developing your player involves establishing the media pipeline—the core framework that manages data flow between components. `[](#__codelineno-0-1)using VisioForge.Core.MediaBlocks; [](#__codelineno-0-2)[](#__codelineno-0-3)var pipeline = new MediaBlocksPipeline();` ### Implementing Error Handling[¶](#implementing-error-handling "Permanent link") Robust error management is essential for a reliable player application. Subscribe to the pipeline's error events to capture and respond to exce... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/GettingStarted/player/index.html #### Write Audio Tags with Media Blocks SDK - VisioForge Help [Skip to content](#write-audio-tags-with-media-blocks-sdk) # Write Audio Tags with Media Blocks SDK[¶](#write-audio-tags-with-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Table of Contents[¶](#table-of-contents "Permanent link") - [Write Audio Tags with Media Blocks SDK](#write-audio-tags-with-media-blocks-sdk) - [Table of Contents](#table-of-contents) - [Overview](#overview) - [Core Features](#core-features) - [Supported Audio Formats](#supported-audio-formats) - [Prerequisites](#prerequisites) - [MediaFileTags: The Unified Interface](#mediafiletags-the-unified-interface) - [Code Examples by Format](#code-examples-by-format) - [MP3 Output with ID3 Tags](#mp3-output-with-id3-tags) - [OGG Vorbis Output with Vorbis Comments](#ogg-vorbis-output-with-vorbis-comments) - [M4A Output with MP4 Metadata](#m4a-output-with-mp4-metadata) - [WMV/WMA Output with ASF Metadata](#wmvwma-output-with-asf-metadata) - [Complete Audio Recording Example](#complete-audio-recording-example) - [Advanced Tag Scenarios](#advanced-tag-scenarios) - [Album Artwork Support](#album-artwork-support) - [Runtime Tag Modification](#runtime-tag-modification) - [Multi-Track Albums](#multi-track-albums) - [Best Practices](#best-practices) - [Tag Data Quality](#tag-data-quality) - [Performance Considerations](#performance-considerations) - [Format-Specific Guidelines](#format-specific-guidelines) - [Troubleshooting](#troubleshooting) - [Common Issues and Solutions](#common-issues-and-solutions) - [Debug Tag Writing](#debug-tag-writing) - [Tag Format Specifications](#tag-format-specifications) - [ID3 Tags (MP3)](#id3-tags-mp3) - [Vorbis Comments (OGG)](#vorbis-comments-ogg) - [MP4 Metadata (M4A)](#mp4-metadata-m4a) - [ASF Attributes (WMV/WMA)](#asf-attributes-wmvwma) ## Overview[¶](#overview "Permanent link") The... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Guides/audio-metadata-tags/index.html #### Capture MP4 from ONVIF Camera with Postprocessing - VisioForge Help [Skip to content](#capture-mp4-from-onvif-camera-with-postprocessing) # Capture MP4 from ONVIF Camera with Postprocessing[¶](#capture-mp4-from-onvif-camera-with-postprocessing "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Info For complete working examples, see: - [RTSP Preview Demo](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Blocks%20SDK/WPF/CSharp/RTSP%20Preview%20Demo) - Shows ONVIF camera preview with postprocessing - [IP Capture Demo (Video Capture SDK)](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK%20X/WPF/CSharp/IP%20Capture) - Alternative using Video Capture SDK For comprehensive ONVIF documentation, see the [ONVIF IP Camera Integration Guide](../../../videocapture/video-sources/ip-cameras/onvif/). !!! ## Table of Contents[¶](#table-of-contents "Permanent link") - [Capture MP4 from ONVIF Camera with Postprocessing](#capture-mp4-from-onvif-camera-with-postprocessing) - [Table of Contents](#table-of-contents) - [Overview](#overview) - [When to Use Postprocessing](#when-to-use-postprocessing) - [Prerequisites](#prerequisites) - [Basic Setup: ONVIF Discovery and Connection](#basic-setup-onvif-discovery-and-connection) - [Example 1: Resize Video](#example-1-resize-video) - [Example 2: Apply Video Effects](#example-2-apply-video-effects) - [Example 3: Real-Time Face Blur](#example-3-real-time-face-blur) - [Example 4: Watermark and Logo Overlay](#example-4-watermark-and-logo-overlay) - [Performance Considerations](#performance-considerations) - [Best Practices](#best-practices) - [Troubleshooting](#troubleshooting) ## Overview[¶](#overview "Permanent link") This guide demonstrates how to capture video from ONVIF IP cameras while applying various postprocessing effects before encoding to MP4. Unlike pass-through recording which preserves the original stream, postprocessing requires decoding the video, applying transformati... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Guides/onvif-capture-with-postprocessing/index.html #### Save Original RTSP Stream (No Video Re-encoding) - VisioForge Help [Skip to content](#how-to-save-rtsp-stream-to-file-record-ip-camera-video-without-re-encoding) # How to Save RTSP Stream to File: Record IP Camera Video without Re-encoding[¶](#how-to-save-rtsp-stream-to-file-record-ip-camera-video-without-re-encoding "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Info For a complete working example of recording RTSP streams without re-encoding, see the [RTSP MultiView Demo](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Blocks%20SDK/WinForms/CSharp/RTSP%20MultiView%20Demo). For ONVIF camera-specific documentation, see the [ONVIF IP Camera Integration Guide](../../../videocapture/video-sources/ip-cameras/onvif/). !!! ## Table of Contents[¶](#table-of-contents "Permanent link") - [How to Save RTSP Stream to File: Record IP Camera Video without Re-encoding](#how-to-save-rtsp-stream-to-file-record-ip-camera-video-without-re-encoding) - [Table of Contents](#table-of-contents) - [Overview](#overview) - [Core Features](#core-features) - [Core Concept](#core-concept) - [Prerequisites](#prerequisites) - [Code Sample: RTSPRecorder Class](#code-sample-rtsprecorder-class) - [Explanation of the Code](#explanation-of-the-code) - [How to Use the `RTSPRecorder`](#how-to-use-the-rtsprecorder) - [Key Considerations](#key-considerations) - [Full GitHub Sample](#full-github-sample) - [Best Practices](#best-practices) - [Troubleshooting](#troubleshooting) ## Overview[¶](#overview "Permanent link") This guide demonstrates how to save an RTSP stream to an MP4 file by capturing the original video stream from an RTSP IP camera without re-encoding the video. This approach is highly beneficial for preserving the original video quality from cameras and minimizing CPU usage when you need to record footage. The audio stream can be passed through or, optionally, re-encoded for better compatibility, allowing you to save the complete streaming data. Tools like F... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Guides/rtsp-save-original-stream/index.html #### .Net Live Video Compositor - VisioForge Help [Skip to content](#live-video-compositor) # Live Video Compositor[¶](#live-video-compositor "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Live Video Compositor is a part of the [VisioForge Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) that allows you to add and remove sources and outputs in real time to a pipeline. This allows you to create applications that simultaneously handle multiple video and audio sources. For example, the LVC allows you to start streaming to YouTube at just the right moment while simultaneously recording video to disk. Using the LVC, you can create an application similar to OBS Studio. Each source and output has its unique identifier that can be used to add and remove sources and outputs in real time. Each source and output has its own independent pipeline that can be started and stopped. ## Features[¶](#features "Permanent link") - Supports multiple video and audio sources - Supports multiple video and audio outputs - Setting the position and size of video sources - Setting the transparency of video sources - Setting the volume of audio sources ## LiveVideoCompositor class[¶](#livevideocompositor-class "Permanent link") The `LiveVideoCompositor` is the main class that allows the addition and removal of live sources and outputs to the pipeline. When creating it, it is necessary to specify the resolution and frame rate to use. All sources with a different frame rate will be automatically converted to the frame rate specified when creating the LVC. `LiveVideoCompositorSettings` allows you to set the video and audio parameters. Key properties include: - `MixerType`: Specifies the video mixer type (e.g., `LVCMixerType.OpenGL`, `LVCMixerType.D3D11` (Windows only), or `LVCMixerType.CPU`). - `AudioEnabled`: A boolean indicating whether the audio stream is enabled. - `VideoWidth`, `VideoHeight`, `VideoFrameRate`: Define the output video resolution... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/LiveVideoCompositor/index.html #### .Net Media Nvidia Blocks Guide - VisioForge Help [Skip to content](#nvidia-blocks-visioforge-media-blocks-sdk-net) # Nvidia Blocks - VisioForge Media Blocks SDK .Net[¶](#nvidia-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Nvidia blocks leverage Nvidia GPU capabilities for accelerated media processing tasks such as data transfer, video conversion, and resizing. ## NVDataDownloadBlock[¶](#nvdatadownloadblock "Permanent link") Nvidia data download block. Downloads data from Nvidia GPU to system memory. #### Block info[¶](#block-info "Permanent link") Name: NVDataDownloadBlock. Pin direction Media type Pins count Input video Video (GPU memory) 1 Output video Video (system memory) 1 #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; NVCUDAConverterBlock-->NVDataDownloadBlock-->VideoRendererBlock; ``` #### Sample code[¶](#sample-code "Permanent link") `[](#__codelineno-0-1)// create pipeline [](#__codelineno-0-2)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-3)[](#__codelineno-0-4)// create a source that outputs to GPU memory (e.g., a decoder or another Nvidia block) [](#__codelineno-0-5)// For example, NVDataUploadBlock or an NV-accelerated decoder [](#__codelineno-0-6)var upstreamNvidiaBlock = new NVDataUploadBlock(); // Conceptual: assume this block is properly configured [](#__codelineno-0-7)[](#__codelineno-0-8)// create Nvidia data download block [](#__codelineno-0-9)var nvDataDownload = new NVDataDownloadBlock(); [](#__codelineno-0-10)[](#__codelineno-0-11)// create video renderer block [](#__codelineno-0-12)var videoRenderer = new VideoRendererBlock(pipeline, VideoView1); // Assuming VideoView1 is your display control [](#__codelineno-0-13)[](#__codelineno-0-14)// connect blocks [](#__codelineno-0-15)// pipeline.Connect(upstreamNvidiaBlock.Output, nvDataDownload.Input); // Connect GPU source to download block [](#__codelineno-0-16)// pipeline.Connect(nvDataDo... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Nvidia/index.html #### .Net Media OpenCV Blocks Guide - VisioForge Help [Skip to content](#opencv-blocks-visioforge-media-blocks-sdk-net) # OpenCV Blocks - VisioForge Media Blocks SDK .Net[¶](#opencv-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) OpenCV (Open Source Computer Vision Library) blocks provide powerful video processing capabilities within the VisioForge Media Blocks SDK .Net. These blocks enable a wide range of computer vision tasks, from basic image manipulation to complex object detection and tracking. To use OpenCV blocks, ensure that the VisioForge.CrossPlatform.OpenCV.Windows.x64 (or corresponding package for your platform) NuGet package is included in your project. Most OpenCV blocks typically require a `videoconvert` element before them to ensure the input video stream is in a compatible format. The SDK handles this internally when you initialize the block. ## CV Dewarp Block[¶](#cv-dewarp-block "Permanent link") The CV Dewarp block applies dewarping effects to a video stream, which can correct distortions from wide-angle lenses, for example. ### Block info[¶](#block-info "Permanent link") Name: `CVDewarpBlock` (GStreamer element: `dewarp`). Pin direction Media type Pins count Input video Uncompressed video 1 Output video Uncompressed video 1 ### Settings[¶](#settings "Permanent link") The `CVDewarpBlock` is configured using `CVDewarpSettings`. Key properties: - `DisplayMode` (`CVDewarpDisplayMode` enum): Specifies the display mode for dewarping (e.g., `SinglePanorama`, `DoublePanorama`). Default is `CVDewarpDisplayMode.SinglePanorama`. - `InnerRadius` (double): Inner radius for dewarping. - `InterpolationMethod` (`CVDewarpInterpolationMode` enum): Interpolation method used (e.g., `Bilinear`, `Bicubic`). Default is `CVDewarpInterpolationMode.Bilinear`. - `OuterRadius` (double): Outer radius for dewarping. - `XCenter` (double): X-coordinate of the center for dewarping. - `XRemapCorrection` (double): X-... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/OpenCV/index.html #### .Net Media OpenGL Video Effects Guide - VisioForge Help [Skip to content](#opengl-video-effects-visioforge-media-blocks-sdk-net) # OpenGL Video Effects - VisioForge Media Blocks SDK .Net[¶](#opengl-video-effects-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) OpenGL video effects in VisioForge Media Blocks SDK .Net allow for powerful, hardware-accelerated manipulation of video streams. These effects can be applied to video content processed within an OpenGL context, typically via blocks like `GLVideoEffectsBlock` or custom OpenGL rendering pipelines. This guide covers the available effects, their configuration settings, and other related OpenGL types. ## Base Effect: `GLBaseVideoEffect`[¶](#base-effect-glbasevideoeffect "Permanent link") All OpenGL video effects inherit from the `GLBaseVideoEffect` class, which provides common properties and events. Property Type Description `Name` `string` The internal name of the effect (read-only). `ID` `GLVideoEffectID` The unique identifier for the effect (read-only). `Index` `int` The index of the effect in a chain. **Events:** - `OnUpdate`: Occurs when effect properties need to be updated in the pipeline. Call `OnUpdateCall()` to trigger it. ## Available Video Effects[¶](#available-video-effects "Permanent link") This section details the various OpenGL video effects you can use. These effects are typically added to a `GLVideoEffectsBlock` or a similar OpenGL processing element. ### Alpha Effect (`GLAlphaVideoEffect`)[¶](#alpha-effect-glalphavideoeffect "Permanent link") Replaces a selected color with an alpha channel or sets/adjusts the existing alpha channel. **Properties:** Property Type Default Value Description `Alpha` `double` `1.0` The value for the alpha channel. `Angle` `float` `20` The size of the colorcube to change (sensitivity radius for color matching). `BlackSensitivity` `uint` `100` The sensitivity to dark colors. `Mode` `GLAlphaVideoEffectMode`... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/OpenGL/index.html #### .Net Media Output Blocks Guide - VisioForge Help [Skip to content](#output-blocks-visioforge-media-blocks-sdk-net) # Output Blocks - VisioForge Media Blocks SDK .Net[¶](#output-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Output blocks, also known as sinks, are responsible for writing media data to files, network streams, or other destinations. They are typically the last blocks in any media processing chain. VisioForge Media Blocks SDK .Net provides a comprehensive collection of output blocks for various formats and protocols. This guide covers file output blocks like MP4, AVI, WebM, MKV, and network streaming blocks for protocols such as RTMP (used by YouTube and Facebook Live). ## AVI Output Block[¶](#avi-output-block "Permanent link") The `AVIOutputBlock` is used to create AVI files. It combines video and audio encoders with a file sink to produce `.avi` files. ### Block info[¶](#block-info "Permanent link") Name: `AVIOutputBlock`. Pin direction Media type Expected Encoders Input Video various H264 (default), other `IVideoEncoder` compatible encoders Input Audio various AAC (default), MP3, other `IAudioEncoder` compatible encoders ### Settings[¶](#settings "Permanent link") The `AVIOutputBlock` is configured using `AVISinkSettings` along with settings for the chosen video and audio encoders (e.g., `IH264EncoderSettings` and `IAACEncoderSettings` or `MP3EncoderSettings`). Key `AVISinkSettings` properties: - `Filename` (string): The path to the output AVI file. Constructors: - `AVIOutputBlock(string filename)`: Uses default H264 video and AAC audio encoders. - `AVIOutputBlock(AVISinkSettings sinkSettings, IH264EncoderSettings h264settings, IAACEncoderSettings aacSettings)`: Uses specified H264 video and AAC audio encoders. - `AVIOutputBlock(AVISinkSettings sinkSettings, IH264EncoderSettings h264settings, MP3EncoderSettings mp3Settings)`: Uses specified H264 video and MP3 audio encoders. ### The... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Outputs/index.html #### .Net Media Parser Blocks Guide - VisioForge Help [Skip to content](#parser-blocks-visioforge-media-blocks-sdk-net) # Parser Blocks - VisioForge Media Blocks SDK .Net[¶](#parser-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Parser blocks are essential components in media processing pipelines. They are used to parse elementary streams, which might be raw or partially processed, to extract metadata, and to prepare the streams for further processing like decoding or multiplexing. VisioForge Media Blocks SDK .Net offers a variety of parser blocks for common video and audio codecs. ## Video Parser Blocks[¶](#video-parser-blocks "Permanent link") ### AV1 Parser Block[¶](#av1-parser-block "Permanent link") The `AV1ParseBlock` is used to parse AV1 video elementary streams. It helps in identifying frame boundaries and extracting codec-specific information. #### Block info[¶](#block-info "Permanent link") Name: `AV1ParseBlock`. Pin direction Media type Pins count Input video AV1 video 1 Output video AV1 video 1 #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; DataSourceBlock["Data Source (e.g., File or Network)"] --> AV1ParseBlock; AV1ParseBlock --> AV1DecoderBlock["AV1 Decoder Block"]; AV1DecoderBlock --> VideoRendererBlock["Video Renderer Block"]; ``` #### Platforms[¶](#platforms "Permanent link") Windows, macOS, Linux, iOS, Android. * * * ### H.263 Parser Block[¶](#h263-parser-block "Permanent link") The `H263ParseBlock` is designed to parse H.263 video elementary streams. This is useful for older video conferencing and mobile video applications. #### Block info[¶](#block-info_1 "Permanent link") Name: `H263ParseBlock`. Pin direction Media type Pins count Input video H.263 video 1 Output video H.263 video 1 #### The sample pipeline[¶](#the-sample-pipeline_1 "Permanent link") ``` graph LR; DataSourceBlock["Data Source"] --> H263ParseBlock; H263ParseB... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Parsers/index.html #### RTSP Server Block for .Net - VisioForge Help [Skip to content](#rtsp-server-block-visioforge-media-blocks-sdk-net) # RTSP Server Block - VisioForge Media Blocks SDK .Net[¶](#rtsp-server-block-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) The RTSP Server block creates an RTSP (Real-Time Streaming Protocol) server endpoint for streaming audio/video content over networks. Clients can connect to receive live or recorded media streams with low latency. ## Overview[¶](#overview "Permanent link") The RTSPServerBlock provides a complete RTSP streaming server implementation with the following capabilities: - **Multiple Client Support**: Handles simultaneous connections from multiple RTSP clients - **Standard Compliance**: Compatible with VLC, FFmpeg, GStreamer, and IP camera viewers - **Video Codecs**: H.264, H.265, and other compressed formats - **Audio Codecs**: AAC, MP3, Opus, and other formats - **Transport Protocols**: RTP/RTCP for reliable media delivery - **Authentication**: Optional RTSP authentication support - **Configurable**: Custom port binding and mount points - **Low Latency**: Optimized for real-time streaming applications ## Block Info[¶](#block-info "Permanent link") Name: RTSPServerBlock. Pin direction Media type Pins count Input video compressed video (H.264, H.265) 1 Input audio compressed audio (AAC, MP3, etc.) 1 ## The Sample Pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; SystemVideoSourceBlock-->H264EncoderBlock; SystemAudioSourceBlock-->AACEncoderBlock; H264EncoderBlock-->RTSPServerBlock; AACEncoderBlock-->RTSPServerBlock; ``` ## Settings[¶](#settings "Permanent link") The RTSPServerBlock is configured using `RTSPServerSettings`: ### RTSPServerSettings Properties[¶](#rtspserversettings-properties "Permanent link") - `Port` (`int`): The TCP port for the RTSP server (default: 8554) - `MountPoint` (`string`): The URL path for the stream (e.g.,... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/RTSPServer/index.html #### .Net Media Sinks - File & Network Streaming - VisioForge Help [Skip to content](#sinks) # Sinks[¶](#sinks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Sinks are blocks that save or stream data. They are the last blocks in the pipeline. Optionally, some sinks can have output pins to pass data to the next block in the pipeline. SDK provides a lot of different sinks for different purposes. **File sinks** The following file sinks are available: - [ASF](#asf) - [AVI](#avi) - [File](#raw-file) - [MKV](#mkv) - [MOV](#mov) - [MP4](#mp4) - [MPEG-PS](#mpeg-ps) - [MPEG-TS](#mpeg-ts) - [MXF](#mxf) - [OGG](#ogg) - [WAV](#wav) - [WebM](#webm) **Network streaming** The following network streaming sinks are available: - [Facebook Live](#facebook-live) - [HLS](#hls) - [MJPEG over HTTP](#mjpeg-over-http) - [NDI](#ndi) - [SRT](#srt) - [SRT MPEG-TS](#srt-mpeg-ts) - [RTMP](#rtmp) - [Shoutcast](#shoutcast) - [YouTube Live](#youtube-live) ## File Sinks[¶](#file-sinks "Permanent link") ### ASF[¶](#asf "Permanent link") `ASF (Advanced Systems Format)`: A Microsoft digital container format used to store multimedia data, designed to be platform-independent and to support scalable media types like audio and video. Use the `ASFSinkSettings` class to set the parameters. #### Block info[¶](#block-info "Permanent link") Name: AVISinkBlock. Pin direction Media type Pins count Input audio audio/x-raw one or more audio/mpeg audio/x-ac3 audio/x-alaw audio/x-mulaw audio/x-wma Input video video/x-raw one or more image/jpeg video/x-divx video/x-msmpeg video/mpeg video/x-h263 video/x-h264 video/x-dv video/x-huffyuv video/x-wmv video/x-jpc video/x-vp8 image/png #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; UniversalSourceBlock-->WMVEncoderBlock; UniversalSourceBlock-->WMAEncoderBlock; WMVEncoderBlock-->ASFSinkBlock; WMAEncoderBlock-->ASFSinkBlock; ``` #### Sample code[¶](#sample-code... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Sinks/index.html #### .Net Media Source Blocks Guide - VisioForge Help [Skip to content](#source-blocks-visioforge-media-blocks-sdk-net) # Source Blocks - VisioForge Media Blocks SDK .Net[¶](#source-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Source blocks provide data to the pipeline and are typically the first blocks in any media processing chain. VisioForge Media Blocks SDK .Net provides a comprehensive collection of source blocks for various inputs including hardware devices, files, networks, and virtual sources. ## Hardware Source Blocks[¶](#hardware-source-blocks "Permanent link") ### System Video Source[¶](#system-video-source "Permanent link") SystemVideoSourceBlock is used to access webcams and other video capture devices. #### Block info[¶](#block-info "Permanent link") Name: SystemVideoSourceBlock. Pin direction Media type Pins count Output video uncompressed video 1 #### Enumerate available devices[¶](#enumerate-available-devices "Permanent link") Use the `DeviceEnumerator.Shared.VideoSourcesAsync()` method to get a list of available devices and their specifications: available resolutions, frame rates, and video formats. This method returns a list of `VideoCaptureDeviceInfo` objects. Each `VideoCaptureDeviceInfo` object provides detailed information about a capture device. #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; SystemVideoSourceBlock-->VideoRendererBlock; ``` #### Sample code[¶](#sample-code "Permanent link") `[](#__codelineno-0-1)// create pipeline [](#__codelineno-0-2)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-3)[](#__codelineno-0-4)// create video source [](#__codelineno-0-5)VideoCaptureDeviceSourceSettings videoSourceSettings = null; [](#__codelineno-0-6)[](#__codelineno-0-7)// select the first device [](#__codelineno-0-8)var device = (await DeviceEnumerator.Shared.VideoSourcesAsync())[0]; [](#__codelineno-0-9)if (device != null) [](#__codelineno-0-1... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Sources/index.html #### Special .Net Media Blocks & Customization - VisioForge Help [Skip to content](#special-blocks) # Special blocks[¶](#special-blocks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction[¶](#introduction "Permanent link") Special blocks are blocks that do not fit into any other category. ## Null Renderer[¶](#null-renderer "Permanent link") The null renderer block sends the data to null. This block may be required if your block has outputs you do not want to use. ### Block info[¶](#block-info "Permanent link") Name: NullRendererBlock. Pin direction Media type Pins count Input Any 1 ### The sample pipeline[¶](#the-sample-pipeline "Permanent link") The sample pipeline is shown below. It reads a file and sends the video data to the video samples grabber, where you can grab each video frame after decoding. The Null renderer block is used to end the pipeline. ``` graph LR; UniversalSourceBlock-->VideoSampleGrabberBlock; VideoSampleGrabberBlock-->NullRendererBlock; ``` ### Sample code[¶](#sample-code "Permanent link") `[](#__codelineno-0-1)private void Start() [](#__codelineno-0-2){ [](#__codelineno-0-3) // create the pipeline [](#__codelineno-0-4) var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-5) [](#__codelineno-0-6) // create universal source block [](#__codelineno-0-7) var filename = "test.mp4"; [](#__codelineno-0-8) var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename))); [](#__codelineno-0-9) [](#__codelineno-0-10) // create video sample grabber block and add the event handler [](#__codelineno-0-11) var sampleGrabber = new VideoSampleGrabberBlock(); [](#__codelineno-0-12) sampleGrabber.OnVideoFrameBuffer += sampleGrabber_OnVideoFrameBuffer; [](#__codelineno-0-13) [](#__codelineno-0-14) // create null renderer block [](#__codelineno-0-15) var nullRenderer = new NullRendererBlock(); [](#__codelineno-0-16) [](#__codelineno-0-17) // connect blocks [](#__codelineno-0... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/Special/index.html #### .Net Media Video Decoder Blocks Guide - VisioForge Help [Skip to content](#video-decoder-blocks-visioforge-media-blocks-sdk-net) # Video Decoder Blocks - VisioForge Media Blocks SDK .Net[¶](#video-decoder-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Video Decoder blocks are essential components in a media pipeline, responsible for decompressing encoded video streams into raw video frames that can be further processed or rendered. VisioForge Media Blocks SDK .Net offers a variety of video decoder blocks supporting numerous codecs and hardware acceleration technologies. ## Available Video Decoder Blocks[¶](#available-video-decoder-blocks "Permanent link") ### H264 Decoder Block[¶](#h264-decoder-block "Permanent link") Decodes H.264 (AVC) video streams. This is one of the most widely used video compression standards. The block can utilize different underlying decoder implementations like FFMPEG, OpenH264, or hardware-accelerated decoders if available. #### Block info[¶](#block-info "Permanent link") Name: `H264DecoderBlock`. Pin direction Media type Pins count Input video H.264 encoded video 1 Output video Uncompressed video 1 #### Settings[¶](#settings "Permanent link") The `H264DecoderBlock` is configured using settings that implement `IH264DecoderSettings`. Available settings classes include: - `FFMPEGH264DecoderSettings` - `OpenH264DecoderSettings` - `NVH264DecoderSettings` (for NVIDIA GPU acceleration) - `VAAPIH264DecoderSettings` (for VA-API acceleration on Linux) A constructor without parameters will attempt to select an available decoder automatically. #### The sample pipeline[¶](#the-sample-pipeline "Permanent link") ``` graph LR; BasicFileSourceBlock -- Raw Data --> UniversalDemuxBlock; UniversalDemuxBlock -- H.264 Video Stream --> H264DecoderBlock; H264DecoderBlock -- Decoded Video --> VideoRendererBlock; ``` #### Sample code[¶](#sample-code "Permanent link") `[](#__codelineno-0-1)var pipeli... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/VideoDecoders/index.html #### Mastering Video Encoders in .NET SDK - VisioForge Help [Skip to content](#video-encoding) # Video encoding[¶](#video-encoding "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Video encoding is the process of converting raw video data into a compressed format. This process is essential for reducing the size of video files, making them easier to store and stream over the internet. VisioForge Media Blocks SDK provides a wide range of video encoders that support various formats and codecs. For some video encoders, SDK can use GPU acceleration to speed up the encoding process. This feature is especially useful when working with high-resolution video files or when encoding multiple videos simultaneously. NVidia, Intel, and AMD GPUs are supported for hardware acceleration. ## AV1 encoder[¶](#av1-encoder "Permanent link") `AV1 (AOMedia Video 1)`: Developed by the Alliance for Open Media, AV1 is an open, royalty-free video coding format designed for video transmissions over the Internet. It is known for its high compression efficiency and better quality at lower bit rates compared to its predecessors, making it well-suited for high-resolution video streaming applications. Use classes that implement the `IAV1EncoderSettings` interface to set the parameters. #### CPU Encoders[¶](#cpu-encoders "Permanent link") ##### AOMAV1EncoderSettings[¶](#aomav1encodersettings "Permanent link") AOM AV1 encoder settings. CPU encoder. **Platforms:** Windows, Linux, macOS. ##### RAV1EEncoderSettings[¶](#rav1eencodersettings "Permanent link") RAV1E AV1 encoder settings. CPU encoder. - **Key Properties**: - `Bitrate` (integer): Target bitrate in kilobits per second. - `LowLatency` (boolean): Enables or disables low latency mode. Default is `false`. - `MaxKeyFrameInterval` (ulong): Maximum interval between keyframes. Default is `240`. - `MinKeyFrameInterval` (ulong): Minimum interval between keyframes. Default is `12`. - `MinQuantizer` (uint): Minimum quantizer value (range 0-255... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/VideoEncoders/index.html #### OverlayManagerBlock usage guide - VisioForge Help [Skip to content](#overlay-manager-block-usage-guide) # Overlay Manager Block usage guide[¶](#overlay-manager-block-usage-guide "Permanent link") ## Overview[¶](#overview "Permanent link") The `OverlayManagerBlock` is a powerful MediaBlocks component that provides dynamic multi-layer video overlay composition and management. It allows you to add various overlay elements (images, text, shapes, animations) on top of video content with real-time updates, layer management, and advanced features like shadows, rotation, and opacity control. ## Key Features[¶](#key-features "Permanent link") - **Multiple Overlay Types**: Text, scrolling text, images, GIFs, SVG, shapes (rectangles, circles, triangles, stars, lines), live video (NDI, Decklink) - **Squeezeback Effects**: Scale video to a custom rectangle with overlay image on top (broadcast-style) - **Video Transformations**: Zoom and pan effects that transform the entire video frame - **Animation Support**: Animate video position/scale with easing functions - **Fade Effects**: Fade in/out for video and overlay elements - **Layer Management**: Z-index ordering for proper overlay stacking - **Advanced Effects**: Shadows, rotation, opacity, custom positioning - **Real-time Updates**: Dynamic overlay modification during playback - **Time-based Display**: Show/hide overlays at specific timestamps - **Custom Drawing**: Callback support for custom Cairo drawing operations - **Live Video Sources**: Support for NDI network sources and Decklink capture cards - **Cross-platform**: Works on Windows, Linux, macOS, iOS, and Android ## Class Reference[¶](#class-reference "Permanent link") ### OverlayManagerBlock[¶](#overlaymanagerblock "Permanent link") **Namespace**: `VisioForge.Core.MediaBlocks.VideoProcessing` `[](#__codelineno-0-1)public class OverlayManagerBlock : MediaBlock, IMediaBlockInternals` #### Properties[¶](#properties "Permanent link") Property Type Description `Type` `MediaBlockType... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/VideoProcessing/OverlayManagerBlock/index.html #### Video Processing & Effects Blocks for .Net - VisioForge Help [Skip to content](#video-processing-blocks) # Video processing blocks[¶](#video-processing-blocks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Table of Contents[¶](#table-of-contents "Permanent link") - [Aging](#aging) - [Alpha Combine](#alpha-combine) - [Auto Deinterlace](#auto-deinterlace) - [Bayer to RGB](#bayer-to-rgb) - [Chroma Key](#chroma-key) - [Codec Alpha Demux](#codec-alpha-demux) - [Color effects](#color-effects) - [Deinterlace](#deinterlace) - [Dice](#dice) - [Edge](#edge) - [Fish eye](#fish-eye) - [Flip/Rotate](#fliprotate) - [Gamma](#gamma) - [Gaussian blur](#gaussian-blur) - [Grayscale](#grayscale) - [Image overlay](#image-overlay) - [Image Overlay Cairo](#image-overlay-cairo) - [Interlace](#interlace) - [Key Frame Detector](#key-frame-detector) - [LUT Processor](#lut-processor) - [Mirror](#mirror) - [Moving Blur](#moving-blur) - [Moving Echo](#moving-echo) - [Moving Zoom Echo](#moving-zoom-echo) - [Optical Animation BW](#optical-animation-bw) - [Overlay Manager](#overlay-manager) - [Perspective](#perspective) - [Pinch](#pinch) - [Pseudo 3D](#pseudo-3d) - [QR Code Overlay](#qr-code-overlay) - [Quark](#quark) - [Resize](#resize) - [Ripple](#ripple) - [Rotate](#rotate) - [Rounded Corners](#rounded-corners) - [SMPTE](#smpte) - [SMPTE Alpha](#smpte-alpha) - [SVG Overlay](#svg-overlay) - [Simple Video Mark](#simple-video-mark) - [Simple Video Mark Detect](#simple-video-mark-detect) - [Smooth](#smooth) - [Video sample grabber](#video-sample-grabber) - [Sphere](#sphere) - [Square](#square) - [Squeezeback](#squeezeback) - [Stretch](#stretch) - [Text overlay](#text-overlay) - [Tunnel](#tunnel) - [Twirl](#twirl) - [Video Aspect Ratio Crop](#video-aspect-ratio-crop) - [Video balance](#video-balance) - [Video Box](#video-box) - [Video Converter](#video-converter) - [Video Crop](#video-crop) - [Video... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/VideoProcessing/index.html #### Media Streaming Video Renderer Block SDK - VisioForge Help [Skip to content](#video-renderer-block) # Video Renderer Block[¶](#video-renderer-block "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Overview[¶](#overview "Permanent link") The Video Renderer block is an essential component designed for developers who need to display video streams in their applications. This powerful tool enables you to render video content on specific areas of windows or screens across various platforms and UI frameworks. The block utilizes a platform-specific visual control called `VideoView` which leverages DirectX technology on Windows systems and typically implements OpenGL rendering on other platforms. The SDK fully supports cross-platform development with compatibility for both Avalonia and MAUI UI frameworks. One of the key advantages of this block is its flexibility - developers can implement multiple video views and renderers to display the same video stream in different locations simultaneously, whether in separate sections of a window or across multiple windows. ## Rendering Technologies[¶](#rendering-technologies "Permanent link") ### DirectX Integration[¶](#directx-integration "Permanent link") On Windows platforms, the Video Renderer Block seamlessly integrates with DirectX for high-performance hardware-accelerated rendering. This integration provides several benefits: - **Hardware acceleration**: Utilizes the GPU for efficient video processing and rendering - **Low-latency playback**: Minimizes delay between frame processing and display - **Direct3D surface sharing**: Enables efficient memory management and reduced copying of video data - **Multiple display support**: Handles rendering across various display configurations - **Support for High DPI**: Ensures crisp rendering on high-resolution displays The renderer automatically selects the appropriate DirectX version based on your system capabilities, supporting DirectX 11 and DirectX 12 where available. ### O... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/VideoRendering/index.html #### Apple Platform Blocks - VisioForge Help [Skip to content](#apple-platform-blocks-visioforge-media-blocks-sdk-net) # Apple Platform Blocks - VisioForge Media Blocks SDK .Net[¶](#apple-platform-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) This section covers MediaBlocks specifically optimized for Apple platforms (iOS, macOS, tvOS). ## Available Blocks[¶](#available-blocks "Permanent link") ### Audio Sources[¶](#audio-sources "Permanent link") - **OSXAudioSourceBlock**: macOS audio capture using Core Audio - See [Audio Sources Documentation](../Sources/#system-audio-source) - **IOSAudioSourceBlock**: iOS audio capture - See [Audio Sources Documentation](../Sources/#system-audio-source) ### Audio Sinks[¶](#audio-sinks "Permanent link") - **OSXAudioSinkBlock**: macOS audio playback - See [Audio Rendering Documentation](../AudioRendering/) - **IOSAudioSinkBlock**: iOS audio playback - See [Audio Rendering Documentation](../AudioRendering/) ### Video Sources[¶](#video-sources "Permanent link") - **IOSVideoSourceBlock**: iOS camera capture - See [Video Sources Documentation](../Sources/#system-video-source) ### Video Encoders[¶](#video-encoders "Permanent link") - **AppleProResEncoderBlock**: Apple ProRes professional video codec - See [ProRes Encoder Documentation](../VideoEncoders/#apple-prores-encoder) ## Platform Requirements[¶](#platform-requirements "Permanent link") - **iOS**: iOS 12.0 or later - **macOS**: macOS 10.13 or later - **tvOS**: tvOS 12.0 or later ## Features[¶](#features "Permanent link") - Native integration with Apple frameworks (AVFoundation, Core Audio, Core Video) - Hardware-accelerated processing on Apple Silicon and Intel Macs - Optimized for low power consumption on mobile devices - Support for high-quality ProRes encoding - Integration with iOS camera and microphone permissions ## Sample Code[¶](#sample-code "Permanent link") ### iOS Came... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/_Apple/index.html #### Linux Platform Blocks - VisioForge Help [Skip to content](#linux-platform-blocks-visioforge-media-blocks-sdk-net) # Linux Platform Blocks - VisioForge Media Blocks SDK .Net[¶](#linux-platform-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) This section covers MediaBlocks specifically optimized for Linux platforms. ## Available Blocks[¶](#available-blocks "Permanent link") ### VA-API Hardware Decoders[¶](#va-api-hardware-decoders "Permanent link") Linux provides hardware-accelerated video decoding through VA-API (Video Acceleration API): - **VAAPIH264DecoderBlock**: Hardware H.264/AVC decoding - **VAAPIH265DecoderBlock**: Hardware H.265/HEVC decoding - **VAAPIMPEG2DecoderBlock**: Hardware MPEG-2 decoding - **VAAPIVP8DecoderBlock**: Hardware VP8 decoding See [Video Decoders Documentation](../VideoDecoders/) ## Platform Requirements[¶](#platform-requirements "Permanent link") - **Linux**: Any modern Linux distribution - **VA-API**: libva and appropriate driver for your GPU - **Hardware**: Intel, AMD, or other GPU with VA-API support ## Features[¶](#features "Permanent link") - **Hardware Acceleration**: GPU-based video decoding - **Low CPU Usage**: Offload decoding to dedicated hardware - **Wide Compatibility**: Works with Intel, AMD, and other GPUs - **Power Efficiency**: Reduced power consumption - **Multi-Stream**: Handle multiple HD/4K streams ## Sample Code[¶](#sample-code "Permanent link") ### Hardware H.264 Decoding[¶](#hardware-h264-decoding "Permanent link") `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri("video.mp4"))); [](#__codelineno-0-4)[](#__codelineno-0-5)// VA-API hardware decoder [](#__codelineno-0-6)if (VAAPIH264DecoderBlock.IsAvailable()) [](#__codelineno-0-7){ [](#__codelineno-0-8) var vaapiDecoder = new VAAPIH2... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/_Linux/index.html #### Windows Platform Blocks - VisioForge Help [Skip to content](#windows-platform-blocks-visioforge-media-blocks-sdk-net) # Windows Platform Blocks - VisioForge Media Blocks SDK .Net[¶](#windows-platform-blocks-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) This section covers MediaBlocks specifically optimized for Windows platforms. ## Available Blocks[¶](#available-blocks "Permanent link") ### Direct3D 11 Hardware Decoders[¶](#direct3d-11-hardware-decoders "Permanent link") Windows provides hardware-accelerated video decoding through Direct3D 11: - **D3D11H264DecoderBlock**: Hardware H.264/AVC decoding - **D3D11H265DecoderBlock**: Hardware H.265/HEVC decoding - **D3D11VP8DecoderBlock**: Hardware VP8 decoding - **D3D11VP9DecoderBlock**: Hardware VP9 decoding - **D3D11AV1DecoderBlock**: Hardware AV1 decoding - **D3D11MPEG2DecoderBlock**: Hardware MPEG-2 decoding See [Video Decoders Documentation](../VideoDecoders/) ### Direct3D 11 Processing[¶](#direct3d-11-processing "Permanent link") - **D3D11UploadBlock**: Upload video from system memory to GPU - **D3D11DownloadBlock**: Download video from GPU to system memory - **D3D11VideoConverterBlock**: GPU-accelerated color space conversion See [Video Processing Documentation](../VideoProcessing/#d3d11-video-converter) ### Direct3D 11 Composition[¶](#direct3d-11-composition "Permanent link") - **D3D11VideoCompositorBlock**: GPU-accelerated video compositing and mixing ### Windows Video Effects[¶](#windows-video-effects "Permanent link") - **VideoEffectsWinBlock**: Windows-specific video effects - **VR360ProcessorBlock**: 360-degree VR video processing ### Special Blocks[¶](#special-blocks "Permanent link") See [Special Blocks Documentation](../Special/) ## Platform Requirements[¶](#platform-requirements "Permanent link") - **Windows**: Windows 7 SP1 or later - **Direct3D 11**: GPU with D3D11 support - **Hardware Decode**: GPU with hardware vid... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/_Windows/index.html #### Media Blocks SDK for .NET Integration Guide - VisioForge Help [Skip to content](#media-blocks-sdk-for-net-development-platform) # Media Blocks SDK for .NET Development Platform[¶](#media-blocks-sdk-for-net-development-platform "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## What is Media Blocks SDK?[¶](#what-is-media-blocks-sdk "Permanent link") Media Blocks SDK for .NET empowers developers to engineer sophisticated multimedia applications with precision and flexibility. This powerful toolkit provides everything needed to implement professional-grade video playback, non-linear editing systems, and multi-source camera capture solutions. The modular architecture allows developers to select and combine only the specific components required for each project, optimizing both performance and resource usage in your applications. ## Why Choose Media Blocks for Your Project?[¶](#why-choose-media-blocks-for-your-project "Permanent link") Our component-based approach gives you granular control over your media pipeline. Each specialized block handles a distinct function within the multimedia processing chain: - High-performance H264/H265 video encoding - Professional-grade logo and watermark insertion - Multi-stream mixing and composition - Hardware-accelerated video rendering - Cross-platform compatibility This modular design enables you to construct precisely the multimedia processing workflow your application requires, without unnecessary overhead. [Get Started with Media Blocks SDK](GettingStarted/) ## Core SDK Components and Capabilities[¶](#core-sdk-components-and-capabilities "Permanent link") ### Audio Processing Components[¶](#audio-processing-components "Permanent link") - [Audio Encoders](AudioEncoders/) - Convert raw audio streams to AAC, MP3, and other compressed formats with customizable quality settings - [Audio Processing](AudioProcessing/) - Apply dynamic filters, enhance sound quality, and manipulate audio characteristics in real-time - [Audio... **URL**: https://www.visioforge.com/help/docs/dotnet/mediablocks/index.html #### Extracting Video Frames in .NET - Complete Guide - VisioForge Help [Skip to content](#extracting-video-frames-from-video-files-in-net) # Extracting Video Frames from Video Files in .NET[¶](#extracting-video-frames-from-video-files-in-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Video frame extraction is a common requirement in many multimedia applications. Whether you're building a video editing tool, creating thumbnails, or performing video analysis, extracting specific frames from video files is an essential capability. This guide explains different approaches to capturing frames from video files in .NET applications. ## Why Extract Video Frames?[¶](#why-extract-video-frames "Permanent link") There are numerous use cases for video frame extraction: - Creating thumbnail images for video galleries - Extracting key frames for video analysis - Generating preview images at specific timestamps - Building video editing tools with frame-by-frame precision - Creating timelapse sequences from video footage - Capturing still images from video recordings ## Understanding Video Frame Extraction[¶](#understanding-video-frame-extraction "Permanent link") Video files contain sequences of frames displayed at specific intervals to create the illusion of motion. When extracting a frame, you're essentially capturing a single image at a specific timestamp within the video. This process involves: 1. Opening the video file 2. Seeking to the specific timestamp 3. Decoding the frame data 4. Converting it to an image format ## Frame Extraction Methods in .NET[¶](#frame-extraction-methods-in-net "Permanent link") There are several approaches to extract frames from video files in .NET, depending on your requirements and environment. ### Using Windows-Specific SDK Components[¶](#using-windows-specific-sdk-components "Permanent link") For Windows-only applications, the classic SDK components offer straightforward methods for frame extraction: `[](#__codelineno-0-1)// Using Vide... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/get-frame-from-video-file/index.html #### .NET Media Player SDK Code Examples & Tutorials - VisioForge Help [Skip to content](#net-media-player-sdk-implementation-examples) # .NET Media Player SDK Implementation Examples[¶](#net-media-player-sdk-implementation-examples "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Getting Started with Code Examples[¶](#getting-started-with-code-examples "Permanent link") This resource contains a rich collection of implementation examples for the Media Player SDK .Net, demonstrating the powerful capabilities and diverse functionalities available to developers working with video and audio playback in .NET applications. ### Multi-Language Support[¶](#multi-language-support "Permanent link") Our examples are meticulously developed in both C# and VB.Net programming languages, showcasing the flexibility and developer-friendly nature of the MediaPlayerCore engine. Each example has been thoughtfully crafted to illustrate real-world scenarios and implementation strategies, enabling developers to quickly master the core concepts needed for effective SDK integration. ### Cross-Platform Application Integration[¶](#cross-platform-application-integration "Permanent link") The provided code examples cover an extensive range of application frameworks, including: - **WinForms applications** for traditional desktop interfaces - **WPF applications** for modern UI experiences - **Console applications** for command-line utilities - **Windows Service applications** for background processing Whether you're building feature-rich desktop software, efficient command-line tools, or robust background services, these examples provide valuable guidance throughout your development journey. The examples serve as both learning resources and practical references for troubleshooting and performance optimization in your media applications. ## Featured Implementation Examples[¶](#featured-implementation-examples "Permanent link") ### Video Processing Examples[¶](#video-processing-examples "Permanent link"... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/index.html #### Play Media from Memory in .NET SDK - VisioForge Help [Skip to content](#play-media-from-memory-in-net-sdk) # Play Media from Memory in .NET SDK[¶](#play-media-from-memory-in-net-sdk "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introduction to Memory-Based Media Playback[¶](#introduction-to-memory-based-media-playback "Permanent link") Memory-based playback offers a powerful alternative to traditional file-based media consumption in .NET applications. By loading and processing media directly from memory, developers can achieve more responsive playback, enhanced security through reduced file access, and greater flexibility in handling different data sources. This guide explores the various approaches to implementing memory-based playback in your .NET applications, complete with code examples and best practices. ## Advantages of Memory-Based Media Playback[¶](#advantages-of-memory-based-media-playback "Permanent link") Before diving into implementation details, let's understand why memory-based playback is valuable: - **Improved performance**: By eliminating file I/O operations during playback, your application can deliver smoother media experiences. - **Enhanced security**: Media content doesn't need to be stored as accessible files on the filesystem. - **Stream processing**: Work with data from various sources, including network streams, encrypted content, or dynamically generated media. - **Virtual file systems**: Implement custom media access patterns without filesystem dependencies. - **In-memory transformations**: Apply real-time modifications to media content before playback. ## Implementation Approaches[¶](#implementation-approaches "Permanent link") ### Stream-Based Playback from Existing Files[¶](#stream-based-playback-from-existing-files "Permanent link") The most straightforward approach to memory-based playback begins with existing media files that you load into memory streams. This technique is ideal when you want the performance benef... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/memory-playback/index.html #### Play Video & Audio File Segments in C# .NET Apps - VisioForge Help [Skip to content](#playing-media-file-fragments-implementation-guide-for-net-developers) # Playing Media File Fragments: Implementation Guide for .NET Developers[¶](#playing-media-file-fragments-implementation-guide-for-net-developers "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) When developing media applications, one frequently requested feature is the ability to play specific segments of a video or audio file. This functionality is crucial for creating video editors, highlight reels, educational platforms, or any application requiring precise media segment playback. ## Understanding Fragment Playback in .NET Applications[¶](#understanding-fragment-playback-in-net-applications "Permanent link") Fragment playback allows you to define specific time segments of a media file for playback, effectively creating clips without modifying the source file. This technique is particularly useful when you need to: - Create preview segments from longer media files - Focus on specific sections of instructional videos - Create looping segments for demonstrations or presentations - Build clip-based media players for sports highlights or video compilations - Implement training applications that focus on specific video segments The Media Player SDK .NET provides two primary engines for implementing fragment playback, each with its own approach and platform compatibility considerations. ## Windows-Only Implementation: MediaPlayerCore Engine[¶](#windows-only-implementation-mediaplayercore-engine "Permanent link") The MediaPlayerCore engine provides a straightforward implementation for Windows applications. This solution works across WPF, WinForms, and console applications but is limited to Windows operating systems. ### Setting Up Fragment Playback[¶](#setting-up-fragment-playback "Permanent link") To implement fragment playback with the MediaPlayerCore engine, you'll need to follow three key steps: 1. Activate the... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/play-fragment-file/index.html #### Media Player SDK .Net Playlist API Guide - VisioForge Help [Skip to content](#complete-guide-to-playlist-api-implementation-in-net) # Complete Guide to Playlist API Implementation in .NET[¶](#complete-guide-to-playlist-api-implementation-in-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [MediaPlayerCore](#) ## Introduction to Playlist Management[¶](#introduction-to-playlist-management "Permanent link") The Playlist API provides a powerful and flexible way to manage media content in your .NET applications. Whether you're developing a music player, video application, or any media-centric software, efficient playlist management is essential for delivering a seamless user experience. This guide covers everything you need to know about implementing playlist functionality using the MediaPlayerCore component. You'll learn how to create playlists, navigate between tracks, handle playlist events, and optimize performance in various .NET environments. ## Key Features and Benefits[¶](#key-features-and-benefits "Permanent link") - **Simple Integration**: Easy-to-implement API that integrates seamlessly with existing .NET applications - **Format Compatibility**: Support for a wide range of audio and video formats - **Cross-Platform**: Works consistently across WinForms, WPF, and console applications - **Performance Optimized**: Built for efficient memory usage and responsive playback - **Event-Driven Architecture**: Rich event system for building reactive UI experiences ## Getting Started with Playlist API[¶](#getting-started-with-playlist-api "Permanent link") Before diving into specific methods, ensure you have properly initialized the MediaPlayer component in your application. The following sections contain practical code examples that you can implement directly in your project. ### Creating Your First Playlist[¶](#creating-your-first-playlist "Permanent link") Creating a playlist is the first step in managing multiple media files. The API provides straightforwar... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/playlist-api/index.html #### Reverse Video Playback for .NET Applications - VisioForge Help [Skip to content](#implementing-reverse-video-playback-in-net-applications) # Implementing Reverse Video Playback in .NET Applications[¶](#implementing-reverse-video-playback-in-net-applications "Permanent link") Playing video in reverse is a powerful feature for media applications, allowing users to review content, create unique visual effects, or enhance the user experience with non-linear playback options. This guide provides complete implementations for reverse playback in .NET applications, focusing on both cross-platform and Windows-specific solutions. ## Understanding Reverse Playback Mechanisms[¶](#understanding-reverse-playback-mechanisms "Permanent link") Reverse video playback can be achieved through several techniques, each with distinct advantages depending on your application's requirements: 1. **Rate-based reverse playback** - Setting a negative playback rate to reverse the video stream 2. **Frame-by-frame backward navigation** - Manually stepping backward through cached video frames 3. **Buffer-based approaches** - Creating a frame buffer to enable smooth reverse navigation Let's explore how to implement each approach using the Media Player SDK for .NET. ## Cross-Platform Reverse Playback with MediaPlayerCoreX[¶](#cross-platform-reverse-playback-with-mediaplayercorex "Permanent link") The MediaPlayerCoreX engine provides cross-platform support for reverse video playback with a straightforward implementation. This approach works across Windows, macOS, and other supported platforms. ### Basic Implementation[¶](#basic-implementation "Permanent link") The simplest method for reverse playback involves setting a negative rate value: `[](#__codelineno-0-1)// Create new instance of MediaPlayerCoreX [](#__codelineno-0-2)MediaPlayerCoreX MediaPlayer1 = new MediaPlayerCoreX(VideoView1); [](#__codelineno-0-3)[](#__codelineno-0-4)// Set the source file [](#__codelineno-0-5)var fileSource = await UniversalSourceSettings.CreateAsync(new Uri("video.... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/reverse-video-playback/index.html #### Display First Frame in Video Files with .NET - VisioForge Help [Skip to content](#displaying-the-first-frame-of-video-files-in-net-applications) # Displaying the First Frame of Video Files in .NET Applications[¶](#displaying-the-first-frame-of-video-files-in-net-applications "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [VideoCaptureCore](#) ## Overview[¶](#overview "Permanent link") When developing media applications, it's often necessary to preview video content without playing the entire file. This technique is particularly useful for creating thumbnail galleries, video selection screens, or providing users with a visual preview before committing to watching a video. ## Implementation Guide[¶](#implementation-guide "Permanent link") The Media Player SDK .NET provides a simple yet powerful way to display the first frame of any video file. This is achieved through the `Play_PauseAtFirstFrame` property, which when set to `true`, instructs the player to pause immediately after loading the first frame. ### How It Works[¶](#how-it-works "Permanent link") When the `Play_PauseAtFirstFrame` property is enabled: 1. The player loads the video file 2. Renders the first frame to the video display surface 3. Automatically pauses playback 4. Maintains the first frame on screen until further user action If this property is not enabled (set to `false`), the player will proceed with normal playback after loading. ## Code Implementation[¶](#code-implementation "Permanent link") ### Basic Example[¶](#basic-example "Permanent link") `[](#__codelineno-0-1)// create player and configure the file name [](#__codelineno-0-2)// ... [](#__codelineno-0-3)[](#__codelineno-0-4)// set the property to true [](#__codelineno-0-5)MediaPlayer1.Play_PauseAtFirstFrame = true; [](#__codelineno-0-6)[](#__codelineno-0-7)// play the file [](#__codelineno-0-8)await MediaPlayer1.PlayAsync();` Resume playback from the first frame: `[](#__codelineno-1-1)// resume playback [](#__codelineno-1-2)await MediaP... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/code-samples/show-first-frame/index.html #### Media Player SDK .Net Deployment Guide - VisioForge Help [Skip to content](#media-player-sdk-net-deployment-guide) # Media Player SDK .Net Deployment Guide[¶](#media-player-sdk-net-deployment-guide "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) This comprehensive guide covers all deployment scenarios for the Media Player SDK .Net, ensuring your applications work correctly across different environments. Whether you're developing cross-platform applications or Windows-specific solutions, this guide provides the necessary steps for successful deployment. ## Engine Types Overview[¶](#engine-types-overview "Permanent link") The Media Player SDK .Net offers two primary engine types, each designed for specific deployment scenarios: ### MediaPlayerCoreX Engine (Cross-Platform)[¶](#mediaplayercorex-engine-cross-platform "Permanent link") MediaPlayerCoreX is our cross-platform solution that works across multiple operating systems. For detailed deployment instructions specific to this engine, refer to the main [Cross-Platform Deployment Guide](../../deployment-x/). ### MediaPlayerCore Engine (Windows-Only)[¶](#mediaplayercore-engine-windows-only "Permanent link") The MediaPlayerCore engine is optimized specifically for Windows environments. When deploying applications that use this engine on computers without the SDK pre-installed, you must include the necessary SDK components with your application. > **Important**: For AnyCPU applications, you should deploy both x86 and x64 redistributables to ensure compatibility across different system architectures. ## Deployment Options[¶](#deployment-options "Permanent link") There are three primary methods for deploying the Media Player SDK .Net components: 1. Using NuGet packages (recommended for most scenarios) 2. Using automatic silent installers (requires administrative privileges) 3. Manual installation (for complete control over the deployment process) ## NuGet Package Deployment[¶](#nuget-package-deployment "Permanent link... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/deployment/index.html #### Android Player - VisioForge Help [Skip to content](#android-media-player-sdk-professional-video-playback-solution) * * * title: Android Media Player SDK: Video Player for Apps description: Build Android player apps with video playback, streaming, hardware acceleration, and multiple format support using Media Player SDK. * * * # Android Media Player SDK - Professional Video Playback Solution[¶](#android-media-player-sdk-professional-video-playback-solution "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Overview[¶](#overview "Permanent link") The VisioForge Android Player SDK enables developers to integrate professional video playback, streaming, and editing into native Android apps. Built on GStreamer, it provides a comprehensive API for feature-rich applications. The SDK supports extensive video formats, codecs, and streaming protocols. ## Key Features[¶](#key-features "Permanent link") ### Video Playback and Streaming[¶](#video-playback-and-streaming "Permanent link") Our Android player SDK delivers powerful playback with hardware acceleration, ensuring optimal performance for high-resolution content. Developers integrate the player using an intuitive API with support for MP4, MKV, AVI, WebM, and other formats. The player provides precise control with play, pause, seek, and navigation. Variable playback speeds and frame-by-frame navigation give complete control over the viewing experience. Stream content from various sources including HTTP Live Streaming (HLS), RTSP, and RTMP. Adaptive bitrate streaming adjusts quality based on bandwidth for mobile users. ### Video Editing and Effects[¶](#video-editing-and-effects "Permanent link") The SDK includes video editing capabilities for creating editor applications. Apply real-time effects including brightness, contrast, and saturation adjustments. Overlay text, images, and SVG graphics with control over positioning and transparency for picture-in-picture, watermarks, and interactive elemen... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/guides/android-player/index.html #### Avalonia Player - VisioForge Help [Skip to content](#avalonia-media-player-with-visioforge) # Avalonia Media Player with VisioForge[¶](#avalonia-media-player-with-visioforge "Permanent link") This guide will walk you through the process of building a cross-platform media player application using Avalonia UI with the Model-View-ViewModel (MVVM) pattern and the VisioForge Media Player SDK. The application will be capable of playing video files on Windows, macOS, Linux, Android, and iOS. We will be referencing the `SimplePlayerMVVM` example project, which demonstrates the core concepts and implementation details. ## 1\. Prerequisites[¶](#1-prerequisites "Permanent link") Before you begin, ensure you have the following installed: - .NET SDK (latest version, e.g., .NET 8 or newer) - An IDE such as Visual Studio, JetBrains Rider, or VS Code with C# and Avalonia extensions. - For Android development: - Android SDK - Java Development Kit (JDK) - For iOS development (requires a macOS machine): - Xcode - Necessary provisioning profiles and certificates. - VisioForge .NET SDK (MediaPlayer SDK X). You can obtain this from the VisioForge website. The necessary packages will be added via NuGet. ## 2\. Project Setup[¶](#2-project-setup "Permanent link") This section outlines how to set up the solution structure and include the necessary VisioForge SDK packages. ### 2.1. Solution Structure[¶](#21-solution-structure "Permanent link") The `SimplePlayerMVVM` solution consists of several projects: - **SimplePlayerMVVM**: A .NET Standard library containing the core application logic, including ViewModels, Views (AXAML), and shared interfaces. This is the main project where most of our application logic resides. - **SimplePlayerMVVM.Android**: The Android-specific head project. - **SimplePlayerMVVM.Desktop**: The desktop-specific head project (Windows, macOS, Linux). - **SimplePlayerMVVM.iOS**: The iOS-specific head project. ### 2.2. Core Project (`SimplePlayerMVVM.csproj`)[¶](#22... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/guides/avalonia-player/index.html #### Media Player SDK .Net - Advanced Guides & Tutorials - VisioForge Help [Skip to content](#advanced-media-player-sdk-net-guides-tutorials) # Advanced Media Player SDK .Net Guides & Tutorials[¶](#advanced-media-player-sdk-net-guides-tutorials "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Overview[¶](#overview "Permanent link") Explore advanced implementation techniques, specialized usage guides, and tutorials for the Media Player SDK .Net. These resources address specific development scenarios that require custom approaches, including loop playback, position range control, platform-specific implementations, and more. ## Available Guides[¶](#available-guides "Permanent link") This curated collection of guides addresses specific advanced functionalities within the Media Player SDK .Net. Each guide provides practical instructions and insights to help you implement complex features effectively. ### Playback Control & Features[¶](#playback-control-features "Permanent link") Explore specialized guides on controlling media playback with advanced features. - [**Loop Mode and Position Range Playback**](loop-and-position-range/) - Master loop playback and custom start-stop position (segment playback) features for both MediaPlayerCore (DirectShow) and MediaPlayerCoreX (GStreamer) engines. This comprehensive guide covers automatic restart when media reaches the end, playing specific segments between start and stop positions, and combining both for continuous segment loops. Learn how to implement video loops for kiosks or displays, create preview playback windows, test specific portions of media files, and build seamless background video loops. The guide includes detailed property references, events, code examples, best practices, troubleshooting tips, and a comparison table between both engines to help you choose the right approach for your application. ### Platform-Specific Implementation[¶](#platform-specific-implementation "Permanent link") Learn how to implement Media Player SDK .Ne... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/guides/index.html #### Loop Mode & Position Range Playback - Media Player SDK .Net - VisioForge Help [Skip to content](#loop-mode-and-position-range-playback) # Loop Mode and Position Range Playback[¶](#loop-mode-and-position-range-playback "Permanent link") This guide explains how to use loop mode and custom start-stop position (position range) features in the Media Player SDK for both MediaPlayerCore (DirectShow engine) and MediaPlayerCoreX (GStreamer engine). ## Overview[¶](#overview "Permanent link") Both Media Player engines support: - **Loop Mode**: Automatically restart playback when media reaches the end - **Position Range**: Play only a specific segment of media between start and stop positions - **Combined Mode**: Loop a specific segment of media continuously These features are useful for: - Creating video loops for kiosks or displays - Preview playback of specific segments - Testing specific portions of media files - Creating seamless background video loops - Educational applications showing repeated content ## MediaPlayerCore (DirectShow Engine)[¶](#mediaplayercore-directshow-engine "Permanent link") MediaPlayerCore is the Windows-only DirectShow-based media player engine. ### Loop Mode Properties[¶](#loop-mode-properties "Permanent link") #### `Loop` Property[¶](#loop-property "Permanent link") Enables or disables automatic loop playback. `[](#__codelineno-0-1)// Enable loop mode [](#__codelineno-0-2)mediaPlayer.Loop = true; [](#__codelineno-0-3)[](#__codelineno-0-4)// Disable loop mode [](#__codelineno-0-5)mediaPlayer.Loop = false;` **Default value**: `false` **Behavior**: - When enabled, playback automatically restarts from the beginning when the end is reached - The `OnLoop` event fires each time playback restarts - For playlists, loops the entire playlist, not individual files #### `Loop_DoNotSeekToBeginning` Property[¶](#loop_donotseektobeginning-property "Permanent link") Controls whether to seek to the beginning when loop restarts. `[](#__codelineno-1-1)// Restart without seeking to beginning (seamless loop)... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/guides/loop-and-position-range/index.html #### Media Player SDK .Net (MediaPlayerCore) - VisioForge Help [Skip to content](#media-player-sdk-net) # Media Player SDK .Net[¶](#media-player-sdk-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Media Player SDK .Net is a video player SDK with a wide range of features. SDK can use several decoding engines to play video and audio files, such as FFMPEG, VLC, and DirectShow. Most of the video and audio formats are supported by the FFMPEG engine. You can play files, network streams, 360-degree videos, and, optionally, DVD and Blu-Ray disks. ## Features[¶](#features "Permanent link") - Video and audio playback - Video effects - Audio effects - Text overlays - Image overlays - SVG overlays - Brightness, contrast, saturation, hue, and other video adjustments - Sepia, pixelate, grayscale, and other video filters You can check the full list of features on the [product page](https://www.visioforge.com/media-player-sdk-net). ## Sample applications[¶](#sample-applications "Permanent link") You can use WPF code in WinForms applications and vice versa. Most of code is the same for all UI frameworks, including Avalonia and MAUI. The main difference is the VideoView control available for each UI framework. ### MediaPlayerCoreX engine (cross-platform)[¶](#mediaplayercorex-engine-cross-platform "Permanent link") MAUI Avalonia - [Simple Media Player](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Player%20SDK%20X/Avalonia/Simple%20Media%20Player) shows basic playback functionality in Avalonia iOS Android - [Simple Media Player](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Player%20SDK%20X/Android/MediaPlayer) shows basic playback functionality in Android macOS WPF WinForms ### MediaPlayerCore engine (Windows only)[¶](#mediaplayercore-engine-windows-only "Permanent link") #### WPF[¶](#wpf "Permanent link") - [Simple Player](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Player%20SDK/WP... **URL**: https://www.visioforge.com/help/docs/dotnet/mediaplayer/index.html #### .NET SDKs - Platform & Feature Matrix - VisioForge Help [Skip to content](#net-sdk-supported-features-and-platforms) # .NET SDK: Supported Features and Platforms[¶](#net-sdk-supported-features-and-platforms "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Discover the comprehensive feature set and broad platform compatibility of VisioForge .NET SDKs. The tables below detail supported input/output formats, video/audio codecs, hardware acceleration, capture devices, and network protocols across Windows, Linux, macOS, Android, and iOS. ## Input and output file formats[¶](#input-and-output-file-formats "Permanent link") Output formats Windows Linux MacOS Android iOS MP4 ✔ ✔ ✔ ✔ ✔ WebM ✔ ✔ ✔ ✔ ✔ MKV ✔ ✔ ✔ ✔ ✔ AVI ✔ ✔ ✔ ✔ ✔ ASF (WMV/WMA) ✔ ✔ ✔ ✔ ✔ MPEG-PS ✔ ✔ ✔ ✔ ✔ MPEG-TS ✔ ✔ ✔ ✔ ✔ MOV ✔ ✔ ✔ ✔ ✔ MXF ✔ ✔ ✔ ✔ ✔ WMA ✔ ✔ ✔ ✔ ✔ WAV ✔ ✔ ✔ ✔ ✔ MP3 ✔ ✔ ✔ ✔ ✔ OGG ✔ ✔ ✔ ✔ ✔ Also, cross-platform engines support all formats supported by FFMPEG and GStreamer. ## Video encoders and decoders[¶](#video-encoders-and-decoders "Permanent link") SDK supports the following video codecs: Encoders Windows Linux MacOS Android iOS H264 ✔ ✔ ✔ ✔ ✔ H264/HEVC ✔ ✔ ✔ ✔ ✔ VP8/VP9 ✔ ✔ ✔ ✔ ✔ AV1 ✔ ✔ ✔ ✔ ✔ MJPEG ✔ ✔ ✔ ✔ ✔ WMV ✔ ✔ ✔ ✔ ✔ MPEG-4 ASP ✔ ✔ ✔ ✔ ✔ GIF ✔ ✔ ✔ ✔ ✔ MPEG-1 ✔ ✔ ✔ ✔ ✔ MPEG-2 ✔ ✔ ✔ ✔ ✔ Theora ✔ ✔ ✔ ✔ ✔ DNxHD ✔ ✔ ✔ ✔ ✔ DV ✔ ✔ ✔ ✔ ✔ ### GPU-accelerated encoding and decoding[¶](#gpu-accelerated-encoding-and-decoding "Permanent link") The table below shows the support for hardware-accelerated encoding and decoding for each codec and platform. Codec Hardware Windows Linux MacOS Android iOS H264/HEVC Intel D... **URL**: https://www.visioforge.com/help/docs/dotnet/platform-matrix/index.html #### .NET SDK Platform Requirements & Compatibility Guide - VisioForge Help [Skip to content](#system-requirements-for-net-sdks) # System Requirements for .NET SDKs[¶](#system-requirements-for-net-sdks "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) This guide details the system requirements and platform compatibility for VisioForge's suite of .NET SDKs, designed for high-performance video processing and playback applications. ## Overview[¶](#overview "Permanent link") Unlock powerful cross-platform video capabilities with VisioForge .NET SDKs, fully compatible with Windows, Linux, macOS, Android, and iOS. Our SDKs provide robust support for .NET Framework, .NET Core, and modern .NET 5+ (including .NET 8 LTS & .NET 9), enabling seamless integration with WinForms, WPF, WinUI 3, Avalonia, .NET MAUI, and Xamarin. Develop high-performance video applications with familiar C# paradigms across all major operating systems and UI frameworks. > **Important Note**: While Windows users benefit from our dedicated installer package, developers working on other platforms should utilize the NuGet package distribution method for implementation. ## Development Environment Requirements[¶](#development-environment-requirements "Permanent link") The following sections outline the specific requirements for setting up your development environment when working with our SDKs. ### Operating Systems for Development[¶](#operating-systems-for-development "Permanent link") Development of applications using our SDKs is supported on the following platforms: #### Windows[¶](#windows "Permanent link") - Windows 10 (all editions) - Windows 11 (all editions) - Recommended: Latest feature update with current security patches #### Linux[¶](#linux "Permanent link") - Ubuntu 22.04 LTS or newer - De... **URL**: https://www.visioforge.com/help/docs/dotnet/system-requirements/index.html #### FFMPEG Streaming for Video Capture .NET SDK - VisioForge Help [Skip to content](#ffmpeg-streaming-integration-with-net) # FFMPEG Streaming Integration with .NET[¶](#ffmpeg-streaming-integration-with-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to FFMPEG Streaming[¶](#introduction-to-ffmpeg-streaming "Permanent link") The Video Capture SDK offers powerful capabilities for streaming video from multiple sources directly into FFMPEG, which runs as an external process. This integration provides developers with exceptional flexibility, allowing you to use GPL/LGPL FFMPEG builds with any configuration of video/audio codecs and muxers according to your project requirements. With this integration, you can: - Capture video from various sources - Stream the captured content to FFMPEG - Configure FFMPEG to save streams to files - Stream content to remote servers - Process video in real-time - Apply filters and transformations This approach combines the robustness of the .NET SDK with the versatility of FFMPEG, creating a powerful solution for video capture and streaming applications. ## Getting Started with FFMPEG Streaming[¶](#getting-started-with-ffmpeg-streaming "Permanent link") Before diving into implementation details, it's important to understand the basic workflow: 1. Configure your video source (capture device, screen, file, etc.) 2. Enable the Virtual Camera output 3. Start the video streaming process 4. Configure and launch FFMPEG with appropriate parameters 5. Process or save the stream as needed Let's explore each step in detail. ## Basic Implementation[¶](#basic-implementation "Permanent link") ### Step 1: Configure Your Video Source[¶](#step-1-configure-your-video-source "Permanent link") The first step involves setting up your video source. This can be done either programmatically or through the UI if you're using the Main Demo application. Here's a simple code example to enable the Virtual Camera output: `[](#__codelinen... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/3rd-party-software/ffmpeg-streaming/index.html #### Video Capture SDK Third-Party Integration Guide - VisioForge Help [Skip to content](#integrating-third-party-software-with-video-capture-sdk) # Integrating Third-Party Software with Video Capture SDK[¶](#integrating-third-party-software-with-video-capture-sdk "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Overview[¶](#overview "Permanent link") The Video Capture SDK .NET provides robust capabilities for integrating with various third-party software applications. This integration expands the functionality of your applications and allows for greater flexibility in video processing workflows. ## How Integration Works[¶](#how-integration-works "Permanent link") The SDK uses Virtual Camera SDK as a bridge between our Video Capture SDK and third-party applications. This bridge creates a virtual camera device that can be detected and used by any DirectShow-compatible application in your development environment. ### Video Bridge[¶](#video-bridge "Permanent link") The virtual camera technology allows captured video streams to be seamlessly passed to external applications without quality loss or significant performance impact. ### Audio Bridge[¶](#audio-bridge "Permanent link") In addition to video, an audio bridge is also provided, enabling complete audio-visual integration with external software. ## Compatible Applications[¶](#compatible-applications "Permanent link") The virtual camera works with numerous DirectShow-compatible applications, including: - OBS (Open Broadcaster Software) - FFMPEG - VLC Media Player - Zoom, Teams, and other conferencing software - Custom DirectShow applications ## Detailed Tutorials[¶](#detailed-tutorials "Permanent link") Our step-by-step tutorials guide you through the integration process with popular applications: - [FFMPEG Streaming Integration](ffmpeg-streaming/) - Learn how to use FFMPEG with the SDK for powerful streaming capabilities - [OBS Streaming Setup](obs-streaming/) - Detailed guide for integrating with Open Broa... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/3rd-party-software/index.html #### Integrating OBS Streaming in Video Capture SDK .Net - VisioForge Help [Skip to content](#integrating-obs-streaming-in-video-capture-sdk-net) # Integrating OBS Streaming in Video Capture SDK .Net[¶](#integrating-obs-streaming-in-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to OBS Integration[¶](#introduction-to-obs-integration "Permanent link") Open Broadcaster Software (OBS) has become the industry standard for live streaming and video recording. The Video Capture SDK .Net provides robust capabilities to stream video and audio from multiple sources directly into OBS, creating a powerful pipeline for broadcast-quality content creation. This integration allows developers to build applications that can: - Capture from multiple camera devices simultaneously - Process and enhance video streams in real-time - Mix various content sources before sending to OBS - Create professional broadcasting solutions with minimal setup Whether you're developing applications for WinForms, WPF, or console environments, the SDK provides a consistent API for OBS integration. ## How OBS Integration Works[¶](#how-obs-integration-works "Permanent link") The SDK leverages DirectShow Virtual Camera technology to create a bridge between your application and OBS. This approach offers several advantages: 1. **Zero-latency streaming**: Direct memory transfer minimizes delay 2. **Format flexibility**: Support for various resolutions and frame rates 3. **Minimal configuration**: OBS recognizes the virtual device automatically 4. **Audio synchronization**: Combined audio-video streaming capabilities The virtual camera appears to OBS as a standard webcam device, making it immediately usable within any OBS scene. ## Implementation Guide[¶](#implementation-guide "Permanent link") ### Required Components[¶](#required-components "Permanent link") Before implementing OBS streaming, ensure you have the following components installed: - Video Capture SDK .Net (la... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/3rd-party-software/obs-streaming/index.html #### Audio Capture for .NET - Complete Developer Guide - VisioForge Help [Skip to content](#audio-capture-for-net-developers) # Audio Capture for .NET Developers[¶](#audio-capture-for-net-developers "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Audio Capture[¶](#introduction-to-audio-capture "Permanent link") Our SDK provides robust audio capture capabilities designed specifically for .NET developers. Whether you're building a professional recording application, adding voice chat to your software, or creating a podcasting tool, our audio capture components deliver exceptional performance and flexibility. The audio capture functionality lets you record from any audio input device on the system, including microphones, line-in ports, and virtual audio devices. All processing is optimized for minimal CPU usage while maintaining pristine audio quality. ## Supported Audio Sources[¶](#supported-audio-sources "Permanent link") The SDK supports capturing from multiple audio sources: - **Physical microphones** - Desktop, USB, and Bluetooth microphones - **Line-in ports** - For capturing from external mixers or instruments - **Virtual audio devices** - Capture audio from other applications - **System audio** - Record what's playing through your speakers - **Network streams** - Capture audio from RTSP, HTTP, and other streaming sources ## Audio Format Support[¶](#audio-format-support "Permanent link") Our SDK allows you to capture and encode audio in various industry-standard formats to meet any requirement: ### Lossy Formats[¶](#lossy-formats "Permanent link") - [MP3](../../general/audio-encoders/mp3/) - Industry standard compressed audio with adjustable bitrates from 8kbps to 320kbps - [M4A (AAC)](../../general/audio-encoders/aac/) - Advanced Audio Coding with excellent quality-to-size ratio - [Windows Media Audio](../../general/audio-encoders/wma/) - Microsoft's audio format with good compression and Windows integration - [Ogg Vorbis](../../general/... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/audio-capture/index.html #### .NET Audio Rendering in Video Capture SDK - VisioForge Help [Skip to content](#audio-rendering-in-net-video-applications) # Audio Rendering in .NET Video Applications[¶](#audio-rendering-in-net-video-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introduction to Audio Rendering[¶](#introduction-to-audio-rendering "Permanent link") Audio rendering is a critical component of any video capture application. It enables your application to output captured or processed audio to various audio devices supported by the operating system. The Video Capture SDK .NET provides robust capabilities for audio rendering, allowing developers to create rich multimedia applications with high-quality audio output. This guide walks through the essential aspects of implementing audio rendering in your .NET applications using our SDK, covering everything from device enumeration to volume control and optimization techniques. ## Key Features of Audio Rendering[¶](#key-features-of-audio-rendering "Permanent link") - **Device Selection**: Enumerate and select from all available audio output devices - **Volume Control**: Precise control over output volume levels - **Real-time Adjustment**: Modify audio output parameters during runtime - **Multi-device Support**: Route audio to different output devices simultaneously - **Format Compatibility**: Support for various audio formats and sample rates ## Implementation Guide[¶](#implementation-guide "Permanent link") ### Enumerating Audio Output Devices[¶](#enumerating-audio-output-devices "Permanent link") The first step in implementing audio rendering is to identify and list all available audio output devices. This allows users to select their preferred output device for audio playback. VideoCaptureCoreXVideoCaptureCore `[](#__codelineno-0-1)var audioSinks = await VideoCapture1.Audio_OutputsAsync(); [](#__codelineno-0-2)foreach (var sink in audioSinks) [](#__codelineno-0-3){ []... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/audio-rendering/index.html #### Implementing Audio Capture in .NET Applications - VisioForge Help [Skip to content](#working-with-audio-sources-in-net) # Working with Audio Sources in .NET[¶](#working-with-audio-sources-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Available Audio Sources[¶](#available-audio-sources "Permanent link") When building media applications, you'll need to capture audio from various sources. This guide covers how to implement audio capture from multiple input types using our SDK: - Audio capture devices (microphones, line-in) - System audio (speakers/headphones via loopback) - Network streams (IP cameras) - Professional Decklink devices Each source type requires different initialization methods and has unique capabilities. Let's explore how to work with each one. ## Implementing Audio Capture Devices[¶](#implementing-audio-capture-devices "Permanent link") Audio capture devices include microphones, webcams with built-in mics, and other input hardware connected to your system. Working with these devices involves three key steps: 1. Enumerating available devices 2. Selecting appropriate audio formats 3. Configuring the selected device as your audio source ### Enumerating Available Audio Devices[¶](#enumerating-available-audio-devices "Permanent link") First, you need to detect all audio input devices connected to the system: VideoCaptureCoreXVideoCaptureCore `[](#__codelineno-0-1)var audioSources = await core.Audio_SourcesAsync(); [](#__codelineno-0-2)foreach (var source in audioSources) [](#__codelineno-0-3){ [](#__codelineno-0-4) // add to some combobox [](#__codelineno-0-5) cbAudioInputDevice.Items.Add(source.DisplayName); [](#__codelineno-0-6)}` `[](#__codelineno-1-1)foreach (var device in core.Audio_CaptureDevices()) [](#__codelineno-1-2){ [](#__codelineno-1-3) // add to some combobox [](#__codelineno-1-4) cbAudioInputDevice.Items.Add(device.Name); [](#__codelineno-1-5)}` This co... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/audio-sources/index.html #### Face Detection in .NET Video Applications - VisioForge Help [Skip to content](#implementing-face-detection-in-net-video-applications) # Implementing Face Detection in .NET Video Applications[¶](#implementing-face-detection-in-net-video-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Face Detection Technology[¶](#introduction-to-face-detection-technology "Permanent link") Face detection is a computer vision technology that identifies and locates human faces within digital images or video frames. Unlike facial recognition (which identifies specific individuals), face detection simply answers the question: "Is there a face in this image, and if so, where is it located?" This technology serves as the foundation for numerous applications: - Security and surveillance systems - Photography applications (auto-focus, red-eye reduction) - Social media (tagging suggestions, filters) - Emotion analysis and user experience research - Attendance tracking systems - Video conferencing enhancements For developers building .NET applications, implementing face detection can add significant value to video capture and processing applications. This guide provides a complete walkthrough of implementing face detection in your .NET projects. ## Getting Started with Face Detection in .NET[¶](#getting-started-with-face-detection-in-net "Permanent link") ### Prerequisites[¶](#prerequisites "Permanent link") Before implementing face detection in your application, ensure you have: - Visual Studio (2019 or newer recommended) - .NET Framework 4.6.2+ or .NET Core 3.1+/.NET 5+ - Basic understanding of C# and event-driven programming - NuGet package manager - Required redistributables (detailed later in this document) ### Implementation Overview[¶](#implementation-overview "Permanent link") The implementation process follows these key steps: 1. Configure your video source 2. Set up face tracking parameters 3. Create and register event handler... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/computer-vision/face-detection/index.html #### Advanced Computer Vision for .NET Video Processing - VisioForge Help [Skip to content](#computer-vision-integration-for-net-applications) # Computer Vision Integration for .NET Applications[¶](#computer-vision-integration-for-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Overview[¶](#overview "Permanent link") Our SDK provides powerful built-in computer vision capabilities that enable developers to enhance their applications with intelligent video analysis features. These functionalities allow your software to automatically detect and track various elements in video streams including human faces, general objects, vehicles, and pedestrians in real-time. ## Key Computer Vision Modules[¶](#key-computer-vision-modules "Permanent link") The SDK offers multiple specialized detection modules to address various use cases: - **PedestrianDetector** - Track and count people moving through video frames - **ObjectDetector** - Identify and classify common objects within video content - **FaceDetector** - Locate and analyze human faces, supporting security and UX applications - **CarCounter** - Monitor and quantify vehicle traffic in transportation scenarios Each module is optimized for performance and accuracy, allowing for reliable real-time processing even on standard hardware configurations. ## Implementation Resources[¶](#implementation-resources "Permanent link") Developers can access complete working examples in our [GitHub repository](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/WinForms/CSharp/Computer%20Vision). These samples demonstrate practical implementation patterns and best practices for integrating computer vision capabilities into .NET applications. ## Advanced Features[¶](#advanced-features "Permanent link") - [Face detection](face-detection/) - Learn about facial recognition, landmark detection, and emotion analysis - Machine learning integration - Custom detection model support - Multi-threadin... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/computer-vision/index.html #### Video Capture SDK .NET Deployment Guide - VisioForge Help [Skip to content](#comprehensive-deployment-guide-for-video-capture-sdk-net) # Comprehensive Deployment Guide for Video Capture SDK .Net[¶](#comprehensive-deployment-guide-for-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) When deploying the Video Capture SDK .Net to systems without the SDK pre-installed, proper component deployment is essential for functionality. For AnyCPU applications, both x86 and x64 redistributables must be deployed to ensure compatibility across different system architectures. ## Engine Options Overview[¶](#engine-options-overview "Permanent link") ### VideoCaptureCoreX Engine (Cross-Platform Compatibility)[¶](#videocapturecorex-engine-cross-platform-compatibility "Permanent link") For cross-platform deployment scenarios, refer to our comprehensive [deployment guide](../../deployment-x/) which details platform-specific requirements and configuration options. ### VideoCaptureCore Engine (Windows Platform)[¶](#videocapturecore-engine-windows-platform "Permanent link") The VideoCaptureCore engine is optimized specifically for Windows environments and offers multiple deployment approaches based on your application requirements and target environment constraints. ## Deployment Methods[¶](#deployment-methods "Permanent link") ### NuGet Package Distribution (No Administrator Privileges Required)[¶](#nuget-package-distribution-no-administrator-privileges-required "Permanent link") The NuGet package approach provides a streamlined deployment method that doesn't require administrator privileges, making it ideal for restricted environments or when deploying to multiple systems without elevated access. Add the required NuGet packages to your application project, and after building, the necessary redistributable files will be automatically included in your application folder. This method simplifies dependency management while ensuring all required components are available.... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/deployment/index.html #### Video Capture SDK .Net - Advanced Guides & Tutorials - VisioForge Help [Skip to content](#advanced-video-capture-sdk-net-guides-tutorials) # Advanced Video Capture SDK .Net Guides & Tutorials[¶](#advanced-video-capture-sdk-net-guides-tutorials "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Overview[¶](#overview "Permanent link") Explore advanced implementation techniques, specialized usage guides, and tutorials for the Video Capture SDK .Net. These resources address specific development scenarios that require custom approaches, including synchronizing multiple capture objects, webcam integration, DirectShow capture techniques, and more. ## Available Guides[¶](#available-guides "Permanent link") This curated collection of guides addresses specific advanced functionalities within the Video Capture SDK .Net. Each guide provides practical instructions and insights to help you implement complex features effectively. ### Synchronization Techniques[¶](#synchronization-techniques "Permanent link") - [**Synchronizing Multiple Capture Objects**](start-in-sync/) - In many professional video applications, such as multi-camera event coverage, advanced surveillance systems, or immersive 360-degree video recording, the ability to precisely synchronize multiple video capture instances is paramount. This guide delves into the methodologies for initializing and coordinating several `VideoCaptureCore` objects, ensuring that they start, stop, and record in unison. It addresses potential challenges like timestamp alignment and resource management, offering solutions to achieve seamless and synchronized multi-source capture. Implementing robust synchronization is key to producing professional-grade video content where timing and coherence across different angles or sources are critical. ### Camera Integration & Capture Techniques[¶](#camera-integration-capture-techniques "Permanent link") Explore specialized guides on integrating various camera functionalities and mastering different capture te... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/guides/index.html #### Capturing Photos Using Webcam in .NET Applications - VisioForge Help [Skip to content](#capturing-photos-using-webcam-in-net-applications) # Capturing Photos Using Webcam in .NET Applications[¶](#capturing-photos-using-webcam-in-net-applications "Permanent link") ## Introduction to Webcam Integration[¶](#introduction-to-webcam-integration "Permanent link") Modern applications increasingly require webcam integration for various purposes, from user profile photos to document scanning. Implementing effective webcam photo capture functionality requires understanding the underlying mechanisms of how webcams work with the .NET framework. Webcams can capture images through two primary methods: software-triggered captures (where the application initiates the process) and hardware-triggered captures, where a physical button on the webcam device triggers the image capture. The latter method is known as "still frame capture" and provides a more intuitive user experience in many applications. ## Understanding Still Frame Capture[¶](#understanding-still-frame-capture "Permanent link") Still frame capture is a specialized function available on many webcam models that allows users to capture high-quality images by pressing a dedicated button on the device. This approach offers several advantages: - More intuitive user experience - Reduced application complexity - Lower chance of camera shake - Often better image quality than video frame extraction Not all webcams support still frame capture, so it's important to check your device specifications or test this functionality before relying on it in your application. ## Implementing Webcam Photo Capture in .NET[¶](#implementing-webcam-photo-capture-in-net "Permanent link") The Video Capture SDK for .NET provides a robust framework for implementing webcam photo capture in your applications. Below, we'll cover the essential steps to integrate this functionality. ### Setting Up Your Project[¶](#setting-up-your-project "Permanent link") Before diving into the implementation details, e... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/guides/make-photo-using-webcam/index.html #### Save Webcam Video (Crossplatform) - VisioForge Help [Skip to content](#save-webcam-video-using-net-a-complete-guide-to-record-and-capture-webcam) * * * title: Save Webcam Video Using .NET: Record and Capture description: Complete guide to capture, record, and save webcam video using .NET and C#. Implement webcam functionality with MP4/WebM formats and GPU acceleration. * * * # Save Webcam Video Using .Net: A Complete Guide to Record and Capture Webcam[¶](#save-webcam-video-using-net-a-complete-guide-to-record-and-capture-webcam "Permanent link") Capturing and saving video from webcams is a common requirement in many modern applications, from video conferencing tools to surveillance systems. Whether you need to record webcam footage, display the webcam feed, or capture images, implementing reliable webcam functionality in .NET (DotNet) can be challenging. This tutorial provides a simple step-by-step guide to save webcam video using C# (C Sharp) with minimal code. ## Key Features of Video Capture SDK .Net[¶](#key-features-of-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) is a powerful library designed specifically for .NET developers who need to implement webcam capture functionality in their applications. Whether you want to record webcam video, save webcam frames as images, or display the webcam feed in your application, this SDK has you covered. Some of its standout features include: - Seamless integration with .NET applications - Support for multiple capture devices (USB webcams, IP cameras, capture cards) - High-performance video and audio recording and processing - Simple code to get and display webcam feeds - Create and save video files in various formats - GPU-accelerated encoding for optimal performance - Cross-platform compatibility ## Output Formats: MP4 and WebM in Detail[¶](#output-formats-mp4-and-webm-in-detail "Permanent link") ### MP4 Format[¶](#mp4-format "Permanent link") MP4 is one of the most widely suppo... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/guides/save-webcam-video/index.html #### Sync Multiple Video Captures in .NET - VisioForge Help [Skip to content](#sync-multiple-video-captures-in-net) # Sync Multiple Video Captures in .NET[¶](#sync-multiple-video-captures-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Multi-Source Video Capture[¶](#introduction-to-multi-source-video-capture "Permanent link") When developing applications that require recording from multiple video sources simultaneously, synchronization becomes a critical challenge. Whether you're building surveillance systems, multi-camera recording solutions, or specialized video production tools, ensuring all video streams start and end recording at precisely the same moment can make the difference between professional-grade and amateur results. This guide explains how to properly synchronize multiple video capture objects in .NET applications, eliminating timing discrepancies between different cameras or input sources. ## Understanding the Challenge of Video Synchronization[¶](#understanding-the-challenge-of-video-synchronization "Permanent link") Without proper synchronization, multiple video recordings started sequentially will have timing offsets. Even millisecond differences can cause problems in applications where precise timing alignment is required, such as: - Multi-angle sports analysis - Security camera systems - Motion capture setups - Scientific measurements and observations - Professional video production These timing discrepancies occur because each time you initialize a capture device and start recording, there's processing overhead that varies between devices. ## The Solution: Delayed Start Mechanism[¶](#the-solution-delayed-start-mechanism "Permanent link") The Video Capture SDK provides an elegant solution through its delayed start mechanism. This approach allows you to: 1. Initialize all capture objects and prepare them for recording 2. Put them in a "ready" state where they're waiting for a final signal 3. Trigger all reco... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/guides/start-in-sync/index.html #### Video Capture SDK for .NET Development - VisioForge Help [Skip to content](#video-capture-sdk-for-net-applications) # Video Capture SDK for .NET Applications[¶](#video-capture-sdk-for-net-applications "Permanent link") ## Introduction to Video Capture Development[¶](#introduction-to-video-capture-development "Permanent link") The Video Capture SDK for .NET enables developers to integrate powerful video capture and processing capabilities into their software applications. This robust toolkit provides everything needed to build feature-rich multimedia applications with minimal effort. You can explore all features on the [product page](https://www.visioforge.com/video-capture-sdk-net). ## Supported Input Device Categories[¶](#supported-input-device-categories "Permanent link") ### Camera and Capture Hardware[¶](#camera-and-capture-hardware "Permanent link") - High-quality DV and HDV MPEG-2 camcorders - USB webcams and capture devices (including 4K resolution support) - Professional PCI capture cards - Television tuners (with and without internal MPEG encoder) ### Network and IP Cameras[¶](#network-and-ip-cameras "Permanent link") - JPEG/MJPEG HTTP IP cameras - RTSP-enabled IP camera systems - RTMP network streaming sources - ONVIF-compatible IP cameras - SRT network stream sources ### Professional Equipment[¶](#professional-equipment "Permanent link") - Blackmagic Decklink professional capture devices - Microsoft Kinect and Kinect 2 for Windows - NDI-compatible camera systems ### Industrial Vision Systems[¶](#industrial-vision-systems "Permanent link") - GenICam standard cameras - GigE Vision industrial cameras - USB3 Vision high-speed cameras ### Audio Capture Support[¶](#audio-capture-support "Permanent link") - Standard audio capture devices and sound cards - Professional ASIO audio devices ## Getting Started with Development[¶](#getting-started-with-development "Permanent link") - [Installation Guide](../install/) - [Video Development Tutorials](video-tutorials/)... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/index.html #### Video Capture & Processing in .NET MAUI Apps - VisioForge Help [Skip to content](#how-to-capture-and-process-video-in-net-maui-apps-using-visioforge-sdk) # How to Capture and Process Video in .NET MAUI Apps Using VisioForge SDK[¶](#how-to-capture-and-process-video-in-net-maui-apps-using-visioforge-sdk "Permanent link") ## Introduction[¶](#introduction "Permanent link") The VisioForge Video Capture SDK for .NET is a comprehensive media capture and processing solution that integrates seamlessly with .NET MAUI applications. As a feature-rich SDK, it significantly extends .NET MAUI's native capabilities for video capture across supported platforms including iOS, Android, macCatalyst, and Windows. In this tutorial, we will learn how to record video from hardware cameras on iOS/Android devices and webcams on Windows and macOS. We will also cover how to add various effects and filters to the video, as well as how to save the video to the device using native APIs for each platform. For mobile devices (.NET iOS and .NET Android), we will request the necessary permissions to ensure proper functionality with the native device capabilities. The full sample code is available on [GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK%20X/MAUI/SimpleCapture) as part of the SDK documentation. ## Prerequisites[¶](#prerequisites "Permanent link") Required software and tools: - Visual Studio or Visual Studio Code with .NET MAUI support or JetBrains Rider - [VisioForge Video Capture SDK for .NET](https://www.visioforge.com/video-capture-sdk-net) (we'll use NuGet packages) ## Setting up a Basic .NET MAUI Project Structure[¶](#setting-up-a-basic-net-maui-project-structure "Permanent link") ### Create a New Empty .NET MAUI Project (.NET 8 or Later)[¶](#create-a-new-empty-net-maui-project-net-8-or-later "Permanent link") You can use Visual Studio, Rider, or dotnet tool to create a new .NET MAUI project with cross-platform support. ### Update Project File[¶](#update-project-file "Permanent link")... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/maui/camera-recording-maui/index.html #### Motion Detection for Video Processing in .NET - VisioForge Help [Skip to content](#motion-detection-for-video-processing) # Motion Detection for Video Processing[¶](#motion-detection-for-video-processing "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Overview[¶](#overview "Permanent link") The Video Capture SDK provides powerful motion detection capabilities for your .NET applications. Whether you need simple presence detection or advanced object tracking, the SDK offers two distinct motion detector implementations to match your specific requirements: 1. **Simple Motion Detector** - Efficient, lightweight processing with customizable detection matrices 2. **Advanced Motion Detector** - Enhanced capabilities including object detection, multiple processor types, and specialized detectors These motion detection tools enable developers to implement sophisticated video analysis features such as security monitoring, automated alerts, object counting, and interactive motion-responsive applications. ## Simple Motion Detector[¶](#simple-motion-detector "Permanent link") [VideoCaptureCore](#) ### How It Works[¶](#how-it-works "Permanent link") The simple motion detector offers an efficient solution for basic movement detection scenarios. Its streamlined approach makes it ideal for applications where processing speed and resource efficiency are priorities. When activated, the detector: - Processes each frame to detect movement changes - Generates a two-dimensional byte array (motion matrix) - Calculates the overall motion level as a percentage - Optionally highlights detected motion areas visually ### Key Features[¶](#key-features "Permanent link") - **Customizable Matrix Size**: Adjust detection resolution to balance performance and accuracy - **Channel Selection**: Analyze all RGB channels or focus on specific ones for optimized detection - **Motion Highlighting**: Visually emphasize detected motion with color overlays - **Performance Optimization**: Conf... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/motion-detection/index.html #### Network Video Streaming Guide for .NET Development - VisioForge Help [Skip to content](#network-streaming-in-net-applications) # Network Streaming in .NET Applications[¶](#network-streaming-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introduction to Network Streaming[¶](#introduction-to-network-streaming "Permanent link") Network streaming has become a fundamental component of modern digital communication infrastructure, enabling real-time transmission of audio and video data across diverse network environments. As bandwidth capabilities continue to expand and user expectations for content delivery evolve, developers need robust tools to implement streaming solutions that balance performance, quality, and reliability. The VisioForge Video Capture SDK for .NET provides comprehensive support for multiple streaming protocols, offering developers a versatile toolkit for integrating sophisticated streaming capabilities into their applications. Whether you're building live broadcasting platforms, video conferencing tools, surveillance systems, or content delivery networks, this SDK provides the foundation for implementing professional-grade streaming solutions. ## Core Network Streaming Protocols[¶](#core-network-streaming-protocols "Permanent link") ### RTSP (Real-Time Streaming Protocol)[¶](#rtsp-real-time-streaming-protocol "Permanent link") RTSP is an application-level protocol designed for controlling the delivery of data with real-time properties. It serves as a "network remote control" for multimedia servers, establishing and controlling media sessions between endpoints. #### Key RTSP Features:[¶](#key-rtsp-features "Permanent link") - **Session Control**: Enables clients to establish and manage media sessions with servers - **Transport Independence**: Works with various transport protocols including UDP,... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/network-streaming/index.html #### Video Capture to DV Format in .NET Applications - VisioForge Help [Skip to content](#capturing-video-to-dv-format-in-net-applications) # Capturing Video to DV Format in .NET Applications[¶](#capturing-video-to-dv-format-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) DV (Digital Video) is a professional-grade digital video format widely used in the broadcasting and film industry. Originally developed for camcorders, DV provides exceptional quality while maintaining reasonable file sizes, making it suitable for both consumer and professional video production environments. ## Understanding DV Format[¶](#understanding-dv-format "Permanent link") DV format offers several advantages for video capture applications: - **High-quality video** with minimal compression artifacts - **Consistent frame rate** suitable for broadcast standards - **Efficient compression** with predictable file sizes - **Industry-standard compatibility** across editing platforms - **Frame-accurate editing** capabilities DV streams are typically stored either directly on tape (in traditional DV camcorders) or as digital files using containers like AVI or MKV. The format uses a specific codec for video compression along with PCM audio, creating a reliable standard for video production workflows. ## Implementation Options[¶](#implementation-options "Permanent link") When implementing DV capture in your .NET applications, you have two primary approaches: 1. **Direct capture without recompression** - Requires a DV/HDV camcorder that outputs native DV 2. **Capture with recompression** - Works with any video source but requires processing power Each method has specific hardware requirements and performance considerations that will be covered in detail below. ## Setting Up Your Development Environment[¶](#setting-up-your-development-environment "Permanent link") Before implementing DV capture functionality, ensure your development environment includes: 1. Th... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-capture/dv/index.html #### Video Capture SDK .Net for Advanced Recording - VisioForge Help [Skip to content](#video-capture-sdk-for-net-developers) # Video Capture SDK for .NET Developers[¶](#video-capture-sdk-for-net-developers "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction[¶](#introduction "Permanent link") Our Video Capture SDK for .NET equips developers with a powerful, versatile solution for implementing professional-grade video recording capabilities in their applications. Designed specifically for .NET environments, this SDK provides seamless integration with your existing codebase while delivering exceptional performance and reliability. ## Key Capabilities[¶](#key-capabilities "Permanent link") - **Multi-source capture** - Record from webcams, capture cards, and other video devices - **Real-time processing** - Apply filters and effects during capture - **Customizable quality settings** - Control bitrate, framerate, and resolution - **Event-driven architecture** - Respond to capture events in your application - **Multi-platform support** - Works across Windows desktop environments ## Extensive Format Support[¶](#extensive-format-support "Permanent link") Our SDK supports a comprehensive range of output formats to meet diverse project requirements, ensuring your applications can deliver video in exactly the format your users need: ### Standard Video Formats[¶](#standard-video-formats "Permanent link") - [MP4 (H.264/AAC)](../../general/output-formats/mp4/) - Industry standard format offering excellent compatibility across devices and platforms, ideal for distribution and streaming applications - [WebM](../../general/output-formats/webm/) - Open-source format optimized for web applications with efficient compression and broad browser support - [AVI](../../general/output-formats/avi/) - Classic container format with widespread compatibility and minimal processing overhead, supporting virtually any DirectShow-compatible codec - [WMV](../../general/output-format... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-capture/index.html #### Capture Camcorder Video to MPEG-2 Format in .NET - VisioForge Help [Skip to content](#capturing-camcorder-video-to-mpeg-2-format) # Capturing Camcorder Video to MPEG-2 Format[¶](#capturing-camcorder-video-to-mpeg-2-format "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction[¶](#introduction "Permanent link") MPEG-2 remains a reliable video encoding standard widely used in professional video workflows. This guide shows how to implement camcorder-to-MPEG-2 capture functionality in your .NET applications. MPEG-2 (Moving Picture Experts Group 2) was established in 1995 as an industry standard for digital video and audio encoding. Despite newer formats, MPEG-2 continues to be valued for its optimal balance between compression efficiency and video quality, making it particularly suitable for applications requiring high fidelity video capture from camcorders. ## Why Use MPEG-2 for Camcorder Capture?[¶](#why-use-mpeg-2-for-camcorder-capture "Permanent link") MPEG-2 offers several advantages for developers implementing camcorder capture functionality: - **Widespread compatibility** with video editing software and playback devices - **Efficient compression** that preserves visual quality at reasonable file sizes - **Robust handling** of interlaced video content (common in camcorders) - **Industry standard** that ensures long-term support and compatibility - **Lower processing requirements** compared to more complex modern codecs ## Implementation Guide[¶](#implementation-guide "Permanent link") ### Required Dependencies[¶](#required-dependencies "Permanent link") Before implementing camcorder-to-MPEG-2 capture, ensure your project includes: - Video Capture SDK .NET (VideoCaptureCore component) - Video capture redistributables: - [x86 package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) - [x64 package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) Install these pa... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-capture/mpeg2-camcorder/index.html #### MPEG-2 Capture with TV Tuner Hardware Encoder - VisioForge Help [Skip to content](#mpeg-2-video-capture-using-tv-tuner-hardware-encoder-in-net) # MPEG-2 Video Capture Using TV Tuner Hardware Encoder in .NET[¶](#mpeg-2-video-capture-using-tv-tuner-hardware-encoder-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction to MPEG-2 Video Capture[¶](#introduction-to-mpeg-2-video-capture "Permanent link") MPEG-2, introduced in 1995, revolutionized digital video as a standard for "the generic coding of moving pictures and associated audio information." This format remains widely implemented across multiple platforms including digital television broadcasting, DVD video, and various streaming applications. Despite being an older standard, MPEG-2 continues to be relevant in specific broadcast scenarios due to its balance of quality and efficiency. The ability to capture video directly to MPEG-2 format using hardware encoders provides significant advantages for developers building media applications. Hardware encoding offloads intensive processing from the CPU, resulting in better system performance and more efficient battery usage on portable devices. ## Why Use Hardware-Accelerated MPEG-2 Encoding?[¶](#why-use-hardware-accelerated-mpeg-2-encoding "Permanent link") Hardware encoding offers several distinct advantages for video capture applications: 1. **Reduced CPU Usage**: By utilizing dedicated encoding hardware, your application can maintain responsive performance while capturing video 2. **Improved Battery Life**: Critical for portable applications where energy efficiency matters 3. **Real-Time Encoding**: Hardware encoders can process high-resolution video in real-time 4. **Consistent Quality**: Hardware encoders deliver reliable encoding performance TV tuners with built-in MPEG-2 hardware encoders are particularly valuable for applications that need to capture broadcast content efficiently. These devices handle both the tuning and encod... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-capture/mpeg2-tvtuner/index.html #### Start/Stop Video Capture Without Stopping Preview - VisioForge Help [Skip to content](#managing-video-capture-and-preview-independently-in-net) # Managing Video Capture and Preview Independently in .NET[¶](#managing-video-capture-and-preview-independently-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction[¶](#introduction "Permanent link") When developing video applications, it's often necessary to start or stop recording while maintaining an uninterrupted preview. This capability is essential for creating professional video recording software, security applications, or any scenario where continuous visual feedback is required regardless of the recording state. This guide demonstrates how to independently control video capture operations without affecting the preview display. This technique applies to various capture scenarios including camera recording, screen capture, and other input sources. ## Why Separate Preview and Capture?[¶](#why-separate-preview-and-capture "Permanent link") There are several advantages to separating preview and capture functionality: 1. **Enhanced User Experience** - Users can continuously see what's being captured, even when not recording 2. **Resource Efficiency** - Prevents unnecessary stopping/restarting of video streams 3. **Reduced Latency** - Eliminates the delay associated with reestablishing preview after stopping a recording 4. **Greater Control** - Provides more precise management of recording sessions ## Implementation Options[¶](#implementation-options "Permanent link") There are two main approaches to implementing this functionality depending on which SDK version you're using: VideoCaptureCoreXVideoCaptureCore ### Method 1: Using VideoCaptureCoreX[¶](#method-1-using-videocapturecorex "Permanent link") The VideoCaptureCoreX approach offers a streamlined way to manage outputs and control capture states. #### Step 1: Configure the Output[¶](#step-1-configure-the-output "Permanent link") First, add a new outpu... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-capture/separate-capture/index.html #### Advanced Video Processing with .NET SDK - VisioForge Help [Skip to content](#video-processing-and-effects-for-net-developers) # Video Processing and Effects for .NET Developers[¶](#video-processing-and-effects-for-net-developers "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Transform Your Video Content with Powerful Processing Tools[¶](#transform-your-video-content-with-powerful-processing-tools "Permanent link") Our .NET SDK offers developers a complete toolkit for modifying and enhancing video streams during the capture process. With our robust API, you can implement professional-grade video manipulations with minimal code. ## Key Features and Capabilities[¶](#key-features-and-capabilities "Permanent link") ### Dynamic Resizing and Cropping[¶](#dynamic-resizing-and-cropping "Permanent link") Precisely control your video dimensions to match any requirement. Our SDK enables you to: - Adjust resolution on-the-fly to optimize for different platforms - Crop unwanted areas from your video frame - Maintain aspect ratios or create custom dimensions - Scale content proportionally for different screen sizes ### Professional Overlay System[¶](#professional-overlay-system "Permanent link") Enhance your videos with rich content overlays: - **Text Overlays**: Add customizable captions, titles, timestamps, or any text element with precise control over fonts, colors, positioning, and animations - **Image Overlays**: Incorporate logos, watermarks, or informational graphics with transparency support - **Animated GIF Integration**: Embed animated elements that bring movement and visual interest to static scenes ### Advanced Color Manipulation[¶](#advanced-color-manipulation "Permanent link") Fine-tune the visual characteristics of your video with our color adjustment tools: - Modify brightness, contrast, and gamma for perfect exposure - Adjust hue and saturation to create specific moods or correct color issues - Apply color balance adjustments for profes... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-processing/index.html #### Resize and Crop Operations in Video Capture SDK .Net - VisioForge Help [Skip to content](#video-resize-and-crop-operations-for-net-developers) # Video Resize and Crop Operations for .NET Developers[¶](#video-resize-and-crop-operations-for-net-developers "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Video Processing[¶](#introduction-to-video-processing "Permanent link") When working with video streams in .NET applications, controlling the dimensions and focus area of your video is essential for creating professional applications. This guide explains how to implement resize and crop operations on video streams from webcams, screen captures, IP cameras, and other sources. ## Video Resizing Implementation[¶](#video-resizing-implementation "Permanent link") Resizing allows you to standardize video dimensions across different video sources, which is particularly useful when working with multiple camera inputs or when targeting specific output formats. ### Step 1: Enable Resize Functionality[¶](#step-1-enable-resize-functionality "Permanent link") First, enable the resize or crop feature in your application: `[](#__codelineno-0-1)VideoCapture1.Video_ResizeOrCrop_Enabled = true;` ### Step 2: Configure Resize Parameters[¶](#step-2-configure-resize-parameters "Permanent link") Set your desired width and height, and determine whether to maintain aspect ratio with letterboxing: `[](#__codelineno-1-1)VideoCapture1.Video_Resize = new VideoResizeSettings [](#__codelineno-1-2){ [](#__codelineno-1-3) Width = 640, [](#__codelineno-1-4) Height = 480, [](#__codelineno-1-5) LetterBox = true [](#__codelineno-1-6)};` ### Step 3: Select Appropriate Resize Algorithm[¶](#step-3-select-appropriate-resize-algorithm "Permanent link") Choose the algorithm that best fits your performance and quality requirements: `[](#__codelineno-2-1)switch (cbResizeMode.SelectedIndex) [](#__codelineno-2-2){ [](#__codelineno-2-3) case 0: VideoCapture1.Video_Resize.Mode = VideoR... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-processing/resize-crop/index.html #### Applying Real-Time Video Effects in .NET - VisioForge Help [Skip to content](#video-effects) # Video effects[¶](#video-effects "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) Video Capture SDK .Net allows you to apply various video effects to the video captured from different sources. The video effects are applied in realtime. Read the [Video Effects in .Net SDKs](../../../general/video-effects/) article to learn more about video effects in Video Capture SDK .Net. ## Required redists[¶](#required-redists "Permanent link") - Video capture redist [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) * * * Visit our [GitHub](https://github.com/visioforge/.Net-SDK-s-samples) page to get more code samples. Back to top **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-processing/video-effects/index.html #### Combining Multiple Video Streams in .NET - VisioForge Help [Skip to content](#mixing-multiple-video-streams-in-net-applications) # Mixing Multiple Video Streams in .NET Applications[¶](#mixing-multiple-video-streams-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Video Stream Mixing[¶](#introduction-to-video-stream-mixing "Permanent link") The SDK provides powerful capabilities for mixing several video streams with different resolutions and frame rates. This functionality is essential for creating professional video applications that require Picture-in-Picture effects, multi-camera views, or combined display outputs. ## Key Features of Video Mixing[¶](#key-features-of-video-mixing "Permanent link") - Combine multiple video sources in a single output - Support for different video resolutions and frame rates - Multiple layout options (horizontal, vertical, grid, custom) - Real-time position and parameter adjustments - Transparency and flip controls - Support for diverse input sources (cameras, screens, IP cameras) ## VideoCaptureCore engine[¶](#videocapturecore-engine "Permanent link") The implementation process involves three main steps: 1. Setting up the video mixing mode 2. Adding multiple video sources 3. Configuring and adjusting source parameters Let's explore each step in detail with code examples. ### Setting Video Mixing Mode[¶](#setting-video-mixing-mode "Permanent link") The SDK supports various predefined layouts as well as custom configurations. Select the appropriate mode based on your application requirements. #### Horizontal Stack Layout[¶](#horizontal-stack-layout "Permanent link") This mode arranges all video sources horizontally in a row: `[](#__codelineno-0-1)VideoCapture1.PIP_Mode = PIPMode.Horizontal;` #### Vertical Stack Layout[¶](#vertical-stack-layout "Permanent link") This mode arranges all video sources vertically in a column: `[](#__codelineno-1-1)VideoCapture1.PIP_Mode = PIPMode.... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-processing/video-mixing/index.html #### .NET Blackmagic Decklink Integration Guide - VisioForge Help [Skip to content](#integrating-blackmagic-decklink-devices-with-net-applications) # Integrating Blackmagic Decklink Devices with .NET Applications[¶](#integrating-blackmagic-decklink-devices-with-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## What Are Decklink Devices?[¶](#what-are-decklink-devices "Permanent link") Blackmagic Design's Decklink devices represent industry-standard capture and playback cards designed for professional video production environments. These high-performance hardware solutions deliver exceptional capabilities for developers integrating video capture functionality into .NET applications. Decklink cards are renowned for their superior technical specifications: - Support for high-resolution video formats including 4K, 8K, and HD - Multiple input/output connection options (SDI, HDMI) for flexible integration - Low-latency performance crucial for real-time broadcasting applications - Cross-compatibility with major video production software platforms - Developer-friendly APIs that integrate seamlessly with various programming languages For .NET developers building professional video applications, Decklink integration provides a reliable foundation for handling broadcast-quality video signal processing. ## Programmatic Device Detection[¶](#programmatic-device-detection "Permanent link") The first step in implementing Decklink functionality is proper device enumeration. The following code samples demonstrate how to detect available Decklink hardware in your .NET application. ### Enumerating Available Devices[¶](#enumerating-available-devices "Permanent link") VideoCaptureCoreVideoCaptureCoreX `[](#__codelineno-0-1)foreach (var device in (await VideoCapture1.Decklink_CaptureDevicesAsync())) [](#__codelineno-0-2){ [](#__codelineno-0-3) cbDecklinkCaptureDevice.Items.Add(device.Name); [](#__codelineno-0-4)}`... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/decklink/index.html #### DV Camcorder Integration for .NET Video Capture - VisioForge Help [Skip to content](#dv-camcorder-control-for-net-applications) # DV Camcorder Control for .NET Applications[¶](#dv-camcorder-control-for-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction to DV Camcorder Integration[¶](#introduction-to-dv-camcorder-integration "Permanent link") Digital Video (DV) camcorders remain valuable tools for high-quality video capture in professional and semi-professional environments. Integrating DV camcorder control into your .NET applications allows for programmatic device management, enabling automated workflows and enhanced user experiences. This guide provides everything you need to implement DV camcorder control in your C# applications. The VideoCaptureCore component provides a robust API for controlling DV/HDV camcorders through simple, asynchronous method calls. This functionality supports a wide range of camcorder models and can be implemented in WPF, WinForms, and console applications. ## Getting Started with DV Camcorder Control[¶](#getting-started-with-dv-camcorder-control "Permanent link") ### Prerequisites[¶](#prerequisites "Permanent link") Before implementing DV camcorder control features, ensure you have: 1. A compatible DV/HDV camcorder connected to your system 2. The Video Capture SDK .NET installed in your project 3. Proper device drivers installed on your development machine ### Initial Setup[¶](#initial-setup "Permanent link") To begin working with a DV camcorder, you must first: 1. Select the DV camcorder as your video source 2. Configure appropriate source parameters 3. Initialize the video preview or capture functionality For detailed instructions on selecting and configuring a DV camcorder as your video source, refer to our [video capture device guide](../video-capture-devices/). ## Core DV Camcorder API Methods[¶](#core-dv-camcorder-api-methods "Permanent link") The SDK provides several methods f... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/dv-camcorder-control/index.html #### Video Sources for .NET SDK - Developer Guide - VisioForge Help [Skip to content](#video-sources-for-net-developers) # Video Sources for .NET Developers[¶](#video-sources-for-net-developers "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Video Input Sources[¶](#introduction-to-video-input-sources "Permanent link") The Video Capture SDK for .NET provides robust support for virtually every standard video input source available in modern development environments. This flexibility allows developers to build applications that can capture, process, and manipulate video content from a wide variety of hardware devices and network streams. Whether you're developing professional video editing software, creating custom surveillance solutions, or building medical imaging applications, understanding the available video source options is crucial for implementing the right solution for your specific requirements. ## USB and Integrated Webcams[¶](#usb-and-integrated-webcams "Permanent link") ### Device Compatibility[¶](#device-compatibility "Permanent link") The SDK supports all standard video capture devices that comply with common driver interfaces, including: - USB webcams (USB 2.0, 3.0, and USB-C connected devices) - Integrated laptop and tablet cameras - External USB video capture adapters and dongles - Virtual camera software devices ### Implementation Features[¶](#implementation-features "Permanent link") When working with USB and integrated cameras, developers can: - Access and enumerate all connected devices - Select from available video formats and resolutions - Control camera-specific parameters (focus, exposure, white balance) - Apply real-time video processing filters - Capture raw frames for custom image analysis - Configure brightness, contrast, and color settings programmatically ## Professional Blackmagic Decklink Hardware[¶](#professional-blackmagic-decklink-hardware "Permanent link") ### Supported Models and Features[¶](#suppo... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/index.html #### IP Camera Integration for .NET Video Applications - VisioForge Help [Skip to content](#complete-guide-to-ip-cameras-and-network-sources-integration) # Complete Guide to IP Cameras and Network Sources Integration[¶](#complete-guide-to-ip-cameras-and-network-sources-integration "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introduction to Network Video Sources[¶](#introduction-to-network-video-sources "Permanent link") Modern video applications often require integration with various network video sources. The Video Capture SDK for .NET provides robust support for diverse IP camera types and network video streams, allowing developers to easily incorporate live network video into .NET applications. This comprehensive guide covers all supported network sources and provides clear implementation examples for both VideoCaptureCore and VideoCaptureCoreX frameworks. ## Supported IP Camera Types and Network Sources[¶](#supported-ip-camera-types-and-network-sources "Permanent link") The SDK offers extensive compatibility with various network video sources, including: - [ONVIF-compliant cameras](onvif/) - Industry standard for IP-based security products - [RTSP cameras](rtsp/) - Real-Time Streaming Protocol cameras - HTTP MJPEG cameras - Motion JPEG streaming over HTTP - UDP cameras and streams - User Datagram Protocol-based streams - [NDI cameras](ndi/) - Network Device Interface technology cameras - SRT servers and cameras - Secure Reliable Transport protocol - VNC servers - Virtual Network Computing for screen capture - RTMP streams - Real-Time Messaging Protocol sources - HLS streams - HTTP Live Streaming sources - HTTP video sources - Various HTTP-based video streams Each protocol offers specific advantages depending on your application requirements, from low-latency needs to high-quality video transmission. ## Universal Source Implementation for Network Protocols[¶](#universal-source-implementation-for-network-pro... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/ip-cameras/index.html #### NDI Integration for Video Capture in .NET - VisioForge Help [Skip to content](#implementing-ndi-video-sources-in-net-applications) # Implementing NDI Video Sources in .NET Applications[¶](#implementing-ndi-video-sources-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introduction to NDI Technology[¶](#introduction-to-ndi-technology "Permanent link") Network Device Interface (NDI) is a high-performance standard for IP-based production workflows, developed by NewTek. It allows video-compatible products to communicate, deliver, and receive broadcast-quality video over a standard network connection with low latency. Our SDK provides robust support for NDI sources, enabling your .NET applications to seamlessly integrate with NDI cameras and NDI-enabled software. This makes it ideal for live production environments, streaming applications, video conferencing solutions, and any system requiring high-quality network video integration. ### Prerequisites for NDI Integration[¶](#prerequisites-for-ndi-integration "Permanent link") Before implementing NDI functionality in your application, you'll need to install one of the following: - [NDI SDK](https://ndi.video/for-developers/ndi-sdk/#download) - Recommended for developers building professional applications - NDI Tools - Sufficient for basic testing and development These tools provide the necessary runtime components required for NDI communication. After installation, your system will be able to discover and connect to NDI sources on your network. ## Discovering NDI Sources on Your Network[¶](#discovering-ndi-sources-on-your-network "Permanent link") The first step in working with NDI is to enumerate available sources. Our SDK makes this process straightforward with dedicated methods to scan your network for NDI-enabled devices and applications. ### Enumerating Available NDI Sources[¶](#enumerating-available-ndi-sources "Permanent link") VideoCaptureCoreV... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/ip-cameras/ndi/index.html #### ONVIF IP Camera Integration - Complete Guide - VisioForge Help [Skip to content](#onvif-ip-camera-integration-complete-guide) # ONVIF IP Camera Integration - Complete Guide[¶](#onvif-ip-camera-integration-complete-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Table of Contents[¶](#table-of-contents "Permanent link") - [ONVIF IP Camera Integration - Complete Guide](#onvif-ip-camera-integration-complete-guide) - [Table of Contents](#table-of-contents) - [What is ONVIF?](#what-is-onvif) - [Benefits of ONVIF Integration](#benefits-of-onvif-integration) - [Camera Discovery and Enumeration](#camera-discovery-and-enumeration) - [Discovering ONVIF Cameras on Your Network](#discovering-onvif-cameras-on-your-network) - [Querying Camera Capabilities](#querying-camera-capabilities) - [Connecting to ONVIF Cameras](#connecting-to-onvif-cameras) - [Basic Connection](#basic-connection) - [Working with Media Profiles](#working-with-media-profiles) - [Video Preview](#video-preview) - [Basic Preview Setup](#basic-preview-setup) - [Low-Latency Preview](#low-latency-preview) - [PTZ (Pan-Tilt-Zoom) Control](#ptz-pan-tilt-zoom-control) - [Basic PTZ Operations](#basic-ptz-operations) - [PTZ Presets](#ptz-presets) - [Absolute Positioning](#absolute-positioning) - [Camera Actions and Capabilities](#camera-actions-and-capabilities) - [Query Camera Capabilities](#query-camera-capabilities) - [Reboot Camera](#reboot-camera) - [Get System Date and Time](#get-system-date-and-time) - [Turn Local Camera into ONVIF Source](#turn-local-camera-into-onvif-source) - [Best Practices](#best-practices) - [Connection Management](#connection-management) - [Performance Optimization](#performance-optimization) - [Network Considerations](#network-considerations) - [Security](#security) - [Error Handling](#error-handling)... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/ip-cameras/onvif/index.html #### Integrating RTSP Cameras in Video Capture SDK .Net - VisioForge Help [Skip to content](#integrating-rtsp-camera-streams-in-net-applications) # Integrating RTSP Camera Streams in .NET Applications[¶](#integrating-rtsp-camera-streams-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Setting Up Standard RTSP Camera Sources[¶](#setting-up-standard-rtsp-camera-sources "Permanent link") Implementing RTSP camera streams in your .NET applications provides flexible access to network cameras and video streams. This powerful capability allows real-time monitoring, surveillance features, and video processing directly within your application. VideoCaptureCoreVideoCaptureCoreX For additional connection options and alternative protocols, please reference our detailed [IP cameras](../) documentation which covers a wide range of camera integration approaches. `[](#__codelineno-0-1)// Create RTSP source settings object [](#__codelineno-0-2)var rtsp = await RTSPSourceSettings.CreateAsync(new Uri("url"), "login", "password", true /*capture audio?*/); [](#__codelineno-0-3)[](#__codelineno-0-4)// Set source to the VideoCaptureCoreX object [](#__codelineno-0-5)VideoCapture1.Video_Source = rtsp;` ## Optimizing for Low-Latency RTSP Streaming[¶](#optimizing-for-low-latency-rtsp-streaming "Permanent link") Low latency is critical for many real-time applications including security monitoring, interactive systems, and live broadcasting. Our SDK provides specialized configurations to minimize delay between capture and display. VideoCaptureCoreVideoCaptureCoreX Our SDK includes a dedicated mode specifically engineered for low-latency RTSP streaming. When properly configured, this mode typically achieves latency under 250 milliseconds, making it ideal for time-sensitive applications. `[](#__codelineno-1-1)// Create the source settings object. [](#__codelineno-1-2)var settings = new IPCameraSourceSettings(); [](#__codelineno-1-3)[](#__codelin... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/ip-cameras/rtsp/index.html #### Screen Capture Source for .NET Video SDK - VisioForge Help [Skip to content](#screen-capture-implementation-guide) # Screen Capture Implementation Guide[¶](#screen-capture-implementation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introduction to Screen Capture[¶](#introduction-to-screen-capture "Permanent link") Screen capture technology enables developers to programmatically record and stream visual content displayed on a computer monitor. This powerful functionality serves as the foundation for numerous applications including: - Remote support and technical assistance tools - Software demonstration and tutorial creation - Gameplay recording and streaming - Webinar and presentation systems - Quality assurance and testing automation Video Capture SDK .Net provides developers with robust tools for capturing screen content with high performance and flexibility. The SDK supports capturing entire screens, individual application windows, or custom-defined screen regions. ## Platform Support and Technology Overview[¶](#platform-support-and-technology-overview "Permanent link") ### Windows Implementation[¶](#windows-implementation "Permanent link") On Windows platforms, the SDK leverages the power of DirectX technologies to achieve optimal performance. Developers can choose between: - **DirectX 9**: Legacy support for older systems - **DirectX 11/12**: Modern implementation offering superior performance and efficiency DirectX 11 is particularly recommended for window capture scenarios due to its improved handling of window composition and superior performance characteristics. VideoCaptureCoreVideoCaptureCoreX ### Core Capture Configuration[¶](#core-capture-configuration "Permanent link") The VideoCaptureCore implementation provides straightforward configuration options to control the capture process: - `AllowCaptureMouseCursor`: Enable or disable cursor visibility in the captured content - `Di... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/screen/index.html #### FM Radio & TV Tuning Integration in .NET SDK - VisioForge Help [Skip to content](#fm-radio-and-tv-tuning-integration-for-net-applications) # FM Radio and TV Tuning Integration for .NET Applications[¶](#fm-radio-and-tv-tuning-integration-for-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction to Broadcast Integration[¶](#introduction-to-broadcast-integration "Permanent link") Modern .NET applications can leverage hardware capabilities to provide FM radio and TV tuning functionality. This guide demonstrates how to implement these features in your C# applications, whether you're building WPF, WinForms, or console applications. By following these examples, you'll be able to detect available tuner devices, scan frequencies, manage channels, and deliver a complete broadcast experience to your users. ## Hardware Requirements[¶](#hardware-requirements "Permanent link") Before implementing the code samples below, ensure your development system has: 1. A compatible TV tuner card or USB device 2. Proper driver installation 3. .NET Framework 4.7+ or .NET Core 3.1+/NET 5.0+ for modern applications ## Detecting Available Tuner Devices[¶](#detecting-available-tuner-devices "Permanent link") The first step in implementing tuner functionality is to detect all available tuner devices on the system. This allows users to select the appropriate hardware for their needs. `[](#__codelineno-0-1)// Populate a combobox with all available TV Tuner devices [](#__codelineno-0-2)foreach (var tunerDevice in VideoCapture1.TVTuner_Devices) [](#__codelineno-0-3){ [](#__codelineno-0-4) cbTVTuner.Items.Add(tunerDevice); [](#__codelineno-0-5)}` You can then let users select their preferred device from the populated list, or automatically select the first available device for a streamlined experience. ## Configuration Basics[¶](#configuration-basics "Permanent link") ### TV Format Selection[¶](#tv-format-selection "Permanent link") Different region... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/tv-tuner/index.html #### USB3 Vision, GigE & GenICam Integration Guide - VisioForge Help [Skip to content](#usb3-vision-gige-and-genicam-camera-integration) # USB3 Vision, GigE, and GenICam Camera Integration[¶](#usb3-vision-gige-and-genicam-camera-integration "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) ## Overview[¶](#overview "Permanent link") Industrial cameras using USB3 Vision, GigE Vision, and GenICam standards provide superior image quality and performance for machine vision applications. Our SDK enables seamless integration with these professional camera types through various connectivity options. ## GigE Vision Protocol[¶](#gige-vision-protocol "Permanent link") GigE Vision is an industrial camera interface standard based on Gigabit Ethernet technology. It offers several advantages for machine vision applications: - **High-speed data transfer**: Supports up to 1 Gbps on standard GigE networks and 10+ Gbps on modern 10GigE networks - **Long cable length**: Can operate at distances up to 100 meters using standard Ethernet cabling - **Network architecture**: Multiple cameras can share the same network infrastructure - **Power over Ethernet (PoE)**: Cameras can receive power through the same Ethernet cable (when using PoE-enabled switches) - **Device discovery**: Automatic detection of GigE Vision cameras on the network - **Multicast capabilities**: Allows streaming to multiple clients simultaneously GigE Vision combines the GenICam programming interface with GigE transport layer, providing consistent command structures across different manufacturers' cameras. ## USB3 Vision Protocol[¶](#usb3-vision-protocol "Permanent link") USB3 Vision is a camera interface standard that leverages the high-speed USB 3.0 interface for industrial imaging applications: - **High bandwidth**: Up to 5 Gbps theoretical transfer rate, enabling high resolution and frame rates - **Plug-and-play**: Simple connectivity without specialized interface cards - **Hot-swappable*... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/usb3v-gige-genicam/index.html #### Advanced Camera Control & PTZ for .NET SDK - VisioForge Help [Skip to content](#advanced-camera-control-and-ptz-implementation) # Advanced Camera Control and PTZ Implementation[¶](#advanced-camera-control-and-ptz-implementation "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Overview of Camera Control Capabilities[¶](#overview-of-camera-control-capabilities "Permanent link") The Camera Control API provides developers with direct access to manipulate various camera parameters when working with compatible devices. Depending on your camera hardware specifications, you can programmatically control the following features: - **Pan** - Horizontal movement control - **Tilt** - Vertical movement control - **Roll** - Rotational movement along the lens axis - **Zoom** - Magnification level adjustment - **Exposure** - Light sensitivity settings - **Iris** - Aperture control for light admission - **Focus** - Image clarity and sharpness adjustment **Important Note:** The Camera Control API requires an active camera preview or capture session to function properly. You must start the preview or capture before attempting to access control features. ## Implementation Guide with Examples[¶](#implementation-guide-with-examples "Permanent link") Below you'll find practical implementation patterns that demonstrate how to integrate camera control features in your .NET applications. ### Interface Components[¶](#interface-components "Permanent link") For optimal user interaction, consider implementing the following UI elements: - Slider controls for parameter adjustment - Checkboxes for toggling auto/manual modes - Labels for displaying current, minimum, and maximum values You can reference the Main Demo source code for a complete implementation example. ### Step 1: Reading Camera Parameter Capabilities[¶](#step-1-reading-camera-parameter-capabilities "Permanent link") First, query the camera to determine the supported ranges and default values... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/video-capture-devices/camera-control-ptz/index.html #### Configure Device Input Connections with Crossbar API - VisioForge Help [Skip to content](#configuring-multiple-hardware-video-inputs-with-crossbar) # Configuring Multiple Hardware Video Inputs with Crossbar[¶](#configuring-multiple-hardware-video-inputs-with-crossbar "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction to Crossbar Functionality[¶](#introduction-to-crossbar-functionality "Permanent link") Many professional video capture devices such as TV tuners, capture cards, and video acquisition hardware feature multiple physical input connections. These devices might include various input types like: - Analog video inputs (Composite, S-Video) - Digital video inputs (HDMI, DisplayPort) - Professional video inputs (SDI, HD-SDI) - Television tuner inputs (RF, Cable) The crossbar interface allows your application to programmatically select between these different hardware inputs and route the signals appropriately. ## Implementation Guide[¶](#implementation-guide "Permanent link") ### Step 1: Initialize Crossbar Interface[¶](#step-1-initialize-crossbar-interface "Permanent link") First, you need to initialize the crossbar interface for your video capture device. This establishes the connection to the hardware's input selection capabilities. `[](#__codelineno-0-1)// Initialize the crossbar interface and check if crossbar functionality exists [](#__codelineno-0-2)var crossBarFound = VideoCapture1.Video_CaptureDevice_CrossBar_Init(); [](#__codelineno-0-3)[](#__codelineno-0-4)// If crossBarFound is true, the device supports multiple inputs that can be configured` ### Step 2: Discover Available Input Options[¶](#step-2-discover-available-input-options "Permanent link") After initializing, you can retrieve all available inputs that can be connected to the specified output (typically "Video Decoder"). `[](#__codelineno-1-1)// Clear any existing crossbar connection settings [](#__codelineno-1-2)VideoCapture1.Video_CaptureDevice_CrossBar_ClearC... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/video-capture-devices/crossbar/index.html #### Enable Camera Light on Windows 10+ Tablet Devices - VisioForge Help [Skip to content](#enabling-camera-light-on-windows-10-tablets) # Enabling Camera Light on Windows 10+ Tablets[¶](#enabling-camera-light-on-windows-10-tablets "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction[¶](#introduction "Permanent link") Modern Windows 10+ tablets come equipped with camera light functionality that developers can control programmatically. This guide explains how to implement camera light controls in your .NET applications using the TorchControl API. ## Implementation with TorchControl API[¶](#implementation-with-torchcontrol-api "Permanent link") The TorchControl API provides a comprehensive way to manage camera lights on Windows 10+ tablets. This API offers: - Device discovery for torch-compatible cameras - Granular control for enabling and disabling camera lights - Cross-device compatibility ### Basic Implementation Steps[¶](#basic-implementation-steps "Permanent link") 1. Initialize the VideoCaptureCore component 2. Get available devices with torch capabilities 3. Enable or disable torch functionality for specific devices ## Working Code Example[¶](#working-code-example "Permanent link") `[](#__codelineno-0-1)// Initialize VideoCaptureCore [](#__codelineno-0-2)VideoCaptureCore videoCapture = await VideoCaptureCore.CreateAsync(); [](#__codelineno-0-3)[](#__codelineno-0-4)// Get available devices with torch capability [](#__codelineno-0-5)string[] devices = await videoCapture.TorchControl_GetDevicesAsync(); [](#__codelineno-0-6)[](#__codelineno-0-7)// Enable torch for the first available device [](#__codelineno-0-8)if (devices.Length > 0) [](#__codelineno-0-9){ [](#__codelineno-0-10) await videoCapture.TorchControl_EnableAsync(devices[0], true); [](#__codelineno-0-11)} [](#__codelineno-0-12)[](#__codelineno-0-13)// Disable torch when needed [](#__codelineno-0-14)await videoCapture.TorchControl_EnableAsync(devices[0], false);` ## Comp... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/video-capture-devices/enable-camera-light/index.html #### Manage Video Capture Devices in .NET Applications - VisioForge Help [Skip to content](#working-with-video-capture-devices-in-net) # Working with Video Capture Devices in .NET[¶](#working-with-video-capture-devices-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introduction to Video Device Management[¶](#introduction-to-video-device-management "Permanent link") The Video Capture SDK .Net provides robust support for any video capture device recognized by your operating system. This guide demonstrates how to discover available devices, inspect their capabilities, and integrate them into your applications. ## Enumerating Available Video Capture Devices[¶](#enumerating-available-video-capture-devices "Permanent link") Before you can use a capture device, you need to identify which ones are connected to the system. The following code examples show how to retrieve a list of available devices and display them in a user interface component: VideoCaptureCoreVideoCaptureCoreX `[](#__codelineno-0-1)// Iterate through all available video capture devices connected to the system [](#__codelineno-0-2)foreach (var device in VideoCapture1.Video_CaptureDevices()) [](#__codelineno-0-3){ [](#__codelineno-0-4) // Add each device name to a dropdown selection control [](#__codelineno-0-5) cbVideoInputDevice.Items.Add(device.Name); [](#__codelineno-0-6)}` `[](#__codelineno-1-1)// Asynchronously retrieve all video sources using the shared DeviceEnumerator [](#__codelineno-1-2)var devices = DeviceEnumerator.Shared.VideoSourcesAsync(); [](#__codelineno-1-3)[](#__codelineno-1-4)// Iterate through each available device [](#__codelineno-1-5)foreach (var device in await devices) [](#__codelineno-1-6){ [](#__codelineno-1-7) // Add the device's friendly name to the dropdown selection control [](#__codelineno-1-8) cbVideoInputDevice.Items.Add(device.DisplayName); [](#__codelineno-1-9)}` ## Discovering Video Format Capabilities[¶]... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/video-capture-devices/enumerate-and-select/index.html #### Using Video Capture Devices in .NET Applications - VisioForge Help [Skip to content](#integrating-video-capture-devices-in-net-applications) # Integrating Video Capture Devices in .NET Applications[¶](#integrating-video-capture-devices-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Getting Started with Video Capture Devices[¶](#getting-started-with-video-capture-devices "Permanent link") Integrating video capture functionality into your .NET applications requires understanding several key concepts and implementation techniques. This guide walks you through the essential components needed for successful device integration. ## Core Device Management Features[¶](#core-device-management-features "Permanent link") ### Device Discovery and Selection[¶](#device-discovery-and-selection "Permanent link") - [**Enumerate devices and select**](enumerate-and-select/) - Learn techniques for scanning available hardware, listing compatible devices, and implementing selection logic in your application. ### Advanced Camera Controls[¶](#advanced-camera-controls "Permanent link") - [**Camera control and PTZ**](camera-control-ptz/) - Implement pan-tilt-zoom functionality and other advanced camera movement controls for precision video capture. ### Video Quality Management[¶](#video-quality-management "Permanent link") - [**Video adjustments**](video-adjustments/) - Adjust brightness, contrast, saturation and other visual parameters to optimize video quality programmatically. ### Hardware Light Control[¶](#hardware-light-control "Permanent link") - [**Enable camera light**](enable-camera-light/) - Control integrated lighting systems on compatible camera hardware through your application code. ### Input Configuration[¶](#input-configuration "Permanent link") - [**Select device input (configure crossbar)**](crossbar/) - Configure input sources and manage signal routing for devices with multiple input capabilities. ## Implementation Resources[¶](#implementation... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/video-capture-devices/index.html #### Mastering Camera Image Controls in .NET - VisioForge Help [Skip to content](#mastering-camera-image-controls-in-net-applications) # Mastering Camera Image Controls in .NET Applications[¶](#mastering-camera-image-controls-in-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introduction to Camera Hardware Adjustments[¶](#introduction-to-camera-hardware-adjustments "Permanent link") When developing applications that utilize webcams or other video capture devices, having precise control over image quality parameters is essential for creating professional-grade software. The `VideoHardwareAdjustment` class provides developers with powerful tools to programmatically adjust camera settings such as brightness, contrast, hue, saturation, sharpness, gamma, and more. ## Supported Hardware Adjustment Properties[¶](#supported-hardware-adjustment-properties "Permanent link") The SDK supports numerous adjustment properties including: - Brightness - Contrast - Hue - Saturation - Sharpness - Gamma - White Balance - Backlight Compensation - Gain - Exposure Note that not all cameras support every property. The SDK will gracefully ignore any property not supported by the specific camera hardware you're using. ## Working with Camera Adjustments[¶](#working-with-camera-adjustments "Permanent link") ### Getting Property Value Ranges[¶](#getting-property-value-ranges "Permanent link") Before setting adjustment values, it's important to understand the valid range for each property. Use the `Video_CaptureDevice_VideoAdjust_GetRangesAsync` method to retrieve the minimum, maximum, default values, and step size for any adjustment property: `[](#__codelineno-0-1)// Retrieve the valid range of values for the brightness property [](#__codelineno-0-2)// This helps understand the boundaries within which you can adjust settings [](#__codelineno-0-3)var brightnessRange = await VideoCapture1.Video_CaptureDevice_VideoAdjust_GetRangesAsync(Vi... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-sources/video-capture-devices/video-adjustments/index.html #### Webcam Frame Capture & Preview in C# - VisioForge Help [Skip to content](#implementing-webcam-video-preview-with-frame-capture-in-c) # Implementing Webcam Video Preview with Frame Capture in C[¶](#implementing-webcam-video-preview-with-frame-capture-in-c "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Overview[¶](#overview "Permanent link") This tutorial demonstrates how to create a professional webcam video preview application with the ability to capture individual frames as images. This functionality is essential for developing applications that require image analysis, snapshot capabilities, or custom camera interfaces. ## Step-by-Step Video Tutorial[¶](#step-by-step-video-tutorial "Permanent link") Watch our detailed video walkthrough that covers all aspects of webcam integration: ## Getting Started[¶](#getting-started "Permanent link") Before diving into the code, you'll need to set up your development environment with the necessary dependencies. The complete source code is available on GitHub for reference: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/video-preview-webcam-frame-capture) ## Implementation Guide[¶](#implementation-guide "Permanent link") ### Required Dependencies[¶](#required-dependencies "Permanent link") First, ensure you have the following NuGet packages installed: - Video capture redist [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) ### Source Code Example[¶](#source-code-example "Permanent link") The following C# implementation demonstrates how to: 1. Initialize a video capture component 2. Connect to a webcam device 3. Display real-time video preview 4. Capture and save individual frames as JPEG images `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/camera-video-preview/index.html #### Video Capture SDK .Net Video Tutorials - VisioForge Help [Skip to content](#net-video-capture-tutorials-with-source-code-examples) # .NET Video Capture Tutorials with Source Code Examples[¶](#net-video-capture-tutorials-with-source-code-examples "Permanent link") Are you looking to implement professional-grade video capture capabilities in your .NET applications? These tutorials provide step-by-step guidance with fully functional code samples to integrate various video capture scenarios into your projects. ## IP Camera Integration Tutorials[¶](#ip-camera-integration-tutorials "Permanent link") Connecting to IP cameras allows you to incorporate security feeds, remote monitoring, and surveillance functionality into your applications. - [**IP Camera to MP4 Recording Guide**](ip-camera-capture-mp4/) - Learn how to connect to IP cameras and record high-quality MP4 files with H.264 compression - [**IP Camera Live Preview Implementation**](ip-camera-preview/) - Discover how to display real-time IP camera feeds in your application with customizable frame rates Our tutorials cover RTSP, HTTP, and ONVIF protocols for connecting to a wide range of IP camera models from major manufacturers. ## Screen Recording Tutorials[¶](#screen-recording-tutorials "Permanent link") Capture your desktop, application windows, or specific screen regions with pixel-perfect accuracy. Ideal for creating tutorials, demos, or remote assistance tools. - [**Screen Capture to AVI Format**](screen-capture-avi/) - Implement full-screen or region capture to industry-standard AVI format with configurable codecs - [**Screen Recording to MP4 Files**](screen-capture-mp4/) - Create efficient MP4 recordings from desktop activity with adjustable quality settings - [**Screen Capture with WMV Output**](screen-capture-wmv/) - Utilize WMV format for optimized file size screen recordings and compatibility Learn to capture mouse movements, clicks, and keyboard activity alongside your screen recordings for comprehensive demonstrations. ## Webcam Captu... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/index.html #### IP Camera Streaming to MP4 Files in .NET C# - VisioForge Help [Skip to content](#capturing-ip-camera-streams-to-mp4-files-in-net) # Capturing IP Camera Streams to MP4 Files in .NET[¶](#capturing-ip-camera-streams-to-mp4-files-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to IP Camera Recording[¶](#introduction-to-ip-camera-recording "Permanent link") IP cameras provide powerful surveillance and monitoring capabilities through network connections. This guide demonstrates how to leverage these devices in .NET applications to capture and save video streams to MP4 files. Using modern C# coding practices, you'll learn how to establish connections to IP cameras, configure video streams, and save high-quality recordings for various applications including security systems, monitoring solutions, and video archiving tools. ## Video Implementation Tutorial[¶](#video-implementation-tutorial "Permanent link") The following video walks through the complete implementation process: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/ip-camera-capture-mp4) ## Step-by-Step Implementation Guide[¶](#step-by-step-implementation-guide "Permanent link") This guide demonstrates how to establish connections to IP cameras, stream their video content, and encode it directly to MP4 files using the VideoCaptureCoreX component. The implementation supports multiple camera protocols including RTSP, HTTP, and ONVIF. ### Code Implementation[¶](#code-implementation "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.IO; [](#__codelineno-0-7)using System.Linq; [](#__codelineno-0-8)using System.Text; [](#__codelineno-0-9)using System.Threading.Tasks; [](#__codelineno-0-10)using System.Windows.... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/ip-camera-capture-mp4/index.html #### IP Camera Preview in .NET - Setup Guide - VisioForge Help [Skip to content](#ip-camera-preview-implementation-guide) # IP Camera Preview Implementation Guide[¶](#ip-camera-preview-implementation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Video Walkthrough[¶](#video-walkthrough "Permanent link") This tutorial demonstrates how to set up IP camera preview functionality in your .NET applications: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/ip-camera-preview) ## Required Redistributables[¶](#required-redistributables "Permanent link") Before you begin, ensure you have the following packages installed: - Video capture redist [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) - LAV redist [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.LAV.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.LAV.x64/) ## Implementation Example[¶](#implementation-example "Permanent link") Below is a complete WinForms example showing how to integrate IP camera preview functionality: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.Linq; [](#__codelineno-0-7)using System.Text; [](#__codelineno-0-8)using System.Threading.Tasks; [](#__codelineno-0-9)using System.Windows.Forms; [](#__codelineno-0-10)[](#__codelineno-0-11)using VisioForge.Core.VideoCapture; [](#__codelineno-0-12)using VisioForge.Core.Types; [](#__codelineno-0-13)using VisioForge.Core.Types.Output; [](#__codelineno-0-14)using VisioForge.Core.Types.VideoCapture; [](#__codelineno-0-15)[](#__codelineno-0-16)namespace ip_camera_preview [](#__codelineno-0-17){ [](#__codelinen... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/ip-camera-preview/index.html #### Screen Capture to AVI - C# Tutorial for Developers - VisioForge Help [Skip to content](#c-screen-capture-to-avi-implementation-guide) # C# Screen Capture to AVI Implementation Guide[¶](#c-screen-capture-to-avi-implementation-guide "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Video Tutorial Walkthrough[¶](#video-tutorial-walkthrough "Permanent link") Watch our detailed tutorial that demonstrates the implementation process: ## Source Code Repository[¶](#source-code-repository "Permanent link") Access the complete source code for this tutorial: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/screen-capture-avi) ## Implementation Code Sample[¶](#implementation-code-sample "Permanent link") Below is the complete C# code implementation for capturing your screen to an AVI file: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.IO; [](#__codelineno-0-7)using System.Linq; [](#__codelineno-0-8)using System.Text; [](#__codelineno-0-9)using System.Threading.Tasks; [](#__codelineno-0-10)using System.Windows.Forms; [](#__codelineno-0-11)using VisioForge.Core.VideoCapture; [](#__codelineno-0-12)using VisioForge.Core.Types; [](#__codelineno-0-13)using VisioForge.Core.Types.Output; [](#__codelineno-0-14)using VisioForge.Core.Types.VideoCapture; [](#__codelineno-0-15)[](#__codelineno-0-16)namespace screen_capture_avi [](#__codelineno-0-17){ [](#__codelineno-0-18) public partial class Form1 : Form [](#__codelineno-0-19) { [](#__codelineno-0-20) private VideoCaptureCore videoCapture1; [](#__codelineno-0-21) [](#__codelineno-0-22) public Form1() [](#__codelineno-0-23) { [](#__codelineno-0-24) InitializeComponent(); [](#__codelineno-0... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/screen-capture-avi/index.html #### Screen Capture to MP4 with .NET | C# Video Recording - VisioForge Help [Skip to content](#screen-capture-to-mp4-file) # Screen capture to MP4 file[¶](#screen-capture-to-mp4-file "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## YouTube tutorial[¶](#youtube-tutorial "Permanent link") [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/screen-capture-mp4) ## Required redists[¶](#required-redists "Permanent link") - Video capture redist [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) - MP4 redist [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.MP4.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.MP4.x64/) ## Code Example[¶](#code-example "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.IO; [](#__codelineno-0-3)using System.Windows.Forms; [](#__codelineno-0-4)using VisioForge.Core.VideoCapture; [](#__codelineno-0-5)using VisioForge.Core.Types; [](#__codelineno-0-6)using VisioForge.Core.Types.Output; [](#__codelineno-0-7)using VisioForge.Core.Types.VideoCapture; [](#__codelineno-0-8)[](#__codelineno-0-9)namespace screen_capture_mp4 [](#__codelineno-0-10){ [](#__codelineno-0-11) public partial class Form1 : Form [](#__codelineno-0-12) { [](#__codelineno-0-13) // Main VideoCapture component that handles all recording operations [](#__codelineno-0-14) private VideoCaptureCore videoCapture1; [](#__codelineno-0-15) [](#__codelineno-0-16) public Form1() [](#__codelineno-0-17) { [](#__codelineno-0-18) InitializeComponent(); [](#__codelineno-0-19) } [](#__codelineno-0-20) [](#__codelineno-0-21) /// [](#__codelineno-0-22) /// Starts screen recording with audio from the default de... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/screen-capture-mp4/index.html #### C# Screen Recording to WMV - .NET Implementation - VisioForge Help [Skip to content](#implementing-screen-recording-to-wmv-in-c-net-applications) # Implementing Screen Recording to WMV in C# .NET Applications[¶](#implementing-screen-recording-to-wmv-in-c-net-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Video Tutorial Walkthrough[¶](#video-tutorial-walkthrough "Permanent link") Watch our detailed video walkthrough that demonstrates each step of the implementation process: ## Source Code Repository[¶](#source-code-repository "Permanent link") Access the complete source code for this tutorial on our GitHub repository: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/screen-capture-wmv) ## Required Dependencies[¶](#required-dependencies "Permanent link") Before you begin, ensure you have installed the necessary redistributable packages: - Video capture redistributables: - [x86 package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) - [x64 package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) ## Essential C# Implementation Code[¶](#essential-c-implementation-code "Permanent link") The following code snippet demonstrates how to create a basic screen recording application that captures your screen to a WMV file: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.IO; [](#__codelineno-0-7)using System.Linq; [](#__codelineno-0-8)using System.Text; [](#__codelineno-0-9)using System.Threading.Tasks; [](#__codelineno-0-10)using System.Windows.Forms; [](#__codelineno-0-11)using VisioForge.Core.VideoCapture; [](#__codelineno-0-12)using VisioForge.Core.Types; [](#__codelineno-0-13)using VisioForge.Core.Types.Output; [](#__... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/screen-capture-wmv/index.html #### Webcam to AVI Recording in .NET C# Applications - VisioForge Help [Skip to content](#webcam-to-avi-file-recording-in-net-c-applications) # Webcam to AVI File Recording in .NET C# Applications[¶](#webcam-to-avi-file-recording-in-net-c-applications "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Overview[¶](#overview "Permanent link") This tutorial demonstrates how to capture video from a webcam and save it directly to an AVI file format in your .NET applications. The implementation uses asynchronous programming techniques for smooth UI responsiveness and provides a clean architecture approach suitable for professional software development. ## Video Walkthrough[¶](#video-walkthrough "Permanent link") Watch our detailed video tutorial covering the implementation process: ## Source Code Repository[¶](#source-code-repository "Permanent link") Access the complete source code from our official GitHub repository: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/video-capture-webcam-avi) ## Required Dependencies[¶](#required-dependencies "Permanent link") Before implementing this solution, ensure you have installed the necessary dependencies: - Video capture redistributables: - [x86 Version](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) - [x64 Version](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) ## Implementation Details[¶](#implementation-details "Permanent link") ### Prerequisites[¶](#prerequisites "Permanent link") Before starting, make sure you have: - Visual Studio with .NET development tools - A webcam connected to your development machine - Basic understanding of Windows Forms applications ### Code Implementation[¶](#code-implementation "Permanent link") The following example demonstrates a complete implementation for webcam capture to AVI file: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using Syste... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/video-capture-camera-avi/index.html #### Webcam to MP4 Recording in .NET - C# Tutorial - VisioForge Help [Skip to content](#webcam-to-mp4-video-capture-implementation-in-net) # Webcam to MP4 Video Capture Implementation in .NET[¶](#webcam-to-mp4-video-capture-implementation-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introduction to Webcam Capture in .NET Applications[¶](#introduction-to-webcam-capture-in-net-applications "Permanent link") Creating applications that record video from webcams to MP4 files is a common requirement for many software projects. This tutorial provides a developer-focused approach to implementing this functionality using modern .NET techniques and the Video Capture SDK. When implementing webcam recording capabilities, developers need to consider: - Selecting the appropriate video and audio input devices - Configuring video and audio compression settings - Managing the capture lifecycle (initialization, start, stop) - Handling output file creation and management ## Video Implementation Tutorial[¶](#video-implementation-tutorial "Permanent link") The following video demonstrates the complete process of setting up a webcam capture application: ## Source Code Repository[¶](#source-code-repository "Permanent link") For developers who prefer to examine the complete implementation, all source code is available in our GitHub repository: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/video-capture-webcam-mp4) ## Required Redistributable Components[¶](#required-redistributable-components "Permanent link") Before implementing the solution, ensure you have installed the necessary redistributable packages: ### Video Capture Components[¶](#video-capture-components "Permanent link") - For 32-bit applications: [x86 Video Capture Redist](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) - For 64-bit applications: [x64 Video Capture Redist](https://www.nuget.org/packages/... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/video-capture-webcam-mp4/index.html #### Webcam to WMV Capture in .NET | Video SDK Tutorial - VisioForge Help [Skip to content](#webcam-video-capture-to-wmv-format-in-net) # Webcam Video Capture to WMV Format in .NET[¶](#webcam-video-capture-to-wmv-format-in-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Video Implementation Tutorial[¶](#video-implementation-tutorial "Permanent link") This tutorial demonstrates how to create a Windows Forms application that captures video from a webcam and saves it in WMV format using the Video Capture SDK .NET. The example below provides a complete walkthrough with fully commented source code. ## Source Code Access[¶](#source-code-access "Permanent link") Access the complete project with all source files and additional examples on our GitHub repository: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/video-capture-webcam-wmv) ## Required Dependencies[¶](#required-dependencies "Permanent link") Before implementing the code, ensure you have installed the necessary redistributable packages via NuGet: - **Video Capture Redistributables:** - [x86 Package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) - [x64 Package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) ## Implementation Steps[¶](#implementation-steps "Permanent link") The following sections outline the key steps to implement webcam capture functionality in your .NET application. ### Setup Project Structure[¶](#setup-project-structure "Permanent link") First, create a Windows Forms application and add the SDK references through NuGet. Then implement the form with necessary controls including a video preview area and start/stop buttons. ### C# Implementation Code[¶](#c-implementation-code "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.IO; [](#__codelineno-0-3)using System.Windows.Forms; [](#__codelineno-0-4)using VisioForge.Core.Vid... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/video-capture-webcam-wmv/index.html #### Add Text Overlay to Webcam Video in C# .NET - VisioForge Help [Skip to content](#adding-text-overlays-to-webcam-video-capture-in-c-net) # Adding Text Overlays to Webcam Video Capture in C# .NET[¶](#adding-text-overlays-to-webcam-video-capture-in-c-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Video Tutorial Walkthrough[¶](#video-tutorial-walkthrough "Permanent link") The following video demonstrates the process of capturing video from a webcam and adding text overlays using C# and .NET: ## Source Code Access[¶](#source-code-access "Permanent link") Access the complete source code for this implementation on our GitHub repository: [Source code on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/video-capture-text-overlay) ## Required Dependencies[¶](#required-dependencies "Permanent link") To implement this functionality in your application, you'll need to install the following NuGet packages: - **Video Capture Dependencies:** - [x86 version](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) - [x64 version](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) - **MP4 Processing Dependencies:** - [x86 version](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.MP4.x86/) - [x64 version](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.MP4.x64/) ## Implementation Overview[¶](#implementation-overview "Permanent link") This tutorial demonstrates how to: - Access and capture video from a connected webcam - Process the video stream in real-time - Add customizable text overlays with color and positioning - Save the captured video with text overlay to an MP4 file The implementation uses Windows Forms for the user interface, but the core capture and text overlay functionality works with any .NET UI framework. ## Complete C# Implementation[¶](#complete-c-implementation "Permanent link") The following code sample d... **URL**: https://www.visioforge.com/help/docs/dotnet/videocapture/video-tutorials/webcam-capture-text-overlay/index.html #### Adding Image Overlays to Video in .NET SDK - VisioForge Help [Skip to content](#adding-image-overlays-to-videos-in-net) # Adding Image Overlays to Videos in .NET[¶](#adding-image-overlays-to-videos-in-net "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCoreX](#) ## Introduction to Image Overlays[¶](#introduction-to-image-overlays "Permanent link") Our .NET SDK provides powerful functionality for adding image overlays to your video projects. With this feature, developers can seamlessly integrate logos, watermarks, graphics, and other visual elements into video content. The SDK offers extensive customization options including precise positioning, transparency adjustment, and timing control. ## Supported Image File Formats[¶](#supported-image-file-formats "Permanent link") The SDK is compatible with all standard image formats used in professional video production: - BMP (Bitmap) - GIF (Graphics Interchange Format) - JPEG/JPG (Joint Photographic Experts Group) - PNG (Portable Network Graphics) - TIFF (Tagged Image File Format) ## Implementation Guide[¶](#implementation-guide "Permanent link") Below you'll find detailed code examples demonstrating how to implement image overlays in your video processing applications using our SDK. ### Using the VideoEditCoreX Engine[¶](#using-the-videoeditcorex-engine "Permanent link") The following code sample demonstrates how to add an image overlay with custom positioning, transparency, and timing using the VideoEditCoreX engine: `[](#__codelineno-0-1)// add an image overlay to a video source effects from PNG file [](#__codelineno-0-2)var imageOverlay = new ImageOverlayVideoEffect("logo.png"); [](#__codelineno-0-3)[](#__codelineno-0-4)// set position [](#__codelineno-0-5)imageOverlay.X = 50; [](#__codelineno-0-6)imageOverlay.Y = 50; [](#__codelineno-0-7)[](#__codelineno-0-8)// set alpha [](#__codelineno-0-9)imageOverlay.Alpha = 0.5; [](#__codelineno-0-10)[](#__codelineno-0-11)// set start time and stop time [](#__codeline... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/add-image-overlay/index.html #### Adding Professional Text Overlays to Videos in .NET - VisioForge Help [Skip to content](#implementing-text-overlays-in-video-projects) # Implementing Text Overlays in Video Projects[¶](#implementing-text-overlays-in-video-projects "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCoreX](#) ## Introduction to Text Overlays[¶](#introduction-to-text-overlays "Permanent link") Text overlays are essential components in professional video editing. They allow you to add titles, subtitles, watermarks, captions, and other important text elements to your videos. With the Video Edit SDK for .NET, you can create sophisticated text overlays with precise control over appearance, positioning, and timing. ## Key Features and Capabilities[¶](#key-features-and-capabilities "Permanent link") The SDK provides extensive customization options for text overlays, including: - Custom font selection from system-installed fonts - Complete control over font size, weight, and style - Flexible color options for both text and background - Precise positioning with multiple alignment options - Timing control to set when text appears and disappears - Transparency and opacity settings ## Implementation Example[¶](#implementation-example "Permanent link") The following code demonstrates how to create and configure a text overlay in your .NET application: `[](#__codelineno-0-1)// Initialize the VideoEditCoreX object (assumed to be already created) [](#__codelineno-0-2)// var videoEdit = new VideoEditCoreX(); [](#__codelineno-0-3)[](#__codelineno-0-4)// Create a new text overlay object with your desired text [](#__codelineno-0-5)var textOverlay = new VisioForge.Core.Types.X.VideoEdit.TextOverlay("Hello world!"); [](#__codelineno-0-6)[](#__codelineno-0-7)// Set when the text should appear and for how long [](#__codelineno-0-8)// This example: text appears 2 seconds into the video and stays for 5 seconds [](#__codelineno-0-9)textOverlay.Start = TimeSpan.FromMilliseconds(2000); [](#__codelineno-0-10)text... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/add-text-overlay/index.html #### Working with Multiple Audio Streams in Video Files - VisioForge Help [Skip to content](#working-with-multiple-audio-streams-in-video-files) # Working with Multiple Audio Streams in Video Files[¶](#working-with-multiple-audio-streams-in-video-files "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introduction to Multiple Audio Streams[¶](#introduction-to-multiple-audio-streams "Permanent link") Video files commonly contain multiple audio streams to support different languages, commentary tracks, or audio qualities. For developers building video editing or processing applications, properly handling these multiple streams is essential for creating professional-grade software. This guide explores the technical challenges and solutions for working with multi-audio stream video files in .NET applications. Multiple audio streams serve several important purposes in video applications: - **Multilingual support**: Providing audio tracks in different languages - **Commentary tracks**: Including director's commentary or alternative narration - **Audio quality variations**: Offering different bitrates or formats (stereo/surround) - **Special audio channels**: Supporting descriptive audio for accessibility ## Technical Background on Audio Stream Handling[¶](#technical-background-on-audio-stream-handling "Permanent link") ### Understanding DirectShow Architecture[¶](#understanding-directshow-architecture "Permanent link") When working with video files containing multiple audio streams, it's crucial to understand how the underlying DirectShow architecture processes these streams. DirectShow uses a filter graph architecture where each component (filter) processes specific aspects of media data. The Video Edit SDK leverages DirectShow Editing Services (DES) engine for media processing, which comes with specific limitations and capabilities regarding multiple audio stream handling. These limitations stem from how DES interacts with different types of splitter filters. ###... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/adding-video-file-with-multiple-audio-streams/index.html #### Audio Volume Envelope Effects for .NET Video Editing - VisioForge Help [Skip to content](#implementing-audio-volume-envelope-effects-in-net) # Implementing Audio Volume Envelope Effects in .NET[¶](#implementing-audio-volume-envelope-effects-in-net "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) Audio volume envelopes are essential tools for professional video production, allowing developers to precisely control audio levels throughout a timeline. This tutorial demonstrates how to implement these effects in your .NET applications. ## What is an Audio Volume Envelope?[¶](#what-is-an-audio-volume-envelope "Permanent link") An audio volume envelope lets you adjust the volume levels of your audio track. Rather than manually adjusting volume throughout the editing process, envelopes provide a programmatic way to set consistent volume levels. This is particularly useful when working with multiple audio tracks that need to maintain specific volume relationships. ## Implementation Overview[¶](#implementation-overview "Permanent link") The implementation process involves three key steps: 1. Creating an audio source from your file 2. Creating the volume envelope effect with your desired level 3. Adding the audio with the effect to your timeline Each step requires specific code components that we'll explore in detail below. ## Understanding the AudioVolumeEnvelopeEffect Class[¶](#understanding-the-audiovolumeenvelopeeffect-class "Permanent link") The `AudioVolumeEnvelopeEffect` class is the core component for implementing volume control: `[](#__codelineno-0-1)public class AudioVolumeEnvelopeEffect : AudioTrackEffect [](#__codelineno-0-2){ [](#__codelineno-0-3) /// [](#__codelineno-0-4) /// Gets or sets level (in percents), range is [0-100]. [](#__codelineno-0-5) /// [](#__codelineno-0-6) public int Level { get; set; } [](#__codelineno-0-7) [](#__codelineno-0-8) /// [](#__codelineno-0-9) /// Initializes a n... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/audio-envelope/index.html #### Video Edit SDK .NET Code Examples & Tutorials - VisioForge Help [Skip to content](#net-video-editing-code-examples-tutorials) # .NET Video Editing Code Examples & Tutorials[¶](#net-video-editing-code-examples-tutorials "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Available Code Examples[¶](#available-code-examples "Permanent link") Browse our collection of ready-to-use code examples that demonstrate key features of our Video Edit SDK for .NET developers. Each example includes detailed explanations and implementation guidance: ### Visual Effects & Overlays[¶](#visual-effects-overlays "Permanent link") - [**Adding Image Overlays to Video**](add-image-overlay/) - Learn how to superimpose images on your video content - [**Text Overlay Implementation**](add-text-overlay/) - Techniques for adding and formatting text overlays on videos - [**Picture-In-Picture Effects**](picture-in-picture/) - Create professional PiP effects in your video applications ### Audio Manipulation[¶](#audio-manipulation "Permanent link") - [**Audio Volume Envelope Effects**](audio-envelope/) - Control audio volume changes over time - [**Multiple Audio Streams in AVI Files**](multiple-audio-streams-avi/) - Working with multiple audio tracks - [**Custom Volume Control for Audio Tracks**](volume-for-track/) - Precise audio level management techniques ### Video Composition[¶](#video-composition "Permanent link") - [**Creating Videos from Multiple Sources**](output-file-from-multiple-sources/) - Combine various input files into a single output - [**Working with Video Segments**](several-segments/) - Extract and use multiple segments from the same source file - [**Transition Effects Between Video Fragments**](transition-video/) - Implementing smooth transitions between clips - [**Generating Videos from Image Sequences**](video-images-console/) - Console application example for image-to-video conversion - [**Multi-Audio Stream Video Integration**](adding-video-file-with-multiple-audio-str... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/index.html #### iOS Video Editor | Build Video Apps Faster - VisioForge Help [Skip to content](#ios-video-editor-for-seamless-in-app-video-editing) # iOS Video Editor for Seamless In-App Video Editing[¶](#ios-video-editor-for-seamless-in-app-video-editing "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCoreX](#) ## Introduction to iOS Video Editing[¶](#introduction-to-ios-video-editing "Permanent link") Building a professional video editing app for iPhone and iPad requires a robust SDK that delivers native performance with customizable features. The VisioForge Video Edit SDK provides tools to create stunning editing apps that rival Adobe Premiere or DaVinci Resolve on Apple devices. Our iOS video edit SDK integrates advanced video editing capabilities into your iOS app efficiently. Build a photo video app, content creation tools, or a video editor pro application with features users expect from modern editing apps. ## Key Features[¶](#key-features "Permanent link") The SDK provides comprehensive video editing features for iOS app development: - **Trimming**: Frame-accurate video trimming with touch-friendly controls - **Timeline**: Edit multiple video and audio tracks simultaneously - **Transitions**: Smooth effects including fades and wipes between clips - **Video Effects**: Apply filters and color correction to your videos - **Audio Mixing**: Control volume and mix multiple audio sources - **Text Overlays**: Add customizable titles and watermarks While optimized for iOS, our framework supports Android through .NET MAUI, allowing you to create cross-platform editing solutions. ## Getting Started with VideoEditCoreX[¶](#getting-started-with-videoeditcorex "Permanent link") ### SDK Initialization[¶](#sdk-initialization "Permanent link") Initialize the video editing engine in your iOS app: `[](#__codelineno-0-1)using VisioForge.Core; [](#__codelineno-0-2)using VisioForge.Core.UI; [](#__codelineno-0-3)using VisioForge.Core.VideoEditX; [](#__codelineno-0-4)[](#__codelin... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/ios-video-editor/index.html #### Adding Multiple Audio Streams to AVI Files in .NET - VisioForge Help [Skip to content](#adding-multiple-audio-streams-to-avi-files-in-net) # Adding Multiple Audio Streams to AVI Files in .NET[¶](#adding-multiple-audio-streams-to-avi-files-in-net "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introduction[¶](#introduction "Permanent link") Multiple audio streams allow you to include different language tracks, commentary, or music options within a single video file. This functionality is essential for creating multilingual content or providing alternative audio experiences for viewers. ## Implementation Details[¶](#implementation-details "Permanent link") When creating multiple audio streams in an AVI file, you need to add each audio source to the timeline using specific targeting parameters. This approach ensures each audio stream is properly indexed and accessible during playback. ## Code Example[¶](#code-example "Permanent link") The following C# sample demonstrates how to add two different audio streams to an AVI file: `[](#__codelineno-0-1)var videoSource = new VideoSource("video1.avi"); [](#__codelineno-0-2)var audioSource1 = new AudioSource("video1.avi"); [](#__codelineno-0-3)var audioSource2 = new AudioSource("audio2.mp3"); [](#__codelineno-0-4)[](#__codelineno-0-5)VideoEdit1.Input_Clear_List(); [](#__codelineno-0-6)VideoEdit1.Input_AddVideoFile(videoSource); [](#__codelineno-0-7)VideoEdit1.Input_AddAudioFile(audioSource1, targetStreamIndex: 0); [](#__codelineno-0-8)VideoEdit1.Input_AddAudioFile(audioSource2, targetStreamIndex: 1);` ## Key Parameters Explained[¶](#key-parameters-explained "Permanent link") - `targetStreamIndex`: Defines which audio stream index the source will be assigned to - First audio stream uses index 0, second uses index 1, and so on - You can add as many audio streams as needed using incremental index values ## Required Dependencies[¶](#required-dependencies "Permanent link") To implement this functionality, you'll need:... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/multiple-audio-streams-avi/index.html #### Create New Video Files from Multiple Sources in .NET - VisioForge Help [Skip to content](#creating-new-files-from-multiple-sources-without-reencoding) # Creating New Files from Multiple Sources Without Reencoding[¶](#creating-new-files-from-multiple-sources-without-reencoding "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introduction[¶](#introduction "Permanent link") When developing multimedia applications, you may need to combine content from different files. This guide demonstrates how to merge streams from multiple video and audio sources into a single output file without quality loss from reencoding. ## Benefits of Working with Multiple Sources[¶](#benefits-of-working-with-multiple-sources "Permanent link") - Preserve original quality of all source files - Combine audio tracks from different sources - Add background music to video files - Create multilingual content with different audio tracks - Save processing time by avoiding unnecessary reencoding ## Step-by-Step Implementation[¶](#step-by-step-implementation "Permanent link") ### 1\. Initialize the Streams Collection[¶](#1-initialize-the-streams-collection "Permanent link") First, create a list to hold all the stream references: `[](#__codelineno-0-1)var streams = new List();` ### 2\. Add Video Stream[¶](#2-add-video-stream "Permanent link") Add a video stream from your first source file. The ID "v" designates this as the video component: `[](#__codelineno-1-1)streams.Add(new FFMPEGStream [](#__codelineno-1-2){ [](#__codelineno-1-3) Filename = "c:\\samples\\!video.avi", [](#__codelineno-1-4) ID = "v" [](#__codelineno-1-5)});` ### 3\. Add Primary Audio Stream[¶](#3-add-primary-audio-stream "Permanent link") Incorporate an audio stream from an MP3 file. The ID "a" identifies this as an audio component: `[](#__codelineno-2-1)streams.Add(new FFMPEGStream [](#__codelineno-2-2){ [](#__codelineno-2-3) F... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/output-file-from-multiple-sources/index.html #### Creating Dynamic Picture-in-Picture Videos in .NET - VisioForge Help [Skip to content](#creating-picture-in-picture-and-split-screen-videos-in-net) # Creating Picture-in-Picture and Split-Screen Videos in .NET[¶](#creating-picture-in-picture-and-split-screen-videos-in-net "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introduction to Video Composition Techniques[¶](#introduction-to-video-composition-techniques "Permanent link") Professional video applications often require combining multiple video sources into a single output. This capability is essential for creating engaging content such as tutorials with presenter overlays, reaction videos, interview panels, or sports broadcasts with replay windows. The Video Edit SDK for .NET makes these advanced techniques straightforward to implement in your C# applications. This guide covers three primary video composition approaches: 1. **Picture-in-Picture (PIP)**: Placing a smaller video overlay on top of a main video 2. **Horizontal Split**: Positioning two videos side-by-side horizontally 3. **Vertical Split**: Arranging two videos one above the other Each technique has specific use cases and can be customized to create exactly the visual presentation your application requires. ## Creating Picture-in-Picture Video Overlays[¶](#creating-picture-in-picture-video-overlays "Permanent link") Picture-in-Picture is the most common video composition technique, where a smaller video appears in a corner or custom position over a larger background video. This is perfect for creating commentary videos, tutorials, or any content where you want to show two perspectives simultaneously without dividing the screen evenly. ### Step 1: Define Your Video Files[¶](#step-1-define-your-video-files "Permanent link") First, specify the file paths for the videos you want to combine: `[](#__codelineno-0-1)string[] files = { "!video.avi", "!video2.wmv" };` You can use various video formats including MP4, AVI, MOV, WMV and many others s... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/picture-in-picture/index.html #### Adding Multiple Segments from a Single Video File - VisioForge Help [Skip to content](#adding-multiple-segments-from-a-single-video-file-in-c) # Adding Multiple Segments from a Single Video File in C[¶](#adding-multiple-segments-from-a-single-video-file-in-c "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introduction[¶](#introduction "Permanent link") When developing video editing applications, you often need to extract specific portions of a video file and combine them into a new composition. This technique is essential for creating highlight reels, removing unwanted sections, or assembling a compilation of key moments from a larger video. This guide demonstrates how to programmatically extract and combine multiple segments from the same video file using C#. You'll learn the step-by-step process with working code examples that you can implement in your own applications. ## Why Extract Multiple Segments?[¶](#why-extract-multiple-segments "Permanent link") Extracting specific segments from videos serves many practical purposes: - Creating highlight reels from longer recordings - Removing unwanted sections (ads, errors, irrelevant content) - Assembling a compilation of key moments - Creating trailers or previews from full-length content - Generating shorter clips for social media from longer videos ## Implementation Overview[¶](#implementation-overview "Permanent link") The implementation involves three key steps: 1. Defining the time segments you want to extract 2. Creating a video source that includes these specified segments 3. Adding the segmented file to your editing timeline Let's break down each step with detailed code examples and explanations. ## Detailed Implementation[¶](#detailed-implementation "Permanent link") ### Step 1: Define Your Segments[¶](#step-1-define-your-segments "Permanent link") First, you need to specify each segment's start and stop times. Each segment is defined by a starting point and duration, measured in millis... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/several-segments/index.html #### Creating smooth video transitions in C# - VisioForge Help [Skip to content](#creating-professional-video-transitions-between-clips-in-c) # Creating Professional Video Transitions Between Clips in C[¶](#creating-professional-video-transitions-between-clips-in-c "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introduction to Video Transitions[¶](#introduction-to-video-transitions "Permanent link") Video transitions create a smooth visual flow between different video clips in your editing projects. Effective transitions can significantly enhance the viewing experience, making your videos appear more professional and engaging. This guide demonstrates how to implement transitions in your C# applications using Video Edit SDK .Net. Transitions require overlapping timeline segments where both videos exist simultaneously. During this overlap, the transition effect occurs, gradually replacing the first video with the second one. The SDK supports over 100 different transition effects, from simple fades to complex SMPTE standard wipes. ## Understanding Timeline Positioning for Transitions[¶](#understanding-timeline-positioning-for-transitions "Permanent link") For transitions to work properly, you need to understand how video clips are positioned on a timeline. Here's how the positioning works: 1. **First video**: Placed at the beginning of the timeline (0ms position) 2. **Second video**: Placed with a slight overlap with the first video 3. **Transition**: Applied in the overlapping region where both videos exist This overlapping region is crucial - it's where the transition effect will be rendered. ## Creating Video Fragments for Transition[¶](#creating-video-fragments-for-transition "Permanent link") Let's add two video fragments from separate files, each 5 seconds (5000ms) long. The first fragment will be positioned at the start of the timeline, and the second fragment will start at the 4-second mark, creating a 1-second overlap where our transition will occur. VideoEditCo... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/transition-video/index.html #### Creating Videos from Images in C# Console Apps - VisioForge Help [Skip to content](#creating-videos-from-images-in-c-console-applications) # Creating Videos from Images in C# Console Applications[¶](#creating-videos-from-images-in-c-console-applications "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introduction[¶](#introduction "Permanent link") Converting a sequence of images into a video file is a common requirement for many software applications. This guide demonstrates how to create a video from images using a C# console application with the Video Edit SDK .Net. The same approach works for WinForms and WPF applications with minimal modifications. ## Prerequisites[¶](#prerequisites "Permanent link") Before you begin, ensure you have: - .NET development environment set up - Video Edit SDK .Net installed - Basic knowledge of C# programming - A folder containing image files (JPG, PNG, etc.) ## Key Concepts[¶](#key-concepts "Permanent link") When creating videos from images, understanding these fundamental concepts will help you achieve better results: - **Frame rate**: Determines how smoothly your video plays (typically 25-30 frames per second) - **Image duration**: How long each image appears in the video - **Transition effects**: Optional effects between images - **Output format**: The video container and codec specifications - **Resolution**: The dimensions of the output video ## Step-by-Step Implementation[¶](#step-by-step-implementation "Permanent link") ### Setting Up the Project[¶](#setting-up-the-project "Permanent link") First, create a new console application project and add the necessary references: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.IO; [](#__codelineno-0-3)using VisioForge.Types; [](#__codelineno-0-4)using VisioForge.Types.Output; [](#__codelineno-0-5)using VisioForge.VideoEdit; [](#__codelineno-0-6)using VisioForge.Controls; [](#__codelineno-0-7)using VisioForge.Controls.VideoEdit;` #... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/video-images-console/index.html #### Setting Custom Volume for Audio Tracks in C# - VisioForge Help [Skip to content](#setting-custom-volume-levels-for-audio-tracks-in-c-applications) # Setting Custom Volume Levels for Audio Tracks in C# Applications[¶](#setting-custom-volume-levels-for-audio-tracks-in-c-applications "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Overview[¶](#overview "Permanent link") Managing audio volume levels is a critical aspect of video production and editing applications. This guide demonstrates how to implement individual volume controls for separate audio tracks in your .NET application. ## Implementation Details[¶](#implementation-details "Permanent link") Setting custom volume levels for audio tracks gives your users more precise control over their audio mix. Each track can have its own independent volume setting, allowing for professional-quality audio balancing. ## Sample Code Implementation[¶](#sample-code-implementation "Permanent link") The following C# example shows how to apply a volume envelope effect to an audio track: `[](#__codelineno-0-1)var volume = new AudioVolumeEnvelopeEffect(10); [](#__codelineno-0-2)VideoEdit1.Input_AddAudioFile(audioFile, null, 0, new[] { volume });` ## Understanding the Parameters[¶](#understanding-the-parameters "Permanent link") - `AudioVolumeEnvelopeEffect(10)`: Creates a volume effect with a value of 10 - `Input_AddAudioFile`: Adds an audio file to your project with the specified volume effect - The parameters allow for precise control over when and how the volume changes are applied ## Required Dependencies[¶](#required-dependencies "Permanent link") To implement this functionality, you'll need the following redistributable packages: - Video Edit SDK redistributables: - [x86 package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoEdit.x86/) - [x64 package](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoEdit.x64/) ## Deployment Information[¶](#deployment-information "... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/code-samples/volume-for-track/index.html #### Video Edit SDK .Net Deployment Guide | Windows - VisioForge Help [Skip to content](#comprehensive-deployment-guide-for-video-edit-sdk-net) # Comprehensive Deployment Guide for Video Edit SDK .Net[¶](#comprehensive-deployment-guide-for-video-edit-sdk-net "Permanent link") ## Introduction to VideoEditCore Deployment[¶](#introduction-to-videoeditcore-deployment "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) The VisioForge Video Edit SDK for .Net provides a powerful set of tools for video processing, editing, and analysis in Windows environments. This comprehensive guide details the deployment options for ensuring the SDK functions correctly on target systems. For applications built with the AnyCPU configuration, you must deploy both x86 and x64 redistributables to ensure compatibility across different processor architectures. This guide covers all deployment methods, from simple NuGet packages to detailed manual installations. ## Deployment Options Overview[¶](#deployment-options-overview "Permanent link") The SDK offers three primary deployment approaches: 1. **NuGet Packages**: Simplest method requiring no administrative privileges 2. **Automatic Installers**: Silent installation with administrative rights 3. **Manual Installation**: Custom deployment with granular control over components Each approach has distinct advantages depending on your application requirements, distribution method, and target environment constraints. ## Cross-Platform Deployment with VideoEditCoreX[¶](#cross-platform-deployment-with-videoeditcorex "Permanent link") For developers seeking cross-platform compatibility, VisioForge offers the VideoEditCoreX engine. This modern implementation supports Windows, macOS, and Linux environments. For detailed instructions on deploying the cross-platform version, please refer to our dedicated [cross-platform deployment guide](../../deployment-x/). The remainder of this document focuses on the Windows-specific VideoEditCore engine. ## VideoEditCore Engine (Wind... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/deployment/index.html #### Build Video Editing Apps with .NET SDK - VisioForge Help [Skip to content](#building-professional-video-editing-applications-with-net-sdk) # Building Professional Video Editing Applications with .NET SDK[¶](#building-professional-video-editing-applications-with-net-sdk "Permanent link") ## Introduction to Video Editing with .NET[¶](#introduction-to-video-editing-with-net "Permanent link") The Video Edit SDK offers powerful functionality for .NET developers who want to create professional video editing applications. This SDK supports a wide range of platforms and UI frameworks, enabling you to build feature-rich video editors that handle multiple formats, apply effects, manage transitions, and deliver high-quality output. ## Setting Up Your Development Environment[¶](#setting-up-your-development-environment "Permanent link") ### Creating Your Initial Project[¶](#creating-your-initial-project "Permanent link") The SDK is designed to work seamlessly with various development environments. You can utilize either Visual Studio or JetBrains Rider to create your project, selecting your preferred platform and UI framework according to your requirements. For a smooth setup process, please refer to our detailed [installation guide](../../install/) which provides instructions for adding the necessary NuGet packages and setting up native dependencies correctly. ## Implementing Core Video Editing Functionality[¶](#implementing-core-video-editing-functionality "Permanent link") ### Initializing the Video Editing Engine[¶](#initializing-the-video-editing-engine "Permanent link") The SDK provides a robust core editing object that serves as the foundation of your video editing application. Follow these steps to create and initialize this essential component: VideoEditCoreVideoEditCoreX `[](#__codelineno-0-1)private VideoEditCore core; [](#__codelineno-0-2)[](#__codelineno-0-3)core = new VideoEditCore(VideoView1 as IVideoView);` `[](#__codelineno-1-1)private VideoEditCoreX core; [](#__codelineno-1-2)[](#__codelineno-1-3)core... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/getting-started/index.html #### Video Editing SDK for .NET Developers - VisioForge Help [Skip to content](#video-edit-sdk-net-professional-video-editing-for-developers) # Video Edit SDK .Net: Professional Video Editing for Developers[¶](#video-edit-sdk-net-professional-video-editing-for-developers "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introduction to Video Edit SDK .Net[¶](#introduction-to-video-edit-sdk-net "Permanent link") VisioForge Video Edit SDK .Net is a robust and versatile development toolkit that empowers software developers to build advanced video editing applications. With this powerful SDK, you can seamlessly integrate professional-grade video processing, editing, encoding, and decoding capabilities into your .NET applications. Designed with performance and flexibility in mind, our SDK accelerates your development process by providing a comprehensive suite of tools and features that would otherwise require months of development time. Whether you're creating a video editing application, implementing video processing workflows, or building a media-rich solution, Video Edit SDK .Net delivers the functionality you need. ## Cross-Platform Compatibility[¶](#cross-platform-compatibility "Permanent link") One of the strongest advantages of the Video Edit SDK .Net is its extensive cross-platform support, enabling you to develop applications that run seamlessly across multiple operating systems and devices: ### Desktop Platforms[¶](#desktop-platforms "Permanent link") - **Windows** - Full support for Windows 10/11 and Windows Server - **macOS** - Compatible with Intel and Apple Silicon processors - **Linux** - Support for major distributions including Ubuntu, Debian, and CentOS ### Mobile Platforms[¶](#mobile-platforms "Permanent link") - **Android** - Build video editing capabilities into Android applications - **iOS** - Seamless integration with iPhone and iPad applications This cross-platform compatibility ensures that your video editing applications can reach the widest... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/index.html #### Video Transitions and SMPTE Wipe Effects for .NET - VisioForge Help [Skip to content](#transitions) # Transitions[¶](#transitions "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) The SMPTE Wipe transition produces any of the standard wipes defined by the Society of Motion Picture and Television Engineers (SMPTE) in SMPTE document 258M-1993, except for the quad split. ## Properties[¶](#properties "Permanent link") Property Type Default Description Border Color Color/TColor Black Color of the border around the edges of the wipe pattern. BorderSoftness long 0 Width of the blurry region around the edges of the wipe pattern. Specify zero for no blurry region. BorderWidth long 0 Width of the solid border along the edges of the wipe pattern. Specify zero for no border. ID long 1 Standard SMPTE wipe code specifying the style of wipe to use. For a list of wipe codes and their associated schematics, see SMPTE document 258M-1993. OffsetX long 0 Horizontal offset of the wipe origin from the center of the image. Valid only for values of **ID** from 101 to 131. OffsetY long 0 Verical offset of the wipe origin from the center of the image. Valid only for values of **ID** from 101 to 131. ReplicateX long 0 Number of times to replicate the wipe pattern horizontally. Valid only for values of **ID** from 101 to 131. ReplicateY long 0 Number of times to replicate the wipe pattern vertically. Valid only for values of **ID** from 101 to 131. ScaleX double 1.0 Amount by which to stretch the wipe horizontally, as a percentage of the original wipe definition. Valid only for values of **ID** from 101 to 131. ScaleY double 1.0 Amount by which to stretch the wipe vertically, as a percentage of the original wipe definition. Valid only for values of **ID** from 101 to 131. ## SMPTE[¶](#smpte "Permanent link") This transition supports the following standard SMPTE wipes: Number Description Number Description 1 Horizontal 211 Radial, left-right, top 2 Vertical 212... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit/transitions/index.html #### Video Edit SDK FFMPEG .Net Release History - VisioForge Help [Skip to content](#video-edit-sdk-ffmpeg-net-complete-version-history) # Video Edit SDK FFMPEG .Net: Complete Version History[¶](#video-edit-sdk-ffmpeg-net-complete-version-history "Permanent link") ## What's New in Version 12.1[¶](#whats-new-in-version-121 "Permanent link") Our latest release brings significant improvements to deployment flexibility and framework compatibility: ### .Net Framework Upgrade[¶](#net-framework-upgrade "Permanent link") - Full migration to .Net 4.6 framework ensuring better performance and compatibility with modern systems - Enhanced runtime reliability with updated core components ### Streamlined Distribution Model[¶](#streamlined-distribution-model "Permanent link") - Unified installer package for both TRIAL and FULL versions, simplifying the deployment process - Identical NuGet packages across licensing tiers, eliminating confusion between versions ### Cross-Platform Development[¶](#cross-platform-development "Permanent link") - Consolidated .Net Core and .Net Framework packages into a single unified distribution - Simplified dependency management across different target platforms ### Deployment Improvements[¶](#deployment-improvements "Permanent link") - Added NuGet redists packages for easier dependency management - Streamlined deployment process with automatic reference handling - Reduced setup complexity for enterprise applications ## Version 11.3 Release Highlights[¶](#version-113-release-highlights "Permanent link") This version focused on core audio capabilities and cross-platform support: ### Audio Enhancement[¶](#audio-enhancement "Permanent link") - Completely redesigned audio fade-in/fade-out effects for smoother transitions - Improved algorithm performance on multi-core processors - Enhanced audio processing pipeline stability ### Framework Updates[¶](#framework-updates "Permanent link") - Added comprehensive .Net Core support for cross-platform development - Backward compati... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit-ffmpeg/changelog/index.html #### Video Edit FFMPEG SDK for .NET Developers - VisioForge Help [Skip to content](#video-edit-ffmpeg-sdk-for-net-development) # Video Edit FFMPEG SDK for .NET Development[¶](#video-edit-ffmpeg-sdk-for-net-development "Permanent link") ## Introduction to the SDK[¶](#introduction-to-the-sdk "Permanent link") The Video Edit FFMPEG SDK for .NET empowers developers to seamlessly integrate video editing, conversion, and advanced processing capabilities into their .NET applications. This powerful toolkit allows you to construct professional-quality videos from various audio and video sources with minimal effort. Built on the robust and widely-adopted FFMPEG framework, our SDK provides support for virtually all industry-standard video and audio formats, delivering a complete multimedia editing and production solution for your applications. Whether you're building video editing software, adding media processing to your application, or developing specialized video conversion tools, this SDK offers the essential building blocks to implement sophisticated video editing features quickly and efficiently. ### Developer-Friendly API[¶](#developer-friendly-api "Permanent link") Our SDK provides a clean, intuitive .NET API designed specifically for developer productivity: - **Simple Integration**: Add powerful video editing features to your application with minimal code - **Comprehensive Documentation**: Access detailed API references and implementation examples - **Flexible Architecture**: Design your application with our adaptable components - **Exception Handling**: Robust error management for reliable application performance ### Performance Optimization[¶](#performance-optimization "Permanent link") - **Multi-Threading Support**: Utilize parallel processing for improved performance - **Memory Management**: Efficient handling of large media files - **Progress Reporting**: Real-time feedback on processing operations - **Cancelation Support**: Gracefully cancel operations in progress ### Use Cases[¶](#use-cases "Perm... **URL**: https://www.visioforge.com/help/docs/dotnet/videoedit-ffmpeg/index.html #### Software Development Kit License Agreement - VisioForge Help [Skip to content](#end-user-license-agreement) # END USER LICENSE AGREEMENT[¶](#end-user-license-agreement "Permanent link") **VISIOFORGE SOFTWARE DEVELOPMENT KITS AND RELATED PRODUCTS** **IMPORTANT – READ CAREFULLY BEFORE INSTALLING OR USING THIS SOFTWARE** ## 1\. PREAMBLE[¶](#1-preamble "Permanent link") This End User License Agreement ("Agreement" or "EULA") constitutes a legally binding contract between you (either an individual or a single entity) and VisioForge ("Licensor"), regarding your use of VisioForge's proprietary software development kits and related documentation (collectively, the "Software"). By installing, copying, downloading, accessing, or otherwise using the Software, you agree to be bound by the terms of this Agreement. If you do not agree to the terms of this Agreement, do not install, access, or use the Software. ## 2\. LICENSED PRODUCTS[¶](#2-licensed-products "Permanent link") This Agreement applies to all software development kits and related products developed and distributed by VisioForge, including but not limited to: - Video Capture SDK .Net - Media Player SDK .Net - Video Edit SDK .Net - Video Edit SDK FFMPEG .Net - Media Blocks SDK .Net - All-in-One Media Framework (Delphi/ActiveX) - Virtual Camera SDK - FFMPEG Source DirectShow filter - VLC Source DirectShow filter - Encoding Filters Pack - Processing Filters Pack - Video Encryption SDK - Video Fingerprinting SDK ## 3\. LICENSE GRANT[¶](#3-license-grant "Permanent link") Subject to the terms and conditions of this Agreement and upon payment of the applicable license fees, Licensor grants you a limited, non-exclusive, non-transferable license to use the Software as follows: ### 3.1. Developer License Rights[¶](#31-developer-license-rights "Permanent link") **3.1.1. One-Year Developer License** - Permits installation and use of the Software on up to three (3) developer workstations by a single developer - Valid for one calendar year from d... **URL**: https://www.visioforge.com/help/docs/eula/index.html #### Video Fingerprinting SDK Release Notes - VisioForge Help [Skip to content](#video-fingerprinting-sdk-version-history) # Video Fingerprinting SDK Version History[¶](#video-fingerprinting-sdk-version-history "Permanent link") ## Version 12.1 - Performance and Feature Enhancements[¶](#version-121-performance-and-feature-enhancements "Permanent link") ### .NET Framework Improvements[¶](#net-framework-improvements "Permanent link") - **New Fingerprinting Capability**: Introduced `VFPFingerprintFromFrames` class enabling developers to generate video fingerprints directly from sequences of RGB24 frames - **API Modernization**: Completely revamped async/await API implementation for better asynchronous processing - **Engine Optimization**: Significantly improved performance of the core fingerprinting engine with enhanced processing algorithms ## Version 12.0 - Database Integration and Hardware Acceleration[¶](#version-120-database-integration-and-hardware-acceleration "Permanent link") ### .NET Framework Updates[¶](#net-framework-updates "Permanent link") - **Multi-fingerprint Storage**: Added new `VFPFingerPrintDB` class for efficiently storing multiple fingerprints in a single binary file format - **Media Monitoring Tool Integration**: Updated the Media Monitoring Tool application to leverage the new database capabilities - **Updated Dependencies**: Integrated the latest FFMPEG version for improved video handling capabilities - **Framework Requirement Change**: Increased minimum .NET Framework requirement to version 4.7.2 - **External Logging**: Added NLog as an external dependency for enhanced logging capabilities - **GPU Acceleration**: Enhanced support for hardware acceleration via Nvidia, Intel and AMD GPU video decoders ## Version 11.0 - Engine Modernization[¶](#version-110-engine-modernization "Permanent link") ### .NET Implementation[¶](#net-implementation "Permanent link") - **Standalone Installation**: Released as an independent installer package without requiring other .NET SDK installa... **URL**: https://www.visioforge.com/help/docs/vfp/changelog/index.html #### Video Fingerprinting SDK C++ API Documentation - VisioForge Help [Skip to content](#video-fingerprinting-sdk-c-api-documentation) # Video Fingerprinting SDK C++ API Documentation[¶](#video-fingerprinting-sdk-c-api-documentation "Permanent link") ## Overview[¶](#overview "Permanent link") The VisioForge Video Fingerprinting C++ SDK provides a high-performance native library for video content identification, comparison, and search operations. It enables applications to: - Generate unique fingerprints from video files for content identification - Compare videos to determine similarity and detect duplicates - Search for video fragments within larger videos (e.g., finding commercials, intros, or specific scenes) - Compare individual images for similarity detection - Process video frames directly to generate fingerprints from streams or generated content The C++ SDK offers optimal performance for high-throughput applications and can be integrated into existing C++ applications or used through P/Invoke from other languages. > **Related Documentation:** > > - [.NET API Reference](../../dotnet/api/) - For managed code developers > - [Understanding Video Fingerprinting](../../understanding-video-fingerprinting/) - Core concepts > - [Fingerprint Types](../../fingerprint-types/) - Compare vs Search modes ## Table of Contents[¶](#table-of-contents "Permanent link") - [Header Files](#header-files) - [License Management](#license-management) - [Core Types and Structures](#core-types-and-structures) - [Search Functions](#search-functions) - [Compare Functions](#compare-functions) - [Utility Functions](#utility-functions) - [Image Comparison](#image-comparison) - [Complete Working Examples](#complete-working-examples) - [Platform Support](#platform-support) - [Building and Linking](#building-and-linking) - [Performance Considerations](#performance-considerations) - [Error Handling](#error-handling) ## Header Files[¶](#header-files "Permanent link") The SDK provides two main header files: ### V... **URL**: https://www.visioforge.com/help/docs/vfp/cpp/api/index.html #### C++ Fingerprinting SDK Database Guide - VisioForge Help [Skip to content](#c-fingerprinting-sdk-database-guide) # C++ Fingerprinting SDK Database Guide[¶](#c-fingerprinting-sdk-database-guide "Permanent link") This guide demonstrates how to integrate the Video Fingerprinting SDK for C++ with various database systems for efficient fingerprint storage and retrieval. ## Overview[¶](#overview "Permanent link") Unlike the .NET SDK which provides built-in MongoDB integration, the C++ SDK offers flexibility to integrate with any database system. This guide provides implementation patterns and examples for common databases. ## Database Design Considerations[¶](#database-design-considerations "Permanent link") ### Fingerprint Storage Requirements[¶](#fingerprint-storage-requirements "Permanent link") - **Binary Data**: Fingerprints are binary data (typically 10-100KB per video) - **Indexing**: Video metadata should be indexed for fast queries - **Scalability**: Design should support millions of fingerprints - **Performance**: Optimize for both write and read operations ### Recommended Schema[¶](#recommended-schema "Permanent link") `[](#__codelineno-0-1)CREATE TABLE video_fingerprints ( [](#__codelineno-0-2) id INTEGER PRIMARY KEY AUTOINCREMENT, [](#__codelineno-0-3) video_path TEXT NOT NULL, [](#__codelineno-0-4) video_hash VARCHAR(64), [](#__codelineno-0-5) fingerprint_type VARCHAR(10), -- 'search' or 'compare' [](#__codelineno-0-6) fingerprint_data BLOB NOT NULL, [](#__codelineno-0-7) duration_ms INTEGER, [](#__codelineno-0-8) frame_count INTEGER, [](#__codelineno-0-9) created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, [](#__codelineno-0-10) metadata JSON, [](#__codelineno-0-11) INDEX idx_video_path (video_path), [](#__codelineno-0-12) INDEX idx_video_hash (video_hash), [](#__codelineno-0-13) INDEX idx_created_at (created_at) [](#__codelineno-0-14));` ## SQLite Implementation[¶](#sqlite-implementation "Permanent link") SQLite is ideal f... **URL**: https://www.visioforge.com/help/docs/vfp/cpp/database-integration/index.html #### Getting Started with Video Fingerprinting SDK C++ - VisioForge Help [Skip to content](#getting-started-with-video-fingerprinting-sdk-c) # Getting Started with Video Fingerprinting SDK C++[¶](#getting-started-with-video-fingerprinting-sdk-c "Permanent link") Welcome to the VisioForge Video Fingerprinting SDK for C++! This comprehensive guide will walk you through everything you need to get started, from installation to your first working application. By the end of this guide, you'll have a solid foundation for building high-performance video fingerprinting applications in C++. > **Note:** If you're already familiar with the .NET SDK, you'll find the C++ SDK follows similar concepts with native performance benefits. See our [SDK Comparison](../../#sdk-comparison) for details. ## Quick Start Summary[¶](#quick-start-summary "Permanent link") If you're looking to get up and running quickly: 1. Download the SDK package from VisioForge 2. Extract the files to your project directory 3. Include the headers: `#include ` and `#include ` 4. Link the appropriate library: `VisioForge_VideoFingerprinting.lib` (x86) or `VisioForge_VideoFingerprinting_x64.lib` (x64) 5. Copy runtime DLLs to your output directory 6. Set your license key (if purchased): `VFPSetLicenseKey(L"license-key");` 7. Generate your first fingerprint using the examples below ## Prerequisites and System Requirements[¶](#prerequisites-and-system-requirements "Permanent link") For detailed system requirements including supported platforms, hardware specifications, and performance considerations, please see our comprehensive [System Requirements](../../system-requirements/) guide. ### C++-Specific Requirements[¶](#c-specific-requirements "Permanent link") - **Windows Compiler**: Visual Studio 2019+ (recommended) or MinGW-w64 - **Linux Compiler**: GCC 7+ or Clang 6+ - **macOS Compiler**: Xcode 12+ with Command Line Tools - **Build Tools**: CMake 3.10+ (optional but recommended for Linux/macOS) ## SDK Package Conten... **URL**: https://www.visioforge.com/help/docs/vfp/cpp/getting-started/index.html #### Video Fingerprinting SDK for C++ - VisioForge Help [Skip to content](#video-fingerprinting-sdk-for-c) # Video Fingerprinting SDK for C++[¶](#video-fingerprinting-sdk-for-c "Permanent link") ## Overview[¶](#overview "Permanent link") The Video Fingerprinting SDK for C++ provides a native implementation with direct access to high-performance video analysis and fingerprinting capabilities. This SDK is ideal for applications requiring: - Maximum performance and minimal overhead - Direct integration with native applications - Custom memory management - Real-time processing pipelines - Embedded systems deployment ## Key Features[¶](#key-features "Permanent link") ### Performance Advantages[¶](#performance-advantages "Permanent link") - **Native Performance** - Direct memory access and optimized algorithms - **Zero Overhead** - No managed runtime or garbage collection - **SIMD Optimization** - Leverages CPU vectorization capabilities - **Parallel Processing** - Multi-threaded fingerprint generation - **Custom Memory Management** - Fine-grained control over memory allocation ### Platform Support[¶](#platform-support "Permanent link") - **Windows** - Visual Studio 2019+ (x64) - **Linux** - GCC 9+ or Clang 10+ - **macOS** - Xcode 12+ (Intel and Apple Silicon) ## Documentation[¶](#documentation "Permanent link") ### Getting Started[¶](#getting-started "Permanent link") - [Installation and Setup](getting-started/) - Complete setup guide for all platforms - [API Reference](api/) - Comprehensive C++ API documentation ### Core Concepts[¶](#core-concepts "Permanent link") - [Understanding Video Fingerprinting](../understanding-video-fingerprinting/) - How the technology works - [Fingerprint Types](../fingerprint-types/) - Compare vs Search fingerprints ### Code Examples[¶](#code-examples "Permanent link") #### Basic Fingerprint Generation[¶](#basic-fingerprint-generation "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)[](#__codelineno-0-3)//... **URL**: https://www.visioforge.com/help/docs/vfp/cpp/index.html #### C++ Video Fingerprinting SDK Code Samples - VisioForge Help [Skip to content](#video-fingerprinting-sdk-c-code-samples) # Video Fingerprinting SDK C++ Code Samples[¶](#video-fingerprinting-sdk-c-code-samples "Permanent link") ## Available Samples[¶](#available-samples "Permanent link") The C++ SDK includes command-line samples demonstrating core functionality. These samples are included in the SDK package under the `/samples/cpp/` directory. ### Core Functionality Examples[¶](#core-functionality-examples "Permanent link") #### Generate Fingerprints[¶](#generate-fingerprints "Permanent link") `[](#__codelineno-0-1)// vfp_generate.cpp - Generate fingerprints from video files [](#__codelineno-0-2)#include [](#__codelineno-0-3)[](#__codelineno-0-4)int main(int argc, char* argv[]) { [](#__codelineno-0-5) if (argc < 3) { [](#__codelineno-0-6) std::cerr << "Usage: vfp_generate " << std::endl; [](#__codelineno-0-7) return 1; [](#__codelineno-0-8) } [](#__codelineno-0-9) [](#__codelineno-0-10) // Set license [](#__codelineno-0-11) VFPSetLicenseKey(L"TRIAL"); [](#__codelineno-0-12) [](#__codelineno-0-13) // Generate fingerprint [](#__codelineno-0-14) VFP_SearchFingerprintGenerateSettings settings; [](#__codelineno-0-15) settings.Mode = VFP_Mode::Search; [](#__codelineno-0-16) settings.FrameStep = 10; [](#__codelineno-0-17) [](#__codelineno-0-18) auto result = VFPSearchFingerprintGenerate( [](#__codelineno-0-19) argv[1], // Input video [](#__codelineno-0-20) argv[2], // Output fingerprint [](#__codelineno-0-21) &settings, [](#__codelineno-0-22) nullptr // Progress callback [](#__codelineno-0-23) ); [](#__codelineno-0-24) [](#__codelineno-0-25) return result == VFP_ErrorCode::Ok ? 0 : 1; [](#__codelineno-0-26)}` #### Compare Videos[¶](#compare-videos "Permanent link") `[](#__codelineno-1-1)// vfp_compare.cpp - Compare two... **URL**: https://www.visioforge.com/help/docs/vfp/cpp/samples/index.html #### Video Fingerprinting SDK .NET API Documentation - VisioForge Help [Skip to content](#video-fingerprinting-sdk-net-api-documentation) # Video Fingerprinting SDK .NET API Documentation[¶](#video-fingerprinting-sdk-net-api-documentation "Permanent link") ## Overview[¶](#overview "Permanent link") The VisioForge Video Fingerprinting namespace provides powerful functionality for video content identification, comparison, and search operations. It enables applications to: - Generate unique fingerprints from video files for content identification - Compare videos to determine similarity and detect duplicates - Search for video fragments within larger videos (e.g., finding commercials, intros, or specific scenes) - Compare individual images for similarity detection (Windows only) - Process video frames directly to generate fingerprints from streams or generated content ## Table of Contents[¶](#table-of-contents "Permanent link") - [VFPAnalyzer Class](#vfpanalyzer-class) - [VFPFingerPrint Class](#vfpfingerprint-class) - [VFPFingerprintSource Class](#vfpfingerprintsource-class) - [VFPCompare Class](#vfpcompare-class) - [VFPSearch Class](#vfpsearch-class) - [VFPFingerPrintDB Class](#vfpfingerprintdb-class) - [VFPFingerprintFromFrames Class](#vfpfingerprintfromframes-class) - [Supporting Types](#supporting-types) - [Delegates](#delegates) ## VFPAnalyzer Class[¶](#vfpanalyzer-class "Permanent link") The main entry point for video fingerprinting operations, providing high-level static methods for analysis, comparison, and search. ### Properties[¶](#properties "Permanent link") #### DebugDir[¶](#debugdir "Permanent link") `[](#__codelineno-0-1)public static string DebugDir { get; set; }` **Description:** Directory path for debug output. When set, intermediate processing results may be saved for troubleshooting. **Default:** `null` (debug output disabled) **Example:** `[](#__codelineno-1-1)// Enable debug output [](#__codelineno-1-2)VFPAnalyzer.DebugDir = @"C:\Temp\VFP_Debug"; [](#__codelineno-1-3)[](#... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/api/index.html #### Cloud Guide for Video Fingerprinting - VisioForge Help [Skip to content](#cloud-guide-for-video-fingerprinting) # Cloud Guide for Video Fingerprinting[¶](#cloud-guide-for-video-fingerprinting "Permanent link") ## Available NuGet Packages for Cloud Integration[¶](#available-nuget-packages-for-cloud-integration "Permanent link") ### MongoDB Integration Package (Pre-built Solution)[¶](#mongodb-integration-package-pre-built-solution "Permanent link") The Video Fingerprinting SDK provides a ready-to-use NuGet package for MongoDB integration: **Package:** `VisioForge.DotNet.VideoFingerPrinting.MongoDB` **Version:** 2025.8.7 **Purpose:** Complete MongoDB integration with GridFS support for fingerprint storage #### Installation[¶](#installation "Permanent link") `[](#__codelineno-0-1)# Package Manager Console [](#__codelineno-0-2)Install-Package VisioForge.DotNet.VideoFingerPrinting.MongoDB -Version 2025.8.7 [](#__codelineno-0-3)[](#__codelineno-0-4)# .NET CLI [](#__codelineno-0-5)dotnet add package VisioForge.DotNet.VideoFingerPrinting.MongoDB --version 2025.8.7 [](#__codelineno-0-6)[](#__codelineno-0-7)# PackageReference [](#__codelineno-0-8)` #### Key Features[¶](#key-features "Permanent link") The MongoDB package provides the `VideoFingerprintDB` class with these capabilities: - **MongoDB GridFS Integration**: Efficient storage of large fingerprint data - **Cloud & Local Support**: Works with both MongoDB Atlas (cloud) and local MongoDB deployments - **Full CRUD Operations**: Complete fingerprint management (Create, Read, Update, Delete) - **Flexible Connection Options**: Multiple constructor overloads for different connection scenarios #### Basic Usage with MongoDB Atlas[¶](#basic-usage-with-mongodb-atlas "Permanent link") `[](#__codelineno-1-1)using VisioForge.DotNet.VideoFingerPrinting.MongoDB; [](#__codelineno-1-2)[](#__codelineno-1-3)// Connect to MongoDB Atlas (cloud deployment) [](#__codelineno-1-4)va... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/cloud-integration/index.html #### Video Fingerprinting Database Guide - VisioForge Help [Skip to content](#video-fingerprinting-database-guide) # Video Fingerprinting Database Guide[¶](#video-fingerprinting-database-guide "Permanent link") ## SDK APIs for Storage[¶](#sdk-apis-for-storage "Permanent link") **The Video Fingerprinting SDK provides these classes for fingerprint storage:** - **VFPFingerPrint** - Individual fingerprint with built-in serialization: - `Save(string filename)` or `Save(Stream stream)` - Saves to file/stream - `Load(string filename)` or `Load(Stream stream)` - Loads from file/stream - `Load(byte[] data)` - Loads from byte array - Properties: `Data`, `Duration`, `ID`, `OriginalFilename`, `Tag` - **VFPFingerPrintDB** - Local database of fingerprints: - `Items` property - List for all fingerprints - `Save(string filename)` - Saves database to JSON file - `Load(string filename)` - Loads database from JSON file - `GetDuplicates()` - Finds duplicate fingerprints - **MongoDB Integration** (Optional NuGet: VisioForge.DotNet.VideoFingerprinting.MongoDB): - `VideoFingerprintDB` class for MongoDB/GridFS storage - Full CRUD operations with MongoDB **Note:** The SDK doesn't include interfaces like IFingerprintStorage or IVideoEngine. Use the concrete classes above or implement your own storage layer using VFPFingerPrint's serialization methods. ## Overview[¶](#overview "Permanent link") This guide covers integration of video fingerprints with various database systems, including storage strategies, query optimization, indexing, and scaling considerations for production deployments. ## Table of Contents[¶](#table-of-contents "Permanent link") - [Database Design Principles](#database-design-principles) - [MongoDB Integration](#mongodb-integration) - [SQL Server Integration](#sql-server-integration) - [PostgreSQL Integration](#postgresql-integration) - [Performance Optimization](#performance-optimization) - [Scaling Strategies](#scaling-strategies) ## Database Design Principles[¶](#database-d... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/database-integration/index.html #### Getting Started with Video Fingerprinting SDK .NET - VisioForge Help [Skip to content](#getting-started-with-video-fingerprinting-sdk) # Getting Started with Video Fingerprinting SDK[¶](#getting-started-with-video-fingerprinting-sdk "Permanent link") Welcome to the VisioForge Video Fingerprinting SDK! This comprehensive guide will walk you through everything you need to get started, from installation to your first working application. By the end of this guide, you'll have a solid foundation for building video fingerprinting applications. ## Quick Start Summary[¶](#quick-start-summary "Permanent link") If you're looking to get up and running quickly: 1. Install the SDK via NuGet: `Install-Package VisioForge.DotNet.Core` 2. Add the redistribution package: `Install-Package VisioForge.DotNet.Core.Redist.VideoFingerprinting` 3. This single package supports Windows (x86/x64), Linux (x64/ARM64), and macOS 4. Set your license key: `VFPAnalyzer.SetLicenseKey("TRIAL");` 5. Generate your first fingerprint using the examples below ## Prerequisites and System Requirements[¶](#prerequisites-and-system-requirements "Permanent link") For detailed system requirements including supported platforms, hardware specifications, and performance considerations, please see our comprehensive [System Requirements](../../system-requirements/) guide. ### .NET-Specific Requirements[¶](#net-specific-requirements "Permanent link") - **.NET Version**: - Windows: .NET Framework 4.6.1+ or .NET 6.0+ - Linux/macOS: .NET 6.0+ - **IDE**: Visual Studio 2019+ (Windows), Visual Studio Code, or JetBrains Rider - **NuGet Package Manager**: For easy installation and updates ## Installation Methods[¶](#installation-methods "Permanent link") ### Method 1: NuGet Package Manager (Recommended)[¶](#method-1-nuget-package-manager-recommended "Permanent link") The easiest way to install the SDK is through NuGet Package Manager in Visual Studio. #### Via Package Manager UI[¶](#via-package-manager-ui "Permanent link") 1. Right-click on your project in Solu... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/getting-started/index.html #### Real-Time Video Fingerprinting Guide - VisioForge Help [Skip to content](#real-time-video-fingerprinting-guide) # Real-Time Video Fingerprinting Guide[¶](#real-time-video-fingerprinting-guide "Permanent link") This guide demonstrates how to process live video streams and generate fingerprints in real-time using the VisioForge Video Fingerprinting SDK. The approach uses fragment-based processing to build fingerprints from continuous video streams. ## Overview[¶](#overview "Permanent link") Real-time fingerprinting works by: 1. Capturing frames from a live source (camera, IP stream, etc.) 2. Accumulating frames into time-based fragments 3. Building fingerprints from completed fragments 4. Searching for matches against reference fingerprints 5. Using overlapping fragments for better detection accuracy ## Core Components[¶](#core-components "Permanent link") ### VFPSearch Class[¶](#vfpsearch-class "Permanent link") The `VFPSearch` class provides static methods for real-time frame processing: - `Process()` - Processes individual frames and adds them to search data - `Build()` - Builds a fingerprint from accumulated search data ### VFPSearchData Class[¶](#vfpsearchdata-class "Permanent link") Container for accumulating frame data during real-time processing: `[](#__codelineno-0-1)// Create search data container for a specific duration [](#__codelineno-0-2)var searchData = new VFPSearchData(TimeSpan.FromSeconds(10));` ## Complete Example: Real-time Fingerprint Processing[¶](#complete-example-real-time-fingerprint-processing "Permanent link") Here's a complete example based on actual production code that processes live video and detects content matches: `[](#__codelineno-1-1)using System; [](#__codelineno-1-2)using System.Collections.Concurrent; [](#__codelineno-1-3)using System.Collections.Generic; [](#__codelineno-1-4)using System.Runtime.InteropServices; [](#__codelineno-1-5)using System.Threading.Tasks; [](#__codelineno-1-6)using VisioForge.Core.VideoFingerPrinting; [](#__codelineno-1-7)using VisioForge... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/real-time-processing/index.html #### Duplicate Video Scanner Sample Application for .Net - VisioForge Help [Skip to content](#dvs-duplicate-video-scanner) # DVS - Duplicate Video Scanner[¶](#dvs-duplicate-video-scanner "Permanent link") 📦 **Source Code**: - [DVS Windows Forms on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/DVS) - [DVS MAUI (Cross-platform) on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/DVS%20MAUI) ## Overview[¶](#overview "Permanent link") DVS (Duplicate Video Scanner) is a Windows desktop application that scans folders to find duplicate or similar videos. It uses video fingerprinting technology to compare videos based on their content rather than file properties, making it effective at finding duplicates even when videos have different formats, resolutions, or bitrates. ## Features[¶](#features "Permanent link") - **Batch Processing**: Scan multiple folders simultaneously - **Smart Comparison**: Finds duplicates even with different encodings - **Format Support**: Works with AVI, WMV, MP4, MPG, MOV, TS, FLV, MKV, and more - **Visual Preview**: Built-in media player for reviewing detected duplicates - **Flexible Settings**: Configurable similarity thresholds and scan options - **Progress Tracking**: Real-time progress bars and status updates - **Export Results**: Save scan results for later review ## User Interface[¶](#user-interface "Permanent link") ### Main Window Components[¶](#main-window-components "Permanent link") 1. **Source Folders Panel**: Add/remove folders to scan 2. **Settings Panel**: Configure scan parameters 3. **Results Panel**: View and manage found duplicates 4. **Media Player**: Preview videos before taking action 5. **Status Bar**: Monitor current operation status ## How to Use[¶](#how-to-use "Permanent link") ### Basic Workflow[¶](#basic-workflow "Permanent link") 1. **Add Folders**: 2. Click "Add" button to select folders containing videos 3. Add multiple folders for comprehensive sca... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/dvs/index.html #### Video File Comparison Techniques and Methods - VisioForge Help [Skip to content](#video-file-comparison-techniques-and-methods) # Video File Comparison Techniques and Methods[¶](#video-file-comparison-techniques-and-methods "Permanent link") ## Introduction to Video Fingerprinting[¶](#introduction-to-video-fingerprinting "Permanent link") The Video Fingerprinting SDK provides powerful tools to accurately compare video files using advanced fingerprinting technology. This approach analyzes video frames and audio samples to generate unique signatures that represent the content. These signatures can then be compared to determine similarity between different video files. ## Understanding the Comparison Process[¶](#understanding-the-comparison-process "Permanent link") Video fingerprinting works by extracting distinctive features from video frames and audio samples, creating a compact representation that can be efficiently stored and compared. This technique is particularly useful for: - Detecting duplicate or similar content - Identifying modified versions of videos - Content verification and authentication - Copyright protection and infringement detection ## Implementing Video Comparison in .NET[¶](#implementing-video-comparison-in-net "Permanent link") ### Creating Fingerprints for the First Video[¶](#creating-fingerprints-for-the-first-video "Permanent link") The first step is to generate a fingerprint for your initial video file. The following code demonstrates how to create a source using the DirectShow engine and limit analysis to the first 5 seconds: `[](#__codelineno-0-1)// create source for a first video file using DirectShow engine [](#__codelineno-0-2)var source1 = new VFPFingerprintSource(File1, VFSimplePlayerEngine.LAV); [](#__codelineno-0-3)source1.StopTime = TimeSpan.FromMilliseconds(5000); [](#__codelineno-0-4)[](#__codelineno-0-5)// get first fingerprint [](#__codelineno-0-6)var fp1 = VFPAnalyzer.GetComparingFingerprintForVideoFile(source1, ErrorCallback);` ### Generating Fingerprints for the S... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/how-to-compare-two-video-files/index.html #### Finding Video Fragments in Larger Video Content - VisioForge Help [Skip to content](#finding-video-fragments-in-larger-video-content) # Finding Video Fragments in Larger Video Content[¶](#finding-video-fragments-in-larger-video-content "Permanent link") ## Introduction[¶](#introduction "Permanent link") Video fingerprinting technology allows developers to identify and locate specific video segments within larger video files. This guide demonstrates the implementation process using a powerful Video Fingerprinting SDK that works across various video formats and quality levels. The primary examples in this tutorial use the .NET API implementation, but equivalent functionality is available through the C++ API for developers preferring native code solutions. ## Implementation Process[¶](#implementation-process "Permanent link") ### Step 1: Analyze the Fragment File[¶](#step-1-analyze-the-fragment-file "Permanent link") First, we need to extract a fingerprint from the smaller video fragment that we want to locate within the larger video. This process involves analyzing the video's unique characteristics and generating a digital signature. `[](#__codelineno-0-1)// create video file source [](#__codelineno-0-2)var fragmentSrc = new VFPFingerprintSource(ShortFile, VFSimplePlayerEngine.LAV); [](#__codelineno-0-3)fragmentSrc.StopTime = TimeSpan.FromMilliseconds(5000); [](#__codelineno-0-4)[](#__codelineno-0-5)// get fingerprint [](#__codelineno-0-6)var fragment = VFPAnalyzer.GetSearchFingerprintForVideoFile(fragmentSrc, ErrorCallback);` In this code block, we: - Create a fingerprint source pointing to the short fragment file - Set a duration limit of 5 seconds for analysis - Generate a searchable fingerprint using the analyzer ### Step 2: Analyze the Target Video[¶](#step-2-analyze-the-target-video "Permanent link") Next, we need to extract a fingerprint from the larger video where we'll search for our fragment. The process is similar, but without time limitations. `[](#__codelineno-1-1)// create video file source [](#_... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/how-to-search-one-video-fragment-in-another/index.html #### Video Fingerprinting SDK Code Samples - VisioForge Help [Skip to content](#video-fingerprinting-sdk-code-samples) # Video Fingerprinting SDK Code Samples[¶](#video-fingerprinting-sdk-code-samples "Permanent link") Explore our comprehensive collection of code samples and applications demonstrating the power of the VisioForge Video Fingerprinting SDK. Each sample includes complete source code, detailed instructions, and real-world use cases. ## Command-Line Tools[¶](#command-line-tools "Permanent link") Essential utilities for fingerprint generation, comparison, and searching operations. ### [VFP Generate](vfp_gen/)[¶](#vfp-generate "Permanent link") Generate video fingerprints from media files with customizable parameters. Perfect for batch processing and automation workflows. ### [VFP Compare](vfp_compare/)[¶](#vfp-compare "Permanent link") Compare two video fingerprints to determine similarity and detect duplicates. Includes detailed similarity metrics and configuration options. ### [VFP Search](vfp_search/)[¶](#vfp-search "Permanent link") Search for specific video fragments within larger video files or collections. Ideal for content identification and copyright protection. ## Desktop Applications[¶](#desktop-applications "Permanent link") Full-featured applications demonstrating complete fingerprinting workflows. ### [Duplicate Video Scanner (DVS)](dvs/)[¶](#duplicate-video-scanner-dvs "Permanent link") A comprehensive Windows application for finding duplicate videos in large collections. Features include: - Batch processing of entire directories - Adjustable similarity thresholds - Export results to CSV - Visual preview of duplicates ### [Media Monitoring Tool (MMT)](mmt/)[¶](#media-monitoring-tool-mmt "Permanent link") Monitor recorded broadcasts and media files for specific content. Designed for: - Content compliance verification - Advertisement tracking - Copyright monitoring - Broadcast analysis ## Real-time Processing[¶](#real-time-processing "Permanent link") Applications for monitoring and... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/index.html #### Media Monitoring Tool for .Net - VisioForge Help [Skip to content](#media-monitoring-tool) # Media Monitoring Tool[¶](#media-monitoring-tool "Permanent link") 📦 **Source Code**: - [MMT Windows Forms on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/MMT) - [MMT MAUI (Cross-platform) on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/MMT%20MAUI) ## Overview[¶](#overview "Permanent link") MMT (Media Monitoring Tool) is a Windows desktop application designed to find video fragments within larger videos. It's primarily used for detecting commercials, advertisements, intros, outros, or any specific video segments within broadcast recordings or video collections. Unlike DVS which compares whole videos, MMT specializes in locating where specific clips appear within longer content. ## Key Features[¶](#key-features "Permanent link") - **Fragment Detection**: Find short video clips within long recordings - **Batch Processing**: Search multiple fragments in multiple videos - **Advertisement Monitoring**: Detect and track commercial appearances - **Timeline Visualization**: See exactly when fragments appear - **Media Preview**: Built-in player for reviewing detections - **Export Capabilities**: Save results in CSV format - **Database Support**: Build libraries of fragments for repeated searches ## User Interface[¶](#user-interface "Permanent link") ### Main Components[¶](#main-components "Permanent link") 1. **Media Player**: Preview videos and detections 2. **Broadcast Dump Tab**: Manage videos to search within 3. **Ads/Fragments Tab**: Manage video fragments to search for 4. **Results Tab**: View detection results and statistics 5. **Settings Tab**: Configure search parameters 6. **Status Bar**: Monitor processing progress ## How to Use[¶](#how-to-use "Permanent link") ### Basic Workflow[¶](#basic-workflow "Permanent link") 1. **Add Broadcast Content**: 2. Use "Broadcast dump" tab 3. Add... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/mmt/index.html #### MMT Live - Real-Time Media Monitoring Tool for .Net - VisioForge Help [Skip to content](#mmt-live-real-time-media-monitoring-tool) # MMT Live - Real-Time Media Monitoring Tool[¶](#mmt-live-real-time-media-monitoring-tool "Permanent link") 📦 **Source Code**: [View on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/MMT%20Live) ## Overview[¶](#overview "Permanent link") MMT Live is a real-time version of the Media Monitoring Tool that can detect video fragments in live streams or during live playback. It's designed for monitoring broadcasts in real-time, detecting advertisements as they air, and triggering immediate actions when specific content is detected. ## Key Features[¶](#key-features "Permanent link") - **Real-Time Detection**: Identify fragments as video plays - **Live Stream Support**: Monitor RTSP, HTTP, and file streams - **Instant Notifications**: Immediate alerts when content detected - **Continuous Monitoring**: 24/7 operation capability - **Ad Detection**: Real-time commercial identification - **Low Latency**: Near-instantaneous detection - **Live Preview**: Monitor stream while processing ## Differences from Standard MMT[¶](#differences-from-standard-mmt "Permanent link") Feature MMT MMT Live Processing Post-recording Real-time Input Files only Files + Streams Detection Batch Continuous Results After completion Immediate Use Case Analysis Monitoring ## User Interface[¶](#user-interface "Permanent link") ### Main Components[¶](#main-components "Permanent link") 1. **Live Media Player**: Shows current stream/playback 2. **Fragment Library**: Pre-loaded detection targets 3. **Detection Log**: Real-time detection events 4. **Status Indicators**: Stream health and processing state 5. **Settings Panel**: Live adjustment of parameters ## How to Use[¶](#how-to-use "Permanent link") ### Setup Workflow[¶](#setup-workflow "Permanent link") 1. **Prepare Fragment Library**: 2. Load commercials/clips to detect 3. Generate fingerpr... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/mmt-live/index.html #### Video Fingerprint Comparison Tool for .Net - VisioForge Help [Skip to content](#vfp_compare-video-fingerprint-comparison-tool) # vfp\_compare - Video Fingerprint Comparison Tool[¶](#vfp_compare-video-fingerprint-comparison-tool "Permanent link") 📦 **Source Code**: [View on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/Console/vfp_compare) ## Overview[¶](#overview "Permanent link") `vfp_compare` is a command-line tool that compares two video fingerprint files to determine if the videos are similar or identical. It's useful for detecting duplicate videos, finding similar content, or verifying video integrity. ## Features[¶](#features "Permanent link") - Compare pre-generated video fingerprints - Fast comparison without re-processing videos - Configurable similarity threshold - Returns numerical difference score ## Usage[¶](#usage "Permanent link") `[](#__codelineno-0-1)vfp_compare -f "fingerprint1.vsigx" -s "fingerprint2.vsigx" [options]` ### Required Parameters[¶](#required-parameters "Permanent link") - `-f, --f1` : Path to the first fingerprint file - `-s, --f2` : Path to the second fingerprint file ### Optional Parameters[¶](#optional-parameters "Permanent link") - `-d, --md` : Maximum acceptable difference (default: 500) - `-l, --license` : VisioForge license key (default: "TRIAL") ## Examples[¶](#examples "Permanent link") ### Basic comparison[¶](#basic-comparison "Permanent link") `[](#__codelineno-1-1)vfp_compare -f "video1.vsigx" -s "video2.vsigx"` ### Comparison with custom threshold[¶](#comparison-with-custom-threshold "Permanent link") `[](#__codelineno-2-1)vfp_compare -f "original.vsigx" -s "copy.vsigx" -d 100` ### Using license key[¶](#using-license-key "Permanent link") `[](#__codelineno-3-1)vfp_compare -f "file1.vsigx" -s "file2.vsigx" -l "YOUR-LICENSE-KEY"` ## Output[¶](#output "Permanent link") The tool outputs: - Difference score (lower = more similar) - Comparison result based on threshold - Processing time ### Unde... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/vfp_compare/index.html #### Video Fingerprint Generator Tool for .Net - VisioForge Help [Skip to content](#vfp_gen-video-fingerprint-generator) # vfp\_gen - Video Fingerprint Generator[¶](#vfp_gen-video-fingerprint-generator "Permanent link") 📦 **Source Code**: [View on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/Console/vfp_gen) ## Overview[¶](#overview "Permanent link") `vfp_gen` is a command-line tool that generates video fingerprints (signatures) from video files. These fingerprints can be used for video comparison, duplicate detection, or fragment searching. ## Features[¶](#features "Permanent link") - Generate fingerprints optimized for either comparison or search operations - Process full videos or specific durations - Support for all major video formats (MP4, AVI, MKV, MOV, etc.) - Cross-platform compatibility (Windows x64) ## Usage[¶](#usage "Permanent link") `[](#__codelineno-0-1)vfp_gen -i "input_video.mp4" -o "output.vsigx" [options]` ### Required Parameters[¶](#required-parameters "Permanent link") - `-i, --input` : Path to the input video file - `-o, --output` : Path where the fingerprint file will be saved (typically with .vsigx extension) ### Optional Parameters[¶](#optional-parameters "Permanent link") - `-t, --type` : Fingerprint type (default: "search") - `search` : Optimized for finding this video as a fragment within other videos - `compare` : Optimized for comparing entire videos - `-d, --duration` : Duration to analyze in milliseconds (default: 0 = full file) - `-l, --license` : VisioForge license key (default: "TRIAL") ## Examples[¶](#examples "Permanent link") ### Generate a search fingerprint for the entire video[¶](#generate-a-search-fingerprint-for-the-entire-video "Permanent link") `[](#__codelineno-1-1)vfp_gen -i "commercial.mp4" -o "commercial.vsigx"` ### Generate a comparison fingerprint[¶](#generate-a-comparison-fingerprint "Permanent link") `[](#__codelineno-2-1)vfp_gen -i "movie.mp4" -o "movie_compare.vsigx" -t compare` #... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/vfp_gen/index.html #### Video Fragment Search Tool for .Net - VisioForge Help [Skip to content](#vfp_search-video-fragment-search-tool) # vfp\_search - Video Fragment Search Tool[¶](#vfp_search-video-fragment-search-tool "Permanent link") 📦 **Source Code**: [View on GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/Console/vfp_search) ## Overview[¶](#overview "Permanent link") `vfp_search` is a command-line tool that searches for a video fragment (like a commercial, intro, or specific scene) within a larger video. It uses pre-generated fingerprints to quickly locate where the fragment appears in the main video. ## Features[¶](#features "Permanent link") - Find video fragments within full-length videos - Detect commercials in broadcast recordings - Locate specific scenes or clips - Fast search without re-processing videos - Returns exact timestamps of matches ## Usage[¶](#usage "Permanent link") `[](#__codelineno-0-1)vfp_search -f "fragment.vsigx" -m "main_video.vsigx" [options]` ### Required Parameters[¶](#required-parameters "Permanent link") - `-f, --fragment` : Path to the fragment fingerprint file (the video segment to search for) - `-m, --main` : Path to the main video fingerprint file (where to search) ### Optional Parameters[¶](#optional-parameters "Permanent link") - `-d, --md` : Maximum acceptable difference (default: 500) - `-l, --license` : VisioForge license key (default: "TRIAL") ## Examples[¶](#examples "Permanent link") ### Search for a commercial in a TV recording[¶](#search-for-a-commercial-in-a-tv-recording "Permanent link") `[](#__codelineno-1-1)vfp_search -f "commercial.vsigx" -m "tv_recording.vsigx"` ### Search with stricter matching[¶](#search-with-stricter-matching "Permanent link") `[](#__codelineno-2-1)vfp_search -f "intro.vsigx" -m "movie.vsigx" -d 50` ### Using license key[¶](#using-license-key "Permanent link") `[](#__codelineno-3-1)vfp_search -f "scene.vsigx" -m "full_movie.vsigx" -l "YOUR-LICENSE-KEY"` ## Output[¶](#output "... **URL**: https://www.visioforge.com/help/docs/vfp/dotnet/samples/vfp_search/index.html #### Video Fingerprinting SDK FAQ - VisioForge Help [Skip to content](#video-fingerprinting-sdk-faq) # Video Fingerprinting SDK FAQ[¶](#video-fingerprinting-sdk-faq "Permanent link") This comprehensive FAQ addresses the most common questions about the VisioForge Video Fingerprinting SDK. If you can't find your answer here, please visit our [support forum](https://support.visioforge.com/) or [Discord community](https://discord.com/invite/yvXUG56WCH). ## Table of Contents[¶](#table-of-contents "Permanent link") - [Licensing Questions](#licensing-questions) - [Performance and Optimization](#performance-and-optimization) - [Accuracy and Detection](#accuracy-and-detection) - [Supported Formats and Codecs](#supported-formats-and-codecs) - [Integration and Development](#integration-and-development) - [Database and Storage](#database-and-storage) ## Licensing Questions[¶](#licensing-questions "Permanent link") ### Q: What's the difference between Trial and Commercial licenses?[¶](#q-whats-the-difference-between-trial-and-commercial-licenses "Permanent link") **A:** The key differences are: Feature Trial Commercial Duration 30 days Perpetual Watermark Yes (visual overlay) No All Features Yes Yes Production Use No Yes Technical Support Forum only Email/Priority/Phone Updates Trial period only 1 year ### Q: Can I use the Trial license for development?[¶](#q-can-i-use-the-trial-license-for-development "Permanent link") **A:** Yes! The trial license is perfect for development and testing. It includes all features with a watermark. You can develop your entire application with the trial license and purchase a commercial license when ready for production. `[](#__codelineno-0-1)// Development environment [](#__codelineno-0-2)VFPAnalyzer.SetLicenseKey("TRIAL"); [](#__codelineno-0-3)[](#__codelineno-0-4)// Production environment [](#__codelineno-0-5)VFPAnalyzer.SetLicenseKey(Environment.GetEnvironmentVariable("VFP_LICENSE_KEY"));` ### Q: What happens when my trial expires?[¶](#q-what-happe... **URL**: https://www.visioforge.com/help/docs/vfp/faq/index.html #### Fingerprint Types: Search vs Compare - VisioForge Help [Skip to content](#fingerprint-types-search-vs-compare) # Fingerprint Types: Search vs Compare[¶](#fingerprint-types-search-vs-compare "Permanent link") ## Introduction[¶](#introduction "Permanent link") The VisioForge Video Fingerprinting SDK (available for both .NET and C++) provides two distinct fingerprint types, each optimized for specific use cases. Understanding the fundamental differences between **Search** and **Compare** fingerprints is crucial for achieving optimal performance and accuracy in your video analysis applications. This architectural decision stems from the inherently different requirements of searching for video fragments versus comparing entire videos. While both types analyze video content to create unique signatures, they employ different algorithms, data structures, and optimization strategies tailored to their specific purposes. ## Technical Architecture[¶](#technical-architecture "Permanent link") ### Core Differences[¶](#core-differences "Permanent link") The SDK implements two separate processing pipelines through distinct native API calls: Aspect Compare Fingerprint Search Fingerprint **Native API** `VFPCompare_*` functions `VFPSearch_*` functions **Data Structure** `VFPCompareData` `VFPSearchData` **Algorithm Focus** Whole-video similarity Fragment detection **Temporal Resolution** Second-level precision Millisecond precision **Optimization Target** Accuracy for full comparison Speed for sliding-window search ### Internal Structure Differences[¶](#internal-structure-differences "Permanent link") **Compare Fingerprints** use a comprehensive data structure that captures global characteristics of the entire video: - Maintains temporal coherence across the full duration - Stores detailed frame-by-frame signatures - Optimized for shift-tolerant comparison - Larger memory footprint for better accuracy **Search Fingerprints** employ a compact, search-optimized structure: - Uses sliding-window compa... **URL**: https://www.visioforge.com/help/docs/vfp/fingerprint-types/index.html #### Video Fingerprinting Technology for Developers - VisioForge Help [Skip to content](#video-fingerprinting-sdk) # Video Fingerprinting SDK[¶](#video-fingerprinting-sdk "Permanent link") ## What is Video Fingerprinting?[¶](#what-is-video-fingerprinting "Permanent link") Our state-of-the-art video fingerprinting technology creates unique digital signatures of video content by analyzing multiple dimensions of visual data. The system employs sophisticated algorithms that focus on: - **Scene analysis** - Detecting transitions, cuts, and composition - **Object recognition** - Identifying and tracking key visual elements - **Motion detection** - Analyzing movement patterns and trajectories - **Color distribution** - Mapping visual palettes and tonal variations - **Temporal patterns** - Examining how visual elements change over time These elements combine to form a distinctive fingerprint that uniquely identifies each video in your database. ## Key Capabilities and Benefits[¶](#key-capabilities-and-benefits "Permanent link") The SDK can accurately match videos despite significant transformations, including: - Changes in resolution (from SD to 4K and beyond) - Variations in encoding bitrate and quality - Different compression techniques - Conversion between file formats (MP4, AVI, MOV, etc.) - Partial content matching (identifying segments) - Videos embedded within other content - Presence of overlays, watermarks, or subtitles This robustness makes the technology ideal for content verification, copyright protection, and media monitoring applications. ## Platform Support and Integration[¶](#platform-support-and-integration "Permanent link") The SDK offers cross-platform compatibility with: - **Windows** - Full support for Windows 10/11 and server environments - **Linux** - Compatible with major distributions - **macOS** - Full support for recent versions Developers can integrate using multiple programming languages: - [C# and .NET](#net-sdk-documentation) - Managed code with rich features -... **URL**: https://www.visioforge.com/help/docs/vfp/index.html #### System Requirements for Video Fingerprinting SDK - VisioForge Help [Skip to content](#system-requirements) # System Requirements[¶](#system-requirements "Permanent link") This page outlines the system requirements for running the Video Fingerprinting SDK on supported platforms. These requirements apply to both the .NET and C++ versions of the SDK. ## Supported Platforms[¶](#supported-platforms "Permanent link") ### Windows[¶](#windows "Permanent link") - **Operating System**: Windows 10 version 1903+ or Windows 11 - **Architecture**: x86, x64, or ARM64 (ARM64 for .NET SDK only) - **Runtime**: Microsoft Visual C++ Redistributables 2019 or later - **Additional Libraries**: DirectShow filters for enhanced codec support (optional) ### Linux[¶](#linux "Permanent link") - **Distributions**: Ubuntu 20.04+, Debian 11+, RHEL 8+, CentOS 8+, Fedora 34+ (Fedora for C++ SDK) - **Architecture**: x64 or ARM64 - **Dependencies**: GStreamer 1.18+ with base and good plugins - **Display Server**: X11 or Wayland (for .NET SDK with GUI) ### macOS[¶](#macos "Permanent link") - **Operating System**: macOS 12 (Monterey) or later - **Architecture**: Intel x64 or Apple Silicon (M1/M2/M3) - **Dependencies**: No additional runtime dependencies required ## Hardware Requirements[¶](#hardware-requirements "Permanent link") ### Minimum Requirements[¶](#minimum-requirements "Permanent link") - **Processor**: Dual-core CPU (Intel Core i3 or AMD equivalent) - **Memory**: - .NET SDK: 4 GB RAM - C++ SDK: 2 GB RAM available for application - **Storage**: - .NET SDK: 500 MB free disk space for SDK - C++ SDK: 100 MB for SDK files + space for video processing - **GPU**: Any DirectX 9 compatible graphics card (Windows only) ### Recommended Requirements[¶](#recommended-requirements "Permanent link") - **Processor**: Quad-core CPU (Intel Core i5 or AMD Ryzen 5) - **Memory**: - .NET SDK: 8 GB RAM or more - C++ SDK: 4 GB RAM or more available for application - **Storage**: - .NET SDK: 2 GB free disk space for S... **URL**: https://www.visioforge.com/help/docs/vfp/system-requirements/index.html #### Understanding Video Fingerprinting Technology - VisioForge Help [Skip to content](#understanding-video-fingerprinting-technology) # Understanding Video Fingerprinting Technology[¶](#understanding-video-fingerprinting-technology "Permanent link") ## Introduction[¶](#introduction "Permanent link") Video fingerprinting is a sophisticated technology that creates unique digital signatures of video content, enabling accurate identification and matching even when videos have been transformed, compressed, or modified. Unlike cryptographic hashing (MD5, SHA) which produces completely different results from even tiny changes, video fingerprinting generates perceptually similar signatures for visually similar content. VisioForge's Video Fingerprinting SDK implements state-of-the-art algorithms that analyze multiple dimensions of video data to create robust, compact fingerprints that can survive various transformations while maintaining high accuracy in content identification. ## How Video Fingerprinting Works[¶](#how-video-fingerprinting-works "Permanent link") The VisioForge SDK employs a multi-layered approach to video analysis, processing frames through specialized algorithms that extract perceptually significant features: ### Scene Analysis and Detection[¶](#scene-analysis-and-detection "Permanent link") The SDK analyzes video content at the scene level, identifying transitions, cuts, and compositional changes. This temporal segmentation provides the foundation for understanding the video's structure: `[](#__codelineno-0-1)// The SDK processes frames with temporal awareness [](#__codelineno-0-2)VFPCompare.Process( [](#__codelineno-0-3) frameData, // RGB24 frame data [](#__codelineno-0-4) width, height, // Frame dimensions [](#__codelineno-0-5) stride, // Memory layout [](#__codelineno-0-6) timestamp, // Temporal position [](#__codelineno-0-7) ref compareData // Accumulating fingerprint data [](#__codelineno-0-8));` ### Object Recognition Techniques[¶](#object-reco... **URL**: https://www.visioforge.com/help/docs/vfp/understanding-video-fingerprinting/index.html #### Video Fingerprinting Use Cases and Applications - VisioForge Help [Skip to content](#video-fingerprinting-use-cases-and-applications) # Video Fingerprinting Use Cases and Applications[¶](#video-fingerprinting-use-cases-and-applications "Permanent link") Video fingerprinting technology has revolutionized how organizations manage, protect, and analyze video content. This comprehensive guide explores real-world applications across various industries, providing practical implementation examples and best practices for each use case. ## Overview of Video Fingerprinting Applications[¶](#overview-of-video-fingerprinting-applications "Permanent link") Video fingerprinting creates unique digital signatures that identify video content regardless of format changes, quality modifications, or minor edits. This technology enables: - **Content Identification**: Recognize videos across different platforms and formats - **Duplicate Detection**: Find identical or similar content in large archives - **Copyright Protection**: Detect unauthorized use of copyrighted material - **Content Monitoring**: Track video distribution and usage - **Quality Control**: Ensure content integrity and compliance ## Copyright Protection and DMCA Compliance[¶](#copyright-protection-and-dmca-compliance "Permanent link") ### The Challenge[¶](#the-challenge "Permanent link") Content creators and rights holders face massive challenges protecting their intellectual property online. Every minute, hundreds of hours of video are uploaded to platforms worldwide, making manual copyright enforcement impossible. ### How Video Fingerprinting Helps[¶](#how-video-fingerprinting-helps "Permanent link") Video fingerprinting enables automated copyright detection at scale, identifying protected content even when it's been: - Re-encoded or compressed - Cropped or resized - Overlaid with watermarks - Embedded in compilations - Mirrored or rotated ### Implementation Example: Copyright Detection System[¶](#implementation-example-copyright-detection-system "Pe... **URL**: https://www.visioforge.com/help/docs/vfp/use-cases/index.html ### ES Documentation #### Bibliotecas Delphi para Desarrollo Multimedia - VisioForge Help [Saltar a contenido](#bibliotecas-delphiactivex-para-desarrollo-multimedia) # Bibliotecas Delphi/ActiveX para Desarrollo Multimedia[¶](#bibliotecas-delphiactivex-para-desarrollo-multimedia "Permanent link") Bienvenido a nuestro centro de documentación para desarrolladores de bibliotecas multimedia Delphi/ActiveX. Este recurso proporciona información técnica detallada, ejemplos de código y guías de implementación para desarrolladores que trabajan con nuestros componentes especializados. ## Beneficios Principales de las Bibliotecas[¶](#beneficios-principales-de-las-bibliotecas "Permanent link") Nuestras bibliotecas empoderan a los desarrolladores Delphi para crear aplicaciones multimedia sofisticadas con mínimo esfuerzo de codificación. Los componentes están diseñados para máximo rendimiento y confiabilidad en entornos de desarrollo profesional. Las ventajas clave incluyen: - Implementación simplificada de características multimedia complejas - Rendimiento optimizado para operaciones intensivas en recursos - Compatibilidad entre versiones con múltiples lanzamientos de Delphi - Extensas opciones de personalización para requisitos especializados ## Organización de la Documentación[¶](#organizacion-de-la-documentacion "Permanent link") ### Materiales de Referencia Técnica[¶](#materiales-de-referencia-tecnica "Permanent link") Cada sección de biblioteca contiene referencias de API detalladas, ejemplos de implementación y prácticas recomendadas. Navega a la documentación específica de la biblioteca para información completa sobre: - Propiedades y atributos de componentes - Firmas de métodos y parámetros - Manejadores de eventos y funciones de callback - Definiciones de tipos y constantes ### Ejemplos de Código y Tutoriales[¶](#ejemplos-de-codigo-y-tutoriales "Permanent link") Nuestra documentación incluye fragmentos de código prácticos y ejemplos de implementación completos para acelerar tu proceso de desarrollo. Estos ejemplos demuestran técn... **URL**: https://www.visioforge.com/help/es/docs/delphi/general/index.html #### 64-bit Installation - VisioForge Help [Saltar a contenido](#dominar-la-instalacion-de-paquetes-delphi-de-64-bits) * * * title: Guía de Instalación de Paquetes Delphi de 64 bits description: Instala paquetes Delphi de 64 bits: configura rutas de biblioteca, gestiona paquetes en tiempo de ejecución y resuelve problemas de instalación. * * * # Dominar la Instalación de Paquetes Delphi de 64 bits[¶](#dominar-la-instalacion-de-paquetes-delphi-de-64-bits "Permanent link") ## Introducción al Desarrollo de 64 bits en Delphi[¶](#introduccion-al-desarrollo-de-64-bits-en-delphi "Permanent link") La evolución hacia la computación de 64 bits representa un avance significativo para los desarrolladores de Delphi, abriendo puertas a un rendimiento mejorado, capacidades expandidas de direccionamiento de memoria y una utilización optimizada de recursos. Desde la introducción del soporte de 64 bits en Delphi XE2, los desarrolladores han ganado la poderosa capacidad de compilar aplicaciones nativas de Windows de 64 bits. Esta capacidad permite que el software aproveche las arquitecturas de hardware modernas, acceda a espacios de memoria sustancialmente más grandes y ofrezca un rendimiento optimizado para operaciones intensivas en datos. Sin embargo, esta progresión tecnológica introduce un conjunto distintivo de complejidades, particularmente con respecto a la instalación y gestión de paquetes de componentes (archivos `.bpl`). Muchos desarrolladores de Delphi encuentran obstáculos desconcertantes al intentar integrar paquetes de 64 bits en su flujo de trabajo de desarrollo, lo que lleva a la frustración y la pérdida de productividad. Esta guía detallada explora estos desafíos a fondo y proporciona soluciones meticulosamente detalladas y accionables. El problema fundamental se origina en una característica arquitectónica crítica: **el Entorno de Desarrollo Integrado (IDE) de Delphi sigue siendo una aplicación de 32 bits**, incluso en las versiones más recientes. Esta discrepancia arquitectónica entre el IDE de 32... **URL**: https://www.visioforge.com/help/es/docs/delphi/general/install-64bit/index.html #### OTA Resource Installation - VisioForge Help [Saltar a contenido](#corregir-errores-de-archivos-otares-en-paquetes-delphi) * * * title: Corregir Errores de Archivos .otares en Paquetes Delphi description: Resuelve errores de .otares faltantes en Delphi: soluciona problemas de recursos, corrige errores de compilación y restaura funcionalidad. * * * # Corregir Errores de Archivos .otares en Paquetes Delphi[¶](#corregir-errores-de-archivos-otares-en-paquetes-delphi "Permanent link") ## Cómo Resolver el Error de Archivo .otares No Encontrado en Delphi[¶](#como-resolver-el-error-de-archivo-otares-no-encontrado-en-delphi "Permanent link") Al trabajar con paquetes Delphi, los desarrolladores frecuentemente encuentran el frustrante error de archivo .otares no encontrado que puede detener completamente tu flujo de trabajo de desarrollo. Esta guía práctica explica el problema, identifica causas comunes y proporciona soluciones probadas para que tus proyectos vuelvan a funcionar. ### ¿Qué es un Archivo .otares?[¶](#que-es-un-archivo-otares "Permanent link") Para solucionar efectivamente este problema, necesitas entender el rol de los archivos .otares en Delphi: - Archivos de recursos específicos para entornos de desarrollo Delphi - Contienen recursos compilados incluyendo imágenes, iconos y activos binarios - Se generan durante los procesos de compilación de paquetes - Críticos para paquetes con componentes visuales o características dependientes de recursos ### Mensajes de Error Típicos[¶](#mensajes-de-error-tipicos "Permanent link") Probablemente encontrarás estos errores durante la compilación o instalación: `[](#__codelineno-0-1)[dcc32 Error] E1026 File not found: 'Nombre_Paquete.otares' [](#__codelineno-0-2)[dcc32 Error] E1026 Could not locate resource file 'Paquete_Componente.otares' [](#__codelineno-0-3)[dcc32 Error] Package compilation failed due to missing .otares file` ### Cuándo Ocurre Típicamente Este Problema[¶](#cuando-ocurre-tipicamente-este-problema "Permanent link") Estos errores... **URL**: https://www.visioforge.com/help/es/docs/delphi/general/install-otares/index.html #### Framework de Medios Delphi para Procesamiento de Video - VisioForge Help [Saltar a contenido](#all-in-one-media-framework) # All-in-One Media Framework[¶](#all-in-one-media-framework "Permanent link") Un conjunto de bibliotecas Delphi/ActiveX para procesamiento, reproducción y captura de video llamado All-in-One Media Framework. Estas bibliotecas ayudan a los desarrolladores a crear aplicaciones profesionales de edición, reproducción y captura de video con mínimo esfuerzo y máximo rendimiento. El framework proporciona una solución completa para el manejo de medios en aplicaciones Delphi, ofreciendo capacidades de procesamiento de video de alto rendimiento que de otro modo requerirían extensa programación de bajo nivel. Los desarrolladores pueden implementar flujos de trabajo de video complejos con una arquitectura simple basada en componentes. Puedes encontrar la documentación de las siguientes bibliotecas aquí: ## Bibliotecas[¶](#bibliotecas "Permanent link") - [TVFMediaPlayer](mediaplayer/) - Componente de reproductor de medios con todas las funciones con soporte de lista de reproducción, búsqueda con precisión de cuadro y controles de reproducción avanzados - [TVFVideoCapture](videocapture/) - Potente componente de captura de video que soporta webcams, tarjetas de captura, cámaras IP y grabación de pantalla - [TVFVideoEdit](videoedit/) - Componente de edición de video profesional con soporte de línea de tiempo, transiciones, filtros y salida a múltiples formatos ## Ejemplos de Implementación[¶](#ejemplos-de-implementacion "Permanent link") El framework incluye numerosos ejemplos que demuestran cómo implementar tareas de medios comunes: - Reproductores de video con controles y visualizaciones personalizadas - Aplicaciones de grabación multi-cámara - Software de edición de video con soporte de línea de tiempo - Utilidades de conversión de formato - Aplicaciones de medios de streaming ## Información General[¶](#informacion-general "Permanent link") Los paquetes ActiveX pueden usarse en múltiples lenguajes de... **URL**: https://www.visioforge.com/help/es/docs/delphi/index.html #### Historial de Cambios - VisioForge Help [Saltar a contenido](#registro-de-cambios-de-la-biblioteca-tvfmediaplayer) * * * title: Actualizaciones y Funcionalidades de la Biblioteca Media Player description: Registro de cambios de TVFMediaPlayer desde 3.0 hasta 10.0: soporte 4K, cifrado, efectos, streaming y actualizaciones de rendimiento. * * * # Registro de Cambios de la Biblioteca TVFMediaPlayer[¶](#registro-de-cambios-de-la-biblioteca-tvfmediaplayer "Permanent link") Este documento detalla la evolución de la biblioteca TVFMediaPlayer, documentando las funcionalidades significativas, mejoras, optimizaciones y correcciones de errores introducidas en las diversas versiones. Sirve como referencia completa para desarrolladores que rastrean el progreso de la biblioteca y comprenden las capacidades añadidas con el tiempo. ## Versión 10.0: Manejo de Medios Mejorado y Personalización[¶](#version-100-manejo-de-medios-mejorado-y-personalizacion "Permanent link") La versión 10.0 representa un avance significativo, enfocándose en introspección de medios mejorada, registro, personalización y compatibilidad. ### Mejoras Principales[¶](#mejoras-principales "Permanent link") - **Lector de Información de Medios Mejorado:** Esta versión potencia significativamente las capacidades del lector de información de medios. Permite una extracción más rápida y precisa de metadatos de una amplia gama de tipos de archivos multimedia. Los desarrolladores obtienen acceso confiable a detalles críticos como duración, resolución, especificaciones de códec, tasas de bits y etiquetas incrustadas, lo que simplifica la gestión de medios y mejora las capacidades de visualización dentro de las aplicaciones. - **Capacidades de Registro Mejoradas:** El registro ha sido sustancialmente refinado, ofreciendo a los desarrolladores un control más granular. Las opciones de configuración ahora incluyen niveles de registro distintos (Depuración, Info, Advertencia, Error) y destinos de salida flexibles como archivos, consola o endpoints pe... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/changelog/index.html #### Despliegue Biblioteca Media Player Delphi & ActiveX - VisioForge Help [Saltar a contenido](#guia-de-despliegue-para-tvfmediaplayer) # Guía de Despliegue para TVFMediaPlayer[¶](#guia-de-despliegue-para-tvfmediaplayer "Permanent link") El despliegue de aplicaciones construidas con la biblioteca TVFMediaPlayer requiere asegurar que todos los componentes necesarios estén correctamente instalados y configurados en la máquina de destino. Esta guía proporciona instrucciones detalladas para métodos de despliegue automatizados y manuales, atendiendo diferentes escenarios y requisitos técnicos. Ya sea que prefiera la simplicidad de los instaladores silenciosos o el control granular de la configuración manual, este documento cubre los pasos esenciales para desplegar exitosamente su aplicación de reproductor multimedia Delphi o ActiveX. ## Comprendiendo los Requisitos de Despliegue[¶](#comprendiendo-los-requisitos-de-despliegue "Permanent link") Antes de desplegar su aplicación, es crucial entender las dependencias de la biblioteca TVFMediaPlayer. La biblioteca depende de varios componentes centrales, incluyendo runtimes base, códecs específicos (como FFMPEG o VLC para ciertas fuentes), y Redistribuibles de Microsoft Visual C++. El método de despliegue que elija determinará cómo se manejan estas dependencias. ### Componentes Centrales[¶](#componentes-centrales "Permanent link") - **Biblioteca Base:** Contiene el motor esencial y filtros DirectShow para funcionalidad básica de reproducción. - **Paquetes de Códecs:** Opcionales pero a menudo necesarios para soportar una amplia gama de formatos multimedia y streams de red (ej., cámaras IP). FFMPEG y VLC son opciones comunes proporcionadas. - **Dependencias de Runtime:** Los paquetes Redistribuibles de Microsoft Visual C++ son requeridos para que los componentes de la biblioteca principal funcionen correctamente. Elegir la estrategia de despliegue correcta depende de factores como los privilegios del usuario en la máquina de destino, la necesidad de instalación desatendida, y las func... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/deployment/index.html #### Multiple Video Streams - VisioForge Help [Saltar a contenido](#reproduciendo-archivos-de-video-con-multiples-streams-de-video) * * * title: Reproducir Múltiples Streams de Video desde un Solo Archivo description: Gestiona múltiples streams de video: selecciona ángulos de cámara, cambia resoluciones y gestiona pistas con ejemplos para Delphi, C++, VB6. * * * # Reproduciendo Archivos de Video con Múltiples Streams de Video[¶](#reproduciendo-archivos-de-video-con-multiples-streams-de-video "Permanent link") ## Comprendiendo Múltiples Streams de Video[¶](#comprendiendo-multiples-streams-de-video "Permanent link") ### ¿Qué Son los Múltiples Streams de Video?[¶](#que-son-los-multiples-streams-de-video "Permanent link") Los múltiples streams de video se refieren a diferentes pistas de video contenidas dentro de un solo archivo multimedia. Estos streams pueden variar de varias maneras: - Diferentes ángulos de cámara de la misma escena - Versiones alternativas con diferentes resoluciones o tasas de bits - Contenido primario y secundario (como picture-in-picture) - Diferentes relaciones de aspecto o formatos del mismo contenido - Versiones con o sin efectos especiales o gráficos ### Formatos de Archivo Soportados[¶](#formatos-de-archivo-soportados "Permanent link") Muchos formatos de contenedor populares soportan múltiples streams de video, incluyendo: - **Matroska (MKV)**: Ampliamente reconocido por su flexibilidad y soporte robusto para múltiples streams - **MP4/MPEG-4**: Común en aplicaciones profesionales y de consumidor - **AVI**: Aunque más antiguo, todavía ampliamente usado en algunos contextos - **WebM**: Popular para aplicaciones basadas en web - **TS/MTS**: Usado en aplicaciones de transmisión y cámaras de video de consumidor Cada formato tiene sus propias características y limitaciones respecto a cómo maneja múltiples streams de video, pero el componente `TVFMediaPlayer` proporciona un enfoque unificado para trabajar con ellos. ## Implementando Reproducción de Múltiples... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/file-multiple-video-streams/index.html #### Media Player SDK para Delphi - VisioForge Help [Saltar a contenido](#media-player-sdk-para-delphi) # Media Player SDK para Delphi[¶](#media-player-sdk-para-delphi "Permanent link") [Media Player SDK Delphi](https://www.visioforge.com/all-in-one-media-framework) Esta sección cubre el uso de Media Player SDK con Delphi para aplicaciones de reproducción multimedia. ## Componente Principal[¶](#componente-principal "Permanent link") ### TMediaPlayer[¶](#tmediaplayer "Permanent link") El componente `TMediaPlayer` proporciona capacidades completas de reproducción multimedia. `[](#__codelineno-0-1)var [](#__codelineno-0-2) MediaPlayer1: TMediaPlayer; [](#__codelineno-0-3)begin [](#__codelineno-0-4) MediaPlayer1 := TMediaPlayer.Create(Self); [](#__codelineno-0-5) MediaPlayer1.Parent := Panel1; [](#__codelineno-0-6) MediaPlayer1.Align := alClient; [](#__codelineno-0-7)end;` ## Reproducción Básica[¶](#reproduccion-basica "Permanent link") ### Reproducir Archivo[¶](#reproducir-archivo "Permanent link") `[](#__codelineno-1-1)procedure TForm1.PlayFile(const Filename: string); [](#__codelineno-1-2)begin [](#__codelineno-1-3) MediaPlayer1.Filename := Filename; [](#__codelineno-1-4) MediaPlayer1.Play; [](#__codelineno-1-5)end;` ### Controles de Reproducción[¶](#controles-de-reproduccion "Permanent link") `[](#__codelineno-2-1)procedure TForm1.Play; [](#__codelineno-2-2)begin [](#__codelineno-2-3) MediaPlayer1.Play; [](#__codelineno-2-4)end; [](#__codelineno-2-5)[](#__codelineno-2-6)procedure TForm1.Pause; [](#__codelineno-2-7)begin [](#__codelineno-2-8) MediaPlayer1.Pause; [](#__codelineno-2-9)end; [](#__codelineno-2-10)[](#__codelineno-2-11)procedure TForm1.Stop; [](#__codelineno-2-12)begin [](#__codelineno-2-13) MediaPlayer1.Stop; [](#__codelineno-2-14)end; [](#__codelineno-2-15)[](#__codelineno-2-16)procedure TForm1.Resume; [](#__codelineno-2-17)begin [](#__codelineno-2-18) MediaPlayer1.Resume; [](#__codelineno-2-19)end;` ## Navegación[¶](#navegacion "Permanent link") `[](#__codelin... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/index.html #### Instalación de TVFMediaPlayer en C++ Builder - VisioForge Help [Saltar a contenido](#instalando-tvfmediaplayer-en-c-builder) # Instalando TVFMediaPlayer en C++ Builder[¶](#instalando-tvfmediaplayer-en-c-builder "Permanent link") Bienvenido a la guía detallada para integrar la potente biblioteca TVFMediaPlayer en su entorno de desarrollo Embarcadero C++ Builder. Este documento cubre el proceso de instalación para versiones heredadas como C++ Builder 5 y 6, así como versiones modernas desde 2006 en adelante. Exploraremos los prerrequisitos necesarios, procedimientos de instalación paso a paso para diferentes versiones del IDE, consideraciones para arquitecturas de 32 bits (x86) y 64 bits (x64), y pasos comunes de solución de problemas. ## Introducción a TVFMediaPlayer y VisioForge Media Framework[¶](#introduccion-a-tvfmediaplayer-y-visioforge-media-framework "Permanent link") TVFMediaPlayer es un componente multimedia versátil desarrollado por VisioForge. Es parte del VisioForge Media Framework más amplio, diseñado para proporcionar a los desarrolladores un conjunto robusto de herramientas para manejar reproducción de audio y video, captura, procesamiento y streaming dentro de sus aplicaciones. TVFMediaPlayer se enfoca específicamente en capacidades de reproducción, soportando una amplia gama de formatos y ofreciendo extenso control sobre el renderizado de medios. El componente se entrega como un control ActiveX, haciéndolo fácilmente integrable en entornos que soportan tecnología COM, como C++ Builder. Utilizar ActiveX permite integración visual en tiempo de diseño y acceso programático directo a las características del reproductor. ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de proceder con la instalación, asegúrese de que su entorno de desarrollo cumpla con los siguientes requisitos: 1. **Versión de C++ Builder Soportada:** Necesita una instalación funcional de Embarcadero C++ Builder. Esta guía cubre: - C++ Builder 5 - C++ Builder 6 - C++ Builder 2006 - C++ Builder 2007, 20... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/install/builder/index.html #### Instalación de TVFMediaPlayer en Delphi - VisioForge Help [Saltar a contenido](#instalando-tvfmediaplayer-en-delphi) # Instalando TVFMediaPlayer en Delphi[¶](#instalando-tvfmediaplayer-en-delphi "Permanent link") Bienvenido a la guía detallada para instalar el VisioForge Media Player SDK, específicamente el componente `TVFMediaPlayer`, en su entorno de desarrollo Delphi. Esta guía cubre instalaciones para versiones clásicas de Delphi como Delphi 6 y 7, así como versiones modernas desde Delphi 2005 en adelante, incluyendo las últimas versiones que soportan desarrollo de 64 bits. ## Entendiendo TVFMediaPlayer[¶](#entendiendo-tvfmediaplayer "Permanent link") `TVFMediaPlayer` es un potente componente VCL de VisioForge diseñado para integración perfecta de capacidades de reproducción de video y audio en aplicaciones Delphi. Simplifica tareas como reproducir varios formatos multimedia, capturar instantáneas, controlar la velocidad de reproducción, gestionar streams de audio, y mucho más. Construido sobre un motor multimedia robusto, ofrece alto rendimiento y extenso soporte de formatos, haciéndolo una opción versátil para el desarrollo de aplicaciones multimedia en Delphi. Esta guía asume que tiene una instalación funcional de Embarcadero Delphi o una versión compatible más antigua (Borland Delphi). ## Paso 1: Prerrequisitos y Descarga del Framework[¶](#paso-1-prerrequisitos-y-descarga-del-framework "Permanent link") Antes de proceder con la instalación, asegúrese de que su entorno de desarrollo cumpla con los prerrequisitos necesarios. Principalmente, necesita una versión con licencia o de prueba de Delphi instalada en su máquina Windows. El componente `TVFMediaPlayer` se distribuye como parte del VisioForge All-in-One Media Framework. Este framework agrupa varios SDKs de VisioForge, proporcionando un kit de herramientas completo para el manejo de medios. 1. **Navegue a la Página del Producto:** Abra su navegador web y vaya a la página oficial del producto [All-in-One Media Framework](https://www.visioforge.com/all... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/install/delphi/index.html #### Instalar la Biblioteca TVFMediaPlayer - VisioForge Help [Saltar a contenido](#instalar-la-biblioteca-tvfmediaplayer) # Instalar la Biblioteca TVFMediaPlayer[¶](#instalar-la-biblioteca-tvfmediaplayer "Permanent link") Bienvenido a la guía de instalación detallada para la biblioteca TVFMediaPlayer de VisioForge, un componente central del potente All-in-One Media Framework. Esta guía proporciona pasos completos para instalar la biblioteca en varios Entornos de Desarrollo Integrados (IDEs), asegurando que pueda aprovechar sus ricas capacidades de reproducción multimedia de manera efectiva en sus proyectos. La biblioteca TVFMediaPlayer ofrece a los desarrolladores herramientas robustas para integrar funcionalidades de reproducción, procesamiento y streaming de audio y video en sus aplicaciones. Está disponible en dos formas principales para atender diferentes ecosistemas de desarrollo: 1. **Paquete Nativo de Delphi:** Optimizado específicamente para desarrolladores de Embarcadero Delphi, ofreciendo integración perfecta, soporte en tiempo de diseño y aprovechando todo el potencial del framework VCL. 2. **Control ActiveX (OCX):** Diseñado para amplia compatibilidad, permitiendo integración en entornos que soportan tecnología ActiveX, como C++ Builder, Microsoft Visual Basic 6 (VB6), Microsoft Visual Studio (para proyectos C#, VB.NET, C++ MFC), y otros contenedores ActiveX. Esta doble disponibilidad asegura que ya sea que esté trabajando dentro del ecosistema Delphi o utilizando otras herramientas de desarrollo populares, puede aprovechar el poder de TVFMediaPlayer. ## Antes de Comenzar: Requisitos del Sistema y Prerrequisitos[¶](#antes-de-comenzar-requisitos-del-sistema-y-prerrequisitos "Permanent link") Antes de proceder con la instalación, asegúrese de que su entorno de desarrollo cumpla con los requisitos necesarios: - **Sistema Operativo:** Windows 7, 8, 8.1, 10, 11, o Windows Server 2012 R2 y posteriores (se soportan versiones tanto x86 como x64). - **Entorno de Desarrollo:** Un IDE compatible como: -... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/install/index.html #### Instalación de TVFMediaPlayer en Visual Basic 6 - VisioForge Help [Saltar a contenido](#integrando-tvfmediaplayer-con-visual-basic-6-una-guia-completa) # Integrando TVFMediaPlayer con Visual Basic 6: Una Guía Completa[¶](#integrando-tvfmediaplayer-con-visual-basic-6-una-guia-completa "Permanent link") Microsoft Visual Basic 6 (VB6), a pesar de su antigüedad, sigue siendo una plataforma relevante para muchas aplicaciones heredadas. Su simplicidad y capacidades de desarrollo rápido de aplicaciones (RAD) lo hicieron increíblemente popular. Una forma de extender la funcionalidad de las aplicaciones VB6, particularmente en el procesamiento multimedia, es aprovechando los controles ActiveX. La biblioteca TVFMediaPlayer, desarrollada por VisioForge, ofrece un potente conjunto de características multimedia accesibles para los desarrolladores VB6 a través de su interfaz ActiveX. Esta guía proporciona un recorrido completo para instalar, configurar y utilizar la biblioteca TVFMediaPlayer dentro de un proyecto de Visual Basic 6. Cubriremos los matices de trabajar con ActiveX en VB6, abordaremos las limitaciones inherentes de 32 bits, y proporcionaremos pasos prácticos para la integración y el uso básico. ## Comprendiendo ActiveX y la Compatibilidad con VB6[¶](#comprendiendo-activex-y-la-compatibilidad-con-vb6 "Permanent link") Los controles ActiveX son componentes de software reutilizables basados en la tecnología Component Object Model (COM) de Microsoft. Permiten a los desarrolladores agregar funcionalidades específicas a las aplicaciones sin escribir el código subyacente desde cero. Visual Basic 6 tiene excelente soporte integrado para ActiveX, permitiendo a los desarrolladores incorporar fácilmente controles de terceros como TVFMediaPlayer en sus proyectos a través de una interfaz gráfica. Esta integración perfecta significa que los desarrolladores VB6 pueden acceder a las capacidades multimedia avanzadas de la biblioteca VisioForge—como reproducción de video, manipulación de audio, captura de pantalla y streaming de red—directa... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/install/visual-basic-6/index.html #### Instalando TVFMediaPlayer ActiveX en Visual Studio - VisioForge Help [Saltar a contenido](#instalando-tvfmediaplayer-activex-en-visual-studio-2010-y-posterior) # Instalando TVFMediaPlayer ActiveX en Visual Studio 2010 y Posterior[¶](#instalando-tvfmediaplayer-activex-en-visual-studio-2010-y-posterior "Permanent link") Esta guía proporciona instrucciones detalladas para integrar el control ActiveX VisioForge Media Player (`TVFMediaPlayer`) en sus proyectos de Microsoft Visual Studio (versión 2010 y posterior). Cubriremos los pasos necesarios para entornos C++, C#, y Visual Basic .NET, explicaremos los mecanismos subyacentes, y discutiremos consideraciones importantes, incluyendo por qué se recomienda altamente migrar al SDK nativo .NET para el desarrollo moderno. ## Comprendiendo ActiveX y su Rol en el Desarrollo Moderno[¶](#comprendiendo-activex-y-su-rol-en-el-desarrollo-moderno "Permanent link") ActiveX, una tecnología desarrollada por Microsoft, permite que los componentes de software (controles) interactúen entre sí independientemente del lenguaje en que fueron originalmente escritos. Está basado en el Component Object Model (COM). En el contexto de Visual Studio, los controles ActiveX pueden ser incrustados dentro de formularios de aplicación para proporcionar funcionalidades específicas, como la reproducción multimedia en el caso de `TVFMediaPlayer`. Aunque históricamente significativo, el uso de ActiveX ha declinado, especialmente dentro del ecosistema .NET. Los frameworks .NET modernos ofrecen formas más integradas, robustas y seguras de incorporar componentes de UI y funcionalidad. Sin embargo, aplicaciones heredadas o escenarios específicos de interoperabilidad aún podrían requerir el uso de controles ActiveX. Cuando usa un control ActiveX en un proyecto .NET (C# o VB.Net), Visual Studio no interactúa con él directamente. En su lugar, genera automáticamente **Runtime Callable Wrappers (RCW)**. Estos wrappers son esencialmente ensamblados .NET que actúan como intermediarios, traduciendo llamadas .NET en llamadas COM... **URL**: https://www.visioforge.com/help/es/docs/delphi/mediaplayer/install/visual-studio/index.html #### Captura de Audio a MP3 en Delphi, C++ y VB6 - VisioForge Help [Saltar a contenido](#captura-de-audio-a-archivos-mp3-en-delphi-c-mfc-y-vb6) # Captura de Audio a Archivos MP3 en Delphi, C++ MFC y VB6[¶](#captura-de-audio-a-archivos-mp3-en-delphi-c-mfc-y-vb6 "Permanent link") ## Introducción[¶](#introduccion "Permanent link") Las capacidades de captura de audio son esenciales para muchas aplicaciones modernas, desde herramientas de grabación de voz hasta software de creación multimedia. Esta guía recorre la implementación de la funcionalidad de captura de audio MP3 en aplicaciones Delphi, C++ MFC y VB6 usando el componente VideoCapture. MP3 sigue siendo uno de los formatos de audio más utilizados debido a su excelente compresión y amplia compatibilidad. Al implementar una captura de audio MP3 adecuada en sus aplicaciones, puede proporcionar a los usuarios capacidades de grabación de audio eficientes y de alta calidad. ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de implementar la captura de audio MP3, asegúrese de tener: - Entorno de desarrollo con Delphi, Visual C++ (para MFC), o Visual Basic 6 - Componente VideoCapture correctamente instalado y referenciado en su proyecto - Comprensión básica de conceptos de codificación de audio - Permisos requeridos para acceso a dispositivos de audio en su aplicación ## Configuración del Codificador LAME[¶](#configuracion-del-codificador-lame "Permanent link") El codificador MP3 LAME proporciona extensas opciones de personalización para calidad de audio, gestión de tasa de bits y configuración de canales. Configurar correctamente estos ajustes es crucial para lograr la calidad de audio deseada mientras se gestiona el tamaño del archivo. ### Configurando Parámetros Básicos de Codificación[¶](#configurando-parametros-basicos-de-codificacion "Permanent link") Los siguientes fragmentos de código demuestran cómo configurar los parámetros básicos de codificación LAME: `[](#__codelineno-0-1)// Delphi [](#__codelineno-0-2)VideoCapture1.Audio_LAME_CBR_Bitrate :=... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/audio-capture-mp3/index.html #### Captura de Audio a WAV en Delphi - VisioForge Help [Saltar a contenido](#captura-de-audio-a-archivos-wav-guia-de-implementacion-para-desarrolladores) # Captura de Audio a Archivos WAV: Guía de Implementación para Desarrolladores[¶](#captura-de-audio-a-archivos-wav-guia-de-implementacion-para-desarrolladores "Permanent link") ## Introducción[¶](#introduccion "Permanent link") Capturar audio a archivos WAV es un requisito fundamental para muchas aplicaciones multimedia. Esta guía proporciona instrucciones detalladas para implementar funcionalidad de captura de audio con o sin compresión en sus aplicaciones. Ya sea que esté desarrollando en Delphi, C++ MFC, o VB6 usando nuestros controles ActiveX, esta guía lo guiará a través de todo el proceso desde la configuración inicial hasta la implementación final. ## Configurando Su Entorno de Desarrollo[¶](#configurando-su-entorno-de-desarrollo "Permanent link") Antes de comenzar a implementar la captura de audio, asegúrese de tener: 1. Instalado el SDK en su entorno de desarrollo 2. Añadido el componente VideoCapture a su formulario/proyecto 3. Configurado el manejo básico de errores para gestionar excepciones de captura 4. Configurado su aplicación para acceder al hardware de audio ## Gestión de Códecs de Audio[¶](#gestion-de-codecs-de-audio "Permanent link") ### Recuperando Códecs de Audio Disponibles[¶](#recuperando-codecs-de-audio-disponibles "Permanent link") El primer paso en implementar la captura de audio es recuperar una lista de códecs de audio disponibles en el sistema. Esto le permite presentar a los usuarios opciones de códec o seleccionar programáticamente el códec más apropiado para las necesidades de su aplicación. #### Implementación en Delphi[¶](#implementacion-en-delphi "Permanent link") `[](#__codelineno-0-1)// Iterar a través de todos los códecs de audio disponibles [](#__codelineno-0-2)for i := 0 to VideoCapture1.Audio_Codecs_GetCount - 1 do [](#__codelineno-0-3) cbAudioCodec.Items.Add(VideoCapture1.Audio_Codecs_GetItem(i));` #### I... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/audio-capture-wav/index.html #### Selección de Dispositivo de Salida de Audio en Delphi - VisioForge Help [Saltar a contenido](#seleccion-de-dispositivo-de-salida-de-audio-en-delphi) # Selección de Dispositivo de Salida de Audio en Delphi[¶](#seleccion-de-dispositivo-de-salida-de-audio-en-delphi "Permanent link") Esta guía proporciona instrucciones detalladas y ejemplos de código para implementar la selección de dispositivos de salida de audio en sus aplicaciones de captura de video. Se cubren las implementaciones de Delphi, C++ MFC y VB6 para ayudarle a integrar esta funcionalidad en sus proyectos de manera eficiente. ## Enumeración de Dispositivos de Salida de Audio Disponibles[¶](#enumeracion-de-dispositivos-de-salida-de-audio-disponibles "Permanent link") El primer paso para implementar la selección de dispositivos de salida de audio es recuperar la lista completa de dispositivos de salida de audio disponibles en el sistema. Esto permite a los usuarios elegir su dispositivo de salida de audio preferido. ### Implementación en Delphi[¶](#implementacion-en-delphi "Permanent link") `[](#__codelineno-0-1)// Iterar a través de todos los dispositivos de salida de audio disponibles [](#__codelineno-0-2)for i := 0 to VideoCapture1.Audio_OutputDevices_GetCount - 1 do [](#__codelineno-0-3) // Agregar cada dispositivo a la lista desplegable [](#__codelineno-0-4) cbAudioOutputDevice.Items.Add(VideoCapture1.Audio_OutputDevices_GetItem(i));` ### Implementación en C++ MFC[¶](#implementacion-en-c-mfc "Permanent link") `[](#__codelineno-1-1)// Poblar el combobox con todos los dispositivos de salida de audio disponibles [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.Audio_OutputDevices_GetCount(); i++) { [](#__codelineno-1-3) CString deviceName = m_VideoCapture.Audio_OutputDevices_GetItem(i); [](#__codelineno-1-4) m_AudioOutputDeviceCombo.AddString(deviceName); [](#__codelineno-1-5)}` ### Implementación en VB6[¶](#implementacion-en-vb6 "Permanent link") `[](#__codelineno-2-1)' Iterar a través de todos los dispositivos de salida de audio disponibles [](#... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/audio-output/index.html #### Historial de Cambios - VisioForge Help [Saltar a contenido](#historial-de-versiones-de-tvfvideocapture) * * * title: Historial de Versiones de la Biblioteca TVFVideoCapture description: Historial de versiones de TVFVideoCapture: aceleración GPU, streaming y actualizaciones desde la versión 4.1 hasta la 11.0. * * * # Historial de Versiones de TVFVideoCapture[¶](#historial-de-versiones-de-tvfvideocapture "Permanent link") ## Versión 11.00 - Codificación GPU Mejorada y Soporte para Delphi Moderno[¶](#version-1100-codificacion-gpu-mejorada-y-soporte-para-delphi-moderno "Permanent link") - **Compatibilidad de Framework Expandida**: Añadido soporte para entornos de desarrollo Delphi 10.4 y 11.0 - **Aceleración GPU AMD Avanzada**: Implementada codificación de video MP4 (H264/AAC) utilizando unidades de procesamiento gráfico AMD - **Codificación Hardware GPU Intel**: Añadida codificación de video MP4 (H264/AAC) a través de GPUs Intel integradas y discretas - **Aceleración NVIDIA CUDA**: Introducida codificación de video MP4 (H264/AAC) potenciada por hardware gráfico NVIDIA - **Mejoras en Formato de Contenedor**: MKV mejorado con rendimiento y fiabilidad optimizados - **Nuevo Formato de Salida**: Añadido soporte para formato contenedor MOV para compatibilidad con ecosistema Apple ## Versión 10.0 - Optimizaciones de Rendimiento y Soporte Multi-Plataforma[¶](#version-100-optimizaciones-de-rendimiento-y-soporte-multi-plataforma "Permanent link") - **Mejora MP4**: Capacidades de salida MP4 actualizadas y mejoradas exhaustivamente - **Mejoras de Streaming**: Filtro de fuente VLC actualizado con soporte mejorado para RTMP y HTTPS - **Gestión de Memoria**: Corregida fuga de memoria crítica del codificador CUDA para codificación estable de larga duración - **Optimización de Recursos**: Resuelta fuga de memoria de fuente FFMPEG para estabilidad de aplicación mejorada - **Captura de Audio**: Filtro What You Hear mejorado para grabación superior de audio del sistema - **Arquitectura de 64... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/changelog/index.html #### Formatos de Salida Personalizados DirectShow en Delphi - VisioForge Help [Saltar a contenido](#ejemplo-de-codigo-formatos-de-salida-personalizados) # Ejemplo de código - Formatos de salida personalizados[¶](#ejemplo-de-codigo-formatos-de-salida-personalizados "Permanent link") Código de ejemplo para Delphi, C++ MFC y VB6. Actualmente, hay varias opciones para conectar filtros DirectShow de terceros para obtener el formato necesario. ## La primera opción - 3 filtros DirectShow diferentes[¶](#la-primera-opcion-3-filtros-directshow-diferentes "Permanent link") Un códec de audio, un códec de video y un multiplexor – filtros diferentes. Puede usar tanto filtros DirectShow como códecs regulares como códecs. ## La segunda opción - un filtro DirectShow todo en uno[¶](#la-segunda-opcion-un-filtro-directshow-todo-en-uno "Permanent link") Un multiplexor, un códec de video y un códec de audio – el mismo filtro. Otra diferencia es si el filtro puede escribir a un archivo por sí mismo, si debe usar el filtro File Writer estándar, o si necesita otro filtro especial. En los primeros dos casos, VisioForge Video Capture lo detectará automáticamente y establecerá los parámetros necesarios, pero tiene que especificar el filtro necesario usted mismo en el tercer caso. Ahora, veamos cómo luce el código para las diferentes opciones. ## Primera opción[¶](#primera-opcion "Permanent link") Obtener listas de códecs de audio y video `[](#__codelineno-0-1)for I := 0 to VideoCapture1.Video_Codecs_GetCount - 1 do [](#__codelineno-0-2) cbCustomVideoCodec.Items.Add(VideoCapture1.Video_Codecs_GetItem(i)); [](#__codelineno-0-3)for I := 0 to VideoCapture1.Audio_Codecs_GetCount - 1 do [](#__codelineno-0-4) cbCustomAudioCodec.Items.Add(VideoCapture1.Audio_Codecs_GetItem(i));` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.Video_Codecs_GetCount(); i++) [](#__codelineno-1-3) m_CustomVideoCodecCombo.AddString(m_VideoCapture.Video_Codecs_GetItem(i)); [](#__codelineno-1-4)for (int i = 0; i < m_VideoCapture.Audio_C... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/custom-output/index.html #### Guía de Despliegue de TVFVideoCapture para Delphi - VisioForge Help [Saltar a contenido](#guia-completa-de-despliegue-de-la-biblioteca-tvfvideocapture) # Guía Completa de Despliegue de la Biblioteca TVFVideoCapture[¶](#guia-completa-de-despliegue-de-la-biblioteca-tvfvideocapture "Permanent link") Al distribuir aplicaciones construidas con la biblioteca TVFVideoCapture, necesitará desplegar varios componentes del framework para asegurar la funcionalidad adecuada en sistemas de usuarios finales. Esta guía cubre todos los escenarios de despliegue para ayudarle a crear instalaciones confiables. ## Resumen de Opciones de Despliegue[¶](#resumen-de-opciones-de-despliegue "Permanent link") Tiene dos enfoques principales para desplegar los componentes necesarios: instaladores automáticos para despliegue más simple o instalación manual para configuraciones más personalizadas. ## Instaladores Silenciosos Automáticos (Requiere Derechos de Administrador)[¶](#instaladores-silenciosos-automaticos-requiere-derechos-de-administrador "Permanent link") Estos instaladores preconfigurados manejan dependencias automáticamente y pueden integrarse en el proceso de instalación de su aplicación: ### Componentes Esenciales[¶](#componentes-esenciales "Permanent link") - **Paquete Base** (obligatorio para todos los despliegues) - [Versión Delphi](https://files.visioforge.com/redists_delphi/redist_video_capture_base_delphi.exe) - [Versión ActiveX](https://files.visioforge.com/redists_delphi/redist_video_capture_base_ax.exe) ### Componentes de Características Opcionales[¶](#componentes-de-caracteristicas-opcionales "Permanent link") - **Paquete FFMPEG** (requerido para fuentes de archivo o cámara IP) - [Arquitectura x86](https://files.visioforge.com/redists_delphi/redist_video_capture_ffmpeg.exe) - **Soporte de Salida MP4** - [Arquitectura x86](https://files.visioforge.com/redists_delphi/redist_video_capture_mp4.exe) - **Paquete de Fuente VLC** (opción alternativa para fuentes de archivo o cámara IP) - [Arquitectura x86](https:/... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/deployment/index.html #### Integración de Videocámara DV en Aplicaciones Delphi - VisioForge Help [Saltar a contenido](#guia-completa-de-control-de-videocamara-dv) # Guía Completa de Control de Videocámara DV[¶](#guia-completa-de-control-de-videocamara-dv "Permanent link") Esta guía para desarrolladores demuestra cómo integrar y controlar efectivamente videocámaras de Video Digital (DV) en sus aplicaciones usando el componente TVFVideoCapture. Los ejemplos a continuación incluyen implementaciones para Delphi, C++ MFC y Visual Basic 6, permitiéndole elegir el entorno de desarrollo que mejor se adapte a los requisitos de su proyecto. ## Prerrequisitos para la Implementación[¶](#prerrequisitos-para-la-implementacion "Permanent link") Antes de usar cualquiera de los comandos de control DV, debe inicializar su sistema de captura de video iniciando ya sea el proceso de vista previa de video o de captura. Esto establece la conexión necesaria entre su aplicación y el dispositivo DV. ## Comandos de Control de Transporte DV[¶](#comandos-de-control-de-transporte-dv "Permanent link") Las siguientes secciones proporcionan ejemplos detallados de implementación para cada una de las funciones esenciales de control de transporte DV, permitiéndole crear aplicaciones profesionales de manipulación de video. ### Iniciando Reproducción[¶](#iniciando-reproduccion "Permanent link") Inicie la reproducción estándar de su contenido DV con el comando `DV_PLAY`. Este comando inicia la reproducción a velocidad normal y es esencial para la funcionalidad básica de visualización de video. `[](#__codelineno-0-1)VideoCapture1.DV_SendCommand(DV_PLAY);` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)m_VideoCapture.DV_SendCommand(DV_PLAY);` `[](#__codelineno-2-1)' VB6 [](#__codelineno-2-2)VideoCapture1.DV_SendCommand DV_PLAY` ### Pausando la Reproducción de Video[¶](#pausando-la-reproduccion-de-video "Permanent link") Suspenda temporalmente la reproducción de video mientras mantiene la posición actual con el comando `DV_PAUSE`. Esto es útil para implementar análisis de fotogra... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/dv-camcorder/index.html #### FM Radio/TV Tuning - VisioForge Help [Saltar a contenido](#implementando-sintonizacion-de-radio-fm-y-tv-en-aplicaciones-delphi) * * * title: Guía de Implementación de Radio FM y Sintonizador de TV en Delphi description: Sintonización de radio FM y TV en Delphi: escaneo de canales, gestión de frecuencias y ejemplos de código para Delphi, C++, VB6. * * * # Implementando Sintonización de Radio FM y TV en Aplicaciones Delphi[¶](#implementando-sintonizacion-de-radio-fm-y-tv-en-aplicaciones-delphi "Permanent link") ## Introducción a la Sintonización de TV y Radio[¶](#introduccion-a-la-sintonizacion-de-tv-y-radio "Permanent link") Esta guía proporciona ejemplos detallados de implementación para desarrolladores Delphi que trabajan con funcionalidad de sintonización de radio FM y TV. Hemos incluido ejemplos de código equivalentes para C++ MFC y VB6 para soportar necesidades de desarrollo multiplataforma. ## Gestión de Dispositivos[¶](#gestion-de-dispositivos "Permanent link") ### Recuperando Sintonizadores de TV Disponibles[¶](#recuperando-sintonizadores-de-tv-disponibles "Permanent link") El primer paso en implementar funcionalidad de sintonizador es identificar los dispositivos de hardware disponibles: `[](#__codelineno-0-1)// Iterar a través de todos los dispositivos de Sintonizador de TV conectados y poblar el desplegable [](#__codelineno-0-2)for I := 0 to VideoCapture1.TVTuner_Devices_GetCount - 1 do [](#__codelineno-0-3) cbTVTuner.Items.Add(VideoCapture1.TVTuner_Devices_GetItem(i));` `[](#__codelineno-1-1)// C++ MFC implementación para recuperar dispositivos de Sintonizador de TV [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.TVTuner_Devices_GetCount(); i++) [](#__codelineno-1-3) m_cbTVTuner.AddString(m_VideoCapture.TVTuner_Devices_GetItem(i));` `[](#__codelineno-2-1)' VB6 implementación para enumeración de dispositivos [](#__codelineno-2-2)For i = 0 To VideoCapture1.TVTuner_Devices_GetCount - 1 [](#__codelineno-2-3) cbTVTuner.AddItem VideoCapture1.TVTuner_Devices_GetItem(... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/fm-radio-tv-tuning/index.html #### Ajustes de Video de Cámara para Aplicaciones Delphi - VisioForge Help [Saltar a contenido](#implementando-ajustes-de-video-de-hardware-en-aplicaciones-delphi) # Implementando Ajustes de Video de Hardware en Aplicaciones Delphi[¶](#implementando-ajustes-de-video-de-hardware-en-aplicaciones-delphi "Permanent link") ## Resumen[¶](#resumen "Permanent link") Los dispositivos de captura de video modernos ofrecen potentes ajustes a nivel de hardware que pueden mejorar significativamente la calidad de sus aplicaciones de video. Al aprovechar estas capacidades en sus aplicaciones Delphi, puede proporcionar a los usuarios características de control de video de grado profesional sin procesamiento complejo de imágenes basado en software. ## Tipos de Ajustes Soportados[¶](#tipos-de-ajustes-soportados "Permanent link") La mayoría de las webcams y dispositivos de captura de video soportan varios parámetros de ajuste: - Brillo - Contraste - Saturación - Tono - Nitidez - Gamma - Balance de blancos - Ganancia ## Recuperando Rangos de Ajuste Disponibles[¶](#recuperando-rangos-de-ajuste-disponibles "Permanent link") Antes de establecer ajustes, necesitará determinar qué rangos son soportados por el dispositivo conectado. El método `Video_CaptureDevice_VideoAdjust_GetRanges` proporciona esta información. ### Implementación en Delphi[¶](#implementacion-en-delphi "Permanent link") `[](#__codelineno-0-1)// Recuperar el rango disponible para ajuste de brillo [](#__codelineno-0-2)// Devuelve mínimo, máximo, tamaño de paso, valor predeterminado y capacidad de auto-ajuste [](#__codelineno-0-3)VideoCapture1.Video_CaptureDevice_VideoAdjust_GetRanges(adj_Brightness, min, max, step, default, auto);` ### Implementación en C++ MFC[¶](#implementacion-en-c-mfc "Permanent link") `[](#__codelineno-1-1)// C++ MFC implementación para obtener rangos de ajuste de brillo [](#__codelineno-1-2)// Almacenar resultados en variables enteras para configuración de UI [](#__codelineno-1-3)int min, max, step, default_value; [](#__codelineno-1-4)BOOL auto_... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/hardware-adjustments/index.html #### Video Capture SDK para Delphi - VisioForge Help [Saltar a contenido](#video-capture-sdk-para-delphi) # Video Capture SDK para Delphi[¶](#video-capture-sdk-para-delphi "Permanent link") [Video Capture SDK Delphi](https://www.visioforge.com/all-in-one-media-framework) Esta sección cubre el uso de Video Capture SDK con Delphi para aplicaciones de captura de video. ## Componente Principal[¶](#componente-principal "Permanent link") ### TVideoCapture[¶](#tvideocapture "Permanent link") El componente `TVideoCapture` proporciona capacidades completas de captura de video. `[](#__codelineno-0-1)var [](#__codelineno-0-2) VideoCapture1: TVideoCapture; [](#__codelineno-0-3)begin [](#__codelineno-0-4) VideoCapture1 := TVideoCapture.Create(Self); [](#__codelineno-0-5) VideoCapture1.Parent := Panel1; [](#__codelineno-0-6) VideoCapture1.Align := alClient; [](#__codelineno-0-7)end;` ## Enumeración de Dispositivos[¶](#enumeracion-de-dispositivos "Permanent link") `[](#__codelineno-1-1)procedure TForm1.EnumerateDevices; [](#__codelineno-1-2)var [](#__codelineno-1-3) i: Integer; [](#__codelineno-1-4)begin [](#__codelineno-1-5) // Dispositivos de video [](#__codelineno-1-6) ComboBoxVideo.Clear; [](#__codelineno-1-7) for i := 0 to VideoCapture1.Video_CaptureDevices_Count - 1 do [](#__codelineno-1-8) begin [](#__codelineno-1-9) ComboBoxVideo.Items.Add(VideoCapture1.Video_CaptureDevice_Name(i)); [](#__codelineno-1-10) end; [](#__codelineno-1-11) [](#__codelineno-1-12) // Dispositivos de audio [](#__codelineno-1-13) ComboBoxAudio.Clear; [](#__codelineno-1-14) for i := 0 to VideoCapture1.Audio_CaptureDevices_Count - 1 do [](#__codelineno-1-15) begin [](#__codelineno-1-16) ComboBoxAudio.Items.Add(VideoCapture1.Audio_CaptureDevice_Name(i)); [](#__codelineno-1-17) end; [](#__codelineno-1-18)end;` ## Vista Previa[¶](#vista-previa "Permanent link") `[](#__codelineno-2-1)procedure TForm1.StartPreview; [](#__codelineno-2-2)begin [](#__codelineno-2-3) // Configurar dispositivos [](#__... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/index.html #### Integración de TVFVideoCapture para C++ Builder - VisioForge Help [Saltar a contenido](#guia-de-integracion-de-tvfvideocapture-para-c-builder) # Guía de Integración de TVFVideoCapture para C++ Builder[¶](#guia-de-integracion-de-tvfvideocapture-para-c-builder "Permanent link") Esta guía de instalación detallada lo lleva a través del proceso de integrar el potente control ActiveX TVFVideoCapture con sus proyectos de C++ Builder. Hemos proporcionado instrucciones separadas para diferentes versiones de C++ Builder para asegurar una implementación sin problemas independientemente de su entorno de desarrollo. > Productos relacionados: [All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Instalación en Borland C++ Builder 5/6[¶](#instalacion-en-borland-c-builder-56 "Permanent link") Siga estos pasos detallados para instalar correctamente el control TVFVideoCapture en Borland C++ Builder 5/6: 1. Navegue al menú principal y seleccione **Component → Import ActiveX Controls** ![Captura de pantalla mostrando el menú Component con opción Import ActiveX Controls](/help/docs/delphi/videocapture/install/vcbcb5_1.webp) 1. De la lista de controles disponibles, localice y seleccione el elemento **VisioForge Video Capture** 2. Haga clic en el botón **Install** para comenzar a importar el control ActiveX ![Captura de pantalla mostrando el diálogo de selección de control ActiveX](/help/docs/delphi/videocapture/install/vcbcb5_2.webp) 1. Cuando se le pida confirmación, haga clic en el botón **Yes** para continuar ![Captura de pantalla mostrando el diálogo de confirmación](/help/docs/delphi/videocapture/install/vcbcb5_3.webp) 1. Una vez que el proceso de instalación se complete exitosamente, verá un mensaje de confirmación 2. Haga clic en el botón **OK** para finalizar la instalación ![Captura de pantalla mostrando el mensaje de instalación exitosa](/help/docs/delphi/videocapture/install/vcbcb5_4.webp) ## Instalación en C++ Builder 2006 y Versiones Posteriores[¶](#instalacion-... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/install/builder/index.html #### Guía de Instalación de TVFVideoCapture para Delphi - VisioForge Help [Saltar a contenido](#guia-de-instalacion-completa-de-tvfvideocapture-para-desarrolladores-delphi) # Guía de Instalación Completa de TVFVideoCapture para Desarrolladores Delphi[¶](#guia-de-instalacion-completa-de-tvfvideocapture-para-desarrolladores-delphi "Permanent link") > Productos relacionados: [All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Instalación en Borland Delphi 6/7[¶](#instalacion-en-borland-delphi-67 "Permanent link") El proceso de instalación para entornos heredados de Delphi 6/7 requiere varios pasos específicos para asegurar la integración adecuada de la biblioteca TVFVideoCapture. ### Paso 1: Crear un Nuevo Paquete[¶](#paso-1-crear-un-nuevo-paquete "Permanent link") Comience creando un nuevo paquete en su entorno de desarrollo Delphi 6/7. ![Creando un nuevo paquete en Delphi 6/7](/help/docs/delphi/videocapture/install/vcd6_1.webp) ### Paso 2: Configurar Rutas de Biblioteca[¶](#paso-2-configurar-rutas-de-biblioteca "Permanent link") Agregue el directorio fuente de TVFVideoCapture a los ajustes de ruta de biblioteca y navegador. Esto permite a Delphi localizar los archivos de componente necesarios. ![Agregando directorio fuente a rutas de biblioteca](/help/docs/delphi/videocapture/install/vcd6_2.webp) ### Paso 3: Abrir el Paquete de Biblioteca[¶](#paso-3-abrir-el-paquete-de-biblioteca "Permanent link") Navegue y abra el archivo de paquete de biblioteca para preparar la instalación. ![Abriendo el paquete de biblioteca](/help/docs/delphi/videocapture/install/vcd6_3.webp) ### Paso 4: Instalar el Paquete de Componente[¶](#paso-4-instalar-el-paquete-de-componente "Permanent link") Complete la instalación seleccionando la opción de instalar dentro de la interfaz del paquete. ![Instalando el paquete](/help/docs/delphi/videocapture/install/vcd6_4.webp) ![Confirmación de instalación exitosa](/help/docs/delphi/videocapture/install/vcd6_5.webp) ### Limitaciones de Arquitectura[¶](#... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/install/delphi/index.html #### Guía de Instalación de TVFVideoCapture para IDEs - VisioForge Help [Saltar a contenido](#guia-de-instalacion-de-tvfvideocapture) # Guía de Instalación de TVFVideoCapture[¶](#guia-de-instalacion-de-tvfvideocapture "Permanent link") ## Instalación[¶](#instalacion "Permanent link") 1. **Descargar la última versión de VisioForge All-in-One Media Framework**: Navegue a la [página del producto](https://www.visioforge.com/all-in-one-media-framework) en nuestro sitio web oficial y descargue la versión más actualizada de la biblioteca TVFVideoCapture. Asegúrese de seleccionar la versión apropiada que coincida con los requisitos de su entorno de desarrollo. 2. **Ejecutar el archivo de instalación**: Después de que la descarga se complete, localice el archivo de instalación en su directorio de descargas y ejecútelo. Esto iniciará el proceso de instalación. 3. **Seguir las instrucciones del asistente de instalación**: El asistente de instalación lo guiará a través de los pasos de instalación. Lea cuidadosamente cada indicación, acepte el acuerdo de licencia, elija el directorio de instalación y proceda haciendo clic en "Siguiente". 4. **Finalización**: Una vez completada la instalación exitosamente, vaya a la carpeta de instalación. Aquí encontrará una variedad de ejemplos del framework y documentación detallada diseñada para ayudarle a integrar y utilizar la biblioteca efectivamente en sus proyectos. ### Instalación de paquetes Delphi[¶](#instalacion-de-paquetes-delphi "Permanent link") Para instrucciones detalladas sobre la instalación de los paquetes TVFVideoCapture en su IDE Delphi, consulte la siguiente [guía de instalación de Delphi](delphi/). ### Instalación ActiveX[¶](#instalacion-activex "Permanent link") #### C++ Builder[¶](#c-builder "Permanent link") Para [C++ Builder](builder/), el proceso de instalación implica importar el control ActiveX a su proyecto. Este proceso sencillo asegura que pueda comenzar rápidamente a usar la biblioteca TVFVideoCapture en sus proyectos de C++ Builder. #### Visual Basic 6[¶](#visual-b... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/install/index.html #### Integración de TVFVideoCapture en Visual Basic 6 - VisioForge Help [Saltar a contenido](#integrando-tvfvideocapture-con-visual-basic-6) # Integrando TVFVideoCapture con Visual Basic 6[¶](#integrando-tvfvideocapture-con-visual-basic-6 "Permanent link") ## Resumen y Compatibilidad[¶](#resumen-y-compatibilidad "Permanent link") Microsoft Visual Basic 6 ofrece excelente compatibilidad con nuestra biblioteca TVFVideoCapture a través de su interfaz de control ActiveX. Esta integración permite a los desarrolladores mejorar significativamente sus aplicaciones con capacidades avanzadas de captura de video mientras mantienen características de rendimiento óptimas. Debido a la arquitectura de Visual Basic 6, que fue desarrollado durante las primeras etapas de los frameworks de programación de Windows, la plataforma soporta exclusivamente aplicaciones de 32 bits. Consecuentemente, solo la versión x86 de nuestra biblioteca TVFVideoCapture es compatible con entornos de desarrollo VB6. A pesar de esta limitación arquitectónica, nuestro framework ofrece un rendimiento excepcional dentro del entorno de 32 bits. La biblioteca proporciona acceso completo a nuestro conjunto integral de características, asegurando que los desarrolladores puedan implementar soluciones sofisticadas de captura de video independientemente de la restricción de 32 bits. ## Proceso de Instalación Detallado[¶](#proceso-de-instalacion-detallado "Permanent link") La siguiente guía paso a paso lo llevará a través del proceso completo de instalar y configurar el control ActiveX TVFVideoCapture en su entorno de desarrollo Visual Basic 6. ### Paso 1: Crear un Nuevo Entorno de Proyecto[¶](#paso-1-crear-un-nuevo-entorno-de-proyecto "Permanent link") Comience iniciando Visual Basic 6 y creando un nuevo proyecto estándar que servirá como base para su implementación de captura de video. ![Creando un nuevo proyecto VB6](/help/docs/delphi/videocapture/install/vcvb6_1.webp) ### Paso 2: Acceder al Diálogo de Componentes[¶](#paso-2-acceder-al-dialogo-de-componentes "Permanent li... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/install/visual-basic-6/index.html #### Integración de TVFVideoCapture para Delphi en VS - VisioForge Help [Saltar a contenido](#instalando-tvfvideocapture-en-visual-studio-2010-y-posterior) # Instalando TVFVideoCapture en Visual Studio 2010 y Posterior[¶](#instalando-tvfvideocapture-en-visual-studio-2010-y-posterior "Permanent link") ## Resumen de la Integración de TVFVideoCapture[¶](#resumen-de-la-integracion-de-tvfvideocapture "Permanent link") El control ActiveX TVFVideoCapture proporciona potentes capacidades de captura de video para sus proyectos de desarrollo. Esta guía lo lleva a través del proceso de instalación en entornos Visual Studio, con consideraciones especiales para desarrolladores Delphi. ## Requisitos de Instalación[¶](#requisitos-de-instalacion "Permanent link") Antes de comenzar el proceso de instalación, asegúrese de tener: - Visual Studio 2010 o una versión posterior instalada - Derechos de administrador en su máquina de desarrollo - Controles ActiveX x86 y x64 registrados (si corresponde) ## Proceso de Instalación para Diferentes Tipos de Proyecto[¶](#proceso-de-instalacion-para-diferentes-tipos-de-proyecto "Permanent link") Puede implementar el control ActiveX TVFVideoCapture directamente en varios tipos de proyecto. El enfoque de integración difiere ligeramente dependiendo de su entorno de desarrollo: ### Para Proyectos C++[¶](#para-proyectos-c "Permanent link") En proyectos C++, puede usar el control ActiveX directamente sin wrappers o interfaces adicionales. ### Para Proyectos C#/VB.Net[¶](#para-proyectos-cvbnet "Permanent link") Al trabajar con proyectos C# o Visual Basic .NET, Visual Studio genera automáticamente un ensamblado wrapper personalizado. Este wrapper expone la API ActiveX a través de código administrado, haciendo la integración perfecta. ## Guía de Instalación Paso a Paso[¶](#guia-de-instalacion-paso-a-paso "Permanent link") Siga estos pasos detallados para instalar el control TVFVideoCapture en su entorno Visual Studio: 1. Cree un nuevo proyecto en su lenguaje preferido (C++, C# o Visual Basic .NET) 2.... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/install/visual-studio/index.html #### MPEG-2 Capture - VisioForge Help [Saltar a contenido](#captura-de-video-mpeg-2-en-delphi-usando-codificadores-de-hardware-de-sintonizador-de-tv) * * * title: Captura de Video MPEG-2 en Delphi con Hardware de Sintonizador de TV description: Captura MPEG-2 en Delphi usando codificadores de hardware de sintonizador de TV: enumeración de dispositivos, configuración y ejemplos optimizados. * * * # Captura de Video MPEG-2 en Delphi Usando Codificadores de Hardware de Sintonizador de TV[¶](#captura-de-video-mpeg-2-en-delphi-usando-codificadores-de-hardware-de-sintonizador-de-tv "Permanent link") Este tutorial completo demuestra cómo implementar funcionalidad de captura de video MPEG-2 de alta calidad en sus aplicaciones Delphi aprovechando sintonizadores de TV con capacidades de codificación de hardware integradas. La codificación por hardware reduce significativamente el uso de CPU mientras mantiene excelente calidad de video. ## Resumen de la Codificación MPEG-2 por Hardware[¶](#resumen-de-la-codificacion-mpeg-2-por-hardware "Permanent link") Los codificadores MPEG-2 por hardware proporcionan un rendimiento superior en comparación con soluciones de codificación basadas en software. Son particularmente útiles para desarrollar aplicaciones profesionales de captura de video que requieren procesamiento eficiente y salida de alta calidad. ## Enumerando Codificadores MPEG-2 de Hardware Disponibles[¶](#enumerando-codificadores-mpeg-2-de-hardware-disponibles "Permanent link") El primer paso es identificar todos los codificadores MPEG-2 de hardware disponibles en el sistema. Este código demuestra cómo poblar un desplegable con los dispositivos detectados: `[](#__codelineno-0-1)// Listar todos los codificadores MPEG-2 de hardware disponibles en el sistema [](#__codelineno-0-2)// Esto ayuda a los usuarios a seleccionar el dispositivo de codificación apropiado [](#__codelineno-0-3)VideoCapture1.Special_Filters_Fill; [](#__codelineno-0-4)for I := 0 to VideoCapture1.Special_Filters_GetCount(SF_Hardware_V... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/mpeg2-capture/index.html #### Network Streaming (WMV) - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-streaming-de-red-wmv) * * * title: Streaming de Red WMV en Aplicaciones Delphi description: Streaming WMV en Delphi: configura perfiles, gestiona conexiones, establece puertos y transmite video con ejemplos de código. * * * # Guía de Implementación de Streaming de Red WMV[¶](#guia-de-implementacion-de-streaming-de-red-wmv "Permanent link") ## Resumen[¶](#resumen "Permanent link") Esta guía demuestra cómo implementar transmisión de video basada en red usando formato Windows Media Video (WMV) en sus aplicaciones Delphi. Las técnicas mostradas aquí le permiten transmitir contenido de video sobre redes mientras captura y guarda simultáneamente el video a un archivo para propósitos de archivo. ## Requisitos[¶](#requisitos "Permanent link") Antes de implementar streaming de red WMV, asegúrese de tener: - Un dispositivo de captura de video soportado conectado a su sistema - Acceso a red apropiado y permisos - Un archivo de perfil WMV válido con ajustes de codificador ## Pasos de Implementación[¶](#pasos-de-implementacion "Permanent link") ### Configuración Básica[¶](#configuracion-basica "Permanent link") Para habilitar streaming de red WMV en su aplicación, necesitará configurar varios parámetros esenciales: 1. Habilitar la funcionalidad de streaming de red 2. Especificar un archivo de perfil WMV que contenga parámetros de codificación de video 3. Establecer el número máximo de conexiones de clientes concurrentes 4. Definir el puerto de red para conexiones de clientes ### Código de Implementación en Delphi[¶](#codigo-de-implementacion-en-delphi "Permanent link") `[](#__codelineno-0-1)// Código Delphi para configurar streaming de red WMV [](#__codelineno-0-2)// Habilitar la funcionalidad de streaming de red [](#__codelineno-0-3)VideoCapture1.Network_Streaming_Enabled := true; [](#__codelineno-0-4)[](#__codelineno-0-5)// Establecer la ruta al archivo de perfil WMV que contiene ajustes del codificado... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/network-streaming-wmv/index.html #### Resize/Crop - VisioForge Help [Saltar a contenido](#redimensionamiento-y-recorte-de-video-en-delphi-tvfvideocapture) * * * title: Procesar Video Delphi - Tutorial Redimensionar & Recortar description: Redimensionamiento y recorte de video en Delphi: procesamiento en tiempo real, manejo de relación de aspecto y ejemplos de código optimizados. * * * # Redimensionamiento y Recorte de Video en Delphi TVFVideoCapture[¶](#redimensionamiento-y-recorte-de-video-en-delphi-tvfvideocapture "Permanent link") La manipulación de video es un componente crítico de muchas aplicaciones modernas. Esta guía proporciona instrucciones detalladas para implementar redimensionamiento y recorte de video en tiempo real en sus aplicaciones Delphi con impacto mínimo en el rendimiento. ## ¿Por Qué Redimensionar o Recortar Video?[¶](#por-que-redimensionar-o-recortar-video "Permanent link") El redimensionamiento y recorte de video sirven múltiples propósitos en el desarrollo: - Optimizar video para diferentes tamaños de pantalla - Reducir requisitos de ancho de banda para streaming - Enfocarse en regiones específicas de interés - Crear dimensiones de video uniformes en toda su aplicación - Mejorar el rendimiento en dispositivos con recursos limitados ## Habilitando la Funcionalidad de Redimensionar y Recortar[¶](#habilitando-la-funcionalidad-de-redimensionar-y-recortar "Permanent link") Antes de aplicar cualquier transformación, debe habilitar la funcionalidad de redimensionar/recortar en el componente TVFVideoCapture. ### Paso 1: Habilitar la Característica[¶](#paso-1-habilitar-la-caracteristica "Permanent link") `[](#__codelineno-0-1)// Habilitar funcionalidad de redimensionamiento o recorte de video [](#__codelineno-0-2)VideoCapture1.Video_ResizeOrCrop_Enabled := true;` `[](#__codelineno-1-1)// C++ MFC - Habilitar capacidades de transformación de video [](#__codelineno-1-2)m_VideoCapture.SetVideo_ResizeOrCrop_Enabled(TRUE);` `[](#__codelineno-2-1)' VB6 - Activar características de redimensionar/re... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/resize-crop/index.html #### Captura de Pantalla - VisioForge Help [Saltar a contenido](#implementacion-de-grabacion-de-pantalla-en-delphi) * * * title: Grabación de Pantalla en Aplicaciones Delphi description: Grabación de pantalla en Delphi con TVFVideoCapture: captura regiones, pantalla completa, tasas de fotogramas y cursor con ejemplos de código. * * * # Implementación de Grabación de Pantalla en Delphi[¶](#implementacion-de-grabacion-de-pantalla-en-delphi "Permanent link") ## Introducción a la Funcionalidad de Captura de Pantalla[¶](#introduccion-a-la-funcionalidad-de-captura-de-pantalla "Permanent link") TVFVideoCapture proporciona potentes capacidades de grabación de pantalla para desarrolladores Delphi. Esta guía recorre la implementación de características de captura de pantalla en sus aplicaciones, permitiéndole grabar regiones específicas o la pantalla completa con ajustes personalizables. ## Configurando el Área de Captura de Pantalla[¶](#configurando-el-area-de-captura-de-pantalla "Permanent link") Puede controlar precisamente qué porción de la pantalla grabar estableciendo parámetros de coordenadas. Esto es particularmente útil cuando desea enfocarse en ventanas de aplicación específicas o regiones de pantalla. ### Estableciendo Coordenadas de Pantalla Específicas[¶](#estableciendo-coordenadas-de-pantalla-especificas "Permanent link") Use estos parámetros para definir los límites exactos de su área de captura: `[](#__codelineno-0-1)// Definir la posición del borde superior del rectángulo de captura (en píxeles) [](#__codelineno-0-2)VideoCapture1.Screen_Capture_Top := StrToInt(edScreenTop.Text); [](#__codelineno-0-3)// Definir la posición del borde inferior del rectángulo de captura (en píxeles) [](#__codelineno-0-4)VideoCapture1.Screen_Capture_Bottom := StrToInt(edScreenBottom.Text); [](#__codelineno-0-5)// Definir la posición del borde izquierdo del rectángulo de captura (en píxeles) [](#__codelineno-0-6)VideoCapture1.Screen_Capture_Left := StrToInt(edScreenLeft.Text); [](#__codelineno-0-7)// Definir l... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/screen-capture/index.html #### Video/Audio Sources - VisioForge Help [Saltar a contenido](#ejemplo-de-codigo-como-seleccionar-dispositivos-de-captura-de-video-y-audio) * * * title: Captura de Video Delphi - Guía de Selección de Dispositivos description: Selecciona dispositivos de video y audio en Delphi: enumera dispositivos, configura formatos y tasas de fotogramas con ejemplos para Delphi, C++, VB6. * * * # Ejemplo de código - ¿Cómo seleccionar dispositivos de captura de video y audio?[¶](#ejemplo-de-codigo-como-seleccionar-dispositivos-de-captura-de-video-y-audio "Permanent link") Código de ejemplo para Delphi, C++ MFC y VB6 ## Seleccionar fuente de video[¶](#seleccionar-fuente-de-video "Permanent link") ### Obtener una lista de dispositivos de captura de video disponibles[¶](#obtener-una-lista-de-dispositivos-de-captura-de-video-disponibles "Permanent link") `[](#__codelineno-0-1)for i := 0 to VideoCapture1.Video_CaptureDevices_GetCount - 1 do [](#__codelineno-0-2) cbVideoInputDevice.Items.Add(VideoCapture1.Video_CaptureDevices_GetItem(i));` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)for (int i = 0; i < m_VideoCapture.Video_CaptureDevices_GetCount(); i++) [](#__codelineno-1-3) m_cbVideoInputDevice.AddString(m_VideoCapture.Video_CaptureDevices_GetItem(i));` `[](#__codelineno-2-1)' VB6 [](#__codelineno-2-2)For i = 0 To VideoCapture1.Video_CaptureDevices_GetCount - 1 [](#__codelineno-2-3) cbVideoInputDevice.AddItem VideoCapture1.Video_CaptureDevices_GetItem(i) [](#__codelineno-2-4)Next i` ### Seleccionar el dispositivo de entrada de video[¶](#seleccionar-el-dispositivo-de-entrada-de-video "Permanent link") `[](#__codelineno-3-1)VideoCapture1.Video_CaptureDevice := cbVideoInputDevice.Items[cbVideoInputDevice.ItemIndex];` `[](#__codelineno-4-1)// C++ MFC [](#__codelineno-4-2)CString strDevice; [](#__codelineno-4-3)m_cbVideoInputDevice.GetLBText(m_cbVideoInputDevice.GetCurSel(), strDevice); [](#__codelineno-4-4)m_VideoCapture.put_Video_CaptureDevice(strDevice);` `[](#__codelineno-5-1)' VB6 [](#__cod... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/video-audio-sources/index.html #### Captura de Video a AVI en Delphi - VisioForge Help [Saltar a contenido](#guia-completa-de-captura-de-video-a-archivos-avi-en-delphi) # Guía Completa de Captura de Video a Archivos AVI en Delphi[¶](#guia-completa-de-captura-de-video-a-archivos-avi-en-delphi "Permanent link") Al desarrollar aplicaciones multimedia en Delphi, la funcionalidad de captura de video es a menudo un requisito crítico. Esta guía explora cómo implementar captura de video de alta calidad a archivos AVI usando el componente TVFVideoCapture en aplicaciones Delphi. Cubriremos todo desde la configuración de códecs hasta la configuración de parámetros de audio y el inicio del proceso de captura. ## Entendiendo la Captura de Video AVI en Delphi[¶](#entendiendo-la-captura-de-video-avi-en-delphi "Permanent link") El componente TVFVideoCapture proporciona una forma potente y flexible de capturar video directamente a formato AVI en aplicaciones Delphi. AVI (Audio Video Interleave) sigue siendo un formato contenedor de video popular debido a su amplia compatibilidad y confiabilidad para propósitos de grabación. Al implementar la captura de video en su aplicación Delphi, necesitará considerar varios aspectos clave: 1. Seleccionar códecs de video y audio apropiados 2. Configurar parámetros de audio 3. Establecer el formato de salida y modo de captura 4. Gestionar el proceso de captura Esta guía proporciona explicaciones detalladas y ejemplos de código para cada uno de estos pasos. ## Trabajando con Códecs de Video y Audio[¶](#trabajando-con-codecs-de-video-y-audio "Permanent link") ### Recuperando Códecs Disponibles[¶](#recuperando-codecs-disponibles "Permanent link") Antes de capturar video, necesitará poblar su aplicación con los códecs de video y audio disponibles. El componente TVFVideoCapture hace esto sencillo: `[](#__codelineno-0-1)procedure TMyForm.PopulateCodecLists; [](#__codelineno-0-2)var [](#__codelineno-0-3) I: Integer; [](#__codelineno-0-4)begin [](#__codelineno-0-5) // Limpiar elementos existentes [](#__codelineno-0-... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/video-capture-avi/index.html #### Captura de Video a Formato DV en Delphi - VisioForge Help [Saltar a contenido](#captura-de-video-a-formato-de-archivo-dv-guia-de-implementacion) # Captura de Video a Formato de Archivo DV: Guía de Implementación[¶](#captura-de-video-a-formato-de-archivo-dv-guia-de-implementacion "Permanent link") El Video Digital (DV) sigue siendo un formato confiable para aplicaciones de captura de video, particularmente cuando se trabaja con sistemas heredados o requisitos profesionales específicos. Esta guía explora cómo implementar funcionalidad de captura de video DV en sus aplicaciones Delphi, con ejemplos adicionales de C++ MFC y VB6 para referencia multiplataforma. ## Entendiendo las Opciones de Formato DV[¶](#entendiendo-las-opciones-de-formato-dv "Permanent link") El formato DV ofrece varias ventajas para aplicaciones de captura de video: - Calidad consistente con pérdida de generación mínima - Almacenamiento eficiente para contenido de video profesional - Soporte para estándares PAL y NTSC - Compatibilidad con software de edición de video profesional - Sincronización de audio confiable Al implementar captura de video DV, los desarrolladores tienen dos enfoques principales: 1. **Captura de Stream Directo** - Datos DV sin procesar sin recompresión 2. **DV Recomprimido** - Video procesado con ajustes personalizables Cada enfoque sirve diferentes casos de uso dependiendo de los requisitos de su aplicación. ## Implementación de Captura de Stream Directo[¶](#implementacion-de-captura-de-stream-directo "Permanent link") La captura de stream directo proporciona la más alta calidad evitando cualquier recompresión de la señal de video. Este método es ideal para propósitos de archivo y producción de video profesional donde mantener la integridad de la señal original es crucial. ### Configurando Ajustes de Tipo DV[¶](#configurando-ajustes-de-tipo-dv "Permanent link") El primer paso en implementar la captura de stream directo es establecer la configuración apropiada del tipo DV: #### Delphi[¶](#delphi "Permanent l... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/video-capture-dv/index.html #### Captura de Video a WMV - Guía de Implementación - VisioForge Help [Saltar a contenido](#captura-de-video-a-windows-media-video-wmv-usando-perfiles-externos) # Captura de Video a Windows Media Video (WMV) Usando Perfiles Externos[¶](#captura-de-video-a-windows-media-video-wmv-usando-perfiles-externos "Permanent link") ## Introducción[¶](#introduccion "Permanent link") Capturar video a formato Windows Media Video (WMV) es un requisito común en muchas aplicaciones de software. Esta guía proporciona un recorrido detallado de implementar funcionalidad de captura de video usando perfiles WMV externos en aplicaciones Delphi, C++ MFC y VB6. El formato WMV sigue siendo popular debido a su compatibilidad con plataformas Windows y algoritmos de compresión eficientes que balancean calidad y tamaño de archivo. ## Entendiendo WMV y Perfiles Externos[¶](#entendiendo-wmv-y-perfiles-externos "Permanent link") Windows Media Video (WMV) es un formato de archivo de video comprimido desarrollado por Microsoft como parte del framework Windows Media. Al capturar video a formato WMV, usar perfiles externos permite mayor flexibilidad y personalización de la salida. Los perfiles externos contienen ajustes preconfigurados que definen: - Resolución de video - Tasa de bits - Tasa de fotogramas - Calidad de compresión - Ajustes de audio - Otros parámetros de codificación Al aprovechar perfiles externos, los desarrolladores pueden implementar rápidamente diferentes preajustes de calidad sin tener que configurar manualmente cada parámetro en el código. ## Pasos de Implementación[¶](#pasos-de-implementacion "Permanent link") ### Paso 1: Configurando Su Entorno[¶](#paso-1-configurando-su-entorno "Permanent link") Antes de implementar funcionalidad de captura de video, asegúrese de que su entorno de desarrollo esté correctamente configurado: 1. Instale el componente de captura de video necesario 2. Agregue la referencia del componente a su proyecto 3. Diseñe su interfaz de usuario para incluir: 4. Un selector de archivo para elegir el... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/video-capture-wmv/index.html #### Selección de Entrada de Video con Crossbar en Delphi - VisioForge Help [Saltar a contenido](#seleccionando-fuentes-de-entrada-de-video-con-tecnologia-crossbar) # Seleccionando Fuentes de Entrada de Video con Tecnología Crossbar[¶](#seleccionando-fuentes-de-entrada-de-video-con-tecnologia-crossbar "Permanent link") ## Introducción a la Selección de Entrada de Video[¶](#introduccion-a-la-seleccion-de-entrada-de-video "Permanent link") Al desarrollar aplicaciones que capturan video de dispositivos externos, a menudo necesitará manejar múltiples fuentes de entrada. El crossbar es un componente crucial en sistemas de captura de video que le permite enrutar diferentes entradas físicas (como compuesto, S-Video, HDMI) a su aplicación. Esta guía lo lleva a través del proceso de detectar, configurar y seleccionar entradas de video usando la interfaz crossbar en aplicaciones Delphi, C++ MFC y Visual Basic 6. ## Entendiendo la Tecnología Crossbar[¶](#entendiendo-la-tecnologia-crossbar "Permanent link") La tecnología crossbar funciona como una matriz de enrutamiento en dispositivos de captura de video, habilitando la conexión entre varias entradas y salidas. Las tarjetas de captura modernas y los sintonizadores de TV frecuentemente incorporan funcionalidad crossbar para facilitar el cambio entre diferentes fuentes de video como: - Entradas de video compuesto - Conexiones S-Video - Video por componentes - Entradas HDMI - Entradas de sintonizador de TV - Interfaces de video digital Configurar correctamente estas conexiones programáticamente es esencial para aplicaciones que necesitan cambiar dinámicamente entre diferentes fuentes de video. ## Resumen de Pasos de Implementación[¶](#resumen-de-pasos-de-implementacion "Permanent link") El proceso de implementación para configurar conexiones crossbar en su aplicación involucra tres pasos principales: 1. Inicializar la interfaz crossbar y verificar su disponibilidad 2. Enumerar entradas de video disponibles para selección 3. Conectar la entrada seleccionada a la salida del deco... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/video-input-crossbar/index.html #### Selección de Renderizador de Video en Delphi - VisioForge Help [Saltar a contenido](#guia-de-seleccion-de-renderizador-de-video-para-tvfvideocapture) # Guía de Selección de Renderizador de Video para TVFVideoCapture[¶](#guia-de-seleccion-de-renderizador-de-video-para-tvfvideocapture "Permanent link") ## Resumen de Renderizadores Disponibles[¶](#resumen-de-renderizadores-disponibles "Permanent link") Al desarrollar aplicaciones de captura de video con TVFVideoCapture, seleccionar el renderizador de video apropiado impacta significativamente el rendimiento y la compatibilidad. Esta guía proporciona ejemplos detallados de implementación para las tres opciones de renderizador disponibles en entornos Delphi, C++ y VB6. ## Video Renderer Estándar[¶](#video-renderer-estandar "Permanent link") El Video Renderer estándar utiliza GDI para operaciones de dibujo. Esta opción de renderizador se recomienda principalmente para: - Sistemas heredados - Entornos donde la aceleración Direct3D no está disponible - Máxima compatibilidad con hardware antiguo `[](#__codelineno-0-1)// Delphi [](#__codelineno-0-2)VideoCapture1.Video_Renderer := VR_VideoRenderer;` `[](#__codelineno-1-1)// C++ MFC [](#__codelineno-1-2)m_VideoCapture.SetVideo_Renderer(VR_VideoRenderer);` `[](#__codelineno-2-1)' VB6 [](#__codelineno-2-2)VideoCapture1.Video_Renderer = VR_VideoRenderer` ## Video Mixing Renderer 9 (VMR9)[¶](#video-mixing-renderer-9-vmr9 "Permanent link") VMR9 representa una solución de filtrado moderna capaz de aprovechar las capacidades de GPU para renderizado mejorado. Las ventajas clave incluyen: - Procesamiento de video acelerado por hardware - Opciones avanzadas de desentrelazado - Rendimiento mejorado para contenido de alta resolución `[](#__codelineno-3-1)// Delphi [](#__codelineno-3-2)VideoCapture1.Video_Renderer := VR_VMR9;` `[](#__codelineno-4-1)// C++ MFC [](#__codelineno-4-2)m_VideoCapture.SetVideo_Renderer(VR_VMR9);` `[](#__codelineno-5-1)' VB6 [](#__codelineno-5-2)VideoCapture1.Video_Renderer = VR_VMR9` ### Accedie... **URL**: https://www.visioforge.com/help/es/docs/delphi/videocapture/video-renderer/index.html #### Historial de Cambios - VisioForge Help [Saltar a contenido](#biblioteca-tvfvideoedit-historial-completo-de-versiones) * * * title: Historial de Versiones: Biblioteca TVFVideoEdit description: Historial de TVFVideoEdit desde 2.1 hasta 10.0 con características, correcciones, integración FFMPEG y efectos de video. * * * # Biblioteca TVFVideoEdit: Historial Completo de Versiones[¶](#biblioteca-tvfvideoedit-historial-completo-de-versiones "Permanent link") ## Versión 10.0 - Última Versión[¶](#version-100-ultima-version "Permanent link") ### Mejoras Principales[¶](#mejoras-principales "Permanent link") - **Compatibilidad de Medios Mejorada**: Se agregó componente dedicado de divisor MP3 para resolver problemas de reproducción con archivos MP3 problemáticos que fallan con el divisor predeterminado - **Mejoras en Procesamiento de Audio**: Se mejoró significativamente la extracción de información y lectura de metadatos para archivos de audio Speex - **Optimización de Rendimiento**: Se corrigió fuga de memoria crítica en la implementación de fuente FFMPEG para mejor gestión de recursos - **Soporte de Formatos Expandido**: El filtro YUV2RGB ahora soporta completamente el formato HDYC para flujos de trabajo de video profesional ## Versión 8.7 - Actualizaciones del Motor[¶](#version-87-actualizaciones-del-motor "Permanent link") ### Mejoras Técnicas[¶](#mejoras-tecnicas "Permanent link") - **Integración VLC**: Se actualizó el motor VLC a la última versión estable (libVLC 2.2.1.0) para mejor soporte de códecs - **Capacidades de Decodificación**: Se implementó la última versión del motor FFMPEG con compatibilidad de formatos expandida ## Versión 8.6 - Mejoras de Estabilidad[¶](#version-86-mejoras-de-estabilidad "Permanent link") ### Correcciones de Errores y Adiciones[¶](#correcciones-de-errores-y-adiciones "Permanent link") - **Gestión de Memoria**: Se resolvió fuga de memoria crítica que afectaba aplicaciones de larga ejecución - **Manejo de Archivos**: Se corrigieron problemas con arc... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/changelog/index.html #### Guía de Despliegue de la Biblioteca TVFVideoEdit - VisioForge Help [Saltar a contenido](#guia-de-despliegue-de-la-biblioteca-tvfvideoedit) # Guía de Despliegue de la Biblioteca TVFVideoEdit[¶](#guia-de-despliegue-de-la-biblioteca-tvfvideoedit "Permanent link") ## Introducción[¶](#introduccion "Permanent link") La biblioteca TVFVideoEdit proporciona potentes capacidades de edición de video para sus aplicaciones Delphi y ActiveX. Esta guía explica cómo desplegar correctamente todos los componentes necesarios para asegurar que su aplicación funcione correctamente en sistemas de usuarios finales sin requerir el marco de desarrollo completo. ## Opciones de Despliegue[¶](#opciones-de-despliegue "Permanent link") Tiene dos métodos principales para desplegar los componentes de la biblioteca TVFVideoEdit: instaladores automáticos o instalación manual. Cada enfoque tiene ventajas específicas dependiendo de sus requisitos de distribución. ### Instaladores Silenciosos Automáticos[¶](#instaladores-silenciosos-automaticos "Permanent link") Para un despliegue optimizado, ofrecemos paquetes de instaladores silenciosos que manejan toda la instalación de componentes necesarios sin interacción del usuario: #### Paquete Base Requerido[¶](#paquete-base-requerido "Permanent link") - **Componentes base** (siempre requeridos): - [Versión Delphi](https://files.visioforge.com/redists_delphi/redist_video_edit_base_delphi.exe) - [Versión ActiveX](https://files.visioforge.com/redists_delphi/redist_video_edit_base_ax.exe) #### Paquetes de Características Opcionales[¶](#paquetes-de-caracteristicas-opcionales "Permanent link") - **Paquete FFMPEG** (requerido para soporte de archivos y cámaras IP (solo para motor de fuente FFMPEG)): - [Arquitectura x86](https://files.visioforge.com/redists_delphi/redist_video_edit_ffmpeg.exe) - **Paquete de salida MP4** (para creación de video MP4): - [Arquitectura x86](https://files.visioforge.com/redists_delphi/redist_video_edit_mp4.exe) ### Proceso de Instalación Manual[¶](#proceso-de-instalacion-... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/deployment/index.html #### Index - VisioForge Help [Saltar a contenido](#tvfvideoedit-para-desarrollo-en-delphi-activex) * * * title: Biblioteca TVFVideoEdit para Desarrolladores Delphi description: Software de edición de video en Delphi con TVFVideoEdit: múltiples formatos, efectos, transiciones, edición de línea de tiempo y encriptación. * * * # TVFVideoEdit para Desarrollo en Delphi / ActiveX[¶](#tvfvideoedit-para-desarrollo-en-delphi-activex "Permanent link") ## Introducción a TVFVideoEdit[¶](#introduccion-a-tvfvideoedit "Permanent link") La biblioteca TVFVideoEdit capacita a los desarrolladores de Delphi para integrar funcionalidad sofisticada de edición de video en sus aplicaciones. Este robusto SDK proporciona un marco completo para manejar diversas operaciones de medios mientras mantiene un excelente rendimiento y estabilidad en proyectos de complejidad variable. ## Capacidades Principales[¶](#capacidades-principales "Permanent link") ### Soporte de Formatos[¶](#soporte-de-formatos "Permanent link") TVFVideoEdit acomoda una amplia variedad de formatos de video y audio, permitiendo trabajar sin problemas con la mayoría de los tipos de medios estándar de la industria. Esta extensa compatibilidad asegura que su aplicación pueda procesar virtualmente cualquier archivo que los usuarios puedan importar. ### Procesamiento de Video[¶](#procesamiento-de-video "Permanent link") La biblioteca sobresale en tareas fundamentales de manipulación de video, ofreciendo control preciso sobre: - Ajuste de resolución - Conversión de tasa de cuadros - Modificación de relación de aspecto - Herramientas de corrección de color - Algoritmos de mejora de calidad ### Efectos y Transiciones[¶](#efectos-y-transiciones "Permanent link") Mejore su aplicación con: - Efectos visuales profesionales - Transiciones suaves entre clips - Capacidades de animación personalizada - Funcionalidad de vista previa en tiempo real - Superposición de texto con control de fuente - Composición de imágenes - Capacidad... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/index.html #### Integración de TVFVideoEdit para C++ Builder - VisioForge Help [Saltar a contenido](#guia-completa-para-instalacion-de-tvfvideoedit-en-c-builder) # Guía Completa para Instalación de TVFVideoEdit en C++ Builder[¶](#guia-completa-para-instalacion-de-tvfvideoedit-en-c-builder "Permanent link") > Productos relacionados: [VisioForge All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Introducción a TVFVideoEdit para C++ Builder[¶](#introduccion-a-tvfvideoedit-para-c-builder "Permanent link") La biblioteca TVFVideoEdit proporciona potentes capacidades de procesamiento de medios para aplicaciones C++ Builder. Esta guía lo lleva a través del proceso de instalación en diferentes versiones de C++ Builder. Antes de comenzar el desarrollo, necesitará instalar correctamente el control ActiveX en su entorno IDE donde será accesible a través de la paleta de componentes. ## Proceso de Instalación para Borland C++ Builder 5/6[¶](#proceso-de-instalacion-para-borland-c-builder-56 "Permanent link") ### Accediendo al Menú de Importación[¶](#accediendo-al-menu-de-importacion "Permanent link") Comience el proceso de instalación navegando al menú Componente en su IDE: 1. Inicie su entorno Borland C++ Builder 5/6 2. Desde el menú principal, seleccione **Componente -> Importar Controles ActiveX** ![Captura de pantalla mostrando el menú Componente y la opción Importar Controles ActiveX](/help/docs/delphi/videoedit/install/bcb6_1.webp) ### Seleccionando el Control de Edición de Video[¶](#seleccionando-el-control-de-edicion-de-video "Permanent link") En el diálogo Importar Control ActiveX: 1. Localice y seleccione el **"VisioForge Video Edit Control"** de la lista de controles disponibles 2. Haga clic en el botón **Instalar** para comenzar el proceso de importación ![Captura de pantalla mostrando el diálogo de selección de control ActiveX](/help/docs/delphi/videoedit/install/bcb6_2.webp) ### Confirmando la Instalación[¶](#confirmando-la-instalacion "Permanent link") El sistema le pe... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/install/builder/index.html #### Instalar TVFVideoEdit en Delphi - VisioForge Help [Saltar a contenido](#instalar-tvfvideoedit-en-delphi) # Instalar TVFVideoEdit en Delphi[¶](#instalar-tvfvideoedit-en-delphi "Permanent link") > Productos relacionados: [VisioForge All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) ## Requisitos de Instalación[¶](#requisitos-de-instalacion "Permanent link") Antes de comenzar el proceso de instalación, asegúrese de tener: 1. Versión apropiada de Delphi instalada y correctamente configurada 2. Derechos administrativos para la instalación de paquetes 3. Descargada la última versión de la biblioteca TVFVideoEdit ## Instalación en Borland Delphi 6/7[¶](#instalacion-en-borland-delphi-67 "Permanent link") ### Paso 1: Configurar Rutas de Biblioteca[¶](#paso-1-configurar-rutas-de-biblioteca "Permanent link") Comience abriendo la ventana "Opciones" en su IDE de Delphi. ![Captura de pantalla mostrando cómo abrir la ventana de Opciones](/help/docs/delphi/videoedit/install/ved6_1.webp) Navegue a la sección de Biblioteca y agregue el directorio fuente tanto a las rutas de biblioteca como de navegador. Esto asegura que Delphi pueda localizar los archivos necesarios. ![Captura de pantalla mostrando la configuración de ruta de biblioteca](/help/docs/delphi/videoedit/install/ved6_2.webp) ### Paso 2: Abrir e Instalar el Paquete[¶](#paso-2-abrir-e-instalar-el-paquete "Permanent link") Localice y abra el archivo principal del paquete desde la biblioteca. ![Captura de pantalla mostrando cómo abrir el paquete](/help/docs/delphi/videoedit/install/ved6_3.webp) Instale el paquete haciendo clic en el botón Instalar en el IDE. Esto registra los componentes con la paleta de componentes de Delphi. ![Captura de pantalla mostrando la ubicación del botón de instalación](/help/docs/delphi/videoedit/install/ved6_4.webp) ![Captura de pantalla mostrando instalación exitosa](/help/docs/delphi/videoedit/install/ved6_5.webp) ### Consideraciones de Arquitectura[¶](#consideraciones-d... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/install/delphi/index.html #### Instalación de TVFVideoEdit en IDEs - VisioForge Help [Saltar a contenido](#guia-de-instalacion-de-la-biblioteca-tvfvideoedit) # Guía de instalación de la biblioteca TVFVideoEdit[¶](#guia-de-instalacion-de-la-biblioteca-tvfvideoedit "Permanent link") La biblioteca está disponible como un paquete Delphi exclusivamente para desarrolladores Delphi, ofreciendo funcionalidad e integración personalizadas. Adicionalmente, la versión del control ActiveX es versátil y puede usarse en MFC, VB6, o cualquier otro IDE compatible con ActiveX, proporcionando amplia compatibilidad y flexibilidad para desarrolladores en diferentes plataformas. Esto asegura una experiencia de desarrollo robusta y adaptable independientemente de su entorno preferido. ## Instalación[¶](#instalacion "Permanent link") 1. **Descargue la última versión del All-in-One Media Framework**: Visite la [página del producto](https://www.visioforge.com/all-in-one-media-framework) y descargue la versión más reciente del framework que sea adecuada para sus necesidades. 2. **Ejecute el archivo de configuración**: Una vez que la descarga esté completa, localice el archivo de configuración en su directorio de descargas y ejecútelo. Esto iniciará el proceso de instalación. 3. **Siga las instrucciones del asistente de instalación**: El asistente de instalación lo guiará a través de cada paso del proceso. Lea cuidadosamente y siga las indicaciones, acepte el acuerdo de licencia, seleccione el directorio de instalación y continúe haciendo clic en el botón "Siguiente". 4. **Finalización**: Después de que la instalación esté completa, navegue a la carpeta de instalación. Aquí encontrará varias muestras de biblioteca y documentación completa diseñada para ayudarle a comenzar con la integración de la biblioteca en sus proyectos. ### Instalación de paquetes Delphi[¶](#instalacion-de-paquetes-delphi "Permanent link") Para instrucciones detalladas sobre la instalación de los paquetes TVFVideoEdit en su IDE Delphi, por favor consulte la siguiente [guía de instalación de D... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/install/index.html #### Integración de TVFVideoEdit en VB6 - VisioForge Help [Saltar a contenido](#instalacion-del-control-activex-tvfvideoedit-en-visual-basic-6) # Instalación del Control ActiveX TVFVideoEdit en Visual Basic 6[¶](#instalacion-del-control-activex-tvfvideoedit-en-visual-basic-6 "Permanent link") ## Introducción[¶](#introduccion "Permanent link") Visual Basic 6 sigue siendo un entorno de desarrollo popular para crear aplicaciones Windows. Al aprovechar nuestra biblioteca TVFVideoEdit como un control ActiveX, los desarrolladores pueden incorporar capacidades avanzadas de edición y procesamiento de video en sus aplicaciones VB6 sin codificación extensiva. ## Requisitos Técnicos y Limitaciones[¶](#requisitos-tecnicos-y-limitaciones "Permanent link") Microsoft Visual Basic 6 opera como una plataforma de desarrollo de 32-bit y no puede producir aplicaciones de 64-bit. Debido a esta restricción arquitectónica, solo la versión x86 (32-bit) de nuestra biblioteca es compatible con proyectos VB6. A pesar de esta limitación, la implementación de 32-bit ofrece excelente rendimiento y proporciona acceso completo al extenso conjunto de características de la biblioteca. ## Proceso de Instalación[¶](#proceso-de-instalacion "Permanent link") Siga estos pasos detallados para instalar correctamente el control ActiveX TVFVideoEdit en su entorno Visual Basic 6: ### Paso 1: Crear un Nuevo Proyecto[¶](#paso-1-crear-un-nuevo-proyecto "Permanent link") Comience iniciando Visual Basic 6 y creando un nuevo proyecto: 1. Abra el IDE de Visual Basic 6 2. Seleccione "Nuevo Proyecto" del menú Archivo 3. Elija "EXE Estándar" como el tipo de proyecto 4. Haga clic en "Aceptar" para crear el proyecto base ![Creando un nuevo proyecto VB6](/help/docs/delphi/videoedit/install/vevb6_1.webp) ### Paso 2: Acceder al Diálogo de Componentes[¶](#paso-2-acceder-al-dialogo-de-componentes "Permanent link") A continuación, necesita registrar el control ActiveX dentro de su entorno de desarrollo: 1. En el menú, navegue a "Proyecto" 2. Seleccione "Compone... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/install/visual-basic-6/index.html #### Instalar TVFVideoEdit en Visual Studio - VisioForge Help [Saltar a contenido](#instalar-tvfvideoedit-en-visual-studio) # Instalar TVFVideoEdit en Visual Studio[¶](#instalar-tvfvideoedit-en-visual-studio "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") > Productos relacionados: [All-in-One Media Framework (Delphi / ActiveX)](https://www.visioforge.com/all-in-one-media-framework) TVFVideoEdit proporciona potentes capacidades de edición de video a través de controles ActiveX que se integran suavemente con varios entornos de desarrollo. Esta guía lo lleva a través del proceso de instalación específicamente para Visual Studio 2010 y versiones posteriores. ## Información de Compatibilidad[¶](#informacion-de-compatibilidad "Permanent link") El control ActiveX puede usarse directamente en proyectos C++ sin envoltorios adicionales. Para desarrollo en C# o VB.Net, Visual Studio crea automáticamente un ensamblado envoltorio personalizado que habilita la API de ActiveX en entornos de código administrado. ## Requisitos Previos[¶](#requisitos-previos "Permanent link") Antes de comenzar el proceso de instalación, asegúrese de tener: - Visual Studio 2010 o posterior instalado en su máquina de desarrollo - Privilegios administrativos (requeridos para registro de ActiveX) - Controles ActiveX x86 y x64 registrados (Visual Studio podría usar x86 para el diseñador de UI incluso cuando se apunta a x64) ## Guía de Instalación Paso a Paso[¶](#guia-de-instalacion-paso-a-paso "Permanent link") ### Creando un Nuevo Proyecto[¶](#creando-un-nuevo-proyecto "Permanent link") 1. Inicie Visual Studio y cree un nuevo proyecto usando C++, C# o Visual Basic. 2. Para esta demostración, usaremos una aplicación Windows Forms de C#, pero el proceso aplica similarmente a proyectos VB.Net y C++ MFC. ![Pantalla de creación de nuevo proyecto](/help/docs/delphi/videoedit/install/vevs2003_1.webp) ### Agregando el Control ActiveX a Su Caja de Herramientas[¶](#agregando-el-control-activex-a-su-caja-de-herramien... **URL**: https://www.visioforge.com/help/es/docs/delphi/videoedit/install/visual-studio/index.html #### Guía de Registro de Filtros DirectShow - VisioForge Help [Saltar a contenido](#guia-de-registro-de-filtros-directshow) # Guía de Registro de Filtros DirectShow[¶](#guia-de-registro-de-filtros-directshow "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Los filtros DirectShow deben estar registrados con Windows antes de poder usarse en aplicaciones. Esta guía cubre todos los métodos de registro para los filtros DirectShow de VisioForge. * * * ## Métodos de Registro[¶](#metodos-de-registro "Permanent link") ### Método 1: Registro Automático (Instalador)[¶](#metodo-1-registro-automatico-instalador "Permanent link") El método recomendado para usuarios finales es usar el instalador oficial. **Instaladores Disponibles**: - `visioforge_ffmpeg_source_filter_setup.exe` - Filtro Fuente FFMPEG - `visioforge_vlc_source_filter_setup.exe` - Filtro Fuente VLC - `visioforge_processing_filters_pack_setup.exe` - Paquete de Filtros de Procesamiento - `visioforge_encoding_filters_pack_setup.exe` - Paquete de Filtros de Codificación - `visioforge_virtual_camera_sdk_setup.exe` - SDK de Cámara Virtual **Pasos de Instalación**: 1. Ejecute el instalador como Administrador 2. Siga el asistente de instalación 3. Los filtros se registran automáticamente 4. No se requieren pasos adicionales * * * ### Método 2: Registro Manual (regsvr32)[¶](#metodo-2-registro-manual-regsvr32 "Permanent link") Para desarrollo y pruebas, puede registrar manualmente los filtros usando la utilidad `regsvr32` de Windows. #### Comando de Registro[¶](#comando-de-registro "Permanent link") `[](#__codelineno-0-1)# Abra el Símbolo del sistema como Administrador [](#__codelineno-0-2)# Clic derecho en Inicio → Símbolo del sistema (Admin) [](#__codelineno-0-3)[](#__codelineno-0-4)# Registrar filtro x86 (32-bit) [](#__codelineno-0-5)regsvr32 "C:\Ruta\Al\Filtro.ax" [](#__codelineno-0-6)[](#__codelineno-0-7)# Registrar filtro x64 (64-bit) [](#__codelineno-0-8)regsvr32 "C:\Ruta\Al\Filtro_x64.ax" [](#__codelineno-0-9)[](#__codelineno-0-10... **URL**: https://www.visioforge.com/help/es/docs/directshow/deployment/filter-registration/index.html #### Guía de Despliegue para SDKs DirectShow - VisioForge Help [Saltar a contenido](#sdks-de-directshow-guia-de-despliegue) # SDKs de DirectShow - Guía de Despliegue[¶](#sdks-de-directshow-guia-de-despliegue "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta guía de despliegue completa cubre todo lo que necesita saber sobre el despliegue de SDKs de VisioForge DirectShow en entornos de producción. Desde el registro de filtros hasta la creación de instaladores profesionales, esta guía asegura que sus aplicaciones se desplieguen sin problemas. * * * ## Qué se Cubre[¶](#que-se-cubre "Permanent link") ### Temas Principales de Despliegue[¶](#temas-principales-de-despliegue "Permanent link") #### [Registro de Filtros](filter-registration/)[¶](#registro-de-filtros "Permanent link") Aprenda cómo registrar filtros DirectShow utilizando múltiples métodos. **Temas**: - Registro manual con regsvr32 - Registro programático (C++, C#) - Scripts por lotes para automatización - Técnicas de verificación - Solución de problemas de registro - COM sin registro **Cuándo Leer**: Esencial para todos los escenarios de despliegue * * * #### [Archivos Redistribuibles](redistributable-files/)[¶](#archivos-redistribuibles "Permanent link") Referencia completa de archivos para incluir en su despliegue. **Temas**: - Archivos del Filtro de Fuente FFMPEG (~80-100MB) - Archivos del Filtro de Fuente VLC (~150-200MB) - Archivos del Paquete de Filtros de Procesamiento (~20-180MB) - Archivos del Paquete de Filtros de Codificación (~40-300MB) - Archivos del SDK de Cámara Virtual (~15-35MB) - Dependencias y estructuras de directorios **Cuándo Leer**: Antes de crear instaladores o paquetes de despliegue * * * #### [Integración de Instaladores](installer-integration/)[¶](#integracion-de-instaladores "Permanent link") Cree instaladores profesionales con WiX, NSIS, InstallShield e Inno Setup. **Temas**: - WiX Toolset (MSI) - Scripts NSIS - Proyectos InstallShield - Scripts Inno S... **URL**: https://www.visioforge.com/help/es/docs/directshow/deployment/index.html #### Integración con Instaladores para SDKs DirectShow - VisioForge Help [Saltar a contenido](#guia-de-integracion-con-instaladores) # Guía de Integración con Instaladores[¶](#guia-de-integracion-con-instaladores "Permanent link") ## Resumen[¶](#resumen "Permanent link") Esta guía proporciona instrucciones completas para integrar filtros VisioForge DirectShow en instaladores Windows. Cubre múltiples tecnologías de instaladores, acciones personalizadas para registro de filtros, gestión de dependencias y mejores prácticas. * * * ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de crear un instalador, asegúrese de entender: - [Archivos Redistribuibles](../redistributable-files/) - Archivos a incluir en el instalador - [Registro de Filtros](../filter-registration/) - Mecanismos de registro - Arquitectura de plataforma objetivo (x86/x64) - Requisitos de Visual C++ Redistributable * * * ## Resumen de Tecnologías de Instaladores[¶](#resumen-de-tecnologias-de-instaladores "Permanent link") ### WiX Toolset[¶](#wix-toolset "Permanent link") **Mejor Para**: Aplicaciones empresariales, despliegues basados en MSI, automatización IT **Ventajas**: - Sintaxis declarativa basada en XML - Soporte nativo MSI - Excelente integración con Windows Installer - Soporte de despliegue de Política de Grupo - Desarrollo y comunidad activos **Requisitos**: - WiX Toolset 3.x o 4.x - Integración con Visual Studio (opcional) - Archivos de proyecto .wixproj [Ver Ejemplos WiX →](#ejemplos-wix-toolset) * * * ### NSIS (Nullsoft Scriptable Install System)[¶](#nsis-nullsoft-scriptable-install-system "Permanent link") **Mejor Para**: Instaladores ligeros, UI personalizada, aplicaciones portátiles **Ventajas**: - Tamaño pequeño del instalador - Altamente personalizable - Lenguaje de scripting simple - Sin dependencias de runtime - Ejecución rápida **Requisitos**: - Compilador NSIS 3.x - Archivos de script .nsi [Ver Ejemplos NSIS →](#ejemplos-nsis) * * * ### InstallShield[¶](#installshield "Permanent link") **Mejor Para**: Apli... **URL**: https://www.visioforge.com/help/es/docs/directshow/deployment/installer-integration/index.html #### Archivos Redistribuibles para SDKs DirectShow - VisioForge Help [Saltar a contenido](#sdks-directshow-referencia-de-archivos-redistribuibles) # SDKs DirectShow - Referencia de Archivos Redistribuibles[¶](#sdks-directshow-referencia-de-archivos-redistribuibles "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Este documento proporciona una lista completa de archivos requeridos para redistribuir cada SDK DirectShow con su aplicación. Todos los archivos deben incluirse en su instalador o paquete de despliegue. * * * ## Filtro FFMPEG Source[¶](#filtro-ffmpeg-source "Permanent link") ### Archivos Principales[¶](#archivos-principales "Permanent link") #### x86 (32-bit)[¶](#x86-32-bit "Permanent link") **Filtro**: - `VisioForge_FFMPEG_Source.ax` - Filtro DirectShow principal **Bibliotecas FFmpeg** (requeridas): - `avcodec-58.dll` - Biblioteca de códec de video/audio - `avdevice-58.dll` - Manejo de dispositivos - `avfilter-7.dll` - Filtrado de audio/video - `avformat-58.dll` - Manejo de formatos de contenedor - `avutil-56.dll` - Funciones de utilidad - `swresample-3.dll` - Remuestreo de audio - `swscale-5.dll` - Escalado de video y conversión de color **Tamaño Total**: ~80-100 MB #### x64 (64-bit)[¶](#x64-64-bit "Permanent link") **Filtro**: - `VisioForge_FFMPEG_Source_x64.ax` - Filtro DirectShow principal (64-bit) **Bibliotecas FFmpeg** (requeridas): - `avcodec-58.dll` - Versión 64-bit - `avdevice-58.dll` - Versión 64-bit - `avfilter-7.dll` - Versión 64-bit - `avformat-58.dll` - Versión 64-bit - `avutil-56.dll` - Versión 64-bit - `swresample-3.dll` - Versión 64-bit - `swscale-5.dll` - Versión 64-bit **Tamaño Total**: ~90-110 MB ### Estructura del Directorio de Instalación[¶](#estructura-del-directorio-de-instalacion "Permanent link") `[](#__codelineno-0-1)SuApp\ [](#__codelineno-0-2)├── VisioForge_FFMPEG_Source.ax (x86) [](#__codelineno-0-3)├── VisioForge_FFMPEG_Source_x64.ax (x64) [](#__codelineno-0-4)├── avcodec-58.dll [](#__codelineno-0-5)├── avdevice-58.dll [](#__codelin... **URL**: https://www.visioforge.com/help/es/docs/directshow/deployment/redistributable-files/index.html #### Ejemplos de Código - VisioForge Help [Saltar a contenido](#ejemplos-de-codigo) # Ejemplos de Código[¶](#ejemplos-de-codigo "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta página proporciona ejemplos prácticos de código para usar el Filtro de Fuente FFMPEG en aplicaciones DirectShow. Se proporcionan ejemplos en C++, C# y VB.NET. ## Muestras de Trabajo Completas[¶](#muestras-de-trabajo-completas "Permanent link") **Repositorio Oficial de GitHub**: Todos los ejemplos mostrados en esta página están disponibles como proyectos completos y funcionales de Visual Studio en nuestro repositorio de muestras de GitHub: 🔗 **[Repositorio de Muestras de DirectShow](https://github.com/visioforge/directshow-samples)** ### Muestras del Filtro de Fuente FFMPEG[¶](#muestras-del-filtro-de-fuente-ffmpeg "Permanent link") - **[Muestra en C#](https://github.com/visioforge/directshow-samples/tree/master/FFMPEG%20Source%20Filter/dotnet/cs)** - Reproductor multimedia con todas las funciones y capacidades del filtro - **[Muestra en VB.NET](https://github.com/visioforge/directshow-samples/tree/master/FFMPEG%20Source%20Filter/dotnet/vbnet)** - Implementación en VB.NET - **[Muestra en C++Builder](https://github.com/visioforge/directshow-samples/tree/master/FFMPEG%20Source%20Filter/cpp_builder)** - Implementación en C++ Cada muestra incluye: - Archivos de proyecto completos de Visual Studio/C++Builder - Código funcional para reproducción, selección de flujo y configuración - Ejemplos de aceleración de hardware - Ejemplos de transmisión de red (RTSP/HLS) * * * ## Prerrequisitos[¶](#prerrequisitos "Permanent link") ### Proyectos C++[¶](#proyectos-c "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "IFFMPEGSourceSettings.h" // Del SDK [](#__codelineno-0-4)#pragma comment(lib, "strmiids.lib")` ### Proyectos C[¶](#proyectos-c_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowA... **URL**: https://www.visioforge.com/help/es/docs/directshow/ffmpeg-source-filters/examples/index.html #### Filtro DirectShow FFMPEG Source - VisioForge Help [Saltar a contenido](#filtro-directshow-ffmpeg-source) # Filtro DirectShow FFMPEG Source[¶](#filtro-directshow-ffmpeg-source "Permanent link") ## Introducción[¶](#introduccion "Permanent link") El filtro DirectShow FFMPEG Source permite a los desarrolladores integrar de manera fluida capacidades avanzadas de decodificación y reproducción de medios en cualquier aplicación compatible con DirectShow. Este poderoso componente cierra la brecha entre formatos multimedia complejos y sus necesidades de desarrollo de software, proporcionando una base robusta para construir aplicaciones ricas en medios. * * * ## Instalación[¶](#instalacion "Permanent link") Antes de usar los ejemplos de código e integrar el filtro en su aplicación, primero debe instalar el Filtro DirectShow FFMPEG Source desde la [página del producto](https://www.visioforge.com/ffmpeg-source-directshow-filter). **Pasos de Instalación**: 1. Descargue el instalador del SDK desde la página del producto 2. Ejecute el instalador con privilegios administrativos 3. El instalador registrará el filtro FFMPEG Source y desplegará todas las DLLs FFMPEG necesarias 4. Las aplicaciones de ejemplo y el código fuente estarán disponibles en el directorio de instalación **Nota**: El filtro debe estar correctamente registrado en el sistema antes de poder usarlo en sus aplicaciones. El instalador maneja esto automáticamente. * * * ## Características y Capacidades Principales[¶](#caracteristicas-y-capacidades-principales "Permanent link") Nuestro filtro viene incluido con todas las DLLs FFMPEG necesarias y proporciona una interfaz de filtro DirectShow rica en características que soporta: - **Amplia Compatibilidad de Formatos**: Maneje una amplia gama de formatos de video y audio incluyendo MP4, MKV, AVI, MOV, WMV, FLV, y muchos otros sin instalaciones adicionales de códecs - **Soporte de Streams de Red**: Conecte a streams RTSP, RTMP, HTTP, UDP y TCP para integración de medios en vivo - **Gestión de Múlti... **URL**: https://www.visioforge.com/help/es/docs/directshow/ffmpeg-source-filters/index.html #### Filtro FFMPEG Source - Referencia de Interfaz - VisioForge Help [Saltar a contenido](#referencia-de-interfaz-iffmpegsourcesettings) # Referencia de Interfaz IFFmpegSourceSettings[¶](#referencia-de-interfaz-iffmpegsourcesettings "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz `IFFmpegSourceSettings` proporciona opciones de configuración avanzadas para el filtro DirectShow FFMPEG Source. Esta interfaz permite a los desarrolladores controlar la aceleración por hardware, el comportamiento del buffering, opciones FFmpeg personalizadas y varios callbacks para la reproducción de medios. ## Definición de Interfaz[¶](#definicion-de-interfaz "Permanent link") - **Nombre de Interfaz**: `IFFmpegSourceSettings` - **GUID**: `{1974D893-83E4-4F89-9908-795C524CC17E}` - **Hereda De**: `IUnknown` ### Archivos de Definición de Interfaz[¶](#archivos-de-definicion-de-interfaz "Permanent link") Las definiciones completas de interfaz están disponibles en GitHub: - **C# (.NET)**: [IFFmpegSourceSettings.cs](https://github.com/visioforge/directshow-samples/blob/main/Interfaces/dotnet/IFFmpegSourceSettings.cs) - **Header C++**: [IFFmpegSourceSettings.h](https://github.com/visioforge/directshow-samples/blob/main/Interfaces/cpp/FFMPEG%20Source/IFFmpegSourceSettings.h) - **Delphi**: [VCFiltersAPI.pas](https://github.com/visioforge/directshow-samples/blob/main/Interfaces/delphi/VCFiltersAPI.pas) (buscar `IFFMPEGSourceSettings`) Todas las definiciones de interfaz incluyen: - Firmas de métodos completas con atributos de marshalling apropiados - Definiciones de delegados de callback - Tipos de enumeración (modos de buffering, tipos de medios) - Documentación de uso y ejemplos ## Referencia de Métodos[¶](#referencia-de-metodos "Permanent link") ### Aceleración por Hardware[¶](#aceleracion-por-hardware "Permanent link") #### GetHWAccelerationEnabled[¶](#gethwaccelerationenabled "Permanent link") Obtiene el estado actual de aceleración por hardware. **Sintaxis (C++)**: `[](#__codel... **URL**: https://www.visioforge.com/help/es/docs/directshow/ffmpeg-source-filters/interface-reference/index.html #### Codecs Reference - VisioForge Help [Saltar a contenido](#paquete-de-filtros-de-codificacion-referencia-de-codecs) * * * title: Referencia de Códecs: Filtros de Codificación DirectShow description: Referencia de códecs DirectShow con video H.264/H.265/VP8/VP9, audio AAC/MP3/Opus y aceleración de hardware (NVENC, QuickSync, AMF). * * * # Paquete de Filtros de Codificación - Referencia de Códecs[¶](#paquete-de-filtros-de-codificacion-referencia-de-codecs "Permanent link") ## Resumen[¶](#resumen "Permanent link") Este documento proporciona una referencia completa para todos los códecs de video y audio admitidos por el Paquete de Filtros de Codificación DirectShow. El paquete incluye codificadores tanto de software como acelerados por hardware para codificación de medios profesionales. * * * ## Códecs de Video[¶](#codecs-de-video "Permanent link") ### H.264/AVC (MPEG-4 Parte 10)[¶](#h264avc-mpeg-4-parte-10 "Permanent link") El códec de video más utilizado para streaming, broadcasting y almacenamiento de archivos. #### Opciones del Codificador[¶](#opciones-del-codificador "Permanent link") Tipo de Codificador Descripción Soporte de Hardware Rendimiento Calidad **Software (x264)** Codificador H.264 basado en CPU Ninguno Moderado Excelente **NVENC** Codificador GPU NVIDIA GPUs NVIDIA (Kepler+) Muy Rápido Bueno-Excelente **QuickSync** Gráficos integrados Intel CPUs Intel (2ª gen+) Rápido Bueno **AMD AMF** Codificador GPU AMD GPUs AMD (GCN+) Rápido Bueno **Media Foundation** Codificador MF de Windows Varios (dependiente del SO) Moderado Bueno \#### Perfiles y Niveles **Perfiles**: \- **Baseline** - Características básicas, dispositivos móviles \- **Main** - Características estándar, la mayoría de aplicaciones \- **High** - Características avanzadas, contenido HD, Blu-ray **Niveles Comunes**: \- **Level 3.0** - SD (720x480 @ 30 fps) \- **Level 3.1** - 720p (1280x720 @ 30 fps) \- **Level 4.0** - 1080p (1920x1080 @ 30 fps) \- **Level 4.1** - 1080p @ 60 fps \-... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/codecs-reference/index.html #### Ejemplos - VisioForge Help [Saltar a contenido](#paquete-de-filtros-de-codificacion-ejemplos-de-codigo) * * * title: Ejemplos de Código: Filtros de Codificación description: Ejemplos de NVENC hardware, codificadores H.264/H.265/VP8, códecs AAC/MP3 y multiplexación MP4/MKV en DirectShow con código. * * * # Paquete de Filtros de Codificación - Ejemplos de Código[¶](#paquete-de-filtros-de-codificacion-ejemplos-de-codigo "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta página proporciona ejemplos prácticos de código para codificar video y audio utilizando el Paquete de Filtros de Codificación. Cubre: - **Codificador NVENC** - Codificación de hardware NVIDIA (H.264/H.265) - **Codificadores de Software** - H.264, H.265, VP8, VP9, MPEG-2 - **Codificadores de Audio** - AAC, MP3, Opus, Vorbis, FLAC - **Multiplexores** - MP4, MKV, WebM, MPEG-TS, AVI * * * ## Prerrequisitos[¶](#prerrequisitos "Permanent link") ### Proyectos C++[¶](#proyectos-c "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "INVEncConfig.h" // Interfaz NVENC [](#__codelineno-0-4)#pragma comment(lib, "strmiids.lib")` ### Proyectos C[¶](#proyectos-c_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices;` **Paquetes NuGet**: - VisioForge.DirectShowAPI - MediaFoundationCore * * * ## Ejemplos de Codificación de Hardware NVENC[¶](#ejemplos-de-codificacion-de-hardware-nvenc "Permanent link") ### Ejemplo 1: Codificación Básica NVENC H.264[¶](#ejemplo-1-codificacion-basica-nvenc-h264 "Permanent link") Codificar video con aceleración de hardware NVIDIA. #### Codificación NVENC H.264 en C[¶](#codificacion-nvenc-h264-en-c "Permanent link") `[](#__codelineno-2-1)using System; [](#__codelineno-2-2)using System.Runtime.InteropServices; [](#__codelineno-2-3)using VisioForg... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/examples/index.html #### Paquete de Filtros de Codificación DirectShow - VisioForge Help [Saltar a contenido](#paquete-de-filtros-de-codificacion-directshow) # Paquete de Filtros de Codificación DirectShow[¶](#paquete-de-filtros-de-codificacion-directshow "Permanent link") ## Introducción[¶](#introduccion "Permanent link") El Paquete de Filtros de Codificación DirectShow proporciona un potente conjunto de componentes de codificación de medios diseñados específicamente para desarrolladores de software que construyen aplicaciones multimedia profesionales. Este kit de herramientas permite la integración fluida de capacidades de codificación de alto rendimiento para streams de audio y video en una amplia variedad de formatos populares. * * * ## Instalación[¶](#instalacion "Permanent link") Antes de usar los ejemplos de código e integrar los filtros en su aplicación, primero debe instalar el Paquete de Filtros de Codificación DirectShow desde la [página del producto](https://www.visioforge.com/encoding-filters-pack). **Pasos de Instalación**: 1. Descargue el instalador del Paquete de Filtros de Codificación desde la página del producto 2. Ejecute el instalador con privilegios administrativos 3. El instalador registrará todos los filtros de codificación y muxing 4. Las aplicaciones de ejemplo y código fuente estarán disponibles en el directorio de instalación **Nota**: Todos los filtros deben estar correctamente registrados en el sistema antes de poder usarlos en sus aplicaciones. El instalador maneja esto automáticamente. * * * ## Características Principales[¶](#caracteristicas-principales "Permanent link") ### Soporte de Codificación Multi-Formato[¶](#soporte-de-codificacion-multi-formato "Permanent link") El paquete de filtros soporta numerosos formatos estándar de la industria, incluyendo: - **Contenedor MP4** con códecs H264, HEVC y AAC - Streams **MPEG-TS** - Contenedores **MKV** (Matroska) - Formato **WebM** con códecs de video VP8/VP9 - Múltiples formatos de audio incluyendo **Vorbis**, **MP3**, **FLAC** y **Opus** ###... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/index.html #### AAC - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-del-codificador-aac) * * * title: Referencia de la Interfaz del Codificador AAC description: Interfaces DirectShow del codificador AAC: control de tasa de bits, configuración de perfil, frecuencia de muestreo y codificación para audio profesional. * * * # Referencia de la Interfaz del Codificador AAC[¶](#referencia-de-la-interfaz-del-codificador-aac "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Los filtros DirectShow del codificador AAC (Codificación de Audio Avanzada) proporcionan interfaces para la codificación de audio de alta calidad al formato AAC. AAC es el sucesor de MP3, ofreciendo mejor calidad de sonido a la misma tasa de bits y es el códec de audio estándar para MP4, M4A y aplicaciones de transmisión. Están disponibles dos interfaces de codificador AAC: - **IMonogramAACEncoder**: Interfaz de configuración simple que utiliza una única estructura de configuración. - **IVFAACEncoder**: Interfaz completa con métodos de propiedad individuales para un control detallado. ## Interfaz IMonogramAACEncoder[¶](#interfaz-imonogramaacencoder "Permanent link") ### Descripción General[¶](#descripcion-general_1 "Permanent link") La interfaz **IMonogramAACEncoder** proporciona un enfoque de configuración simple basado en estructuras para la codificación AAC. La configuración se realiza utilizando la estructura `AACConfig` que contiene todos los parámetros esenciales de codificación. **GUID de la Interfaz**: `{B2DE30C0-1441-4451-A0CE-A914FD561D7F}` **Hereda de**: `IUnknown` ### Estructura AACConfig[¶](#estructura-aacconfig "Permanent link") `[](#__codelineno-0-1)/// [](#__codelineno-0-2)/// Estructura de configuración del codificador AAC. [](#__codelineno-0-3)/// [](#__codelineno-0-4)public struct AACConfig [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// Versión/perfil AAC (típicamente 2 para AAC-LC, 4 p... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/aac/index.html #### Ref Interfaz Filtro DirectShow Codificador FFMPEG - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-del-codificador-ffmpeg) # Referencia de la Interfaz del Codificador FFMPEG[¶](#referencia-de-la-interfaz-del-codificador-ffmpeg "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz **IVFFFMPEGEncoder** proporciona una configuración completa para codificar video y audio en varios formatos utilizando la biblioteca FFMPEG. Este potente codificador admite múltiples formatos de salida, incluidos Flash Video (FLV), MPEG-1, MPEG-2, VCD, SVCD, DVD y MPEG-2 Transport Stream. El codificador utiliza un enfoque de configuración basado en estructuras donde todos los parámetros de codificación se establecen a la vez, proporcionando una interfaz simple pero completa para la codificación de video profesional a formatos heredados y de transmisión. **GUID de la Interfaz**: `{17B8FF7D-A67F-45CE-B425-0E4F607D8C60}` **CLSID del Filtro**: `{554AB365-B293-4C1D-9245-E8DB01F027F7}` **Hereda de**: `IUnknown` ## GUIDs del Filtro y la Interfaz[¶](#guids-del-filtro-y-la-interfaz "Permanent link") `[](#__codelineno-0-1)// CLSID del Filtro Codificador FFMPEG [](#__codelineno-0-2)public static readonly Guid CLSID_FFMPEGEncoder = [](#__codelineno-0-3) new Guid("554AB365-B293-4C1D-9245-E8DB01F027F7"); [](#__codelineno-0-4)[](#__codelineno-0-5)// IID de la Interfaz IVFFFMPEGEncoder [](#__codelineno-0-6)public static readonly Guid IID_IVFFFMPEGEncoder = [](#__codelineno-0-7) new Guid("17B8FF7D-A67F-45CE-B425-0E4F607D8C60");` ## Formatos de Salida[¶](#formatos-de-salida "Permanent link") ### Enumeración VFFFMPEGDLLOutputFormat[¶](#enumeracion-vfffmpegdlloutputformat "Permanent link") `[](#__codelineno-1-1)/// [](#__codelineno-1-2)/// Opciones de formato de salida del codificador FFMPEG. [](#__codelineno-1-3)/// [](#__codelineno-1-4)public enum VFFFMPEGDLLOutputFormat [](#__codelineno-1-5){ [](#__codelineno-1-6) /// [](#__codelineno-1-7) /// F... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/ffmpeg/index.html #### Referencia de la Interfaz del Codificador FLAC - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-del-codificador-flac) # Referencia de la Interfaz del Codificador FLAC[¶](#referencia-de-la-interfaz-del-codificador-flac "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz **IFLACEncodeSettings** proporciona un control completo sobre los parámetros de codificación de audio FLAC (Free Lossless Audio Codec) en gráficos de filtros DirectShow. FLAC es un formato de compresión de audio sin pérdida que reduce el tamaño del archivo sin ninguna pérdida en la calidad del audio, lo que lo hace ideal para archivo, producción de audio profesional y distribución de música de alta fidelidad. Esta interfaz permite a los desarrolladores configurar niveles de calidad de codificación, parámetros de Codificación Predictiva Lineal (LPC), tamaños de bloque, codificación estéreo mid-side y órdenes de partición Rice para lograr una eficiencia de compresión óptima para diferentes tipos de contenido de audio. **GUID de la Interfaz**: `{A6096781-2A65-4540-A536-011235D0A5FE}` **Hereda de**: `IUnknown` ## Definiciones de Interfaz[¶](#definiciones-de-interfaz "Permanent link") ### Definición en C[¶](#definicion-en-c "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// Interfaz de configuración del codificador FLAC (Free Lossless Audio Codec). [](#__codelineno-0-8) /// Proporciona un control completo sobre los parámetros de codificación FLAC para la compresión de audio sin pérdida. [](#__codelineno-0-9) /// [](#__codelineno-0-10) [ComImport] [](#__codelineno-0-11) [Guid("A6096781-2A65-4540-A536-011235D0A5FE")] [](#__codelineno-0-12) [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [](#__codelineno-0-13) public... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/flac/index.html #### Referencia de la Interfaz del Codificador H.264 - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-del-codificador-h264) # Referencia de la Interfaz del Codificador H.264[¶](#referencia-de-la-interfaz-del-codificador-h264 "Permanent link") ## Descripción general[¶](#descripcion-general "Permanent link") La interfaz **IH264Encoder** ofrece un control integral sobre la codificación de video H.264/AVC (Advanced Video Coding) dentro de gráficos de filtros DirectShow. H.264 es el estándar de facto para distribución, transmisión y difusión de video gracias a su elevada eficiencia de compresión. Con esta interfaz es posible configurar perfiles de codificación, modos de control de tasa, estructura GOP (Group of Pictures), modos de codificación de macro-bloques y parámetros temporales avanzados. Esto permite optimizar la calidad visual y el tamaño de archivo en escenarios como streaming en vivo, difusión televisiva, grabación o archivado. **GUID de la interfaz**: `{09FA2EA3-4773-41a8-90DC-9499D4061E9F}` **Hereda de**: `IUnknown` ## Definiciones de Interfaz[¶](#definiciones-de-interfaz "Permanent link") ### Definición en C[¶](#definicion-en-c "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// Interfaz de configuración del codificador H.264/AVC. [](#__codelineno-0-8) /// Ofrece control sobre parámetros de bitrate, perfiles/niveles, GOP y modos de control de tasa. [](#__codelineno-0-9) /// [](#__codelineno-0-10) [ComImport] [](#__codelineno-0-11) [Guid("09FA2EA3-4773-41a8-90DC-9499D4061E9F")] [](#__codelineno-0-12) [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [](#__codelineno-0-13) public interface IH264Encoder [](#__codelineno-0-14) { [](#__codelineno-0-15) /// [](#__codelineno-0-16)... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/h264/index.html #### Codificador LAME MP3 - Referencia de Interfaz - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-del-codificador-lame-mp3) # Referencia de la Interfaz del Codificador LAME MP3[¶](#referencia-de-la-interfaz-del-codificador-lame-mp3 "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz `IAudioEncoderProperties` proporciona control integral sobre la codificación de audio LAME MP3. LAME (LAME Ain't an MP3 Encoder) es un codificador MP3 de alta calidad que produce excelente calidad de audio con compresión eficiente. Esta interfaz permite la configuración de tasa de bits, calidad, configuraciones de tasa de bits variable (VBR) y varias banderas de codificación para una salida MP3 óptima. ## Definición de la Interfaz[¶](#definicion-de-la-interfaz "Permanent link") - **Nombre de la Interfaz**: `IAudioEncoderProperties` - **GUID**: `{595EB9D1-F454-41AD-A1FA-EC232AD9DA52}` - **Hereda de**: `IUnknown` ## Definiciones de la Interfaz[¶](#definiciones-de-la-interfaz "Permanent link") ### Definición en C[¶](#definicion-en-c "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// Interfaz del codificador LAME MP3. [](#__codelineno-0-8) /// [](#__codelineno-0-9) /// [](#__codelineno-0-10) /// Configurar los parámetros del codificador de audio MPEG con [](#__codelineno-0-11) /// tipo de flujo de entrada no especificado puede llevar a mal [](#__codelineno-0-12) /// comportamiento y resultados confusos. En la mayoría de los casos [](#__codelineno-0-13) /// los parámetros especificados serán sobrescritos por los valores [](#__codelineno-0-14) /// predeterminados para el tipo de medio de entrada. [](#__codelineno-0-15) /// Para lograr resultados apropiados use esta interfaz en el... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/lame/index.html #### MP4 Muxer - VisioForge Help [Saltar a contenido](#referencia-de-interfaz-mp4-muxer) * * * title: Referencia de Interfaz: DirectShow MP4 Muxer description: Interfaces DirectShow de MP4 muxer con configuración de hilos, corrección de tiempo y opciones de streaming en vivo para salida de contenedor MP4. * * * # Referencia de Interfaz MP4 Muxer[¶](#referencia-de-interfaz-mp4-muxer "Permanent link") ## Resumen[¶](#resumen "Permanent link") Los filtros DirectShow MP4 muxer proporcionan interfaces para configurar la salida del contenedor MP4 (MPEG-4 Parte 14). Estas interfaces permiten a los desarrolladores controlar el comportamiento de los hilos, la corrección de tiempo y el manejo especial para escenarios de streaming en vivo. Hay dos interfaces de muxer disponibles: - **IMP4MuxerConfig**: Configuración básica de MP4 muxer para hilos y tiempo - **IMP4V10MuxerConfig**: Configuración avanzada para muxer versión 10 con banderas de tiempo y control de streaming en vivo ## Interfaz IMP4MuxerConfig[¶](#interfaz-imp4muxerconfig "Permanent link") ### Resumen[¶](#resumen_1 "Permanent link") La interfaz **IMP4MuxerConfig** proporciona configuración básica para multiplexación MP4, controlando la operación de un solo hilo y el comportamiento de corrección de tiempo. **GUID de Interfaz**: `{99DC9BE5-0AFA-45d4-8370-AB021FB07CF4}` **Hereda De**: `IUnknown` ### Definiciones de Interfaz[¶](#definiciones-de-interfaz "Permanent link") #### Definición C[¶](#definicion-c "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)[](#__codelineno-0-4)namespace VisioForge.DirectShowAPI [](#__codelineno-0-5){ [](#__codelineno-0-6) /// [](#__codelineno-0-7) /// Interfaz de configuración de MP4 muxer. [](#__codelineno-0-8) /// Controla el comportamiento de hilos y tiempo para la creación de contenedores MP4. [](#__codelineno-0-9) /// [](#__codelineno-0-10) [ComImport] [](#__cod... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/mp4-muxer/index.html #### Codificador NVENC - Referencia de Interfaz - VisioForge Help [Saltar a contenido](#referencia-de-interfaz-invencconfig) # Referencia de Interfaz INVEncConfig[¶](#referencia-de-interfaz-invencconfig "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz `INVEncConfig` proporciona control completo sobre la codificación de video por hardware NVIDIA NVENC. Esta interfaz extiende la interfaz estándar de DirectShow `IAMVideoCompression` con opciones de configuración específicas de NVENC para codificación H.264 y H.265. NVENC es el codificador dedicado por hardware de NVIDIA disponible en GPUs GeForce, Quadro y Tesla, ofreciendo codificación de video de alto rendimiento con uso mínimo de CPU. ## GUIDs de Filtro e Interfaz[¶](#guids-de-filtro-e-interfaz "Permanent link") - **CLSID de Filtro**: `CLSID_NVEncoder` `{6EEC9161-7276-430B-A1197-0D4C3BCC87E5}` - **Interfaz**: `INVEncConfig` **GUID**: `{9A2AC42C-3E3D-4E6A-84E5-D097292D496B}` **Hereda De**: `IAMVideoCompression` **Archivo de Cabecera**: `Intf.h` (C++) - **Interfaz**: `INVEncConfig2` **GUID**: `{2A741FB6-6DE1-460B-8FCA-76DB478C9357}` **Hereda De**: `IUnknown` **Archivo de Cabecera**: `Intf2.h` (C++) ## Definiciones de Interfaz[¶](#definiciones-de-interfaz "Permanent link") ### Definición C++ (INVEncConfig)[¶](#definicion-c-invencconfig "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)[](#__codelineno-0-3)// {9A2AC42C-3E3D-4E6A-84E5-D097292D496B} [](#__codelineno-0-4)static const GUID IID_INVEncConfig = [](#__codelineno-0-5){ 0x9a2ac42c, 0x3e3d, 0x4e6a, { 0x84, 0xe5, 0xd0, 0x97, 0x29, 0x2d, 0x49, 0x6b } }; [](#__codelineno-0-6)[](#__codelineno-0-7)// {6EEC9161-7276-430B-A1197-0D4C3BCC87E5} [](#__codelineno-0-8)static const GUID CLSID_NVEncoder = [](#__codelineno-0-9){ 0x6eec9161, 0x7276, 0x430b, { 0xa1, 0x97, 0xd, 0x4c, 0x3b, 0xcc, 0x87, 0xe5 } }; [](#__codelineno-0-10)[](#__codelineno-0-11)MIDL_INTERFACE("9A2AC42C-3E3D-4E6A-84E5-D097292D496B") [](#__codelineno-0-12)INVEncConfig : public... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/interfaces/nvenc/index.html #### Referencia de Multiplexores DirectShow - VisioForge Help [Saltar a contenido](#paquete-de-filtros-de-codificacion-referencia-de-multiplexores) # Paquete de Filtros de Codificación - Referencia de Multiplexores[¶](#paquete-de-filtros-de-codificacion-referencia-de-multiplexores "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Este documento proporciona información completa sobre todos los formatos de contenedor (multiplexores) compatibles con el Paquete de Filtros de Codificación DirectShow. Los multiplexores combinan flujos de video y audio en archivos contenedores para almacenamiento y transmisión. * * * ## Contenedor MP4[¶](#contenedor-mp4 "Permanent link") ### Descripción General[¶](#descripcion-general_1 "Permanent link") MPEG-4 Parte 14 (MP4) es el formato de contenedor más utilizado para la distribución de video. **Extensiones de Archivo**: `.mp4`, `.m4v`, `.m4a` (solo audio) **Tipo MIME**: `video/mp4`, `audio/mp4` ### Códecs Compatibles[¶](#codecs-compatibles "Permanent link") #### Códecs de Video[¶](#codecs-de-video "Permanent link") - H.264/AVC ✓ (Principal) - H.265/HEVC ✓ - MPEG-4 Parte 2 ✓ - MPEG-2 ✗ (usar MPEG-TS en su lugar) - VP8/VP9 ✗ (usar WebM en su lugar) #### Códecs de Audio[¶](#codecs-de-audio "Permanent link") - AAC ✓ (Principal) - MP3 ✓ - Opus ✗ - Vorbis ✗ - FLAC ✓ - PCM ✓ ### Características[¶](#caracteristicas "Permanent link") **Soporte de Transmisión**: - **Descarga Progresiva**: ✓ (con la ubicación adecuada del átomo moov) - **Transmisión Adaptativa**: ✓ (DASH, HLS con MP4 fragmentado) - **Transmisión en Vivo**: ✓ (MP4 fragmentado) **Soporte de Metadatos**: - **Etiquetas Básicas**: Título, artista, álbum, año - **Carátula**: ✓ - **Capítulos**: ✓ - **Subtítulos**: ✓ (VTT, SRT, varios formatos de texto) **Características Técnicas**: - **Múltiples Pistas de Audio**: ✓ - **Múltiples Pistas de Subtítulos**: ✓ - **Inicio Rápido**: ✓ (átomo moov al principio) - **MP4 Fragmentado**: ✓ (para transmisión) ### Mejores Prácticas[¶](#me... **URL**: https://www.visioforge.com/help/es/docs/directshow/filters-enc/muxers-reference/index.html #### Guía de Registro del SDK de Filtros DirectShow - VisioForge Help [Saltar a contenido](#guia-de-registro-del-sdk) # Guía de Registro del SDK[¶](#guia-de-registro-del-sdk "Permanent link") Los filtros DirectShow y componentes del SDK frecuentemente requieren registro apropiado para funcionar correctamente dentro de tus aplicaciones. Esta guía proporciona métodos de implementación detallados para registrar filtros DirectShow a través de múltiples lenguajes de programación. ## Descripción General del Registro[¶](#descripcion-general-del-registro "Permanent link") La mayoría de los filtros DirectShow en el SDK pueden registrarse usando la interfaz IVFRegister. Este enfoque estandarizado funciona consistentemente a través de entornos de desarrollo. Sin embargo, algunos filtros especializados (como los convertidores RGB2YUV) están diseñados para funcionar sin registro explícito. ## Métodos de Registro por Lenguaje[¶](#metodos-de-registro-por-lenguaje "Permanent link") ### Implementación en C++[¶](#implementacion-en-c "Permanent link") El siguiente código C++ demuestra cómo acceder a la interfaz de registro: `[](#__codelineno-0-1)// {59E82754-B531-4A8E-A94D-57C75F01DA30} [](#__codelineno-0-2)DEFINE_GUID(IID_IVFRegister, [](#__codelineno-0-3) 0x59E82754, 0xB531, 0x4A8E, 0xA9, 0x4D, 0x57, 0xC7, 0x5F, 0x01, 0xDA, 0x30); [](#__codelineno-0-4)[](#__codelineno-0-5)/// [](#__codelineno-0-6)/// Interfaz de registro de filtros. [](#__codelineno-0-7)/// [](#__codelineno-0-8)DECLARE_INTERFACE_(IVFRegister, IUnknown) [](#__codelineno-0-9){ [](#__codelineno-0-10) /// [](#__codelineno-0-11) /// Establece el registro. [](#__codelineno-0-12) /// [](#__codelineno-0-13) /// [](#__codelineno-0-14) /// Clave de Licencia. [](#__codelineno-0-15) /// [](#__codelineno-0-16) STDMETHOD(SetLicenseKey) [](#__codelineno-0-17) (THIS_ [](#__codelineno-0-18) WCHAR * licenseKey [](#__code... **URL**: https://www.visioforge.com/help/es/docs/directshow/how-to-register/index.html #### SDKs y Filtros DirectShow para Desarrollo de Video - VisioForge Help [Saltar a contenido](#sdks-y-filtros-directshow-para-desarrollo-de-video) # SDKs y Filtros DirectShow para Desarrollo de Video[¶](#sdks-y-filtros-directshow-para-desarrollo-de-video "Permanent link") ## Introducción a la Tecnología DirectShow[¶](#introduccion-a-la-tecnologia-directshow "Permanent link") La tecnología DirectShow permite a los desarrolladores crear aplicaciones multimedia robustas para capturar, procesar y reproducir contenido de video. Nuestra suite completa de filtros DirectShow y SDKs proporciona los bloques de construcción esenciales para desarrollar aplicaciones sofisticadas de procesamiento y reproducción de video con mínimo esfuerzo. ## Soluciones de Reproducción y Decodificación[¶](#soluciones-de-reproduccion-y-decodificacion "Permanent link") ### Filtros de Fuente de Alto Rendimiento[¶](#filtros-de-fuente-de-alto-rendimiento "Permanent link") Nuestros potentes filtros de fuente permiten la reproducción fluida de diversos formatos de video en tus aplicaciones personalizadas. Construidos sobre bibliotecas estándar de la industria, estos filtros aseguran máxima compatibilidad y rendimiento. #### Filtro DirectShow de Fuente VLC[¶](#filtro-directshow-de-fuente-vlc "Permanent link") El filtro de Fuente VLC ofrece capacidades de reproducción excepcionales para numerosos formatos de medios, aprovechando el versátil framework de medios VLC para un rendimiento óptimo y soporte de formato. - [Explorar Filtro DirectShow de Fuente VLC](vlc-source-filter/) #### Filtro DirectShow de Fuente FFMPEG[¶](#filtro-directshow-de-fuente-ffmpeg "Permanent link") Nuestros filtros basados en FFMPEG proporcionan compatibilidad de formato de medios sin igual, utilizando las bibliotecas FFMPEG ampliamente adoptadas para manejar virtualmente cualquier formato de video o audio en tus aplicaciones. - [Descubrir Filtro DirectShow de Fuente FFMPEG](ffmpeg-source-filters/) ## Soluciones de Codificación Avanzada[¶](#soluciones-de-codificacion-avanzada "Perman... **URL**: https://www.visioforge.com/help/es/docs/directshow/index.html #### Effects Reference - VisioForge Help [Saltar a contenido](#referencia-completa-de-efectos-de-video) * * * title: Filtros de Procesamiento - Referencia de Efectos description: Referencia de 35+ efectos de video DirectShow en tiempo real: filtros de color, desentrelazado, eliminación de ruido y efectos artísticos. * * * # Referencia Completa de Efectos de Video[¶](#referencia-completa-de-efectos-de-video "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El Paquete de Filtros de Procesamiento DirectShow proporciona más de 35 efectos de video en tiempo real que se pueden aplicar individualmente o encadenar juntos. Esta referencia documenta todos los efectos disponibles, sus parámetros y uso. ## Categorías de Efectos[¶](#categorias-de-efectos "Permanent link") - **Texto y Gráficos** - Logotipos de texto, superposiciones gráficas - **Filtros de Color** - Filtros rojo, verde, azul, escala de grises - **Ajuste de Imagen** - Brillo, contraste, saturación - **Efectos Espaciales** - Voltear, espejo, rotar - **Efectos Artísticos** - Mármol, solarizar, posterizar, mosaico - **Ruido y Calidad** - Algoritmos de eliminación de ruido (CAST, adaptativo, mosquito) - **Desentrelazado** - Métodos de mezcla, triángulo, CAVT - **Efectos Creativos** - Desenfoque, sacudida, spray, invertir * * * ## Efectos de Texto y Gráficos[¶](#efectos-de-texto-y-graficos "Permanent link") ### ef\_text\_logo[¶](#ef_text_logo "Permanent link") Renderiza superposición de texto en video con amplias opciones de personalización. **Tipo de Efecto**: `CVFEffectType.ef_text_logo` **Parámetros** (estructura `CVFTextLogoMain`): | Parámetro | Tipo | Descripción | Predeterminado | |-----------|------|-------------|----------------| | `x` | int | Posición X (píxeles) | 0 | | `y` | int | Posición Y (píxeles) | 0 | | `text` | BSTR | Texto a mostrar | "" | | `font_name` | BSTR | Nombre de familia de fuente | "Arial" | | `font_size` | int | Tamaño de fuente (puntos) | 12 | | `font_color` | COLOR... **URL**: https://www.visioforge.com/help/es/docs/directshow/proc-filters/effects-reference/index.html #### Ejemplos - VisioForge Help [Saltar a contenido](#paquete-de-filtros-de-procesamiento-ejemplos-de-codigo) * * * title: Ejemplos de Código: Filtros de Procesamiento description: Ejemplos de código para Efectos de Video, Mezclador de Video y filtros de Clave de Croma en C++, C# y VB.NET con integración DirectShow. * * * # Paquete de Filtros de Procesamiento - Ejemplos de Código[¶](#paquete-de-filtros-de-procesamiento-ejemplos-de-codigo "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta página proporciona ejemplos prácticos de código para usar el Paquete de Filtros de Procesamiento, que incluye: - **Efectos de Video** - Más de 35 efectos en tiempo real (texto, gráficos, ajustes de color, eliminación de ruido) - **Mezclador de Video** - Mezcla de 2-16 fuentes con PIP, mezcla alfa, clave de croma - **Clave de Croma** - Composición de pantalla verde/azul * * * ## Prerrequisitos[¶](#prerrequisitos "Permanent link") ### Proyectos C++[¶](#proyectos-c "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "IVFEffects45.h" [](#__codelineno-0-4)#include "IVFVideoMixer.h" [](#__codelineno-0-5)#include "IVFChromaKey.h" [](#__codelineno-0-6)#pragma comment(lib, "strmiids.lib")` ### Proyectos C[¶](#proyectos-c_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices; [](#__codelineno-1-4)using System.Drawing;` **Paquetes NuGet**: - VisioForge.DirectShowAPI - MediaFoundationCore * * * ## Ejemplos de Efectos de Video[¶](#ejemplos-de-efectos-de-video "Permanent link") ### Ejemplo 1: Efecto de Video Básico[¶](#ejemplo-1-efecto-de-video-basico "Permanent link") Aplicar un solo efecto de video a una fuente. #### Implementación en C[¶](#implementacion-en-c "Permanent link") `[](#__codelineno-2-1)using System; [](#__codelineno-2-2)using System.Runtime.... **URL**: https://www.visioforge.com/help/es/docs/directshow/proc-filters/examples/index.html #### Filtros Procesamiento DirectShow para Apps Medios - VisioForge Help [Saltar a contenido](#filtros-de-procesamiento-directshow-para-aplicaciones-de-medios) # Filtros de Procesamiento DirectShow para Aplicaciones de Medios[¶](#filtros-de-procesamiento-directshow-para-aplicaciones-de-medios "Permanent link") ## Introducción a los Filtros de Procesamiento DirectShow[¶](#introduccion-a-los-filtros-de-procesamiento-directshow "Permanent link") El Paquete de Filtros de Procesamiento DirectShow ofrece una poderosa colección de filtros especializados construidos para la manipulación sofisticada de audio y video en aplicaciones Windows. Estos filtros permiten a los desarrolladores implementar capacidades de procesamiento de medios de nivel profesional sin desarrollar algoritmos complejos desde cero. Diseñado para desarrolladores que buscan mejorar sus aplicaciones con funcionalidad avanzada de medios, este kit de herramientas ofrece un enfoque simplificado para implementar características audio-visuales robustas con mínima sobrecarga de código. * * * ## Instalación[¶](#instalacion "Permanent link") Antes de usar los ejemplos de código e integrar los filtros en su aplicación, primero debe instalar el Paquete de Filtros de Procesamiento DirectShow desde la [página del producto](https://www.visioforge.com/processing-filters-pack). **Pasos de Instalación**: 1. Descargue el instalador del Paquete de Filtros de Procesamiento desde la página del producto 2. Ejecute el instalador con privilegios administrativos 3. El instalador registrará todos los filtros de procesamiento 4. Las aplicaciones de ejemplo y el código fuente estarán disponibles en el directorio de instalación **Nota**: Todos los filtros deben estar correctamente registrados en el sistema antes de poder usarlos en sus aplicaciones. El instalador maneja esto automáticamente. * * * ## Capacidades y Beneficios Principales[¶](#capacidades-y-beneficios-principales "Permanent link") ### Capacidades de Procesamiento de Video[¶](#capacidades-de-procesamiento-de-video "Permane... **URL**: https://www.visioforge.com/help/es/docs/directshow/proc-filters/index.html #### Filtros de Procesamiento - Interfaz Chroma Key - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-ivfchromakey) # Referencia de la Interfaz IVFChromaKey[¶](#referencia-de-la-interfaz-ivfchromakey "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz `IVFChromaKey` proporciona capacidades profesionales de composición chroma key (pantalla verde/pantalla azul) para aplicaciones DirectShow. Esta interfaz permite el reemplazo de fondo en tiempo real haciendo transparentes colores específicos, permitiendo que sujetos filmados frente a fondos de colores se compongan sobre diferentes fondos. El chroma keying es esencial para producción virtual, pronósticos del tiempo, efectos de video y cualquier escenario donde se necesite reemplazo de fondo. ## Definición de la Interfaz[¶](#definicion-de-la-interfaz "Permanent link") - **Nombre de la Interfaz**: `IVFChromaKey` - **GUID**: `{AF6E8208-30E3-44f0-AAFE-787A6250BAB3}` - **Hereda de**: `IUnknown` - **Archivo de Cabecera**: `vf_eff_intf.h` (C++), `IVFChromaKey.cs` (.NET) ## Capacidades[¶](#capacidades "Permanent link") - **Colores Clave**: Verde, azul, rojo o colores RGB personalizados - **Ajuste de Contraste**: Umbrales de contraste bajo/alto separados - **Reemplazo de Fondo**: Imagen estática o fondo de video - **Procesamiento en Tiempo Real**: Acelerado por hardware cuando está disponible - **Calidad de Bordes**: Tolerancia ajustable para bordes suaves * * * ## Referencia de Métodos[¶](#referencia-de-metodos "Permanent link") ### Configuración de Umbral de Contraste[¶](#configuracion-de-umbral-de-contraste "Permanent link") #### chroma\_put\_contrast[¶](#chroma_put_contrast "Permanent link") Establece el rango de umbral de contraste para el chroma keying. **Sintaxis (C++)**: `[](#__codelineno-0-1)HRESULT chroma_put_contrast(int low, int high);` **Sintaxis (C#)**: `[](#__codelineno-1-1)[PreserveSig] [](#__codelineno-1-2)int chroma_put_contrast(int low, int high);` **Parámetros**: - `low`: Umbral de... **URL**: https://www.visioforge.com/help/es/docs/directshow/proc-filters/interfaces/chroma-key/index.html #### Effects Interface - VisioForge Help [Saltar a contenido](#filtros-de-procesamiento-referencia-de-interfaces-de-efectos) * * * title: Filtros de Procesamiento - Referencia de Interfaces de Efectos description: API de Filtros DirectShow: efectos de video, mejora de audio, redimensionamiento, chroma key e interfaces de mezcla con documentación. * * * # Filtros de Procesamiento - Referencia de Interfaces de Efectos[¶](#filtros-de-procesamiento-referencia-de-interfaces-de-efectos "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Este documento proporciona una referencia completa de la API para todas las interfaces en el Paquete de Filtros de Procesamiento de DirectShow. Estas interfaces permiten efectos de video, mejora de audio, chroma keying, mezcla de video, captura de pantalla y capacidades de procesamiento avanzadas. * * * ## Referencia Rápida de Interfaces[¶](#referencia-rapida-de-interfaces "Permanent link") Interfaz GUID Propósito **IVFEffects45** {5E767DA8-97AF-4607-B95F-8CC6010B84CA} Efectos de video simples **IVFEffectsPro** {9A794ABE-98AD-45AF-BBB0-042172C74C79} Efectos avanzados con sample grabber **IVFResize** {12BC6F20-2812-4660-8684-10F3FD3B4487} Redimensionamiento y recorte de video **IVFVideoMixer** {3318300E-F6F1-4d81-8BC3-9DB06B09F77A} Mezcla de video de múltiples fuentes **IVFChromaKey** {AF6E8208-30E3-44f0-AAFE-787A6250BAB3} Chroma keying (pantalla verde) **IVFAudioEnhancer** {C2C0512A-AE91-4B4D-B4E0-913A0227DCD7} Ganancias de canales de audio **IVFAudioEnhancer3** {915E95CE-70F6-4FA5-B608-9B0BCDBE06B3} Salida de audio flotante IEEE **IVFAudioChannelMapper** {EDB8F865-0A81-4E98-866F-B6F5F17C8FC2} Mapeo de canales de audio **IVFScreenCapture3** {259E0009-9963-4a71-91AE-34B96D754899} Configuración de captura de pantalla **IVFMotDetConfig** {B10E9A0C-3D99-46D4-A397-6E0BC5BC3D76} Detección de movimiento **IVFPushConfig** {F1876E64-C7AC-4B5B-8F64-67B5BB8CEAE4} Configuración de fuente push \--- ## Interfaces d... **URL**: https://www.visioforge.com/help/es/docs/directshow/proc-filters/interfaces/effects-interface/index.html #### Filtros de Procesamiento - Interfaz Video Mixer - VisioForge Help [Saltar a contenido](#referencia-de-la-interfaz-ivfvideomixer) # Referencia de la Interfaz IVFVideoMixer[¶](#referencia-de-la-interfaz-ivfvideomixer "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") La interfaz `IVFVideoMixer` proporciona control integral sobre la mezcla de video multi-fuente en aplicaciones DirectShow. Esta interfaz permite Picture-in-Picture (PIP), composición de video, chroma keying y gestión flexible de diseño para combinar múltiples transmisiones de video en una única salida. El filtro Video Mixer puede manejar 2-16 fuentes de video de entrada, cada una con configuración independiente de posición, tamaño, transparencia y orden z. ## Definición de la Interfaz[¶](#definicion-de-la-interfaz "Permanent link") - **Nombre de la Interfaz**: `IVFVideoMixer` - **GUID**: `{3318300E-F6F1-4d81-8BC3-9DB06B09F77A}` - **Hereda de**: `IUnknown` - **Archivo de Cabecera**: `yk_video_mixer_filter_define.h` (C++), `IVFVideoMixer.cs` (.NET) ## Capacidades[¶](#capacidades "Permanent link") - **Pines de Entrada**: 2-16 fuentes de video simultáneas - **Chroma Keying**: Soporte de pantalla verde/azul por entrada - **Calidad de Redimensionamiento**: Múltiples algoritmos de interpolación - **Orden Z**: Control de capas independiente - **Transparencia**: Mezcla alfa por entrada - **Posición/Tamaño**: Colocación con precisión de píxeles * * * ## Referencia de Métodos[¶](#referencia-de-metodos "Permanent link") ### Gestión de Parámetros de Entrada[¶](#gestion-de-parametros-de-entrada "Permanent link") #### SetInputParam[¶](#setinputparam "Permanent link") Configura parámetros para un pin de entrada específico. **Sintaxis (C++)**: `[](#__codelineno-0-1)int SetInputParam(int pin_index, VFPIPVideoInputParam param);` **Sintaxis (C#)**: `[](#__codelineno-1-1)[PreserveSig] [](#__codelineno-1-2)int SetInputParam([In] int pin_index, [In] VFPIPVideoInputParam param);` **Parámetros**: - `pin_index`: Índice del p... **URL**: https://www.visioforge.com/help/es/docs/directshow/proc-filters/interfaces/video-mixer/index.html #### SDK de Encriptación de Video - Ejemplos de Código - VisioForge Help [Saltar a contenido](#sdk-de-encriptacion-de-video-ejemplos-de-codigo) # SDK de Encriptación de Video - Ejemplos de Código[¶](#sdk-de-encriptacion-de-video-ejemplos-de-codigo "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta página proporciona ejemplos de código completos y funcionales para encriptar y desencriptar archivos de video utilizando el SDK de Encriptación de Video. Los ejemplos cubren: - **Encriptación Básica** - Encriptar archivos de video con protección por contraseña - **Desencriptación de Archivos** - Desencriptar y reproducir archivos de video encriptados - **Escenarios Avanzados** - Claves binarias, claves basadas en archivos, configuraciones de codificación personalizadas - **Manejo de Errores** - Comprobación de errores robusta y recuperación Todos los ejemplos incluyen implementaciones completas en C++, C# y Delphi. * * * ## Requisitos Previos[¶](#requisitos-previos "Permanent link") ### Proyectos C++[¶](#proyectos-c "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "encryptor_intf.h" [](#__codelineno-0-4)#pragma comment(lib, "strmiids.lib") [](#__codelineno-0-5)#pragma comment(lib, "quartz.lib")` ### Proyectos C[¶](#proyectos-c_1 "Permanent link") `[](#__codelineno-1-1)using System; [](#__codelineno-1-2)using System.Runtime.InteropServices; [](#__codelineno-1-3)using VisioForge.DirectShowAPI; [](#__codelineno-1-4)using VisioForge.DirectShowLib;` **Paquetes NuGet Requeridos**: - VisioForge.DirectShowAPI - VisioForge.DirectShowLib ### Proyectos Delphi[¶](#proyectos-delphi "Permanent link") ## `[](#__codelineno-2-1)uses [](#__codelineno-2-2) DirectShow9, [](#__codelineno-2-3) EncryptorIntf;` [¶](#uses-directshow9-encryptorintf "Permanent link") ## Ejemplo 1: Encriptación de Video Básica[¶](#ejemplo-1-encriptacion-de-video-basica "Permanent link") Encriptar un archivo de video con contraseña de text... **URL**: https://www.visioforge.com/help/es/docs/directshow/video-encryption-sdk/examples/index.html #### SDK de Encriptación de Video DirectShow - VisioForge Help [Saltar a contenido](#sdk-de-encriptacion-de-video) # SDK de Encriptación de Video[¶](#sdk-de-encriptacion-de-video "Permanent link") ## Introducción a la Encriptación de Video[¶](#introduccion-a-la-encriptacion-de-video "Permanent link") El [SDK de Encriptación de Video](https://www.visioforge.com/video-encryption-sdk) proporciona herramientas robustas para codificar archivos de video en formato MP4 H264/AAC con capacidades avanzadas de encriptación. Los desarrolladores pueden asegurar su contenido multimedia usando contraseñas personalizadas o métodos de encriptación con datos binarios. El SDK se integra perfectamente con cualquier aplicación DirectShow a través de un conjunto completo de filtros. Estos filtros vienen con extensas interfaces que permiten a los desarrolladores ajustar la configuración según requisitos de seguridad específicos y necesidades de implementación. * * * ## Instalación[¶](#instalacion "Permanent link") Antes de usar los ejemplos de código e integrar el SDK en su aplicación, primero debe instalar el SDK de Encriptación de Video desde la [página del producto](https://www.visioforge.com/video-encryption-sdk). **Pasos de Instalación**: 1. Descargue el instalador del SDK desde la página del producto 2. Ejecute el instalador con privilegios administrativos 3. El instalador registrará todos los filtros DirectShow necesarios 4. Las aplicaciones de ejemplo y el código fuente estarán disponibles en el directorio de instalación **Nota**: Los filtros del SDK deben estar correctamente registrados en el sistema antes de poder usarlos en sus aplicaciones. El instalador maneja esto automáticamente. * * * ## Flexibilidad de Integración[¶](#flexibilidad-de-integracion "Permanent link") Puede implementar el SDK en varias aplicaciones DirectShow como filtros para procesos de encriptación y desencriptación. El sistema funciona efectivamente con: - Fuentes de video en vivo - Fuentes de video basadas en archivos - Codificadores de vid... **URL**: https://www.visioforge.com/help/es/docs/directshow/video-encryption-sdk/index.html #### Referencia de Interfaz - VisioForge Help [Saltar a contenido](#sdk-de-encriptacion-de-video-referencia-de-interfaces) * * * title: Referencia de Interfaces: Encriptación de Video description: API del SDK de Encriptación de Video con IVFCryptoConfig, IVFPasswordProvider y métodos auxiliares para C++, C# y Delphi con AES-256. * * * # SDK de Encriptación de Video - Referencia de Interfaces[¶](#sdk-de-encriptacion-de-video-referencia-de-interfaces "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El SDK de Encriptación de Video proporciona interfaces COM para encriptar y desencriptar archivos de video MP4 con encriptación AES-256. Esta referencia cubre todas las interfaces, métodos y clases auxiliares para desarrolladores de C++, C# y Delphi. * * * ## Interfaz IVFCryptoConfig[¶](#interfaz-ivfcryptoconfig "Permanent link") Interfaz principal para configurar contraseñas y claves de encriptación tanto en el muxer de encriptación como en los filtros demuxer de desencriptación. ### GUID de la Interfaz[¶](#guid-de-la-interfaz "Permanent link") `[](#__codelineno-0-1){BAA5BD1E-3B30-425e-AB3B-CC20764AC253}` ### Herencia[¶](#herencia "Permanent link") ## Hereda de `IUnknown`[¶](#hereda-de-iunknown "Permanent link") ### Definiciones de la Interfaz[¶](#definiciones-de-la-interfaz "Permanent link") #### Definición en C++[¶](#definicion-en-c "Permanent link") `[](#__codelineno-1-1)#include "encryptor_intf.h" [](#__codelineno-1-2)[](#__codelineno-1-3)// {BAA5BD1E-3B30-425e-AB3B-CC20764AC253} [](#__codelineno-1-4)DEFINE_GUID(IID_ICryptoConfig, [](#__codelineno-1-5) 0xbaa5bd1e, 0x3b30, 0x425e, 0xab, 0x3b, 0xcc, 0x20, 0x76, 0x4a, 0xc2, 0x53); [](#__codelineno-1-6)[](#__codelineno-1-7)DECLARE_INTERFACE_(ICryptoConfig, IUnknown) [](#__codelineno-1-8){ [](#__codelineno-1-9) STDMETHOD(put_Provider)(THIS_ IPasswordProvider* pProvider) PURE; [](#__codelineno-1-10) STDMETHOD(get_Provider)(THIS_ IPasswordProvider** ppProvider) PURE; [](#__codelineno-1-11) STD... **URL**: https://www.visioforge.com/help/es/docs/directshow/video-encryption-sdk/interface-reference/index.html #### SDK de Cámara Virtual - Ejemplos de Código - VisioForge Help [Saltar a contenido](#sdk-de-camara-virtual-ejemplos-de-codigo) # SDK de Cámara Virtual - Ejemplos de Código[¶](#sdk-de-camara-virtual-ejemplos-de-codigo "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta página proporciona ejemplos prácticos de código para usar el SDK de Cámara Virtual. El SDK le permite: - **Escribir A cámara virtual**: Transmitir video desde archivos, cámaras reales o cuadros individuales a dispositivos de cámara virtual - **Leer DESDE cámara virtual**: Capturar video desde dispositivos de cámara virtual (aparece como cámara web regular para las aplicaciones) - Aplicar efectos de video y procesamiento en tiempo real - Soportar múltiples instancias de cámara virtual La cámara virtual aparece como una cámara web estándar para aplicaciones como Zoom, Teams, OBS y otro software de videoconferencia. * * * ## Descripción General de Arquitectura[¶](#descripcion-general-de-arquitectura "Permanent link") El SDK de Cámara Virtual proporciona tres tipos principales de filtros: 1. **CLSID\_VFVirtualCameraSource**: Lee DESDE dispositivo de cámara virtual (actúa como una fuente de captura de video) 2. **CLSID\_VFVirtualCameraSink**: Escribe A dispositivo de cámara virtual (actúa como un renderizador) 3. **CLSID\_VFVideoPushSource**: Fuente de empuje para renderizado cuadro por cuadro (secuencias de imágenes, renderizado personalizado) **Flujos de trabajo típicos**: - Archivo/Cámara → VirtualCameraSink → Dispositivo de Cámara Virtual → Otras Aplicaciones - Dispositivo de Cámara Virtual → VirtualCameraSource → Su Aplicación - PushSource (cuadros) → VirtualCameraSink → Dispositivo de Cámara Virtual → Otras Aplicaciones * * * ## Prerrequisitos[¶](#prerrequisitos "Permanent link") ### Proyectos C[¶](#proyectos-c "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Runtime.InteropServices; [](#__codelineno-0-3)using VisioForge.DirectShowAPI; [](#__codelineno-0-4)using Visi... **URL**: https://www.visioforge.com/help/es/docs/directshow/virtual-camera-sdk/examples/index.html #### SDK de Cámara Virtual DirectShow para Streaming - VisioForge Help [Saltar a contenido](#sdk-de-camara-virtual-directshow) # SDK de Cámara Virtual DirectShow[¶](#sdk-de-camara-virtual-directshow "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Nuestro robusto SDK de Cámara Virtual basado en DirectShow permite a los desarrolladores implementar potente funcionalidad de cámara virtual en sus aplicaciones. El SDK proporciona filtros sink que pueden utilizarse como salida en entornos de Video Capture SDK o Video Edit SDK, mientras que los filtros source pueden emplearse como fuentes de video para varias aplicaciones de captura. Con este versátil kit de herramientas, puede transmitir contenido de video desde prácticamente cualquier fuente directamente a un dispositivo de cámara virtual. Estos dispositivos virtuales son completamente compatibles con plataformas de comunicación populares como `Skype`, `Zoom`, `Microsoft Teams`, navegadores web y numerosas otras aplicaciones que soportan cámaras virtuales DirectShow. El SDK también incluye capacidades completas de streaming de audio para soluciones multimedia completas. Para ayudarle a comenzar rápidamente, el paquete SDK incluye una aplicación de ejemplo completamente funcional que demuestra cómo transmitir contenido de video desde archivos a dispositivos de cámara virtual. Descargue el SDK desde nuestra [página del producto](https://www.visioforge.com/virtual-camera-sdk) para comenzar a integrar funcionalidad de cámara virtual en sus aplicaciones hoy. * * * ## Instalación[¶](#instalacion "Permanent link") Antes de usar los ejemplos de código e integrar el SDK en su aplicación, primero debe instalar el SDK de Cámara Virtual desde la [página del producto](https://www.visioforge.com/virtual-camera-sdk). **Pasos de Instalación**: 1. Descargue el instalador del SDK desde la página del producto 2. Ejecute el instalador con privilegios administrativos 3. El instalador registrará el driver de cámara virtual y todos los filtros DirectShow necesari... **URL**: https://www.visioforge.com/help/es/docs/directshow/virtual-camera-sdk/index.html #### Filtro de Fuente VLC - Ejemplos de Código - VisioForge Help [Saltar a contenido](#ejemplos-de-codigo) # Ejemplos de Código[¶](#ejemplos-de-codigo "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") Esta página proporciona ejemplos prácticos de código para usar el Filtro de Fuente VLC en aplicaciones DirectShow. El Filtro de Fuente VLC admite múltiples pistas de audio, subtítulos, video 360° y opciones de línea de comandos personalizadas de VLC. * * * ## Requisitos Previos[¶](#requisitos-previos "Permanent link") ### Proyectos C++[¶](#proyectos-c "Permanent link") `[](#__codelineno-0-1)#include [](#__codelineno-0-2)#include [](#__codelineno-0-3)#include "IVlcSrc.h" // Del SDK [](#__codelineno-0-4)#include "IVlcSrc2.h" // Para parámetros personalizados [](#__codelineno-0-5)#include "IVlcSrc3.h" // Para anulación de velocidad de fotogramas [](#__codelineno-0-6)#pragma comment(lib, "strmiids.lib")` ### Proyectos C[¶](#proyectos-c_1 "Permanent link") `[](#__codelineno-1-1)using VisioForge.DirectShowAPI; [](#__codelineno-1-2)using VisioForge.DirectShowLib; [](#__codelineno-1-3)using System.Runtime.InteropServices; [](#__codelineno-1-4)using System.Text;` **Paquetes NuGet**: - VisioForge.DirectShowAPI - MediaFoundationCore * * * ## Ejemplo 1: Reproducción Básica de Archivos[¶](#ejemplo-1-reproduccion-basica-de-archivos "Permanent link") Reproducir un archivo multimedia local con el Filtro de Fuente VLC. ### Implementación en C++[¶](#implementacion-en-c "Permanent link") `[](#__codelineno-2-1)#include [](#__codelineno-2-2)#include "IVlcSrc.h" [](#__codelineno-2-3)[](#__codelineno-2-4)// CLSID para el Filtro de Fuente VLC [](#__codelineno-2-5)DEFINE_GUID(CLSID_VFVLCSource, [](#__codelineno-2-6) 0x9f73dcd4, 0x2fc8, 0x4e89, 0x8f, 0xc3, 0x2d, 0xf1, 0x69, 0x3c, 0xa0, 0x3e); [](#__codelineno-2-7)[](#__codelineno-2-8)HRESULT PlayVLCFile(LPCWSTR filename, HWND hVideoWindow) [](#__codelineno-2-9){ [](#__codelineno-2-10) IGraphBuilder*... **URL**: https://www.visioforge.com/help/es/docs/directshow/vlc-source-filter/examples/index.html #### Filtro DirectShow VLC Source - VisioForge Help [Saltar a contenido](#filtro-directshow-vlc-source) # Filtro DirectShow VLC Source[¶](#filtro-directshow-vlc-source "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El filtro DirectShow VLC Source permite a los desarrolladores integrar sin problemas capacidades avanzadas de reproducción de medios en cualquier aplicación basada en DirectShow. Este poderoso componente permite la reproducción fluida de varios archivos de video y streams de red en múltiples formatos y protocolos. Nuestro paquete SDK ofrece una solución completa con todas las DLLs necesarias del reproductor VLC incluidas junto con un filtro DirectShow flexible. El paquete proporciona tanto interfaces de selección de archivos estándar como amplias opciones para configuraciones de filtros personalizadas para coincidir con sus requisitos de desarrollo específicos. Para detalles completos del producto y opciones de licenciamiento, visite la [página del producto](https://www.visioforge.com/vlc-source-directshow-filter). * * * ## Instalación[¶](#instalacion "Permanent link") Antes de usar los ejemplos de código e integrar el filtro en su aplicación, primero debe instalar el Filtro DirectShow VLC Source desde la [página del producto](https://www.visioforge.com/vlc-source-directshow-filter). **Pasos de Instalación**: 1. Descargue el instalador del SDK desde la página del producto 2. Ejecute el instalador con privilegios administrativos 3. El instalador registrará el filtro VLC Source y desplegará todas las DLLs VLC necesarias 4. Las aplicaciones de ejemplo y el código fuente estarán disponibles en el directorio de instalación **Nota**: El filtro debe estar correctamente registrado en el sistema antes de poder usarlo en sus aplicaciones. El instalador maneja esto automáticamente. * * * ## Especificaciones Técnicas[¶](#especificaciones-tecnicas "Permanent link") ### Interfaces DirectShow Soportadas[¶](#interfaces-directshow-soportadas "Permanent link") El fil... **URL**: https://www.visioforge.com/help/es/docs/directshow/vlc-source-filter/index.html #### Filtro Fuente VLC - Referencia de Interfaces - VisioForge Help [Saltar a contenido](#referencia-de-interfaces-del-filtro-fuente-vlc) # Referencia de Interfaces del Filtro Fuente VLC[¶](#referencia-de-interfaces-del-filtro-fuente-vlc "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El filtro DirectShow de Fuente VLC expone tres interfaces progresivas (`IVlcSrc`, `IVlcSrc2`, `IVlcSrc3`) que proporcionan control integral sobre la reproducción de medios, selección de pistas de audio/subtítulos y configuración de VLC. Estas interfaces permiten a los desarrolladores aprovechar el potente framework de medios de VLC dentro de aplicaciones DirectShow. ## Jerarquía de Interfaces[¶](#jerarquia-de-interfaces "Permanent link") `[](#__codelineno-0-1)IUnknown [](#__codelineno-0-2) └── IVlcSrc [](#__codelineno-0-3) └── IVlcSrc2 [](#__codelineno-0-4) └── IVlcSrc3` Cada interfaz extiende la anterior, añadiendo nuevas capacidades mientras mantiene compatibilidad hacia atrás. * * * ## Interfaz IVlcSrc[¶](#interfaz-ivlcsrc "Permanent link") La interfaz base que proporciona capacidades esenciales de carga de archivos y selección de pistas. ### Definición de la Interfaz[¶](#definicion-de-la-interfaz "Permanent link") - **Nombre de la Interfaz**: `IVlcSrc` - **GUID**: `{77493EB7-6D00-41C5-9535-7C593824E892}` - **Hereda de**: `IUnknown` - **Archivo de Cabecera**: `ivlcsrc.h` (C++), `IVlcSrc.cs` (.NET) ### Métodos[¶](#metodos "Permanent link") #### SetFile[¶](#setfile "Permanent link") Establece el archivo de medios o URL a reproducir. **Sintaxis (C++)**: `[](#__codelineno-1-1)HRESULT SetFile(WCHAR *file);` **Sintaxis (C#)**: `[](#__codelineno-2-1)[PreserveSig] [](#__codelineno-2-2)int SetFile([MarshalAs(UnmanagedType.LPWStr)] string file);` **Parámetros**: - `file`: Cadena de caracteres anchos que contiene la ruta del archivo o URL. **Retorna**: `S_OK` (0) en éxito, código de error de lo contrario. **Fuentes Soportadas**: - Archivos locales: `C:\Vi... **URL**: https://www.visioforge.com/help/es/docs/directshow/vlc-source-filter/interface-reference/index.html #### Historial de Versiones y Cambios en SDKs .NET - VisioForge Help [Saltar a contenido](#registro-de-cambios) # Registro de Cambios[¶](#registro-de-cambios "Permanent link") Cambios y actualizaciones para todos los SDKs .Net. ## 2025.11.4[¶](#2025114 "Permanent link") - Soporte de .Net 10 para todos los SDKs ## 2025.11.3[¶](#2025113 "Permanent link") - Actualización de WPF VideoView: Se agregaron las propiedades RotationAngle, RotateCrop y RotationStretch para admitir la renderización de video rotado ## 2025.11.1[¶](#2025111 "Permanent link") - \[Media Blocks SDK .Net\] Se agregó soporte de grupo de superposición sincronizada para OverlayManagerBlock ## 2025.10.10[¶](#20251010 "Permanent link") - \[**Windows SDKs**\] VideoEffectRotate actualizado con opción sin recorte ## 2025.10.6[¶](#2025106 "Permanent link") ### 🚀 Característica Principal: Transmisión RTSP de Latencia Ultra Baja[¶](#caracteristica-principal-transmision-rtsp-de-latencia-ultra-baja "Permanent link") - **\[Media Blocks SDK .Net\]** Modo revolucionario de baja latencia para fuentes RTSP logrando **60-120ms de latencia total** (mejora de 10-14x sobre el valor predeterminado de 1-2 segundos) - Se agregó la propiedad `RTSPSourceSettings.LowLatencyMode` para habilitar la transmisión optimizada en una línea - Optimización automática de la tubería: fuente RTSP (80ms), búferes de cola (10-20ms) y control de sincronización del renderizador - Integración con GStreamer: `latency=80ms`, `buffer-mode=0`, cola `max-size-buffers=2` con `leaky=downstream` - Perfecto para vigilancia en tiempo real, sistemas de seguridad, monitoreo en vivo y aplicaciones de video interactivo - **\[Media Blocks SDK .Net\]** RTSPSourceBlock mejorado con configuración completa de baja latencia - Se agregó la enumeración `RTSPBufferMode` con 5 modos (None, Auto, Slave, Buffer, Synced) para un control detallado del búfer de fluctuación - Se agregó la enumeración `RTSPNTPTimeSource` (NTP, RunningTime, Clock) para la sincronización de marca de tiempo NTP en escena... **URL**: https://www.visioforge.com/help/es/docs/dotnet/changelog/index.html #### Despliegue Multiplataforma .NET para Android - VisioForge Help [Saltar a contenido](#guia-de-implementacion-y-despliegue-para-android) # Guía de Implementación y Despliegue para Android[¶](#guia-de-implementacion-y-despliegue-para-android "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a los SDKs de VisioForge para Android[¶](#introduccion-a-los-sdks-de-visioforge-para-android "Permanent link") Los desarrolladores Android que trabajan con tecnologías .NET pueden aprovechar las potentes capacidades de los SDKs de VisioForge para integrar funcionalidad multimedia avanzada en sus aplicaciones. Los SDKs proporcionan soluciones robustas para manipulación, reproducción, captura y edición de medios en la plataforma Android usando tecnologías .NET. El SDK de VisioForge para Android ofrece potentes capacidades para procesamiento, captura, edición y reproducción de video, todo optimizado para la plataforma Android mientras mantiene una experiencia de desarrollo multiplataforma consistente. El proceso de despliegue en Android requiere consideración especial para gestión de paquetes, compatibilidad de dispositivos, permisos y optimización de rendimiento. Este documento proporciona instrucciones detalladas para asegurar que tu aplicación funcione sin problemas en dispositivos Android. ## Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Antes de comenzar tu proceso de implementación y despliegue en Android, asegúrate de que tu entorno de desarrollo cumpla los siguientes requisitos: ### Requisitos del Dispositivo[¶](#requisitos-del-dispositivo "Permanent link") - Dispositivo Android con Android 10.0 o posterior - Arquitectura de procesador ARM o ARM64 - Espacio de almacenamiento suficiente para activos de aplicación y procesamiento de... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/Android/index.html #### Guía de Despliegue Multiplataforma .NET para Ubuntu - VisioForge Help [Saltar a contenido](#guia-de-despliegue-para-ubuntu-de-aplicaciones-del-sdk-de-visioforge) # Guía de Despliegue para Ubuntu de Aplicaciones del SDK de VisioForge[¶](#guia-de-despliegue-para-ubuntu-de-aplicaciones-del-sdk-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Desplegar aplicaciones .NET con SDKs de VisioForge en Ubuntu Linux ofrece múltiples beneficios, incluyendo compatibilidad multiplataforma, acceso a hardware específico de Linux y la capacidad de ejecutar tus aplicaciones multimedia en entornos que van desde infraestructura de servidor hasta dispositivos edge. Esta guía completa te llevará a través del proceso completo de configurar tu entorno Ubuntu, instalar las dependencias necesarias y desplegar tu aplicación .NET con VisioForge. La familia de SDKs de VisioForge funciona en Ubuntu y otras distribuciones Linux que soporten bibliotecas `GStreamer`. Las plataformas adicionales soportadas incluyen dispositivos `Nvidia Jetson` y `Raspberry Pi`, haciéndolo perfecto para una amplia gama de aplicaciones desde software multimedia de escritorio hasta soluciones IoT. ## Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Antes de desplegar tu aplicación, asegúrate de que tu entorno Ubuntu cumpla estos requisitos mínimos: - Ubuntu 20.04 LTS o posterior (22.04 LTS y posterior recomendado) - Runtime .NET 7.0 o posterior - Al menos 4GB RAM (8GB recomendado para procesamiento de video) - Arquitectura x86\_64 o ARM64 - Conexión a internet para instalación de paquetes ## Instalación y Configuración[¶](#instalacion-y-configuracion "Permanent link") ### Instalando .NET[¶](#instalando-net "Permanent link") Desc... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/Ubuntu/index.html #### Despliegue del SDK .Net Multiplataforma para Windows - VisioForge Help [Saltar a contenido](#guia-de-instalacion-y-despliegue-de-windows-para-sdk-multiplataforma-de-visioforge) # Guía de Instalación y Despliegue de Windows para SDK Multiplataforma de VisioForge[¶](#guia-de-instalacion-y-despliegue-de-windows-para-sdk-multiplataforma-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Instalación y Despliegue del SDK de VisioForge[¶](#introduccion-a-la-instalacion-y-despliegue-del-sdk-de-visioforge "Permanent link") La suite de SDKs de VisioForge proporciona potentes capacidades multimedia para tus aplicaciones .NET, soportando captura, edición, reproducción y procesamiento avanzado de medios en múltiples plataformas. Esta guía completa cubre tanto la instalación como el despliegue para aplicaciones Windows. ## Instalación[¶](#instalacion "Permanent link") Los SDKs están accesibles en dos formas: un archivo de instalación y paquetes NuGet. El archivo de instalación proporciona un proceso de instalación directo, asegurando que todos los componentes necesarios estén correctamente configurados. Por otro lado, los paquetes NuGet ofrecen un enfoque flexible y modular para incorporar SDKs en tus proyectos, permitiendo actualizaciones fáciles y gestión de dependencias. Recomendamos altamente utilizar paquetes NuGet debido a su conveniencia y eficiencia en la gestión de dependencias y actualizaciones de proyectos. Al construir tu aplicación, tienes la opción de crear versiones tanto x86 como x64. Esto permite que tu aplicación se ejecute en una gama más amplia de sistemas, acomodando diferentes arquitecturas de hardware. Sin embargo, es importante notar que el archivo de instalación está disponible exclusivamente para la arquitectura x64. Esto signi... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/Windows/index.html #### Implementación de Visión por Computadora en .NET - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-vision-por-computadora) # Guía de Implementación de Visión por Computadora[¶](#guia-de-implementacion-de-vision-por-computadora "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net), [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net), [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Resumen de Paquetes Disponibles[¶](#resumen-de-paquetes-disponibles "Permanent link") Nuestro SDK proporciona dos potentes paquetes NuGet que ofrecen capacidades robustas de visión por computadora para sus aplicaciones: 1. **Paquete VisioForge CV**: Diseñado específicamente para entornos Windows 2. **Paquete VisioForge CVD**: Solución multiplataforma que funciona en múltiples sistemas operativos Estos paquetes proporcionan una API completa para integrar características de visión por computadora directamente en sus aplicaciones .NET. ## Requisitos de Despliegue[¶](#requisitos-de-despliegue "Permanent link") ### Paquete CV Específico para Windows[¶](#paquete-cv-especifico-para-windows "Permanent link") #### Proceso de Instalación[¶](#proceso-de-instalacion "Permanent link") El paquete CV específico para Windows está diseñado para una integración sin problemas: - Simplemente instale el paquete NuGet a través de su gestor de paquetes preferido - No se necesitan pasos adicionales de despliegue - Listo para usar inmediatamente después de la instalación ### Paquete CVD Multiplataforma[¶](#paquete-cvd-multiplataforma "Permanent link") Nuestro paquete CVD multiplataforma requiere configuraciones específicas según su sistema operativo: #### Configuración del Entorno Windows[¶](#configuracion-del-entorno-windows "Permanent link") Al desplegar en sistemas Windows: - Instale el paquete NuGet a través de Visual Studio o la CLI de .NET - No se requieren dependencias o configuraciones adicionales - Funciona de manera inmediata con instalacio... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/computer-vision/index.html #### Despliegue de Aplicaciones .NET para iOS - VisioForge Help [Saltar a contenido](#guia-de-despliegue-para-apple-ios) # Guía de Despliegue para Apple iOS[¶](#guia-de-despliegue-para-apple-ios "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") Esta guía completa te lleva a través del proceso de despliegue de aplicaciones potenciadas por el SDK de VisioForge en dispositivos Apple iOS. El SDK de VisioForge proporciona un framework potente para construir aplicaciones ricas en medios en iOS, ofreciendo soporte robusto para capacidades de captura, edición, reproducción y procesamiento de video. El proceso de despliegue en iOS involucra varias consideraciones clave, desde gestión de paquetes hasta manejo de permisos y optimización de rendimiento. Este documento te guiará a través de cada paso para asegurar una experiencia de despliegue fluida. ## Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Antes de comenzar tu proceso de despliegue en iOS, asegúrate de que tu entorno de desarrollo cumpla los siguientes requisitos: ### Requisitos de Hardware[¶](#requisitos-de-hardware "Permanent link") - Computadora Apple Mac para desarrollo (requerida para firma de apps iOS) - Dispositivo iOS para pruebas (altamente recomendado sobre simuladores) - Espacio de almacenamiento suficiente para herramientas de desarrollo y activos de aplicación ### Requisitos de Software[¶](#requisitos-de-software "Permanent link") - Dispositivo Apple iOS con iOS 12 o posterior (se recomienda la última versión) - Xcode 12 o posterior con iOS SDK instalado - Cuenta de desarrollador Apple (requerida para firma y distribución de apps) - Visual Studio para Mac, JetBrains Rider o Visual Studio Code - .Net 7... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/iOS/index.html #### Guía de Despliegue de SDK .NET Multiplataforma - VisioForge Help [Saltar a contenido](#guia-de-despliegue-multiplataforma-para-sdk-net-de-visioforge) # Guía de Despliegue Multiplataforma para SDK .NET de VisioForge[¶](#guia-de-despliegue-multiplataforma-para-sdk-net-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción al Despliegue del SDK de VisioForge[¶](#introduccion-al-despliegue-del-sdk-de-visioforge "Permanent link") La suite de SDKs de VisioForge proporciona potentes capacidades multimedia para aplicaciones .NET, soportando captura, edición, reproducción y procesamiento avanzado de medios en múltiples plataformas. El despliegue adecuado es crítico para asegurar que tus aplicaciones funcionen correctamente y aprovechen todo el potencial de estos SDKs. Esta guía completa describe el proceso de despliegue para aplicaciones construidas con los SDKs .NET multiplataforma de VisioForge, ayudándote a navegar los requisitos específicos de cada sistema operativo soportado. ## Descripción General del Despliegue[¶](#descripcion-general-del-despliegue "Permanent link") El despliegue de aplicaciones construidas con SDKs de VisioForge requiere consideración cuidadosa de dependencias y configuraciones específicas de plataforma. El proceso de despliegue varía significativamente dependiendo de tu plataforma objetivo debido a diferencias en: - Requisitos de bibliotecas nativas - Dependencias del framework de medios - Mecanismos de acceso a hardware - Métodos de distribución de paquetes ### Consideraciones Clave de Despliegue[¶](#consideraciones-clave-de-despliegue "Permanent link") Antes de comenzar el proceso de despliegue, considera estos factores críticos: 1. **Arquitectura de la Plataforma Objetivo**: Asegúrate de seleccionar la arquit... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/index.html #### Manual de Despliegue Multiplataforma .Net para macOS - VisioForge Help [Saltar a contenido](#guia-de-despliegue-para-apple-macos) # Guía de Despliegue para Apple macOS[¶](#guia-de-despliegue-para-apple-macos "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Los potentes SDKs .NET de VisioForge proporcionan capacidades completas de procesamiento de medios para desarrolladores macOS. Ya sea que estés construyendo aplicaciones de captura de video, reproductores de medios, editores de video o pipelines complejos de procesamiento de medios, nuestros SDKs ofrecen las herramientas que necesitas para entregar soluciones de alta calidad en las plataformas de Apple. El SDK de VisioForge proporciona soporte completo para desarrollo de aplicaciones macOS usando tecnologías .NET. Puedes aprovechar este SDK para construir aplicaciones robustas de procesamiento de medios que se ejecuten nativamente en macOS, incluyendo soporte para arquitecturas Intel (x64) y Apple Silicon (ARM64). Esta guía cubre todo lo que necesitas saber para configurar, configurar y desplegar aplicaciones para entornos macOS y MacCatalyst usando el SDK de VisioForge. Ya sea que estés construyendo aplicaciones macOS tradicionales o soluciones multiplataforma usando frameworks como MAUI o Avalonia, este documento te ayudará a navegar el proceso de instalación y despliegue. ## Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Antes de comenzar el proceso de instalación y despliegue, asegúrate de que tu entorno de desarrollo cumpla los siguientes requisitos: ### Requisitos de Hardware[¶](#requisitos-de-hardware "Permanent link") - Computadora Mac con procesador Intel (x64) o Apple Silicon (ARM64) - Mínimo 8GB RAM (16GB recomendado para procesami... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/macOS/index.html #### Despliegue Multiplataforma .NET para Uno Platform - VisioForge Help [Saltar a contenido](#guia-de-implementacion-y-despliegue-de-uno-platform) # Guía de Implementación y Despliegue de Uno Platform[¶](#guia-de-implementacion-y-despliegue-de-uno-platform "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a los SDKs de VisioForge para Uno Platform[¶](#introduccion-a-los-sdks-de-visioforge-para-uno-platform "Permanent link") Uno Platform es un potente framework de UI multiplataforma que permite a los desarrolladores crear aplicaciones nativas para Windows, Android, iOS, macOS y Linux desde una única base de código. VisioForge proporciona soporte completo para aplicaciones Uno Platform a través del paquete `VisioForge.DotNet.Core.UI.Uno`, que contiene controles de UI especializados diseñados específicamente para Uno Platform. El proceso de despliegue de Uno Platform requiere consideración especial para cada plataforma objetivo. Este documento proporciona instrucciones detalladas para asegurar que su aplicación funcione correctamente en todas las plataformas soportadas. ## Plataformas Soportadas[¶](#plataformas-soportadas "Permanent link") Los SDKs de VisioForge soportan los siguientes objetivos de Uno Platform: Plataforma Framework Objetivo Estado Windows Desktop net10.0-windows10.0.19041.0 ✔ Soporte Completo Android net10.0-android ✔ Soporte Completo iOS net10.0-ios ✔ Soporte Completo macOS (Catalyst) net10.0-maccatalyst ✔ Soporte Completo Linux Desktop (Skia) net10.0-desktop ✔ Soporte Completo ## Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Antes de comenzar su implementación de Uno Platform, asegúrese de que su entorno de desarrollo cumple con los siguientes requisitos: ### Requisitos del Entorno de Desarrollo[¶](... **URL**: https://www.visioforge.com/help/es/docs/dotnet/deployment-x/uno/index.html #### Trabajar con Audio Sample Grabber en SDKs .NET - VisioForge Help [Saltar a contenido](#trabajar-con-audio-sample-grabber-en-sdks-net) # Trabajar con Audio Sample Grabber en SDKs .NET[¶](#trabajar-con-audio-sample-grabber-en-sdks-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción al Audio Sample Grabber[¶](#introduccion-al-audio-sample-grabber "Permanent link") El Audio Sample Grabber es una característica potente disponible en todos nuestros SDKs .NET que permite a los desarrolladores acceder directamente a fotogramas de audio crudos tanto de fuentes en vivo como de archivos multimedia. Esta capacidad abre un amplio rango de posibilidades para procesamiento de audio, análisis y manipulación en tus aplicaciones. Al trabajar con procesamiento de audio, obtener acceso a fotogramas de audio individuales es esencial para tareas como: - Visualización de audio en tiempo real - Procesamiento de efectos de audio personalizados - Integración con reconocimiento de voz - Análisis y métricas de audio - Conversión de formato de audio personalizado - Algoritmos de detección de sonido El evento `OnAudioFrameBuffer` es el mecanismo central que proporciona acceso a estos fotogramas de audio crudos. Este evento se dispara cada vez que un nuevo fotograma de audio está disponible, dándote acceso directo a memoria no administrada que contiene los datos de audio decodificados. ## Cómo Funciona el Audio Sample Grabber[¶](#como-funciona-el-audio-sample-grabber "Permanent link") El Audio Sample Grabber intercepta el pipeline de audio durante la reproducción o captura, proporcionándote los datos de audio crudos antes de que se rendericen al dispositivo de salida. Estos datos están típicamente en formato PCM (Modulación por Codificación de Pulsos), que es el for... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-effects/audio-sample-grabber/index.html #### Guía de Implementación del Codificador de Audio AAC - VisioForge Help [Saltar a contenido](#codificador-aac-y-salida-m4a) # Codificador AAC y salida M4A[¶](#codificador-aac-y-salida-m4a "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El SDK de VisioForge proporciona varias implementaciones de codificadores AAC, cada una con características únicas y casos de uso. ## ¿Qué es la salida M4A?[¶](#que-es-la-salida-m4a "Permanent link") M4A es un formato de archivo utilizado para almacenar datos de audio codificados con el códec Advanced Audio Coding (AAC). Los SDK de VisioForge .Net proporcionan soporte robusto para crear archivos de audio M4A de alta calidad a través de su clase dedicada M4AOutput. Este formato es ampliamente utilizado para la distribución de audio digital debido a su excelente eficiencia de compresión y calidad de sonido. ## Salida M4A (AAC) multiplataforma[¶](#salida-m4a-aac-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Los SDK con capacidad multiplataforma (VideoCaptureCoreX, VideoEditCoreX, MediaBlocksPipeline) permiten utilizar varias implementaciones de codificadores AAC a través de `M4AOutput`. Esta guía se centra en tres enfoques principales utilizando objetos de configuración dedicados: 1. [Codificador AVENC AAC](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.AVENCAACEncoderSettings.html) - Un codificador multiplataforma con muchas características. 2. [Codificador VO-AAC](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.VOAACEncoderSettings.html) - Un codificador multiplataforma simplificado. 3. Codificador AAC de Media Foundation - Un codificador de sistema específico de Windows, accesible en plataformas Windows a través de `MFAACEncoderSettings`. ### Codificador AVENC AAC[¶](#codificador-avenc-aac "Perm... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/aac/index.html #### Guía de Integración del Codificador de Audio FLAC - VisioForge Help [Saltar a contenido](#codificador-y-salida-flac) # Codificador y salida FLAC[¶](#codificador-y-salida-flac "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El codificador FLAC (Free Lossless Audio Codec) proporciona compresión de audio sin pérdida de alta calidad mientras preserva la calidad de audio original. ## Salida FLAC multiplataforma[¶](#salida-flac-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Características[¶](#caracteristicas "Permanent link") El codificador FLAC soporta una amplia gama de configuraciones de audio: - Tasas de muestreo desde 1 Hz hasta 655,350 Hz - Hasta 8 canales de audio (mono a surround 7.1) - Compresión sin pérdida con configuraciones de calidad ajustables - Soporte de salida para streaming - Tamaños de bloque configurables y parámetros de compresión ### Configuración de calidad[¶](#configuracion-de-calidad "Permanent link") El codificador proporciona un parámetro de calidad que va de 0 a 9: - 0: Compresión más rápida (menor uso de CPU) - 1-7: Configuraciones de compresión equilibradas - 8: Mayor compresión (mayor uso de CPU) - 9: Compresión extrema (extremadamente intensivo en CPU) La configuración de calidad predeterminada es 5, que ofrece un buen balance entre ratio de compresión y velocidad de procesamiento. ### Configuración básica[¶](#configuracion-basica "Permanent link") La clase multiplataforma [FLACEncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.FLACEncoderSettings.html) ofrece opciones de configuración avanzadas: `[](#__codelineno-0-1)// Crear configuración del codificador FLAC con calidad predeterminada [](#__codelineno-0-2)var flacSettings = new FLACEncoderSettings [](#__codelineno-0-3){ [](#__code... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/flac/index.html #### Integración de Codificadores de Audio en .NET - VisioForge Help [Saltar a contenido](#codificadores-de-audio-para-desarrollo-en-net) # Codificadores de Audio para Desarrollo en .NET[¶](#codificadores-de-audio-para-desarrollo-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Codificación de Audio en Aplicaciones .NET[¶](#introduccion-a-la-codificacion-de-audio-en-aplicaciones-net "Permanent link") Al desarrollar aplicaciones multimedia en .NET, elegir el codificador de audio adecuado es crucial para garantizar un rendimiento óptimo, compatibilidad y calidad. El conjunto de SDKs .NET de VisioForge proporciona a los desarrolladores herramientas potentes para la codificación de audio en varios formatos, permitiendo la creación de aplicaciones multimedia de nivel profesional. Los codificadores de audio son componentes esenciales que convierten datos de audio sin procesar en formatos comprimidos adecuados para almacenamiento, transmisión o reproducción. Cada codificador ofrece diferentes ventajas en términos de relación de compresión, calidad de audio, requisitos de procesamiento y compatibilidad de plataforma. Esta guía le ayudará a navegar por las diversas opciones de codificación de audio disponibles en los SDKs .NET de VisioForge. ## Codificadores de Audio Disponibles[¶](#codificadores-de-audio-disponibles "Permanent link") Los SDKs .NET de VisioForge incluyen soporte para los siguientes codificadores de audio, cada uno diseñado para casos de uso específicos: ### [Codificador AAC](aac/)[¶](#codificador-aac "Permanent link") Advanced Audio Coding (AAC) representa el estándar de la industria para la compresión de audio de alta calidad. Ofrece una excelente calidad de sonido a tasas de bits más bajas en comparación con formatos más antiguos como MP3. **Características clave:** - Compresión eficiente con mínim... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/index.html #### Grabar, Capturar y Editar Audio MP3 en C# - VisioForge Help [Saltar a contenido](#dominando-el-audio-mp3-grabar-capturar-y-editar-en-c-y-net) # Dominando el Audio MP3: Grabar, Capturar y Editar en C# y .NET[¶](#dominando-el-audio-mp3-grabar-capturar-y-editar-en-c-y-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El SDK de VisioForge permite a los desarrolladores grabar, capturar y editar audio MP3 de forma fluida dentro de aplicaciones C#. Esta guía explora cómo aprovechar nuestro robusto SDK .NET para el procesamiento de audio MP3 de alta calidad. Ya sea que necesite capturar flujos multimedia, grabar archivos MP3 o editar formas de onda de audio, nuestro kit de herramientas multimedia C# proporciona herramientas completas usando la biblioteca LAME. MP3, un formato de compresión de audio con pérdida ampliamente adoptado, es ideal para streaming de audio y almacenamiento eficiente. Puede utilizar el codificador MP3 para integrar funcionalidades de captura y grabación de audio en varios formatos de contenedor como MP4, AVI y MKV, mejorando sus proyectos de captura de audio. Nuestro SDK funciona perfectamente con Visual Studio para una experiencia de desarrollo fluida. El SDK contiene un codificador de audio MP3 que se puede usar para codificar flujos de audio al formato MP3 usando la biblioteca LAME. MP3 es un formato de compresión de audio con pérdida que se usa ampliamente en streaming y almacenamiento de audio. Puede usar la codificación MP3 para codificar audio en contenedores MP4, AVI, MKV y otros. ## Captura y grabación de audio MP3 multiplataforma[¶](#captura-y-grabacion-de-audio-mp3-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La clase [MP3EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.MP3EncoderSettings.html) proporc... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/mp3/index.html #### Codificación Audio OPUS en Apps .NET - VisioForge Help [Saltar a contenido](#dominando-la-codificacion-de-audio-opus-en-aplicaciones-net) # Dominando la Codificación de Audio OPUS en Aplicaciones .NET[¶](#dominando-la-codificacion-de-audio-opus-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la codificación de audio OPUS[¶](#introduccion-a-la-codificacion-de-audio-opus "Permanent link") OPUS se posiciona como uno de los códecs de audio más versátiles y eficientes disponibles para el desarrollo de software moderno. Los SDK .NET de VisioForge incluyen un codificador OPUS libre de regalías que transforma el audio en el formato Opus altamente adaptable. Este audio codificado puede encapsularse en varios contenedores incluyendo Ogg, Matroska, WebM o flujos RTP, haciéndolo ideal tanto para aplicaciones de streaming como para medios almacenados. Desarrollado por el Internet Engineering Task Force (IETF), OPUS combina los mejores elementos de los códecs SILK y CELT para ofrecer un rendimiento excepcional en una amplia gama de requisitos de audio. El códec sobresale tanto en codificación de voz como de música a tasas de bits desde tan bajo como 6 kbps hasta tan alto como 510 kbps, ofreciendo a los desarrolladores una flexibilidad notable para equilibrar la calidad contra las restricciones de ancho de banda. ## Por qué elegir OPUS para sus aplicaciones .NET[¶](#por-que-elegir-opus-para-sus-aplicaciones-net "Permanent link") OPUS se ha convertido en la opción preferida para muchas aplicaciones de audio por varias razones convincentes: - **Baja latencia**: Con retrasos de codificación tan bajos como 5ms, OPUS es perfecto para aplicaciones de comunicación en tiempo real - **Tasa de bits adaptativa**: Cambia sin problemas entre optimización de voz y música - **Amplio rango de tasa de bits**: Func... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/opus/index.html #### Integración del Codificador de Audio Speex para .NET - VisioForge Help [Saltar a contenido](#codificador-de-audio-speex-para-net) # Codificador de Audio Speex para .NET[¶](#codificador-de-audio-speex-para-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a Speex[¶](#introduccion-a-speex "Permanent link") Speex es un códec de audio libre de patentes diseñado específicamente para codificación de voz en aplicaciones .NET. Ya sea que necesite capturar, editar o grabar audio en C#, Speex proporciona excelente compresión mientras mantiene la calidad de voz a través de varias tasas de bits. VisioForge integra este potente codificador en sus SDK .NET, ofreciendo a los desarrolladores opciones de configuración flexibles para aplicaciones basadas en voz. El códec es particularmente adecuado para desarrolladores C# que buscan implementar características de captura y grabación de audio de alta calidad en sus aplicaciones. ## Funcionalidad principal[¶](#funcionalidad-principal "Permanent link") El codificador Speex en los SDK de VisioForge soporta: - Múltiples bandas de frecuencia para diferentes niveles de calidad - Codificación de tasa de bits variable y fija - Detección de actividad de voz y compresión de silencio - Configuraciones ajustables de complejidad y calidad - Compatibilidad multiplataforma en Windows, macOS y Linux - Integración perfecta con aplicaciones dotnet ## Implementación multiplataforma[¶](#implementacion-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Modos del codificador[¶](#modos-del-codificador "Permanent link") Speex ofrece cuatro modos de operación optimizados para diferentes rangos de frecuencia: Modo Valor Tasa de muestreo óptima Auto 0 Selección automática basada en entrada Banda ultra ancha 1 32 kHz Banda ancha 2 16 kHz... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/speex/index.html #### Codificación de Audio Vorbis en .NET - VisioForge Help [Saltar a contenido](#codificacion-de-audio-vorbis-para-desarrolladores-net) # Codificación de Audio Vorbis para Desarrolladores .NET[¶](#codificacion-de-audio-vorbis-para-desarrolladores-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a Vorbis en el SDK de VisioForge[¶](#introduccion-a-vorbis-en-el-sdk-de-visioforge "Permanent link") La suite de SDK de VisioForge ofrece poderosas capacidades de codificación de audio Vorbis que permiten a los desarrolladores implementar compresión de audio de alta calidad en sus aplicaciones .NET. Vorbis, un códec de audio de código abierto, ofrece fidelidad de audio excepcional con ratios de compresión eficientes, haciéndolo ideal para aplicaciones de streaming, contenido multimedia y audio web. Esta guía le ayudará a navegar las varias opciones de implementación de Vorbis disponibles en el ecosistema del SDK de VisioForge, proporcionando ejemplos de código prácticos y estrategias de optimización para diferentes casos de uso. ## Codificador Vorbis multiplataforma[¶](#codificador-vorbis-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Las implementaciones de Vorbis de VisioForge funcionan en múltiples plataformas, dándole flexibilidad en entornos de implementación. Los componentes multiplataforma están específicamente diseñados para funcionar de manera consistente a través de diferentes sistemas operativos. ### Opciones de implementación[¶](#opciones-de-implementacion "Permanent link") El SDK proporciona tres enfoques distintos para codificación Vorbis, cada uno adaptado a escenarios de desarrollo específicos: #### 1\. Contenedor WebM con audio Vorbis[¶](#1-contenedor-webm-con-audio-vorbis "Permanent link") La implementación de [salida WebM](https://api.visioforg... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/vorbis/index.html #### Integración de Audio WAV en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#implementando-audio-wav-en-aplicaciones-net) # Implementando Audio WAV en Aplicaciones .NET[¶](#implementando-audio-wav-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## ¿Qué es el formato WAV?[¶](#que-es-el-formato-wav "Permanent link") WAV (Waveform Audio File Format) funciona como un formato de contenedor de audio sin comprimir en lugar de un códec. Almacena datos de audio PCM (Modulación por Codificación de Pulsos) en crudo en su forma nativa. Al trabajar con los SDK de VisioForge, la funcionalidad de salida WAV permite a los desarrolladores crear archivos de audio de alta calidad con configuraciones PCM configurables. Dado que WAV preserva el audio sin compresión, mantiene la calidad de sonido original a costa de tamaños de archivo más grandes comparado con formatos comprimidos como MP3 o AAC. ## Cómo funcionan los archivos WAV[¶](#como-funcionan-los-archivos-wav "Permanent link") El formato WAV almacena muestras de audio en su forma cruda. Cuando su aplicación genera salida en formato WAV, realiza tres operaciones clave: 1. Organizar datos de audio PCM crudos en la estructura del contenedor WAV 2. Definir parámetros de interpretación (tasa de muestreo, profundidad de bits y conteo de canales) 3. Generar encabezados WAV apropiados y metadatos Esta naturaleza sin comprimir significa que los tamaños de archivo son predecibles y se calculan directamente desde los parámetros de audio: `[](#__codelineno-0-1)Tamaño de archivo (bytes) = Tasa de muestreo × Profundidad de bits × Canales × Duración / 8` Por ejemplo, un archivo WAV estéreo de un minuto muestreado a 44.1kHz con muestras de 16 bits consume aproximadamente 10.1 MB: `[](#__codelineno-1-1)44100 × 16 × 2 × 60 / 8 = 10,584,000 bytes` ## Implementación WAV multiplatafor... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/wav/index.html #### Codificador de Audio WavPack para .NET - VisioForge Help [Saltar a contenido](#codificador-de-audio-wavpack-para-aplicaciones-net) # Codificador de Audio WavPack para Aplicaciones .NET[¶](#codificador-de-audio-wavpack-para-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introducción a WavPack[¶](#introduccion-a-wavpack "Permanent link") WavPack es un códec de audio potente que ofrece capacidades de compresión tanto sin pérdida como lossy híbrida, haciéndolo altamente versátil para diferentes requisitos de aplicación. La biblioteca VisioForge.Core proporciona una implementación robusta de este códec para desarrolladores .NET que buscan soluciones de compresión de audio de alta calidad. Con soporte para varios niveles de calidad, modos de corrección y opciones de codificación estéreo, el codificador WavPack puede manejar múltiples configuraciones de canales mientras ofrece excelente compresión a través de una amplia gama de tasas de bits y tasas de muestreo. ## Comenzando con WavPack[¶](#comenzando-con-wavpack "Permanent link") ### Configuración básica[¶](#configuracion-basica "Permanent link") Para comenzar a usar el codificador WavPack, necesitará crear una instancia de la clase `WavPackEncoderSettings` con los parámetros deseados: `[](#__codelineno-0-1)var encoder = new WavPackEncoderSettings [](#__codelineno-0-2){ [](#__codelineno-0-3) Mode = WavPackEncoderMode.Normal, [](#__codelineno-0-4) JointStereoMode = WavPackEncoderJSMode.Auto, [](#__codelineno-0-5) CorrectionMode = WavPackEncoderCorrectionMode.Off, [](#__codelineno-0-6) MD5 = false [](#__codelineno-0-7)};` Esta configuración simple usa configuraciones de compresión equilibradas y selección automática de modo de codificación estéreo, adecuada para la mayo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/wavpack/index.html #### Integración del Codificador Windows Media Audio - VisioForge Help [Saltar a contenido](#codificador-windows-media-audio) # Codificador Windows Media Audio[¶](#codificador-windows-media-audio "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Windows Media Audio (WMA) es un códec de audio popular desarrollado por Microsoft para compresión de audio eficiente. Esta documentación cubre las implementaciones del codificador WMA disponibles en los SDK .Net de VisioForge. ## Descripción general[¶](#descripcion-general "Permanent link") El SDK de VisioForge proporciona dos enfoques distintos para codificación WMA: el [WMAOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WMAOutput.html) específico de plataforma para entornos Windows y el [WMAEncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.AudioEncoders.WMAEncoderSettings.html) multiplataforma. Exploremos ambas implementaciones en detalle para entender sus capacidades y casos de uso. ## Salida WMA multiplataforma[¶](#salida-wma-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) El `WMAEncoderSettings` proporciona una solución multiplataforma para codificación WMA. Esta implementación está construida sobre el SDK y ofrece comportamiento consistente a través de diferentes sistemas operativos. ### Características principales[¶](#caracteristicas-principales "Permanent link") El codificador soporta las siguientes configuraciones de audio: - Tasas de muestreo: 44.1 kHz y 48 kHz - Tasas de bits: 128, 192, 256 y 320 Kbps - Configuraciones de canales: Mono (1) y Estéreo (2) ### Control de tasa[¶](#control-de-tasa "Permanent link") El codificador WMA implementa codificación de tasa de bits constante (CBR), permitiéndole especificar una tasa de bits fija de los valores soportados. Esto asegura c... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/audio-encoders/wma/index.html #### Usar Filtros de Video de Terceros en .NET - VisioForge Help [Saltar a contenido](#usar-filtros-de-video-de-terceros-en-net) # Usar Filtros de Video de Terceros en .NET[¶](#usar-filtros-de-video-de-terceros-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Los filtros de procesamiento de video de terceros proporcionan capacidades potentes para manipular flujos de video en aplicaciones .NET. Estos filtros pueden integrarse perfectamente en varias plataformas SDK incluyendo Video Capture SDK .Net, Media Player SDK .Net y Video Edit SDK .Net para mejorar tus aplicaciones con características avanzadas de procesamiento de video. Esta guía explora cómo implementar, configurar y optimizar filtros DirectShow de terceros dentro de tus proyectos .NET, proporcionándote el conocimiento necesario para crear aplicaciones sofisticadas de procesamiento de video. ## Entendiendo los Filtros DirectShow[¶](#entendiendo-los-filtros-directshow "Permanent link") Los filtros DirectShow son componentes basados en COM que procesan datos de medios dentro del framework DirectShow. Pueden realizar varias operaciones incluyendo: - Efectos de video y transiciones - Corrección y gradación de color - Conversión de tasa de frames - Cambios de resolución - Reducción de ruido - Procesamiento de efectos especiales Antes de usar filtros de terceros, es importante entender cómo operan dentro del pipeline DirectShow y cómo interactúan con los componentes de nuestro SDK. ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Para implementar exitosamente filtros de procesamiento de video de terceros en tus aplicaciones .NET, necesitarás: 1. El SDK apropiado (.NET Video Capture, Media Player o Video Edit) 2. Filtros DirectShow de terceros de tu elección 3. Acceso administrativo para el registro de f... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/3rd-party-video-effects/index.html #### Indexación de Archivos ASF y WMV en .NET - VisioForge Help [Saltar a contenido](#guia-completa-de-indexacion-de-archivos-asf-y-wmv-en-net) # Guía Completa de Indexación de Archivos ASF y WMV en .NET[¶](#guia-completa-de-indexacion-de-archivos-asf-y-wmv-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Al trabajar con archivos Windows Media en tus aplicaciones .NET, probablemente encontrarás desafíos con la funcionalidad de búsqueda, especialmente con archivos que carecen de estructuras de índice apropiadas. Esta guía explica cómo implementar indexación eficiente para archivos ASF, WMV y WMA para asegurar una reproducción fluida y capacidades de navegación en tus aplicaciones. ## Entendiendo el Problema de Indexación[¶](#entendiendo-el-problema-de-indexacion "Permanent link") ASF (Advanced Systems Format) es el formato contenedor de Microsoft diseñado para streaming de medios. WMV (Windows Media Video) y WMA (Windows Media Audio) están construidos sobre este formato. Aunque estos formatos son ampliamente usados, muchos archivos carecen de estructuras de indexación apropiadas, lo que crea varios problemas: - Comportamiento de búsqueda irregular o impredecible - Incapacidad de saltar a marcas de tiempo específicas - Reproducción inconsistente al navegar por el archivo - Problemas de rendimiento durante operaciones de acceso aleatorio La indexación adecuada crea un mapa del contenido del archivo, permitiendo a tu aplicación localizar y acceder rápidamente a puntos específicos en el flujo de medios. ## Beneficios de Implementar Indexación de Archivos de Medios[¶](#beneficios-de-implementar-indexacion-de-archivos-de-medios "Permanent link") Añadir capacidades de indexación a tu aplicación .NET proporciona varias ventajas: 1. **Experiencia de Usuario Mejorada**: Permite a los usuarios navegar archivos de medios con búsqu... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/asf-wmv-files-indexing/index.html #### Interfaces de Filtros DirectShow Personalizados - VisioForge Help [Saltar a contenido](#uso-de-interfaces-de-filtros-directshow-personalizados) # Uso de Interfaces de Filtros DirectShow Personalizados[¶](#uso-de-interfaces-de-filtros-directshow-personalizados "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) _Nota: La API mostrada en esta guía es la misma en todos nuestros productos SDK, incluyendo Video Capture SDK .Net, Video Edit SDK .Net y Media Player SDK .Net._ DirectShow es un framework multimedia poderoso que permite a los desarrolladores realizar operaciones complejas en flujos de medios. Una de sus fortalezas clave es la capacidad de trabajar con interfaces de filtros personalizados, dándote control preciso sobre el procesamiento de medios. Esta guía te guiará a través de la implementación y utilización de interfaces de filtros DirectShow personalizados en tus aplicaciones .NET. ## Entendiendo los Filtros DirectShow[¶](#entendiendo-los-filtros-directshow "Permanent link") DirectShow usa una arquitectura basada en filtros donde cada filtro realiza una operación específica en el flujo de medios. Estos filtros están conectados en un grafo, creando un pipeline para el procesamiento de medios. ### Componentes Clave de DirectShow[¶](#componentes-clave-de-directshow "Permanent link") - **Filtro**: Un componente que procesa datos de medios - **Pin**: Puntos de conexión entre filtros - **Grafo de Filtros**: El pipeline completo de filtros conectados - **IBaseFilter**: La interfaz fundamental que todos los filtros DirectShow implementan ## Comenzando con Interfaces de Filtros Personalizados[¶](#comenzando-con-interfaces-de-filtros-personalizados "Permanent link") Para trabajar con filtros DirectShow en .NET, necesitarás: 1. Agregar las referencias apropiadas a tu proyecto 2. Acceder al filtro a través de eventos apropiados 3.... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/custom-filter-interface/index.html #### Creación de Efectos de Video Personalizados en C# - VisioForge Help [Saltar a contenido](#creacion-de-efectos-de-video-personalizados-en-tiempo-real-en-aplicaciones-c) # Creación de Efectos de Video Personalizados en Tiempo Real en Aplicaciones C[¶](#creacion-de-efectos-de-video-personalizados-en-tiempo-real-en-aplicaciones-c "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción al Procesamiento de Frames de Video[¶](#introduccion-al-procesamiento-de-frames-de-video "Permanent link") Al desarrollar aplicaciones de video, a menudo necesitas aplicar efectos personalizados o superposiciones a flujos de video en tiempo real. El SDK .NET proporciona dos eventos potentes para este propósito: `OnVideoFrameBitmap` y `OnVideoFrameBuffer`. Estos eventos te dan acceso directo a cada frame de video, permitiéndote modificar píxeles antes de que sean renderizados o codificados. ## Métodos de Implementación[¶](#metodos-de-implementacion "Permanent link") Hay dos enfoques principales para implementar efectos de video personalizados: 1. **Usando OnVideoFrameBitmap**: Procesa frames como objetos Bitmap con GDI+ - más fácil de usar pero con rendimiento moderado 2. **Usando OnVideoFrameBuffer**: Manipula el búfer de imagen RGB24 crudo directamente - ofrece mejor rendimiento pero requiere código de más bajo nivel ## Ejemplos de Código para Efectos de Video Personalizados[¶](#ejemplos-de-codigo-para-efectos-de-video-personalizados "Permanent link") ### Implementación de Superposición de Texto[¶](#implementacion-de-superposicion-de-texto "Permanent link") Añadir superposiciones de texto al video es útil para marcas de agua, mostrar información o crear subtítulos. Este ejemplo demuestra cómo añadir texto simple a tus frames de video: `[](#__codelineno-0-1)private void VideoCapture1_OnVideoFrameBitmap(object sender, VideoFrameBitmapEventArgs e) [](... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/custom-video-effects/index.html #### Overlays de Texto Dinámicas en Frames de Video (.NET) - VisioForge Help [Saltar a contenido](#implementacion-de-superposiciones-de-texto-dinamicas-en-frames-de-video-en-net) # Implementación de Superposiciones de Texto Dinámicas en Frames de Video en .NET[¶](#implementacion-de-superposiciones-de-texto-dinamicas-en-frames-de-video-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Agregar superposiciones de texto al contenido de video se ha vuelto esencial para varias aplicaciones, desde agregar marcas de agua y marcas de tiempo hasta crear anotaciones informativas y subtítulos. Mientras que muchos SDKs ofrecen capacidades de superposición de texto incorporadas, estas funciones podrían no siempre proporcionar el nivel de personalización o flexibilidad requerido para proyectos avanzados. Esta guía demuestra cómo implementar superposiciones de texto personalizadas usando el evento `OnVideoFrameBuffer`. Este enfoque te da control total sobre la apariencia, posición y comportamiento del texto, permitiendo implementaciones de superposición más sofisticadas de lo que es posible con métodos API estándar. ## ¿Por Qué Usar Superposiciones de Texto Personalizadas?[¶](#por-que-usar-superposiciones-de-texto-personalizadas "Permanent link") Las APIs de superposición de texto estándar a menudo tienen limitaciones en áreas como: - Número de elementos de texto concurrentes - Opciones de personalización de fuente - Actualizaciones de texto dinámicas - Capacidades de animación - Control de posicionamiento preciso - Gestión de canal alfa Al aprovechar el evento `OnVideoFrameBuffer` y trabajar directamente con datos de bitmap, puedes superar estas limitaciones e implementar exactamente lo que tu aplicación necesita. ## Entendiendo el Enfoque[¶](#entendiendo-el-enfoque "Permanent link") La técni... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/draw-multitext-onvideoframebuffer/index.html #### Dibujo de Video en PictureBox en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#dibujo-de-video-en-picturebox-en-aplicaciones-net) # Dibujo de Video en PictureBox en Aplicaciones .NET[¶](#dibujo-de-video-en-picturebox-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción al Renderizado de Video en WinForms[¶](#introduccion-al-renderizado-de-video-en-winforms "Permanent link") Mostrar contenido de video en aplicaciones de escritorio es un requisito común para muchos desarrolladores de software que trabajan con multimedia. Ya sea que estés construyendo aplicaciones para videovigilancia, reproductores de medios, herramientas de edición de video o cualquier software que procese flujos de video, entender cómo renderizar video efectivamente es crucial. El control PictureBox es una de las maneras más directas de mostrar frames de video en aplicaciones Windows Forms. Aunque no fue diseñado específicamente para reproducción de video, con una implementación adecuada, puede proporcionar renderizado de video suave con consumo mínimo de recursos. Esta guía se enfoca en implementar el renderizado de video en controles PictureBox en aplicaciones WinForms .NET. Cubriremos todo el proceso desde la configuración hasta la implementación, abordando errores comunes y técnicas de optimización. ## ¿Por Qué Usar PictureBox para Visualización de Video?[¶](#por-que-usar-picturebox-para-visualizacion-de-video "Permanent link") Antes de profundizar en los detalles de implementación, examinemos las ventajas de usar PictureBox para visualización de video: - **Simplicidad**: PictureBox es un control directo con el que la mayoría de los desarrolladores .NET ya están familiarizados. - **Flexibilidad**: Permite personalización de cómo se muestran las imágenes a través de su propiedad SizeMode. - **Integración**: Se integra pe... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/draw-video-picturebox/index.html #### Exclusión de Filtros DirectShow en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#exclusion-de-filtros-directshow-en-aplicaciones-net) # Exclusión de Filtros DirectShow en Aplicaciones .NET[¶](#exclusion-de-filtros-directshow-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Al desarrollar aplicaciones multimedia en .NET, frecuentemente interactuarás con DirectShow — el framework de Microsoft para streaming multimedia. DirectShow usa una arquitectura basada en filtros donde componentes individuales (filtros) procesan datos de medios. Sin embargo, no todos los filtros son iguales. Algunos pueden causar problemas de rendimiento, problemas de compatibilidad o simplemente no cumplen con las necesidades específicas de tu aplicación. Esta guía explora cómo identificar y excluir efectivamente filtros DirectShow problemáticos del pipeline de procesamiento de tu aplicación. ## Entendiendo los Filtros DirectShow[¶](#entendiendo-los-filtros-directshow "Permanent link") Los filtros DirectShow son objetos COM que realizan operaciones específicas en datos de medios, tales como: - **Filtros fuente**: Leen medios de archivos, dispositivos de captura o flujos de red - **Filtros de transformación**: Procesan o convierten datos de medios (decodificadores, codificadores, efectos) - **Filtros renderizadores**: Muestran video o reproducen audio Cuando DirectShow construye un grafo de filtros, selecciona automáticamente filtros basándose en mérito (prioridad) y compatibilidad. Esta selección automática a veces incluye filtros de terceros que pueden: - Reducir el rendimiento - Causar problemas de estabilidad - Introducir problemas de compatibilidad - Anular métodos de procesamiento preferidos ## Problemas Comunes con Filtros DirectShow[¶](#problemas-comunes-con-filtros-... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/exclude-filters/index.html #### Dibujo de Imágenes con OnVideoFrameBuffer en .NET - VisioForge Help [Saltar a contenido](#dibujo-de-imagenes-con-onvideoframebuffer-en-net) # Dibujo de Imágenes con OnVideoFrameBuffer en .NET[¶](#dibujo-de-imagenes-con-onvideoframebuffer-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") El evento `OnVideoFrameBuffer` proporciona una manera poderosa de manipular frames de video en tiempo real. Esta guía demuestra cómo superponer imágenes en frames de video usando este evento en aplicaciones .NET. Esta técnica es útil para agregar marcas de agua, logos u otros elementos visuales al contenido de video durante el procesamiento o reproducción. ## Entendiendo el Proceso[¶](#entendiendo-el-proceso "Permanent link") Al trabajar con frames de video en .NET, necesitas: 1. Cargar tu imagen (logo, marca de agua, etc.) en memoria 2. Convertir la imagen a un formato de búfer compatible 3. Escuchar el evento `OnVideoFrameBuffer` 4. Dibujar la imagen en cada frame de video mientras se procesa 5. Actualizar los datos del frame para mostrar los cambios ## Implementación de Código[¶](#implementacion-de-codigo "Permanent link") Revisemos la implementación paso a paso: ### Paso 1: Cargar Tu Imagen[¶](#paso-1-cargar-tu-imagen "Permanent link") Primero, carga el archivo de imagen que quieres superponer en el video: `[](#__codelineno-0-1)// Carga de Bitmap desde archivo [](#__codelineno-0-2)private Bitmap logoImage = new Bitmap(@"logo24.jpg"); [](#__codelineno-0-3)// También puedes usar PNG con canal alfa para transparencia [](#__codelineno-0-4)//private Bitmap logoImage = new Bitmap(@"logo32.png");` ### Paso 2: Preparar Búferes de Memoria[¶](#paso-2-preparar-buferes-de-memoria "Permanent link") Inicializa punteros para el búfer de imagen: `[](#__codelineno-1-1)// Búfer RGB24/RGB32 del logo [](#... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/image-onvideoframebuffer/index.html #### Ejemplos de Código Esenciales del SDK .NET - VisioForge Help [Saltar a contenido](#ejemplos-de-codigo-del-sdk-net-guia-practica-de-implementacion) # Ejemplos de Código del SDK .NET: Guía Práctica de Implementación[¶](#ejemplos-de-codigo-del-sdk-net-guia-practica-de-implementacion "Permanent link") En esta guía, encontrará una colección de ejemplos de código prácticos y técnicas de implementación para trabajar con nuestros SDKs .NET. Estos ejemplos abordan escenarios de desarrollo comunes y demuestran cómo aprovechar nuestras bibliotecas de manera efectiva para aplicaciones de procesamiento de medios. ## Implementación de Filtros DirectShow[¶](#implementacion-de-filtros-directshow "Permanent link") DirectShow proporciona un marco potente para manejar flujos multimedia. Nuestros SDKs simplifican el trabajo con estos componentes a través de interfaces bien diseñadas y métodos auxiliares. ### Indexación de Medios y Manejo de Formatos[¶](#indexacion-de-medios-y-manejo-de-formatos "Permanent link") - [Indexación de Archivos ASF y WMV](asf-wmv-files-indexing/) - Aprenda técnicas para indexar correctamente formatos de Windows Media para permitir la búsqueda y el control eficiente de la posición de reproducción. Este ejemplo demuestra cómo establecer puntos de navegación precisos dentro de archivos multimedia y manejar contenido ASF/WMV grande de manera efectiva. ### Integración de Filtros Personalizados[¶](#integracion-de-filtros-personalizados "Permanent link") - [Uso de la Interfaz de Filtro DirectShow Personalizado](custom-filter-interface/) - Este tutorial recorre el proceso de implementación y conexión de filtros DirectShow personalizados dentro de su aplicación. Aprenderá cómo crear interfaces de filtro que se integren perfectamente con la arquitectura DirectShow existente mientras agrega su propia funcionalidad especializada. ### Integración de Terceros[¶](#integracion-de-terceros "Permanent link") - [Integración de Filtros de Procesamiento de Video de Terceros](3rd-party-video-effects/) - Descubra cómo inco... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/index.html #### Eventos de Rueda del Ratón en SDKs .NET - VisioForge Help [Saltar a contenido](#implementacion-de-eventos-de-rueda-del-raton-en-sdks-net) # Implementación de Eventos de Rueda del Ratón en SDKs .NET[¶](#implementacion-de-eventos-de-rueda-del-raton-en-sdks-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción a los Eventos de Rueda del Ratón[¶](#introduccion-a-los-eventos-de-rueda-del-raton "Permanent link") Los eventos de rueda del ratón proporcionan una manera intuitiva para que los usuarios interactúen con contenido de video en aplicaciones multimedia. Ya sea que estés desarrollando un reproductor de video, editor o aplicación de captura, implementar el manejo adecuado de eventos de rueda del ratón mejora la experiencia del usuario al permitir zoom suave, desplazamiento o navegación de línea de tiempo. En aplicaciones .NET, el evento `MouseWheel` se activa cuando el usuario rota la rueda del ratón. Este evento proporciona información crucial sobre la dirección e intensidad del movimiento de la rueda a través del parámetro `MouseEventArgs`. ## ¿Por Qué Implementar Eventos de Rueda del Ratón?[¶](#por-que-implementar-eventos-de-rueda-del-raton "Permanent link") La funcionalidad de rueda del ratón ofrece varios beneficios para tus aplicaciones de video: - **Experiencia de Usuario Mejorada**: Habilita funcionalidad de zoom intuitiva en visualizadores de video - **Navegación Mejorada**: Permite desplazamiento rápido de línea de tiempo en editores de video - **Control de Volumen**: Proporciona ajuste de volumen conveniente en reproductores de medios - **Interacción de UI Eficiente**: Reduce la dependencia de controles en pantalla ## Implementación Básica[¶](#implementacion-basica "Permanent link") ### Configurando Manejadores de Eventos[¶](#configurando-manejadores-de-eventos "Permanent link") Para implementar... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/mouse-wheel-usage/index.html #### Multi Pantallas Salida Video en Apps WPF - VisioForge Help [Saltar a contenido](#implementacion-de-multiples-pantallas-de-salida-de-video-en-aplicaciones-wpf) # Implementación de Múltiples Pantallas de Salida de Video en Aplicaciones WPF[¶](#implementacion-de-multiples-pantallas-de-salida-de-video-en-aplicaciones-wpf "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Al desarrollar aplicaciones WPF que requieren manejar múltiples feeds de video simultáneamente, los desarrolladores a menudo enfrentan desafíos con rendimiento, sincronización y gestión de recursos. Esta guía proporciona un enfoque integral para implementar múltiples pantallas de salida de video en tus aplicaciones WPF usando C# y el control Image. ## Comenzando con Múltiples Pantallas de Video[¶](#comenzando-con-multiples-pantallas-de-video "Permanent link") Consulta la guía de instalación para WPF [aquí](../../../install/). Para comenzar a implementar múltiples salidas de video en tu aplicación WPF, necesitarás: 1. Agregar el control Video View apropiado a tu aplicación 2. Configurar el manejo de eventos para procesamiento de frames de video 3. Configurar tu pipeline de renderizado para rendimiento óptimo ### Configurando Tu Proyecto WPF[¶](#configurando-tu-proyecto-wpf "Permanent link") Primero, coloca el control `VisioForge.Core.UI.WPF.VideoView` en tu ventana WPF. Se recomienda dar a este control un nombre descriptivo, como `videoView`, para claridad en tu código. Este control servirá como tu elemento de visualización de video principal. ### Manejando Frames de Video[¶](#manejando-frames-de-video "Permanent link") La clave para crear múltiples pantallas de salida es el manejo adecuado de eventos. Necesitarás suscribirte al evento "OnVideoFrameBuffer" para tu control SDK. Este evento proporciona acceso a los datos crudos del frame de video que luego puedes dis... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/multiple-screens-wpf/index.html #### Guía de Frames en Tiempo Real con OnVideoFrameBitmap - VisioForge Help [Saltar a contenido](#guia-de-frames-en-tiempo-real-con-onvideoframebitmap) # Guía de Frames en Tiempo Real con OnVideoFrameBitmap[¶](#guia-de-frames-en-tiempo-real-con-onvideoframebitmap "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) El evento `OnVideoFrameBitmap` es una característica poderosa en las bibliotecas de procesamiento de video .NET que permite a los desarrolladores acceder y modificar frames de video en tiempo real. Esta guía explora las aplicaciones prácticas, técnicas de implementación y consideraciones de rendimiento al trabajar con manipulación de frames bitmap en aplicaciones C#. ## Entendiendo los Eventos OnVideoFrameBitmap[¶](#entendiendo-los-eventos-onvideoframebitmap "Permanent link") El evento `OnVideoFrameBitmap` proporciona una interfaz directa para acceder a frames de video mientras son procesados por el SDK. Esta capacidad es esencial para aplicaciones que requieren: - Análisis de video en tiempo real - Manipulación frame por frame - Implementación de superposiciones dinámicas - Efectos de video personalizados - Integración de visión por computadora Cuando el evento se dispara, entrega una representación bitmap del frame de video actual, permitiendo acceso y manipulación a nivel de píxel antes de que el frame continúe a través del pipeline de procesamiento. ## Implementación Básica[¶](#implementacion-basica "Permanent link") Para comenzar a trabajar con el evento `OnVideoFrameBitmap`, necesitarás suscribirte a él en tu código: `[](#__codelineno-0-1)// Suscribirse al evento OnVideoFrameBitmap [](#__codelineno-0-2)videoProcessor.OnVideoFrameBitmap += VideoProcessor_OnVideoFrameBitmap; [](#__codelineno-0-3)[](#__codelineno-0-4)// Implementar el manejador de eventos [](#__codelineno-0-5)private void VideoProcessor_OnVideoFrameBitmap(obj... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/onvideoframebitmap-usage/index.html #### Lectura de Información de Archivos de Medios en C# - VisioForge Help [Saltar a contenido](#lectura-de-informacion-de-archivos-de-medios-en-c) # Lectura de Información de Archivos de Medios en C[¶](#lectura-de-informacion-de-archivos-de-medios-en-c "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Acceder a información detallada incrustada dentro de archivos de medios es esencial para desarrollar aplicaciones sofisticadas como reproductores de medios, editores de video, sistemas de gestión de contenido y herramientas de análisis de archivos. Entender propiedades como códecs, resolución, tasa de frames, tasa de bits, duración y etiquetas incrustadas permite a los desarrolladores construir software más inteligente y amigable para el usuario. Esta guía demuestra cómo leer información completa de archivos de video y audio usando C# y la clase `MediaInfoReader`. Las técnicas mostradas son aplicables a varios proyectos .NET y proporcionan una base para manejar archivos de medios programáticamente. ## ¿Por Qué Extraer Información de Archivos de Medios?[¶](#por-que-extraer-informacion-de-archivos-de-medios "Permanent link") La información de archivos de medios sirve múltiples propósitos en el desarrollo de aplicaciones: - **Experiencia de Usuario**: Mostrar detalles técnicos a usuarios en reproductores de medios - **Verificaciones de Compatibilidad**: Verificar si los archivos cumplen con las especificaciones requeridas - **Procesamiento Automatizado**: Configurar parámetros de codificación basándose en propiedades de origen - **Organización de Contenido**: Catalogar bibliotecas de medios con metadatos precisos - **Evaluación de Calidad**: Evaluar archivos de medios para problemas potenciales ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") Exploremos el proceso de e... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/read-file-info/index.html #### Selección de Renderizador de Video en WinForms (.NET) - VisioForge Help [Saltar a contenido](#guia-de-seleccion-de-renderizador-de-video-para-aplicaciones-winforms) # Guía de Selección de Renderizador de Video para Aplicaciones WinForms[¶](#guia-de-seleccion-de-renderizador-de-video-para-aplicaciones-winforms "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción al Renderizado de Video en .NET[¶](#introduccion-al-renderizado-de-video-en-net "Permanent link") Al desarrollar aplicaciones multimedia en .NET, seleccionar el renderizador de video apropiado es crucial para un rendimiento y compatibilidad óptimos. Esta guía se enfoca en motores SDK basados en DirectShow: VideoCaptureCore, VideoEditCore y MediaPlayerCore, que comparten la misma API en todos los SDKs. Los renderizadores de video sirven como el puente entre tu aplicación y el hardware de pantalla, determinando cómo se procesa y presenta el contenido de video al usuario. La elección correcta puede impactar significativamente el rendimiento, la calidad visual y la utilización de recursos de hardware. ## Entendiendo las Opciones de Renderizador de Video Disponibles[¶](#entendiendo-las-opciones-de-renderizador-de-video-disponibles "Permanent link") DirectShow en Windows ofrece tres opciones principales de renderizador, cada una con características y casos de uso distintos. Exploremos cada renderizador en detalle para ayudarte a tomar una decisión informada para tu aplicación. ### Renderizador de Video Heredado (basado en GDI)[¶](#renderizador-de-video-heredado-basado-en-gdi "Permanent link") El Video Renderer es la opción más antigua en el ecosistema DirectShow. Se basa en GDI (Graphics Device Interface) para operaciones de dibujo. **Características clave:** - Renderizado basado en software sin aceleración de hardware - Compatible con sistemas y configuraciones más antiguo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/select-video-renderer-winforms/index.html #### Superposición de Texto con OnVideoFrameBuffer en .NET - VisioForge Help [Saltar a contenido](#creacion-de-superposiciones-de-texto-personalizadas-con-onvideoframebuffer-en-net) # Creación de Superposiciones de Texto Personalizadas con OnVideoFrameBuffer en .NET[¶](#creacion-de-superposiciones-de-texto-personalizadas-con-onvideoframebuffer-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción a las Superposiciones de Texto en Procesamiento de Video[¶](#introduccion-a-las-superposiciones-de-texto-en-procesamiento-de-video "Permanent link") Agregar superposiciones de texto al contenido de video es un requisito común en muchas aplicaciones profesionales, desde software de edición de video hasta transmisiones de cámaras de seguridad, herramientas de transmisión y aplicaciones educativas. Mientras que las APIs estándar de efectos de video proporcionan capacidades básicas de superposición de texto, los desarrolladores a menudo necesitan más control sobre cómo aparece el texto en los frames de video. Esta guía demuestra cómo implementar manualmente superposiciones de texto personalizadas usando el evento OnVideoFrameBuffer disponible en los motores VideoCaptureCore, VideoEditCore y MediaPlayerCore. Al interceptar frames de video durante el procesamiento, puedes aplicar texto y gráficos personalizados con control preciso sobre posicionamiento, formato y animación. ## Entendiendo el Evento OnVideoFrameBuffer[¶](#entendiendo-el-evento-onvideoframebuffer "Permanent link") El evento OnVideoFrameBuffer es un gancho poderoso que da a los desarrolladores acceso directo al búfer del frame de video durante el procesamiento. Este evento se dispara para cada frame de video, proporcionando una oportunidad para modificar los datos del frame antes de que se muestren o codifiquen. Los beneficios clave de usar OnVideoFrameBuffer para superposiciones... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/text-onvideoframebuffer/index.html #### Eliminación de Filtros DirectShow en Windows - VisioForge Help [Saltar a contenido](#eliminacion-de-filtros-directshow-en-windows) # Eliminación de Filtros DirectShow en Windows[¶](#eliminacion-de-filtros-directshow-en-windows "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Los filtros DirectShow son componentes esenciales para aplicaciones multimedia en entornos Windows. Permiten que el software procese datos de audio y video de manera eficiente. Sin embargo, puede haber situaciones donde necesites desinstalar estos filtros, como al actualizar tu aplicación, resolver conflictos o eliminar completamente un paquete de software. Esta guía proporciona instrucciones detalladas sobre cómo desinstalar correctamente filtros DirectShow de tu sistema. ## Entendiendo los Filtros DirectShow[¶](#entendiendo-los-filtros-directshow "Permanent link") DirectShow es un framework multimedia y API diseñado por Microsoft para desarrolladores de software para realizar varias operaciones con archivos de medios. Está construido sobre la arquitectura Component Object Model (COM) y usa un enfoque modular donde cada paso de procesamiento es manejado por un componente separado llamado filtro. Los filtros se categorizan en tres tipos principales: - **Filtros fuente**: Leen datos de archivos, dispositivos de captura o flujos de red - **Filtros de transformación**: Procesan o modifican los datos (compresión, descompresión, efectos) - **Filtros renderizadores**: Muestran video o reproducen audio Cuando los componentes del SDK se instalan, registran filtros DirectShow en el Registro de Windows, haciéndolos disponibles para cualquier aplicación que use el framework DirectShow. ## ¿Por Qué Desinstalar Filtros DirectShow?[¶](#por-que-desinstalar-filtros-directshow "Permanent link") Hay varias razones por las que podrías necesitar desinstalar filtros DirectShow... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/uninstall-directshow-filter/index.html #### Imágenes Personalizadas para VideoView en .NET - VisioForge Help [Saltar a contenido](#configuracion-de-imagenes-personalizadas-para-controles-videoview-en-aplicaciones-net) # Configuración de Imágenes Personalizadas para Controles VideoView en Aplicaciones .NET[¶](#configuracion-de-imagenes-personalizadas-para-controles-videoview-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Al desarrollar aplicaciones de medios en .NET, a menudo es necesario mostrar una imagen personalizada dentro de tu control VideoView cuando no se está reproduciendo contenido de video. Esta capacidad es esencial para crear aplicaciones con apariencia profesional que mantengan atractivo visual durante estados inactivos. Las imágenes personalizadas pueden servir como marcadores de posición, oportunidades de branding o visualizaciones informativas para mejorar la experiencia del usuario. Esta guía explora la implementación de funcionalidad de imagen personalizada para controles VideoView a través de varias aplicaciones SDK .NET. ## Entendiendo las Imágenes Personalizadas de VideoView[¶](#entendiendo-las-imagenes-personalizadas-de-videoview "Permanent link") El control VideoView es un componente versátil que muestra contenido de video en tu aplicación. Sin embargo, cuando el control no está reproduciendo activamente video, típicamente muestra una pantalla en blanco o predeterminada. Al implementar imágenes personalizadas, puedes: - Mostrar el logo de tu aplicación o empresa - Mostrar miniaturas de vista previa del contenido disponible - Presentar información instructiva a los usuarios - Mantener consistencia visual a través de tu aplicación - Indicar el estado del video (pausado, detenido, cargando, etc.) Es importante notar que la imagen personalizada solo es visible cuando el control... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/video-view-set-custom-image/index.html #### Medidores VU y Visualizadores de Forma de Onda en .NET - VisioForge Help [Saltar a contenido](#visualizacion-de-audio-implementacion-de-medidores-vu-y-visualizaciones-de-forma-de-onda-en-net) # Visualización de Audio: Implementación de Medidores VU y Visualizaciones de Forma de Onda en .NET[¶](#visualizacion-de-audio-implementacion-de-medidores-vu-y-visualizaciones-de-forma-de-onda-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) La visualización de audio es un componente crucial de las aplicaciones de medios modernas, proporcionando a los usuarios retroalimentación visual sobre los niveles de audio y patrones de forma de onda. Esta guía demuestra cómo implementar medidores VU (Unidad de Volumen) y visualizadores de forma de onda tanto en aplicaciones WinForms como WPF. ## Entendiendo los Componentes de Visualización de Audio[¶](#entendiendo-los-componentes-de-visualizacion-de-audio "Permanent link") Antes de profundizar en la implementación, es importante entender las dos herramientas principales de visualización con las que trabajaremos: ### Medidores VU[¶](#medidores-vu "Permanent link") Los medidores VU muestran el nivel de audio instantáneo de una señal, típicamente mostrando qué tan fuerte es el audio en cualquier momento dado. Proporcionan retroalimentación en tiempo real sobre los niveles de audio, ayudando a los usuarios a monitorear la intensidad de la señal y prevenir distorsión o recorte. ### Pintores de Forma de Onda[¶](#pintores-de-forma-de-onda "Permanent link") Los visualizadores de forma de onda muestran la señal de audio como una línea continua que representa cambios de amplitud a lo largo del tiempo. Proporcionan una representación más detallada del contenido de audio, mostrando patrones y características que podrían no ser evidentes solo escuchando. ## Implementación en Aplicaciones WinForms[¶](#implementacion-en-ap... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/vu-meters/index.html #### Efectos de Zoom Personalizados con OnVideoFrameBuffer - VisioForge Help [Saltar a contenido](#implementacion-de-efectos-de-zoom-personalizados-con-onvideoframebuffer-en-net) # Implementación de Efectos de Zoom Personalizados con OnVideoFrameBuffer en .NET[¶](#implementacion-de-efectos-de-zoom-personalizados-con-onvideoframebuffer-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Implementar efectos de zoom personalizados en aplicaciones de video es un requisito común para desarrolladores que trabajan con procesamiento de video. Esta guía explica cómo crear manualmente funcionalidad de zoom en tus aplicaciones de video .NET usando el evento OnVideoFrameBuffer. Esta técnica funciona a través de múltiples plataformas SDK, incluyendo Video Capture, Media Player y Video Edit SDKs. ## Entendiendo el Evento OnVideoFrameBuffer[¶](#entendiendo-el-evento-onvideoframebuffer "Permanent link") El evento OnVideoFrameBuffer es una característica poderosa que da a los desarrolladores acceso directo a los datos del frame de video durante la reproducción o procesamiento. Al manejar este evento, puedes: - Acceder a datos crudos del frame en tiempo real - Aplicar modificaciones personalizadas a frames individuales - Implementar efectos visuales como zoom, rotación o ajustes de color - Controlar la calidad y el rendimiento del video ## Pasos de Implementación[¶](#pasos-de-implementacion "Permanent link") El proceso de implementar un efecto de zoom involucra varios pasos clave: 1. Asignar memoria para búferes temporales 2. Manejar el evento OnVideoFrameBuffer 3. Aplicar la transformación de zoom a cada frame 4. Gestionar memoria para prevenir fugas Vamos a desglosar cada uno de estos pasos con explicaciones detalladas. ## Gestión de Memoria para Procesamiento de Frames[¶](#gestion-de-memoria-p... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/zoom-onvideoframebuffer/index.html #### Zoom para Múltiples Renderizadores de Video en .NET - VisioForge Help [Saltar a contenido](#configuracion-de-zoom-para-multiples-renderizadores-de-video-en-net) # Configuración de Zoom para Múltiples Renderizadores de Video en .NET[¶](#configuracion-de-zoom-para-multiples-renderizadores-de-video-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Al desarrollar aplicaciones multimedia que utilizan múltiples renderizadores de video, controlar los parámetros de zoom y posición de forma independiente para cada pantalla es esencial para crear interfaces de usuario de calidad profesional. Esta guía cubre los detalles de implementación, configuraciones de parámetros y mejores prácticas para configurar múltiples renderizadores de video con configuraciones de zoom personalizadas en tus aplicaciones .NET. ## Entendiendo las Configuraciones de Múltiples Renderizadores[¶](#entendiendo-las-configuraciones-de-multiples-renderizadores "Permanent link") El soporte de múltiples renderizadores (también conocido como funcionalidad multipantalla) permite a tu aplicación mostrar contenido de video en diferentes áreas de visualización simultáneamente. Cada renderizador puede configurarse con su propio: - Ratio de zoom (nivel de magnificación) - Desplazamiento horizontal (posicionamiento en eje X) - Desplazamiento vertical (posicionamiento en eje Y) Esta capacidad es particularmente valiosa para aplicaciones como: - Sistemas de videovigilancia que muestran múltiples feeds de cámaras - Software de producción de medios con ventanas de vista previa y salida - Aplicaciones de imágenes médicas que requieren diferentes niveles de zoom para análisis - Sistemas de kiosco multi-pantalla con contenido sincronizado ## Implementando el Método MultiScreen\_SetZoom[¶](#implementando-el-metodo-multiscreen_setzoom "Permanent link") El SDK proporciona el métod... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/code-samples/zoom-video-multiple-renderer/index.html #### Captura de Video a MPEG-TS en C# y .NET - VisioForge Help [Saltar a contenido](#captura-de-video-a-mpeg-ts-en-c-y-net-guia-completa) # Captura de Video a MPEG-TS en C# y .NET: Guía Completa[¶](#captura-de-video-a-mpeg-ts-en-c-y-net-guia-completa "Permanent link") ## Introducción[¶](#introduccion "Permanent link") Esta guía técnica demuestra cómo capturar video TS en C# desde cámaras y micrófonos usando dos potentes soluciones multimedia de VisioForge: Video Capture SDK .NET con motor VideoCaptureCoreX y Media Blocks SDK .NET con motor MediaBlocksPipeline. Ambos SDKs proporcionan capacidades robustas para capturar, grabar y editar archivos TS (MPEG Transport Stream) en aplicaciones .NET. Exploraremos muestras de código detalladas para implementar captura de video/audio a TS en C# con rendimiento y calidad optimizados. ## Instalación y despliegue[¶](#instalacion-y-despliegue "Permanent link") Por favor consulta la [guía de instalación](../../../install/) para instrucciones detalladas sobre cómo instalar los SDKs .NET de VisioForge en tu sistema. ## Video Capture SDK .NET (VideoCaptureCoreX) - Capturar MPEG-TS en C[¶](#video-capture-sdk-net-videocapturecorex-capturar-mpeg-ts-en-c "Permanent link") VideoCaptureCoreX proporciona un enfoque simplificado para capturar video y audio TS en C#. Su arquitectura basada en componentes maneja el complejo pipeline de medios, permitiendo a los desarrolladores enfocarse en la configuración en lugar de detalles de implementación de bajo nivel al trabajar con archivos TS en .NET. ### Componentes Principales[¶](#componentes-principales "Permanent link") 1. **VideoCaptureCoreX**: Motor principal para gestionar captura de video, renderizado y salida TS. 2. **VideoView**: Componente de UI para renderizado de video en tiempo real durante la captura. 3. **DeviceEnumerator**: Clase para descubrir dispositivos de video/audio. 4. **VideoCaptureDeviceSourceSettings**: Configuración para entrada de cámara al capturar MPEG-TS. 5. **AudioRendererSettings**: Configuración para reproducció... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/guides/video-capture-to-mpegts/index.html #### Grabar y Editar Archivos WMA en C# y .NET - VisioForge Help [Saltar a contenido](#grabar-y-editar-archivos-wma-en-c-y-net-una-guia-completa) # Grabar y Editar Archivos WMA en C# y .NET: Una Guía Completa[¶](#grabar-y-editar-archivos-wma-en-c-y-net-una-guia-completa "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introducción a la Grabación y Edición de WMA en .NET[¶](#introduccion-a-la-grabacion-y-edicion-de-wma-en-net "Permanent link") Este artículo proporciona una guía completa para desarrolladores que trabajan con archivos Windows Media Audio (WMA) en aplicaciones .NET. Exploraremos cómo grabar audio WMA en .NET desde micrófonos y otros dispositivos de captura utilizando la clase `VideoCaptureCoreX`, y cómo editar archivos WMA utilizando la clase `VideoEditCoreX` de los SDKs .NET de VisioForge. Windows Media Audio es un formato de audio popular desarrollado por Microsoft que ofrece una excelente compresión manteniendo una buena calidad de audio. El formato WMA es ampliamente utilizado en aplicaciones de Windows y soporta varias tasas de bits y frecuencias de muestreo, lo que lo hace adecuado tanto para grabaciones de voz como para música de alta calidad. La biblioteca VisioForge proporciona clases potentes para capturar datos de audio desde dispositivos del sistema y procesar contenido de audio y video. Ya sea que necesite crear una aplicación de consola de grabación de voz simple o un editor de audio WinForms complejo, estos SDKs ofrecen la funcionalidad que necesita. Esta guía le mostrará cómo capturar audio WMA en .NET y grabar archivos WMA en C# con facilidad. ## Prerrequisitos e Instalación[¶](#prerrequisitos-e-instalacion "Permanent link") Antes de comenzar a grabar o editar archivos WMA en su aplicación .NET, asegúrese de tener lo siguiente: - Visual Studio 2019 o posterior - .NET 6.0 o posterior (o .NET Framework 4.7.2+) - VisioForge Video Capture SDK .NET o Video Edit SDK .NET ##... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/guides/wma-recording-editing/index.html #### SDKs .Net - Información, Manuales y Guías de Uso - VisioForge Help [Saltar a contenido](#sdks-net-de-visioforge-informacion-manuales-y-uso) # SDKs .Net de VisioForge: Información, Manuales y Uso[¶](#sdks-net-de-visioforge-informacion-manuales-y-uso "Permanent link") Esta sección proporciona información esencial, manuales de software detallados y guías de uso prácticas para la suite de SDKs .Net de VisioForge. Ya sea que estés trabajando con captura de video, reproducción de medios o edición de video, encuentra los recursos que necesitas a continuación. - [Ejemplos de código](code-samples/) - [¿Cómo enviar registros?](sendlogs/) ## Guías[¶](#guias "Permanent link") - [Captura de video a MPEG-TS en SDKs de VisioForge](guides/video-capture-to-mpegts/) - [Grabar y Editar Archivos WMA en C# y .NET](guides/wma-recording-editing/) ## Componentes del SDK[¶](#componentes-del-sdk "Permanent link") Explora los componentes principales de los SDKs .Net de VisioForge: ### Procesamiento de Medios y Efectos[¶](#procesamiento-de-medios-y-efectos "Permanent link") - **[Efectos de Video y Procesamiento](video-effects/)**: Mejora tus aplicaciones con potentes efectos de video, superposiciones y capacidades de procesamiento. Aprende cómo implementar efectos visuales de grado profesional, superposiciones de texto/imagen y procesamiento de video personalizado. - **[Efectos de Audio](audio-effects/audio-sample-grabber/)**: Explora opciones para aplicar varios efectos de audio y mejoras dentro de tus aplicaciones .NET. ### Codificación y Formatos[¶](#codificacion-y-formatos "Permanent link") - **[Codificadores de Video](video-encoders/)**: Descripción detallada de codificadores de video (H.264, HEVC, AV1, etc.) - características, rendimiento e implementación para desarrolladores .NET. - **[Codificadores de Audio](audio-encoders/)**: Domina la codificación de audio (AAC, FLAC, MP3, Opus) con guía sobre configuraciones óptimas, consejos de rendimiento y mejores prácticas. - **[Formatos de Salida](output-formats/)**: Aprende so... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/index.html #### Streaming de Video en Red a Flash Media Server - VisioForge Help [Saltar a contenido](#streaming-a-adobe-flash-media-server-guia-de-implementacion-avanzada) # Streaming a Adobe Flash Media Server: Guía de Implementación Avanzada[¶](#streaming-a-adobe-flash-media-server-guia-de-implementacion-avanzada "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Adobe Flash Media Server (FMS) sigue siendo una solución potente para streaming de contenido de video a través de varias plataformas. Esta guía demuestra cómo implementar streaming de video de alta calidad a Adobe Flash Media Server usando los SDK .NET de VisioForge. La integración soporta efectos de video en tiempo real, ajuste de calidad y cambio fluido de dispositivos durante sesiones de streaming. ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de implementar la funcionalidad de streaming, asegúrese de tener: - VisioForge Video Capture SDK .NET o Video Edit SDK .NET instalado - Adobe Flash Media Server (o un servicio compatible como Wowza con soporte RTMP) - Adobe Flash Media Live Encoder (FMLE) - .NET Framework 4.7.2 o posterior - Visual Studio 2022 o más nuevo - Comprensión básica de programación C# ## Guía de la aplicación de demostración[¶](#guia-de-la-aplicacion-de-demostracion "Permanent link") La aplicación de demostración proporcionada con los SDK de VisioForge ofrece una forma directa de probar la funcionalidad de streaming. Aquí hay una guía detallada: 1. Inicie la aplicación de demostración principal 2. Navegue a la pestaña "Network Streaming" 3. Habilite el streaming seleccionando la casilla "Enabled" 4. Seleccione el botón de radio "External" para compatibilidad con codificador externo 5. Inicie la previsualización o captura para inicializar el stream de video 6. Abra Adobe Flash Media Live Encoder 7. Configure FMLE para usar "VisioForge Network Source" como la fu... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/adobe-flash/index.html #### Transmitir Video y Audio a Amazon S3 Storage - VisioForge Help [Saltar a contenido](#salida-aws-s3) # Salida AWS S3[¶](#salida-aws-s3 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La funcionalidad de salida AWS S3 en los SDK de VisioForge habilita streaming directo de salida de video y audio al almacenamiento Amazon S3. Esta guía lo guiará a través de la configuración y uso de la salida AWS S3 en sus aplicaciones. ## Descripción general[¶](#descripcion-general "Permanent link") La clase `AWSS3Output` es un manejador de salida especializado dentro de los SDK de VisioForge que facilita el streaming de salida de video y audio al almacenamiento Amazon Web Services (AWS) S3. Esta clase implementa múltiples interfaces para soportar escenarios tanto de edición de video (`IVideoEditXBaseOutput`) como de captura de video (`IVideoCaptureXBaseOutput`), junto con capacidades de procesamiento para contenido de video y audio. ## Implementación de la clase[¶](#implementacion-de-la-clase "Permanent link") `[](#__codelineno-0-1)public class AWSS3Output : IVideoEditXBaseOutput, IVideoCaptureXBaseOutput, IOutputVideoProcessor, IOutputAudioProcessor` ## Características clave[¶](#caracteristicas-clave "Permanent link") La clase `AWSS3Output` proporciona una solución completa para streaming de contenido de medios a AWS S3 gestionando: - Configuración de codificación de video - Configuración de codificación de audio - Procesamiento de medios personalizado - Configuraciones específicas de AWS S3 ## Propiedades[¶](#propiedades "Permanent link") ### Configuración del codificador de video[¶](#configuracion-del-codificador-de-video "Permanent link") `[](#__codelineno-1-1)public IVideoEncoder Video { get; set; }` Controla el proceso de codificación de video. El codificador de vi... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/aws-s3/index.html #### Integración de Facebook Live para Desarrollo .NET - VisioForge Help [Saltar a contenido](#transmision-facebook-live-con-sdk-de-visioforge) # Transmisión Facebook Live con SDK de VisioForge[¶](#transmision-facebook-live-con-sdk-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Transmisión Facebook Live[¶](#introduccion-a-la-transmision-facebook-live "Permanent link") Facebook Live proporciona una plataforma poderosa para broadcasting de video en tiempo real a audiencias globales. Ya sea que esté desarrollando aplicaciones para eventos en vivo, videoconferencia, streams de gaming o integración de redes sociales, los SDK de VisioForge ofrecen soluciones robustas para implementar transmisión Facebook Live en sus aplicaciones .NET. Esta guía completa explica cómo implementar transmisión Facebook Live usando la suite de SDK de VisioForge, con ejemplos de código detallados y opciones de configuración para diferentes plataformas y configuraciones de hardware. ## Componentes Centrales para Integración Facebook Live[¶](#componentes-centrales-para-integracion-facebook-live "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La piedra angular de la integración Facebook Live en VisioForge es la clase `FacebookLiveOutput`, que proporciona una implementación completa del protocolo RTMP requerido para transmisión Facebook. Esta clase implementa múltiples interfaces para asegurar compatibilidad a través de varios componentes SDK: - `IVideoEditXBaseOutput` - Para integración con Video Edit SDK - `IVideoCaptureXBaseOutput` - Para integración con Video Capture SDK - `IOutputVideoProcessor` - Para procesamiento de flujo de video - `IOutputAudioProcessor` - Para procesamiento de flujo de audio Esta implementación multi-interfaz asegura operación perfecta a través del ecosistema comple... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/facebook/index.html #### Implementación de Transmisión de Red HLS en .NET - VisioForge Help [Saltar a contenido](#guia-completa-para-implementacion-de-transmision-de-red-hls-en-net) # Guía Completa para Implementación de Transmisión de Red HLS en .NET[¶](#guia-completa-para-implementacion-de-transmision-de-red-hls-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## ¿Qué es HTTP Live Streaming (HLS)?[¶](#que-es-http-live-streaming-hls "Permanent link") HTTP Live Streaming (HLS) es un protocolo de comunicaciones de transmisión de bitrate adaptativo diseñado y desarrollado por Apple Inc. Introducido por primera vez en 2009, se ha convertido en uno de los protocolos de transmisión más ampliamente adoptados en varias plataformas y dispositivos. HLS funciona dividiendo el flujo general en una secuencia de pequeñas descargas de archivos basadas en HTTP, cada una conteniendo un segmento corto del contenido general. ### Características Clave de Transmisión HLS[¶](#caracteristicas-clave-de-transmision-hls "Permanent link") - **Transmisión de Bitrate Adaptativo**: HLS ajusta automáticamente la calidad de video basada en las condiciones de red del espectador, asegurando calidad de reproducción óptima sin buffering. - **Compatibilidad Multiplataforma**: Funciona en iOS, macOS, Android, Windows y la mayoría de navegadores web modernos. - **Entrega Basada en HTTP**: Aprovecha infraestructura de servidor web estándar, permitiendo que el contenido pase a través de firewalls y servidores proxy. - **Cifrado de Medios y Autenticación**: Soporta protección de contenido a través de cifrado y varios métodos de autenticación. - **Contenido en Vivo y Bajo Demanda**: Puede usarse tanto para transmisión en vivo como para medios pre-grabados. ### Estructura Técnica HLS[¶](#estructura-tecnica-hls "Perman... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/hls-streaming/index.html #### Streaming de Video HTTP MJPEG en .NET - VisioForge Help [Saltar a contenido](#streaming-http-mjpeg) # Streaming HTTP MJPEG[¶](#streaming-http-mjpeg "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) La característica del SDK de transmitir video codificado como Motion JPEG (MJPEG) sobre HTTP es ventajosa por su simplicidad y amplia compatibilidad. MJPEG codifica cada cuadro de video individualmente como una imagen JPEG, lo que simplifica la decodificación y es ideal para aplicaciones como streaming web y vigilancia. El uso de HTTP asegura fácil integración y alta compatibilidad entre diferentes plataformas y dispositivos, y es efectivo incluso en redes con configuraciones estrictas. Este método es particularmente adecuado para feeds de video en tiempo real y aplicaciones que requieren análisis directo cuadro por cuadro. Con tasas de cuadros y resoluciones ajustables, el SDK ofrece flexibilidad para varias condiciones de red y requisitos de calidad. ## Salida MJPEG multiplataforma[¶](#salida-mjpeg-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La funcionalidad de streaming se implementa a través de dos clases principales: 1. `HTTPMJPEGLiveOutput`: La clase de configuración de alto nivel que configura la salida de streaming 2. `HTTPMJPEGLiveSinkBlock`: El bloque de implementación subyacente que maneja el proceso de streaming real ### Clase HTTPMJPEGLiveOutput[¶](#clase-httpmjpegliveoutput "Permanent link") Esta clase sirve como el punto de entrada de configuración para configurar un stream HTTP MJPEG. Implementa la interfaz `IVideoCaptureXBaseOutput`, haciéndola compatible con el sistema de pipeline de captura de video. #### Propiedades clave[¶](#propiedades-clave "Permanent link") - `Port`: Obtiene el número de puerto de red en el cual se servirá el stream MJPEG #### Us... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/http-mjpeg/index.html #### Guía para Implementación de IIS Smooth Streaming - VisioForge Help [Saltar a contenido](#guia-completa-para-implementacion-de-iis-smooth-streaming) # Guía Completa para Implementación de IIS Smooth Streaming[¶](#guia-completa-para-implementacion-de-iis-smooth-streaming "Permanent link") IIS Smooth Streaming es la implementación de Microsoft de tecnología de transmisión adaptativa que ajusta dinámicamente la calidad de video basada en condiciones de red y capacidades de CPU. Esta guía proporciona instrucciones detalladas sobre configuración e implementación de IIS Smooth Streaming usando SDK de VisioForge. ## SDK de VisioForge Compatibles[¶](#sdk-de-visioforge-compatibles "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoCaptureCore](#) [VideoEditCore](#) ## Descripción General de IIS Smooth Streaming[¶](#descripcion-general-de-iis-smooth-streaming "Permanent link") IIS Smooth Streaming proporciona varias ventajas clave para desarrolladores y usuarios finales: - **Transmisión de bitrate adaptativo**: Ajusta automáticamente la calidad de video basada en ancho de banda disponible - **Buffering reducido**: Minimiza interrupciones de reproducción durante fluctuaciones de red - **Compatibilidad amplia de dispositivos**: Funciona en desktops, dispositivos móviles, smart TVs y más - **Entrega escalable**: Maneja eficientemente grandes números de espectadores concurrentes Esta tecnología es particularmente valiosa para aplicaciones que requieren entrega de video de alta calidad a través de condiciones de red variadas, como eventos en vivo, plataformas educativas y aplicaciones ricas en medios. ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de implementar IIS Smooth Streaming con SDK de VisioForge, asegúrese de tener: 1. Windows Server con IIS instalado 2. Acceso administrativo al servidor 3. SDK de VisioForge relevante (Video Capture SDK .Net o Video Edit SDK .Net) 4. Comprensión bási... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/iis-smooth-streaming/index.html #### Guía de Transmisión en Red para Desarrollo en .NET - VisioForge Help [Saltar a contenido](#guia-completa-de-transmision-en-red) # Guía Completa de Transmisión en Red[¶](#guia-completa-de-transmision-en-red "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Transmisión en Red[¶](#introduccion-a-la-transmision-en-red "Permanent link") La transmisión en red permite la transmisión en tiempo real de contenido de audio y video a través de Internet o redes locales. Los completos SDKs de VisioForge proporcionan herramientas potentes para implementar varios protocolos de transmisión en sus aplicaciones .NET, permitiéndole crear soluciones de transmisión de grado profesional con un esfuerzo de desarrollo mínimo. Esta guía cubre todas las opciones de transmisión disponibles en los SDKs de VisioForge, incluyendo detalles de implementación, mejores prácticas y ejemplos de código para ayudarle a seleccionar la tecnología de transmisión más adecuada para sus requisitos específicos. ## Descripción General de Protocolos de Transmisión[¶](#descripcion-general-de-protocolos-de-transmision "Permanent link") Los SDKs de VisioForge soportan una amplia gama de protocolos de transmisión, cada uno con ventajas únicas para diferentes casos de uso: ### Protocolos en Tiempo Real[¶](#protocolos-en-tiempo-real "Permanent link") - **[RTMP (Real-Time Messaging Protocol)](rtmp/)**: Protocolo estándar de la industria para transmisión en vivo de baja latencia, ampliamente utilizado para transmisión en vivo a CDNs y plataformas de transmisión - **[RTSP (Real-Time Streaming Protocol)](rtsp/)**: Ideal para integración de cámaras IP y aplicaciones de vigilancia, ofreciendo control preciso sobre sesiones multimedia - **[SRT (Secure Reliable Transport)](srt/)**: Protocolo avanzado diseñado para entrega de video de alta calidad y baja latencia sobre redes... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/index.html #### Integración de Transmisión de Video NDI en .NET - VisioForge Help [Saltar a contenido](#integracion-de-transmision-network-device-interface-ndi) # Integración de Transmisión Network Device Interface (NDI)[¶](#integracion-de-transmision-network-device-interface-ndi "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## ¿Qué es NDI y Por Qué Usarlo?[¶](#que-es-ndi-y-por-que-usarlo "Permanent link") La integración de la tecnología Network Device Interface (NDI) en el SDK de VisioForge proporciona una solución transformadora para flujos de trabajo profesionales de producción y transmisión de video. NDI ha emergido como un estándar líder de la industria para producción en vivo, permitiendo transmisión de video de alta calidad y ultra baja latencia sobre redes Ethernet convencionales. NDI simplifica significativamente el proceso de compartir y gestionar múltiples flujos de video a través de diversos dispositivos y plataformas. Cuando se implementa dentro del SDK de VisioForge, facilita la transmisión perfecta de contenido de video y audio de alta definición desde servidores a clientes con características de rendimiento excepcionales. Esto hace que la tecnología sea particularmente valiosa para aplicaciones incluyendo: - Transmisión y streaming en vivo - Videoconferencia profesional - Configuraciones de producción multi-cámara - Flujos de trabajo de producción remota - Entornos de presentación educativa y corporativa La flexibilidad inherente y eficiencia de la tecnología de transmisión NDI reduce sustancialmente la dependencia de configuraciones de hardware especializado, entregando una alternativa rentable a sistemas tradicionales basados en SDI para producción de video profesional en vivo. ## Requisitos de Instalación[¶](#requisitos-de-instalacion "Permanent link") ### Prerrequisitos para Implementación NDI[¶](#prerrequisitos-para-implementacion-ndi "Permanent link") Para implementar exitosamente la... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/ndi/index.html #### Transmisión en Vivo RTMP para Aplicaciones .NET - VisioForge Help [Saltar a contenido](#transmision-rtmp-con-sdk-de-visioforge) # Transmisión RTMP con SDK de VisioForge[¶](#transmision-rtmp-con-sdk-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Transmisión RTMP[¶](#introduccion-a-la-transmision-rtmp "Permanent link") RTMP (Real-Time Messaging Protocol) es un protocolo de comunicación robusto diseñado para la transmisión de alto rendimiento de audio, video y datos entre un servidor y un cliente. Los SDK de VisioForge proporcionan soporte completo para transmisión RTMP, permitiendo a los desarrolladores crear aplicaciones de transmisión poderosas con esfuerzo mínimo. Esta guía cubre detalles de implementación para transmisión RTMP en diferentes productos de VisioForge, incluyendo soluciones multiplataforma e integraciones específicas de Windows. ## Implementación RTMP Multiplataforma[¶](#implementacion-rtmp-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La clase `RTMPOutput` sirve como el punto central de configuración para transmisión RTMP en escenarios multiplataforma. Implementa múltiples interfaces incluyendo `IVideoEditXBaseOutput` y `IVideoCaptureXBaseOutput`, haciéndola versátil para flujos de trabajo tanto de edición como de captura de video. ### Configurando Salida RTMP[¶](#configurando-salida-rtmp "Permanent link") Para comenzar a implementar transmisión RTMP, necesita crear y configurar una instancia `RTMPOutput`: `[](#__codelineno-0-1)// Inicializar con URL de transmisión [](#__codelineno-0-2)var rtmpOutput = new RTMPOutput("rtmp://your-streaming-server/stream-key"); [](#__codelineno-0-3)[](#__codelineno-0-4)// Alternativamente, configurar la URL después de la inicialización [](#__codelineno-0-5)var rtmpOutput = new RTMPOutput(); [](#... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/rtmp/index.html #### Implementación de Transmisión de Video RTSP en .NET - VisioForge Help [Saltar a contenido](#dominando-la-transmision-rtsp-con-sdks-de-visioforge) # Dominando la Transmisión RTSP con SDKs de VisioForge[¶](#dominando-la-transmision-rtsp-con-sdks-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a RTSP[¶](#introduccion-a-rtsp "Permanent link") El Protocolo de Transmisión en Tiempo Real (RTSP) es un protocolo de control de red diseñado para su uso en sistemas de entretenimiento y comunicaciones para controlar servidores de medios de transmisión. Actúa como un "control remoto de red", permitiendo a los usuarios reproducir, pausar y detener flujos de medios. Los SDKs de VisioForge aprovechan el poder de RTSP para proporcionar capacidades robustas de transmisión de video y audio. Nuestros SDKs integran RTSP con códecs estándar de la industria como **H.264 (AVC)** para video y **Advanced Audio Coding (AAC)** para audio. H.264 ofrece una excelente calidad de video a tasas de bits relativamente bajas, lo que lo hace ideal para transmitir a través de diversas condiciones de red. AAC proporciona una compresión de audio eficiente y de alta fidelidad. Esta poderosa combinación asegura una transmisión audiovisual confiable y de alta definición adecuada para aplicaciones exigentes como: - **Seguridad y Vigilancia:** Entrega de transmisiones de video claras y en tiempo real desde cámaras IP. - **Transmisión en Vivo:** Transmisión de eventos, seminarios web o actuaciones a una amplia audiencia. - **Videoconferencia:** Habilitación de comunicación fluida y de alta calidad. - **Monitoreo Remoto:** Observación remota de procesos industriales o entornos. Esta guía profundiza en los detalles de la implementación de la transmisión RTSP utilizando los SDKs de VisioForge, cubriendo tanto enfoques modernos multiplataforma como métod... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/rtsp/index.html #### Transmisión de Protocolo SRT en .NET - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-transmision-srt-para-sdk-de-visioforge-net) # Guía de Implementación de Transmisión SRT para SDK de VisioForge .NET[¶](#guia-de-implementacion-de-transmision-srt-para-sdk-de-visioforge-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## ¿Qué es SRT y Por Qué Debería Usarlo?[¶](#que-es-srt-y-por-que-deberia-usarlo "Permanent link") SRT (Secure Reliable Transport) es un protocolo de transmisión de alto rendimiento diseñado para entregar video de alta calidad y baja latencia a través de redes impredecibles. A diferencia de los protocolos de transmisión tradicionales, SRT sobresale en condiciones de red desafiantes al incorporar mecanismos únicos de recuperación de errores y características de cifrado. Los SDK de VisioForge .NET proporcionan soporte completo para transmisión SRT a través de una API de configuración intuitiva, permitiendo a los desarrolladores implementar entrega de video segura y confiable en sus aplicaciones con esfuerzo mínimo. ## Comenzando con SRT en VisioForge[¶](#comenzando-con-srt-en-visioforge "Permanent link") ### Plataformas SDK Soportadas[¶](#plataformas-sdk-soportadas "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ### Configuración Básica SRT[¶](#configuracion-basica-srt "Permanent link") Implementar transmisión SRT en su aplicación comienza con especificar la URL de destino de transmisión. La URL SRT sigue un formato estándar que incluye información de protocolo, host y puerto. #### Implementación de Video Capture SDK[¶](#implementacion-de-video-capture-sdk "Permanent link") `[](#__codelineno-0-1)// Inicializar salida SRT con URL de destino [](#__codelineno-0-2)var srtOutput = new SRTOutput("srt://streaming-server:1234"); [](#__codelineno-0-3)[](#__codel... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/srt/index.html #### Transmisión de Video y Audio UDP en .NET - VisioForge Help [Saltar a contenido](#transmision-udp-con-sdk-de-visioforge) # Transmisión UDP con SDK de VisioForge[¶](#transmision-udp-con-sdk-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Transmisión UDP[¶](#introduccion-a-la-transmision-udp "Permanent link") El Protocolo de Datagramas de Usuario (UDP) es un protocolo de transporte ligero y sin conexión que proporciona una interfaz simple entre aplicaciones de red y la red IP subyacente. A diferencia de TCP, UDP ofrece una sobrecarga mínima y no garantiza la entrega de paquetes, lo que lo hace ideal para aplicaciones en tiempo real donde la velocidad es crucial y la pérdida ocasional de paquetes es aceptable. Los SDK de VisioForge ofrecen un soporte robusto para la transmisión UDP, permitiendo a los desarrolladores implementar soluciones de transmisión de alto rendimiento y baja latencia para diversas aplicaciones, incluyendo transmisiones en vivo, vigilancia de video y sistemas de comunicación en tiempo real. ## Características Clave y Capacidades[¶](#caracteristicas-clave-y-capacidades "Permanent link") La suite de SDK de VisioForge proporciona funcionalidad completa de transmisión UDP con las siguientes características clave: ### Soporte de Códecs de Video y Audio[¶](#soporte-de-codecs-de-video-y-audio "Permanent link") - **Códecs de Video**: Soporte completo para H.264 (AVC) y H.265 (HEVC), ofreciendo excelente eficiencia de compresión mientras se mantiene una alta calidad de video. - **Códec de Audio**: Soporte de Codificación de Audio Avanzada (AAC), proporcionando calidad de audio superior a bitrates más bajos en comparación con códecs de audio más antiguos. ### Flujo de Transporte MPEG (MPEG-TS)[¶](#flujo-de-transporte-mpeg-mpeg-ts "Permanent link") El SDK utiliza MPEG-TS como format... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/udp/index.html #### Streaming en Red WMV con Desarrollo .NET - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-streaming-en-red-windows-media-video-wmv) # Guía de Implementación de Streaming en Red Windows Media Video (WMV)[¶](#guia-de-implementacion-de-streaming-en-red-windows-media-video-wmv "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción a la Tecnología de Streaming WMV[¶](#introduccion-a-la-tecnologia-de-streaming-wmv "Permanent link") Windows Media Video (WMV) representa una tecnología de streaming versátil y potente desarrollada por Microsoft. Como componente integral del framework de Windows Media, WMV se ha establecido como una solución confiable para entregar contenido de video de manera eficiente a través de redes. Este formato utiliza algoritmos de compresión sofisticados que reducen sustancialmente los tamaños de archivo mientras mantienen calidad visual aceptable, haciéndolo particularmente adecuado para aplicaciones de streaming donde la optimización del ancho de banda es crítica. El formato WMV soporta un amplio rango de resoluciones de video y tasas de bits, permitiendo a los desarrolladores adaptar sus implementaciones de streaming para acomodar condiciones de red variables y requisitos de usuarios finales. ## Descripción técnica del formato WMV[¶](#descripcion-tecnica-del-formato-wmv "Permanent link") ### Características y capacidades clave[¶](#caracteristicas-y-capacidades-clave "Permanent link") WMV implementa el contenedor Advanced Systems Format (ASF), que proporciona varias ventajas técnicas para aplicaciones de streaming: - **Compresión eficiente**: Emplea tecnología de códec que equilibra calidad con tamaño de archivo - **Ajuste de tasa de bits escalable**: Se adapta a las condiciones de ancho de banda disponible - **Resiliencia a errores**: Mecanismos integrados para recuperación de pérdida de paquetes - **Protección de contenido**: Soporta Gestión de Derechos Digitales (DRM) cuando sea requerido -... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/wmv/index.html #### Streaming en Vivo de YouTube para Apps .NET - VisioForge Help [Saltar a contenido](#streaming-en-vivo-de-youtube-con-los-sdk-de-visioforge) # Streaming en Vivo de YouTube con los SDK de VisioForge[¶](#streaming-en-vivo-de-youtube-con-los-sdk-de-visioforge "Permanent link") ## Introducción a la Integración de Streaming YouTube[¶](#introduccion-a-la-integracion-de-streaming-youtube "Permanent link") La funcionalidad de salida RTMP de YouTube en los SDK de VisioForge permite a los desarrolladores crear aplicaciones .NET robustas que transmiten contenido de video de alta calidad directamente a YouTube. Esta implementación aprovecha varios codificadores de video y audio para optimizar el rendimiento del streaming en diferentes configuraciones de hardware y plataformas. ## Plataformas SDK soportadas[¶](#plataformas-sdk-soportadas "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Todas las principales plataformas SDK de VisioForge proporcionan capacidades multiplataforma para streaming de YouTube, asegurando funcionalidad consistente en Windows, macOS y otros sistemas operativos. ## Entendiendo la clase YouTubeOutput[¶](#entendiendo-la-clase-youtubeoutput "Permanent link") La clase `YouTubeOutput` sirve como la interfaz principal para la configuración de streaming de YouTube, ofreciendo extensas opciones de personalización incluyendo: - **Selección y configuración de codificador de video**: Elija entre múltiples codificadores acelerados por hardware y basados en software - **Selección y configuración de codificador de audio**: Configure codificadores de audio AAC con parámetros personalizados - **Procesamiento personalizado de video y audio**: Aplique filtros y transformaciones antes del streaming - **Configuración de sink específica de YouTube**: Ajuste parámetros de streaming específicos a los requisitos de YouTube ## Comenzando: Proceso de configuración básica[¶](#comenzando-proceso-de-configuracion-basica "Permanent link") ### Configuración de clave de stream[¶](#configura... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/network-streaming/youtube/index.html #### Salida de Archivo AVI en SDKs .NET - VisioForge Help [Saltar a contenido](#salida-de-archivo-avi-en-los-sdk-net-de-visioforge) # Salida de Archivo AVI en los SDK .NET de VisioForge[¶](#salida-de-archivo-avi-en-los-sdk-net-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) AVI (Audio Video Interleave) es un formato de contenedor multimedia desarrollado por Microsoft que almacena tanto datos de audio como de video en un solo archivo con reproducción sincronizada. Soporta tanto datos comprimidos como sin comprimir, ofreciendo flexibilidad aunque a veces resulta en tamaños de archivo más grandes. ## Descripción técnica del formato AVI[¶](#descripcion-tecnica-del-formato-avi "Permanent link") Los archivos AVI usan una estructura RIFF (Resource Interchange File Format) para organizar datos. Este formato divide el contenido en fragmentos, con cada fragmento conteniendo cuadros de audio o video. Los aspectos técnicos clave incluyen: - Formato de contenedor que soporta múltiples códecs de audio y video - Datos de audio y video intercalados para reproducción sincronizada - Tamaño máximo de archivo de 4GB en AVI estándar (extendido a 16EB en OpenDML AVI) - Soporte para múltiples pistas de audio y subtítulos - Ampliamente soportado en plataformas y reproductores de medios A pesar de que formatos de contenedor más nuevos como MP4 y MKV ofrecen más características, AVI sigue siendo valioso para ciertos flujos de trabajo debido a su simplicidad y compatibilidad con sistemas heredados. ## Implementación AVI multiplataforma[¶](#implementacion-avi-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La clase [AVIOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.AVIOutput.html) proporciona una forma robusta de configurar y generar archivos AVI con... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/avi/index.html #### Formato Video Custom con DirectShow en .NET - VisioForge Help [Saltar a contenido](#creacion-de-formatos-de-salida-de-video-personalizados-con-filtros-directshow) # Creación de Formatos de Salida de Video Personalizados con Filtros DirectShow[¶](#creacion-de-formatos-de-salida-de-video-personalizados-con-filtros-directshow "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoCaptureCore](#) [VideoEditCore](#) ## Descripción general[¶](#descripcion-general "Permanent link") Trabajar con video en aplicaciones .NET a menudo requiere formatos de salida personalizados para cumplir requisitos específicos del proyecto. Los SDK de VisioForge proporcionan capacidades poderosas para implementar salidas de formato personalizado usando filtros DirectShow, dando a los desarrolladores control preciso sobre los pipelines de procesamiento de audio y video. Esta guía demuestra técnicas prácticas para implementar formatos de salida personalizados que funcionan perfectamente tanto con Video Capture SDK .NET como con Video Edit SDK .NET, permitiéndole adaptar sus aplicaciones de video a especificaciones exactas. ## ¿Por qué usar formatos de salida personalizados?[¶](#por-que-usar-formatos-de-salida-personalizados "Permanent link") Los formatos de salida personalizados ofrecen varias ventajas para desarrolladores .NET: - Soporte para códecs de video especializados no disponibles en formatos estándar - Control detallado sobre configuración de compresión de video y audio - Integración con filtros DirectShow de terceros - Capacidad para crear formatos de salida propietarios o específicos de la industria - Optimización para casos de uso específicos (streaming, archivo, edición) ## Comenzando con CustomOutput[¶](#comenzando-con-customoutput "Permanent link") La clase `CustomOutput` es la piedra angular para configurar ajustes de salida personalizados en los SDK de VisioForge. Esta clase le permite definir y configur... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/custom/index.html #### Integración de FFMPEG.exe con SDKs .NET - VisioForge Help [Saltar a contenido](#integracion-de-ffmpegexe-con-los-sdk-net-de-visioforge) # Integración de FFMPEG.exe con los SDK .Net de VisioForge[¶](#integracion-de-ffmpegexe-con-los-sdk-net-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoCaptureCore](#) [VideoEditCore](#) ## Introducción a salida FFMPEG en .NET[¶](#introduccion-a-salida-ffmpeg-en-net "Permanent link") Esta guía proporciona instrucciones detalladas para implementar salida FFMPEG.exe en aplicaciones Windows usando los SDK .NET de VisioForge. La integración funciona tanto con [Video Capture SDK .NET](https://www.visioforge.com/video-capture-sdk-net) como con [Video Edit SDK .NET](https://www.visioforge.com/video-edit-sdk-net), utilizando los motores `VideoCaptureCore` y `VideoEditCore`. FFMPEG funciona como un poderoso framework multimedia que permite a los desarrolladores generar salida a una amplia variedad de formatos de video y audio. Su flexibilidad proviene del extenso soporte de códecs y control granular sobre parámetros de codificación tanto para flujos de video como de audio. ## ¿Por qué usar FFMPEG con los SDK de VisioForge?[¶](#por-que-usar-ffmpeg-con-los-sdk-de-visioforge "Permanent link") Integrar FFMPEG en sus aplicaciones potenciadas por VisioForge proporciona varias ventajas técnicas: - **Versatilidad de formatos**: Soporte para virtualmente todos los formatos de contenedor modernos - **Flexibilidad de códecs**: Acceso a códecs tanto de código abierto como propietarios - **Optimización de rendimiento**: Opciones para aceleración CPU y GPU - **Profundidad de personalización**: Control detallado sobre parámetros de codificación - **Compatibilidad multiplataforma**: Salida consistente en diferentes sistemas ## Características y capacidades clave[¶](#caracteristicas-y-capacidades-clave "Permanent link") ### Formatos de salida soportados[¶](#fo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/ffmpeg-exe/index.html #### Codificación de Animaciones GIF para Desarrollo .NET - VisioForge Help [Saltar a contenido](#codificador-gif) # Codificador GIF[¶](#codificador-gif "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El codificador GIF es un componente del SDK de VisioForge que permite la codificación de video al formato GIF. Este documento proporciona información detallada sobre la configuración del codificador GIF y guías de implementación. ## Salida GIF multiplataforma[¶](#salida-gif-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La configuración del codificador GIF se gestiona a través de la clase `GIFEncoderSettings`, que proporciona opciones de configuración para controlar el proceso de codificación. ### Propiedades[¶](#propiedades "Permanent link") 1. **Repeat** 2. Tipo: `uint` 3. Descripción: Controla el número de veces que la animación GIF se repetirá 4. Valores: - `-1`: Repetir infinitamente - `0..n`: Número finito de repeticiones 5. **Speed** 6. Tipo: `int` 7. Descripción: Controla la velocidad de codificación 8. Rango: 1 a 30 (valores más altos resultan en codificación más rápida) 9. Predeterminado: 10 ## Guía de implementación[¶](#guia-de-implementacion "Permanent link") ### Uso básico[¶](#uso-basico "Permanent link") Aquí hay un ejemplo básico de cómo configurar y usar el codificador GIF: `[](#__codelineno-0-1)using VisioForge.Core.Types.X.VideoEncoders; [](#__codelineno-0-2)[](#__codelineno-0-3)// Crear y configurar ajustes del codificador GIF [](#__codelineno-0-4)var settings = new GIFEncoderSettings [](#__codelineno-0-5){ [](#__codelineno-0-6) Repeat = 0, // Reproducir una vez [](#__codelineno-0-7) Speed = 15 // Establecer velocidad de codificación a 15 [](#__codelineno-0-8)};` ### Configuración avanzada[¶](#configuracion-avanzada "Permanen... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/gif/index.html #### Formatos de Video y Audio para Desarrollo en .NET - VisioForge Help [Saltar a contenido](#formatos-de-salida-para-sdks-de-medios-net) # Formatos de Salida para SDKs de Medios .NET[¶](#formatos-de-salida-para-sdks-de-medios-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Los SDKs .NET de VisioForge soportan una amplia gama de formatos de salida para proyectos de video, audio y medios. Seleccionar el formato correcto es crucial para garantizar la compatibilidad, optimizar el tamaño del archivo y mantener la calidad adecuada para su plataforma de destino. Esta guía cubre todos los formatos disponibles, sus especificaciones técnicas, casos de uso y detalles de implementación para ayudar a los desarrolladores a tomar decisiones informadas. ## Eligiendo el Formato Adecuado[¶](#eligiendo-el-formato-adecuado "Permanent link") Al seleccionar un formato de salida, considere estos factores clave: - **Plataforma de destino** - Algunos formatos funcionan mejor en dispositivos o navegadores específicos - **Requisitos de calidad** - Diferentes códecs proporcionan niveles variables de calidad a diferentes tasas de bits - **Restricciones de tamaño de archivo** - Algunos formatos ofrecen mejor compresión que otros - **Sobrecarga de procesamiento** - La complejidad de codificación varía entre formatos - **Requisitos de transmisión** - Ciertos formatos están optimizados para escenarios de transmisión ## Formatos de Contenedor de Video[¶](#formatos-de-contenedor-de-video "Permanent link") ### AVI (Audio Video Interleave)[¶](#avi-audio-video-interleave "Permanent link") [AVI](avi/) es un formato de contenedor clásico desarrollado por Microsoft que soporta varios códecs de video y audio. **Características clave:** - Amplia compatibilidad con aplicaciones de Windows - Soporta prácticamente... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/index.html #### Formato de Contenedor MKV en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#salida-mkv-en-los-sdk-net-de-visioforge) # Salida MKV en los SDK .NET de VisioForge[¶](#salida-mkv-en-los-sdk-net-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introducción al formato MKV[¶](#introduccion-al-formato-mkv "Permanent link") MKV (Matroska Video) es un formato de contenedor flexible de estándar abierto que puede contener un número ilimitado de pistas de video, audio y subtítulos en un solo archivo. Los SDK de VisioForge proporcionan soporte robusto para salida MKV con varias opciones de codificación para satisfacer diversos requisitos de desarrollo. Este formato es particularmente valioso para desarrolladores que trabajan en aplicaciones que requieren: - Múltiples pistas de audio o idiomas - Video de alta calidad con múltiples opciones de códec - Compatibilidad multiplataforma - Soporte para metadatos y capítulos ## Comenzando con salida MKV[¶](#comenzando-con-salida-mkv "Permanent link") La clase `MKVOutput` sirve como la interfaz principal para generar archivos MKV en los SDK de VisioForge. Puede inicializarla con configuración predeterminada o especificar codificadores personalizados para coincidir con las necesidades de su aplicación. ### Implementación básica[¶](#implementacion-basica "Permanent link") `[](#__codelineno-0-1)// Crear salida MKV con codificadores predeterminados [](#__codelineno-0-2)var mkvOutput = new MKVOutput("output.mkv"); [](#__codelineno-0-3)[](#__codelineno-0-4)// O especificar codificadores personalizados durante la inicialización [](#__codelineno-0-5)var videoEncoder = new NVENCH264EncoderSettings(); [](#__codelineno-0-6)var audioEncoder = new MFAACEncoderSettings(); [](#__codelineno-0-7)var mkvOutput = new MKVOut... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/mkv/index.html #### Salida de Archivo MOV para Aplicaciones de Video .NET - VisioForge Help [Saltar a contenido](#salida-de-archivo-mov-para-aplicaciones-de-video-net) # Salida de Archivo MOV para Aplicaciones de Video .NET[¶](#salida-de-archivo-mov-para-aplicaciones-de-video-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introducción a la salida MOV en VisioForge[¶](#introduccion-a-la-salida-mov-en-visioforge "Permanent link") El formato de contenedor MOV se utiliza ampliamente para almacenamiento de video en entornos profesionales y ecosistemas Apple. Los SDK .NET de VisioForge proporcionan soporte robusto multiplataforma para generar archivos MOV con opciones de codificación personalizables. La clase `MOVOutput` sirve como la interfaz principal para configurar y generar estos archivos en entornos Windows, macOS y Linux. Los archivos MOV creados con los SDK de VisioForge pueden aprovechar la aceleración de hardware a través de codificadores NVIDIA, Intel y AMD, haciéndolos ideales para aplicaciones críticas en rendimiento. Esta guía le lleva a través de los pasos esenciales para implementar salida MOV en aplicaciones de video .NET. ### Cuándo usar el formato MOV[¶](#cuando-usar-el-formato-mov "Permanent link") MOV es particularmente adecuado para: - Flujos de trabajo de edición de video - Proyectos que requieren compatibilidad con el ecosistema Apple - Pipelines de producción de video profesional - Aplicaciones que necesitan preservación de metadatos - Propósitos de archivo de alta calidad ## Comenzando con salida MOV[¶](#comenzando-con-salida-mov "Permanent link") La clase `MOVOutput` ([referencia API](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.Output.MOVOutput.html)) proporciona la base para la generación de archivos MOV con los SDK de VisioForge. Enca... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/mov/index.html #### Integración de Salida de Video MP4 para .NET - VisioForge Help [Saltar a contenido](#salida-de-archivo-mp4) # Salida de archivo MP4[¶](#salida-de-archivo-mp4 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) MP4 (MPEG-4 Part 14), introducido en 2001, es un formato de contenedor multimedia digital más comúnmente usado para almacenar video y audio. También soporta subtítulos e imágenes. MP4 es conocido por su alta compresión y compatibilidad entre varios dispositivos y plataformas, haciéndolo una opción popular para streaming y compartir. Capturar videos desde una webcam y guardarlos en un archivo es un requisito común en muchas aplicaciones. Una forma de lograr esto es usando un kit de desarrollo de software (SDK) como VisioForge Video Capture SDK .Net, que proporciona una API fácil de usar para capturar y procesar videos en C#. Para capturar video en formato MP4 usando Video Capture SDK, necesita configurar el formato de salida de video usando una de las clases para salida MP4. Puede usar varios codificadores de video de software y hardware disponibles, incluyendo Intel QuickSync, Nvidia NVENC y AMD/ATI APU. ## Salida MP4 multiplataforma[¶](#salida-mp4-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) La clase [MP4Output](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.Output.MP4Output.html?q=MP4Output) proporciona una forma flexible y potente de configurar ajustes de salida de video MP4 para operaciones de captura y edición de video. Esta guía le llevará a través de cómo usar la clase MP4Output efectivamente, cubriendo sus características principales y patrones de uso comunes. MP4Output implementa varias interfaces importantes: - IVideoEditXBaseOutput - IVideoCaptureXBaseOutput - Creación de Media Block Esto lo hace adecuado tanto para escenarios de edición com... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/mp4/index.html #### Guía de Salida de Archivos MPEG-TS para .NET - VisioForge Help [Saltar a contenido](#salida-mpeg-ts) # Salida MPEG-TS[¶](#salida-mpeg-ts "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El módulo de salida MPEG-TS (Transport Stream) en el SDK de VisioForge proporciona funcionalidad para crear archivos de flujo de transporte MPEG con varias opciones de codificación de video y audio. Esta guía explica cómo configurar y usar la clase `MPEGTSOutput` efectivamente. ## Salida MPEG-TS multiplataforma[¶](#salida-mpeg-ts-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Para crear una nueva salida MPEG-TS, use el siguiente constructor: `[](#__codelineno-0-1)// Inicializar con audio AAC (recomendado) [](#__codelineno-0-2)var output = new MPEGTSOutput("output.ts", useAAC: true);` También puede usar audio MP3 en lugar de AAC: `[](#__codelineno-1-1)// Inicializar con audio MP3 en lugar de AAC [](#__codelineno-1-2)var output = new MPEGTSOutput("output.ts", useAAC: false);` ### Opciones de codificación de video[¶](#opciones-de-codificacion-de-video "Permanent link") La clase [MPEGTSOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.Output.MPEGTSOutput.html) soporta múltiples codificadores de video a través de la propiedad `Video`. Los codificadores disponibles incluyen: **[Codificadores H.264](../../video-encoders/h264/)** - OpenH264 (Basado en software) - NVENC H.264 (Aceleración GPU NVIDIA) - QSV H.264 (Intel Quick Sync) - AMF H.264 (Aceleración GPU AMD) **[Codificadores H.265/HEVC](../../video-encoders/hevc/)** - MF HEVC (Windows Media Foundation, solo Windows) - NVENC HEVC (Aceleración GPU NVIDIA) - QSV HEVC (Intel Quick Sync) - AMF H.265 (Aceleración GPU AMD) Ejemplo de configuración de un codificador de video específico: `[](#__codelineno-2-1)// Ver... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/mpegts/index.html #### Salida de Archivo MXF en SDKs .NET - VisioForge Help [Saltar a contenido](#salida-mxf-en-los-sdk-net-de-visioforge) # Salida MXF en los SDK .NET de VisioForge[¶](#salida-mxf-en-los-sdk-net-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Material Exchange Format (MXF) es un formato de contenedor estándar de la industria diseñado para aplicaciones de video profesional. Es ampliamente adoptado en entornos de transmisión, flujos de trabajo de postproducción y sistemas de archivo. Los SDK de VisioForge proporcionan capacidades robustas de salida MXF multiplataforma que permiten a los desarrolladores integrar este formato profesional en sus aplicaciones. ## Entendiendo el formato MXF[¶](#entendiendo-el-formato-mxf "Permanent link") MXF sirve como un contenedor que puede contener varios tipos de datos de video y audio junto con metadatos. El formato fue diseñado para abordar problemas de interoperabilidad en flujos de trabajo de video profesional: - **Estándar de la industria**: Adoptado por las principales emisoras del mundo - **Metadatos profesionales**: Soporta metadatos técnicos y descriptivos extensos - **Contenedor versátil**: Compatible con numerosos códecs de audio y video - **Multiplataforma**: Soportado en Windows, macOS y Linux ## Comenzando con salida MXF[¶](#comenzando-con-salida-mxf "Permanent link") Implementar salida MXF en los SDK de VisioForge requiere solo unos pocos pasos. La configuración básica involucra: 1. Crear un objeto de salida MXF 2. Especificar tipos de flujo de video y audio 3. Configurar ajustes del codificador 4. Agregar la salida a su pipeline ### Implementación básica[¶](#implementacion-basica "Permanent link") Aquí está el código fundamental para crear una salida MXF: `[](#__codelineno-0-1)var mxfO... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/mxf/index.html #### Salida de Video WebM en .NET - VisioForge Help [Saltar a contenido](#salida-de-video-webm-en-los-sdk-net-de-visioforge) # Salida de Video WebM en los SDK .NET de VisioForge[¶](#salida-de-video-webm-en-los-sdk-net-de-visioforge "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## ¿Qué es WebM?[¶](#que-es-webm "Permanent link") WebM es un formato de archivo multimedia de código abierto y libre de regalías optimizado para entrega web. Desarrollado para proporcionar streaming de video eficiente con requisitos mínimos de procesamiento, WebM se ha convertido en un estándar para contenido de video HTML5. El formato soporta códecs modernos incluyendo VP8 y VP9 para compresión de video, junto con Vorbis y Opus para codificación de audio. Las ventajas clave de WebM incluyen: - **Rendimiento optimizado para web** con tiempos de carga rápidos - **Amplio soporte de navegadores** en las principales plataformas - **Video de alta calidad** con tamaños de archivo más pequeños - **Licenciamiento de código abierto** sin costos de regalías - **Capacidades de streaming eficientes** para aplicaciones de medios ## Implementación en Windows[¶](#implementacion-en-windows "Permanent link") [VideoCaptureCore](#) [VideoEditCore](#) En plataformas Windows, la implementación de VisioForge aprovecha la clase [WebMOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WebMOutput.html) del namespace `VisioForge.Core.Types.Output`. ### Configuración básica[¶](#configuracion-basica "Permanent link") Para implementar rápidamente la salida WebM en su aplicación Windows: `[](#__codelineno-0-1)using VisioForge.Core.Types.Output; [](#__codelineno-0-2)[](#__codelineno-0-3)// Inicializar configuración de salida WebM [](#__codelineno-0-4)var webmOutput = new WebMOutput(); [](#__codelineno-0-5)[](#__codelineno-0-6)// Configurar p... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/webm/index.html #### Guía de Salida y Codificación de Archivos WMV - VisioForge Help [Saltar a contenido](#codificadores-windows-media-video) # Codificadores Windows Media Video[¶](#codificadores-windows-media-video "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Esta documentación cubre las capacidades de codificación Windows Media Video (WMV) disponibles en VisioForge, incluyendo soluciones tanto específicas de Windows como multiplataforma. ## Salida solo para Windows[¶](#salida-solo-para-windows "Permanent link") [VideoCaptureCore](#) [VideoEditCore](#) La clase [WMVOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WMVOutput.html) proporciona capacidades completas de codificación Windows Media tanto para audio como para video en plataformas Windows. ### Guía de Inicio Rápido[¶](#guia-de-inicio-rapido "Permanent link") #### Captura de Video Simple con Configuración Predeterminada[¶](#captura-de-video-simple-con-configuracion-predeterminada "Permanent link") `[](#__codelineno-0-1)using VisioForge.Core.VideoCapture; [](#__codelineno-0-2)using VisioForge.Core.Types.Output; [](#__codelineno-0-3)[](#__codelineno-0-4)var captureCore = new VideoCaptureCore(); [](#__codelineno-0-5)[](#__codelineno-0-6)// Usar configuración WMV predeterminada (modo Perfil Interno) [](#__codelineno-0-7)captureCore.Output_Format = new WMVOutput(); [](#__codelineno-0-8)captureCore.Output_Filename = "output.wmv"; [](#__codelineno-0-9)[](#__codelineno-0-10)await captureCore.StartAsync();` #### Edición de Video Simple con Configuración Predeterminada[¶](#edicion-de-video-simple-con-configuracion-predeterminada "Permanent link") `[](#__codelineno-1-1)using VisioForge.Core.VideoEdit; [](#__codelineno-1-2)using VisioForge.Core.Types.Output; [](#__codelineno-1-3)[](#__codelineno-1-4)var editCore = new VideoEditCore(); [](#__codelineno-1-5)[](#__codelineno-1-6)/... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/output-formats/wmv/index.html #### Solución de Problemas con Registros en SDK .NET - VisioForge Help [Saltar a contenido](#solucion-de-problemas-con-registros-para-productos-sdk-net) # Solución de problemas con registros para productos SDK .NET[¶](#solucion-de-problemas-con-registros-para-productos-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Por qué son importantes los registros en la solución de problemas del SDK[¶](#por-que-son-importantes-los-registros-en-la-solucion-de-problemas-del-sdk "Permanent link") Al desarrollar aplicaciones que utilizan SDKs multimedia, puede encontrar problemas técnicos que requieren una investigación detallada. Los registros de depuración proporcionan información crítica que ayuda a identificar la causa raíz de los problemas de manera rápida y eficiente. Estos registros capturan todo, desde secuencias de inicialización hasta pasos detallados de operación, condiciones de error e información del sistema. Los registros recopilados correctamente ofrecen varios beneficios clave: - **Resolución de problemas más rápida**: El soporte técnico puede identificar rápidamente la fuente de los problemas - **Contexto completo**: Los registros proporcionan una imagen completa de lo que sucedió antes, durante y después de un problema - **Información del sistema**: Los detalles sobre su entorno ayudan a reproducir y resolver problemas - **Perspectivas de desarrollo**: Comprender los registros puede ayudarle a optimizar su implementación ## Recopilación de registros en aplicaciones de demostración[¶](#recopilacion-de-registros-en-aplicaciones-de-demostracion "Permanent link") Nuestras aplicaciones de demostración incluyen capacidades de depuración integradas que facilitan la recopilación de registros para la solución de problemas. Siga estos pasos para habilitar y compartir registros: ### Guía paso a paso para el registro en aplicacion... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/sendlogs/index.html #### Implementación de Efectos de Video en .NET - VisioForge Help [Saltar a contenido](#implementacion-de-efectos-de-video-en-aplicaciones-sdk-net) # Implementación de Efectos de Video en Aplicaciones SDK .NET[¶](#implementacion-de-efectos-de-video-en-aplicaciones-sdk-net "Permanent link") Los efectos de video pueden mejorar significativamente la calidad visual y la experiencia del usuario de sus aplicaciones de medios. Esta guía demuestra cómo implementar y gestionar correctamente efectos de video en varios entornos SDK .NET. [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Descripción general de implementación[¶](#descripcion-general-de-implementacion "Permanent link") Al trabajar con procesamiento de video en aplicaciones .NET, a menudo necesitará aplicar varios efectos para mejorar o modificar el contenido de video. Las siguientes secciones explican el proceso paso a paso. ## Implementación de código C[¶](#implementacion-de-codigo-c "Permanent link") ### Ejemplo: Efecto de luminosidad en Media Player SDK[¶](#ejemplo-efecto-de-luminosidad-en-media-player-sdk "Permanent link") Este ejemplo detallado demuestra cómo implementar un efecto de luminosidad, que es una técnica común de mejora de video. El mismo enfoque de implementación se aplica a los entornos Video Edit SDK .Net y Video Capture SDK .Net. ### Paso 1: Definir la interfaz del efecto[¶](#paso-1-definir-la-interfaz-del-efecto "Permanent link") Primero, necesita declarar la interfaz apropiada para el efecto deseado: `[](#__codelineno-0-1)IVideoEffectLightness lightness;` ### Paso 2: Obtener o crear la instancia del efecto[¶](#paso-2-obtener-o-crear-la-instancia-del-efecto "Permanent link") Cada efecto requiere un identificador único. El siguiente código verifica si el efecto ya existe en el control del SDK: `[](#__co... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-effects/add/index.html #### Referencia Completa de Efectos de Video para SDKs .NET - VisioForge Help [Saltar a contenido](#referencia-completa-de-efectos-de-video) # Referencia Completa de Efectos de Video[¶](#referencia-completa-de-efectos-de-video "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Este documento proporciona una referencia completa para todos los efectos de video disponibles en los SDKs .NET de VisioForge. Los efectos están disponibles en dos implementaciones distintas: ### Tipos de Efectos por Motor SDK[¶](#tipos-de-efectos-por-motor-sdk "Permanent link") #### Efectos Classic (Solo Windows)[¶](#efectos-classic-solo-windows "Permanent link") - **Disponible en**: VideoCaptureCore, MediaPlayerCore, VideoEditCore - **Plataforma**: Solo Windows (.NET Framework 4.7.2+ y .NET 6-10) - **Tipos**: - `VideoEffect*` - Procesamiento basado en CPU - `GPUVideoEffect*` - Acelerado por GPU (DirectX) - `Maxine*` - Efectos impulsados por IA de NVIDIA (GPUs RTX) - **Ubicación**: Espacio de nombres `VisioForge.Core.Types.VideoEffects` #### Efectos Multiplataforma[¶](#efectos-multiplataforma "Permanent link") - **Disponible en**: VideoCaptureCoreX, MediaPlayerCoreX, VideoEditCoreX, Media Blocks SDK - **Plataforma**: Windows, Linux, macOS, Android, iOS - **Tipos**: - Clases `*VideoEffect` en `VisioForge.Core.Types.X.VideoEffects` - Procesamiento multiplataforma para compatibilidad universal - **Ubicación**: Espacio de nombres `VisioForge.Core.Types.X.VideoEffects` > **Importante**: Al elegir efectos, seleccione según su SDK objetivo y requisitos de plataforma. Los efectos multiplataforma proporcionan mayor compatibilidad, mientras que los efectos Classic ofrecen optimizaciones específicas de Windows y aceleración GPU DirectX. #... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-effects/effects-reference/index.html #### Superposiciones de Imagen en Flujos de Video - VisioForge Help [Saltar a contenido](#superposicion-de-imagen) # Superposición de imagen[¶](#superposicion-de-imagen "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCore](#) [MediaPlayerCore](#) [VideoEditCore](#) ## Introducción[¶](#introduccion "Permanent link") Este ejemplo demuestra cómo superponer una imagen en un flujo de video. Se soportan imágenes JPG, PNG, BMP y GIF. ## Código de ejemplo[¶](#codigo-de-ejemplo "Permanent link") Superposición de imagen más simple con imagen agregada desde un archivo con posición personalizada: `[](#__codelineno-0-1) var effect = new VideoEffectImageLogo(true, "imageoverlay"); [](#__codelineno-0-2) effect.Filename = @"logo.png"; [](#__codelineno-0-3) effect.Left = 100; [](#__codelineno-0-4) effect.Top = 100; [](#__codelineno-0-5) [](#__codelineno-0-6) VideoCapture1.Video_Effects_Add(effect);` ### Superposición de imagen transparente[¶](#superposicion-de-imagen-transparente "Permanent link") El SDK soporta completamente la transparencia en imágenes PNG. Si desea establecer un nivel de transparencia personalizado, puede usar la propiedad `TransparencyLevel` con un rango (0..255). `[](#__codelineno-1-1)var effect = new VideoEffectImageLogo(true, "imageoverlay"); [](#__codelineno-1-2)effect.Filename = @"logo.jpg"; [](#__codelineno-1-3)[](#__codelineno-1-4)effect.TransparencyLevel = 50; [](#__codelineno-1-5)[](#__codelineno-1-6)VideoCapture1.Video_Effects_Add(effect);` ### Superposición de GIF animado[¶](#superposicion-de-gif-animado "Permanent link") Puede superponer una imagen GIF animada en un flujo de video. El SDK reproducirá la animación GIF en la superposición. `[](#__codelineno-2-1)var effect = new VideoEffectImageLogo(true, "imageoverlay"); [](#__codel... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-effects/image-overlay/index.html #### Efectos de Video y Procesamiento en .NET - VisioForge Help [Saltar a contenido](#efectos-de-video-y-procesamiento-para-aplicaciones-net) # Efectos de Video y Procesamiento para Aplicaciones .Net[¶](#efectos-de-video-y-procesamiento-para-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net)[Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Nuestros SDKs .Net proporcionan a los desarrolladores una amplia gama de efectos de video y capacidades de procesamiento. Estas potentes herramientas le permiten transformar contenido de video sin procesar en medios pulidos de calidad profesional. Ya sea que necesite agregar superposiciones dinámicas, aplicar efectos visuales o realizar manipulación de video avanzada, estos SDKs ofrecen la funcionalidad requerida para aplicaciones multimedia sofisticadas. ## Categorías de Efectos de Video Disponibles[¶](#categorias-de-efectos-de-video-disponibles "Permanent link") ### Efectos en Tiempo Real[¶](#efectos-en-tiempo-real "Permanent link") - Corrección de color y gradación - Filtros de desenfoque y nitidez - Algoritmos de reducción de ruido - Procesamiento de clave de croma (pantalla verde) ### Mejora de Video[¶](#mejora-de-video "Permanent link") - Escalado de resolución - Conversión de tasa de cuadros - Ajuste de contraste dinámico - Mapeo de tonos HDR ## Capacidades de Superposición[¶](#capacidades-de-superposicion "Permanent link") - [Superposición de texto](text-overlay/) - Agregue texto personalizable con control sobre fuente, tamaño, color y animación - [Superposición de imagen](image-overlay/) - Incorpore logotipos, marcas de agua y elementos gráficos con soporte de transparencia ## Características de Procesamien... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-effects/index.html #### Superposiciones de Texto Avanzadas en Video .NET - VisioForge Help [Saltar a contenido](#implementacion-de-superposiciones-de-texto-en-flujos-de-video) # Implementación de Superposiciones de Texto en Flujos de Video[¶](#implementacion-de-superposiciones-de-texto-en-flujos-de-video "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCore](#) [MediaPlayerCore](#) [VideoEditCore](#) ## Introducción[¶](#introduccion "Permanent link") Las superposiciones de texto proporcionan una forma poderosa de mejorar flujos de video con información dinámica, branding, subtítulos o marcas de tiempo. Esta guía explora cómo implementar superposiciones de texto totalmente personalizables con control preciso sobre apariencia, posicionamiento y animaciones. ## Implementación de Motor Clásico[¶](#implementacion-de-motor-clasico "Permanent link") Nuestros motores clásicos (VideoCaptureCore, MediaPlayerCore, VideoEditCore) ofrecen una API sencilla para agregar texto a flujos de video. ### Implementación básica de superposición de texto[¶](#implementacion-basica-de-superposicion-de-texto "Permanent link") El siguiente ejemplo demuestra una superposición de texto simple con posicionamiento personalizado: `[](#__codelineno-0-1)var effect = new VideoEffectTextLogo(true, "textoverlay"); [](#__codelineno-0-2)[](#__codelineno-0-3)// establecer posición [](#__codelineno-0-4)effect.Left = 20; [](#__codelineno-0-5)effect.Top = 20; [](#__codelineno-0-6)[](#__codelineno-0-7)// establecer Fuente (System.Drawing.Font) [](#__codelineno-0-8)effect.Font = new Font("Arial", 40); [](#__codelineno-0-9)[](#__codelineno-0-10)// establecer texto [](#__codelineno-0-11)effect.Text = "¡Hola, mundo!"; [](#__codelineno-0-12)[](#__codelineno-0-13)// establecer color del texto [](#__codelineno-0-14)effect.Font... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-effects/text-overlay/index.html #### Uso del capturador de muestras de video - VisioForge Help [Saltar a contenido](#uso-del-capturador-de-muestras-de-video) # Uso del capturador de muestras de video[¶](#uso-del-capturador-de-muestras-de-video "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Obtención de cuadros de video RAW como puntero de memoria no administrada dentro de la estructura[¶](#obtencion-de-cuadros-de-video-raw-como-puntero-de-memoria-no-administrada-dentro-de-la-estructura "Permanent link") Motores XMotores clásicosMedia Blocks SDK `[](#__codelineno-0-1)// Suscribirse al evento de buffer de cuadro de video [](#__codelineno-0-2)VideoCapture1.OnVideoFrameBuffer += OnVideoFrameBuffer; [](#__codelineno-0-3)[](#__codelineno-0-4)private void OnVideoFrameBuffer(object sender, VideoFrameXBufferEventArgs e) [](#__codelineno-0-5){ [](#__codelineno-0-6) // Procesar el objeto VideoFrameX [](#__codelineno-0-7) ProcessFrame(e.Frame); [](#__codelineno-0-8) [](#__codelineno-0-9) // Si ha modificado el cuadro y quiere actualizar el flujo de video [](#__codelineno-0-10) e.UpdateData = true; [](#__codelineno-0-11)} [](#__codelineno-0-12)[](#__codelineno-0-13)// Ejemplo de procesamiento de un cuadro VideoFrameX - ajustando brillo [](#__codelineno-0-14)private void ProcessFrame(VideoFrameX frame) [](#__codelineno-0-15){ [](#__codelineno-0-16) // Solo procesar formatos RGB/BGR/RGBA/BGRA [](#__codelineno-0-17) if (frame.Format != VideoFormatX.RGB && [](#__codelineno-0-18) frame.Format != VideoFormatX.BGR && [](#__codelineno-0-19) frame.Format != VideoFormatX.RGBA && [](#__codelineno-0-20) frame.Format != VideoFormatX.BGRA) [](#__codelineno-0-21) { [](#__codelineno-0-22) return; [](#__codelineno-0-23)... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-effects/video-sample-grabber/index.html #### Codificadores AV1 en SDKs .NET - VisioForge Help [Saltar a contenido](#codificadores-av1) # Codificadores AV1[¶](#codificadores-av1 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) VisioForge soporta múltiples implementaciones de codificadores AV1, cada una con sus propias características y capacidades únicas. Este documento cubre los codificadores disponibles y sus opciones de configuración. Actualmente, los codificadores AV1 están soportados en los motores multiplataforma: `VideoCaptureCoreX`, `VideoEditCoreX`, y `Media Blocks SDK`. ## Codificadores disponibles[¶](#codificadores-disponibles "Permanent link") 1. [Codificador AMD AMF AV1 (AMF)](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.AMFAV1EncoderSettings.html) 2. [Codificador NVIDIA NVENC AV1 (NVENC)](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.NVENCAV1EncoderSettings.html) 3. [Codificador Intel QuickSync AV1 (QSV)](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.QSVAV1EncoderSettings.html) 4. [Codificador AOM AV1](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.AOMAV1EncoderSettings.html) 5. [Codificador RAV1E](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.RAV1EEncoderSettings.html) Puede usar el codificador AV1 con [salida WebM](../../output-formats/webm/) o para streaming de red. ## Codificador AMD AMF AV1[¶](#codificador-amd-amf-av1 "Permanent link") El codificador AMD AMF AV1 proporciona codificación acelerada por hardware usando tarjetas gráficas AMD. ### Características[¶](#caracteristicas "Permanent link") - Múltiples preajustes de calidad - Modos de control de tasa de bits variable - Control de tamaño GOP - Control de QP (Pará... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-encoders/av1/index.html #### Codificadores H264 en SDKs .NET - VisioForge Help [Saltar a contenido](#codificadores-h264) # Codificadores H264[¶](#codificadores-h264 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Este documento proporciona información detallada sobre los codificadores H264 disponibles, sus características, opciones de control de tasa y ejemplos de uso. Para motores solo Windows consulte la página de [salida MP4](../../output-formats/mp4/). ## Descripción general[¶](#descripcion-general "Permanent link") Los siguientes codificadores H264 están disponibles: 1. Codificador AMD AMF H264 (acelerado por GPU) 2. Codificador NVIDIA NVENC H264 (acelerado por GPU) 3. Codificador Intel QSV H264 (acelerado por GPU) 4. Codificador OpenH264 (Software) 5. Codificador Apple Media H264 (acelerado por hardware para dispositivos Apple) 6. Codificador VAAPI H264 (aceleración de hardware en Linux) 7. Varios codificadores basados en OMX (específicos de plataforma) ## Codificador AMD AMF H264[¶](#codificador-amd-amf-h264 "Permanent link") El Advanced Media Framework (AMF) de AMD proporciona codificación acelerada por hardware en GPUs AMD. ### Características principales[¶](#caracteristicas-principales "Permanent link") - Codificación acelerada por hardware - Múltiples opciones de preajuste (Equilibrado, Velocidad, Calidad) - Tamaño GOP configurable - Soporte de codificación de entropía CABAC - Varios métodos de control de tasa ### Opciones de control de tasa[¶](#opciones-de-control-de-tasa "Permanent link") `[](#__codelineno-0-1)public enum AMFH264EncoderRateControl [](#__codelineno-0-2){ [](#__codelineno-0-3) Default = -1, // Predeterminado, depende del uso [](#__codelineno-0-4) CQP = 0, // QP constante [](#__codelineno-0-5) CBR = 1,... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-encoders/h264/index.html #### Codificación HEVC con los SDK .Net de VisioForge - VisioForge Help [Saltar a contenido](#codificacion-hevc-por-hardware-en-aplicaciones-net) # Codificación HEVC por Hardware en Aplicaciones .NET[¶](#codificacion-hevc-por-hardware-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) Esta guía explora las opciones de codificación HEVC (H.265) acelerada por hardware disponibles en los SDK .NET de VisioForge. Cubriremos los detalles de implementación para codificadores de GPU AMD, NVIDIA e Intel, ayudándole a elegir la solución correcta para sus necesidades de procesamiento de video. Para formatos de salida específicos de Windows, consulte nuestra [documentación de salida MP4](../../output-formats/mp4/). ## Descripción general de codificadores HEVC por hardware[¶](#descripcion-general-de-codificadores-hevc-por-hardware "Permanent link") Las GPUs modernas ofrecen potentes capacidades de codificación por hardware que superan significativamente las soluciones basadas en software. Los SDK de VisioForge soportan tres codificadores HEVC de hardware principales: - **AMD AMF** - Para GPUs AMD Radeon - **NVIDIA NVENC** - Para GPUs NVIDIA GeForce y profesionales - **Intel QuickSync** - Para CPUs Intel con gráficos integrados Cada codificador proporciona características únicas y opciones de optimización. Exploremos sus capacidades y detalles de implementación. ## Codificador AMD AMF HEVC[¶](#codificador-amd-amf-hevc "Permanent link") El Advanced Media Framework (AMF) de AMD ofrece codificación HEVC acelerada por hardware en GPUs Radeon compatibles. Equilibra velocidad de codificación, calidad y eficiencia para varios escenarios. ### Características principales y configuración[¶](#caracteristicas-principales-y-configuracion "Permanent link") - **Métodos de co... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-encoders/hevc/index.html #### Codificadores de Video para VisioForge .NET - VisioForge Help [Saltar a contenido](#codificadores-de-video-para-visioforge-net) # Codificadores de Video para VisioForge .NET[¶](#codificadores-de-video-para-visioforge-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a los Codificadores de Video[¶](#introduccion-a-los-codificadores-de-video "Permanent link") Los codificadores de video son componentes esenciales en aplicaciones de procesamiento multimedia, responsables de comprimir datos de video mientras mantienen una calidad óptima. Los SDKs de VisioForge .NET incorporan múltiples codificadores avanzados para satisfacer diversos requisitos de desarrollo en diferentes plataformas y casos de uso. Esta guía proporciona información detallada sobre las capacidades de cada codificador, características de rendimiento y detalles de implementación para ayudar a los desarrolladores .NET a tomar decisiones informadas para sus aplicaciones multimedia. ## Codificación por Hardware vs. Software[¶](#codificacion-por-hardware-vs-software "Permanent link") Al desarrollar aplicaciones de procesamiento de video, elegir entre codificadores por hardware y software impacta significativamente el rendimiento de la aplicación y la experiencia del usuario. ### Codificadores Acelerados por Hardware[¶](#codificadores-acelerados-por-hardware "Permanent link") Los codificadores por hardware utilizan unidades de procesamiento dedicadas (GPUs o hardware especializado): - **Ventajas**: Menor uso de CPU, mayores velocidades de codificación, eficiencia de batería mejorada - **Casos de uso**: Transmisión en tiempo real, procesamiento de video en vivo, aplicaciones móviles - **Ejemplos en nuestro SDK**: NVIDIA NVENC, AMD AMF, Intel QuickSync ### Codificadores por Software[¶](#codificadores-por-software "Permanent link") Los codificadores por... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-encoders/index.html #### Codificadores Motion JPEG (MJPEG) en SDKs .NET - VisioForge Help [Saltar a contenido](#codificadores-de-video-motion-jpeg-mjpeg-para-aplicaciones-net) # Codificadores de Video Motion JPEG (MJPEG) para Aplicaciones .NET[¶](#codificadores-de-video-motion-jpeg-mjpeg-para-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) ## Introducción a la codificación MJPEG en VisioForge[¶](#introduccion-a-la-codificacion-mjpeg-en-visioforge "Permanent link") La suite de SDK .NET de VisioForge proporciona implementaciones robustas de codificadores Motion JPEG (MJPEG) diseñadas para procesamiento de video eficiente en sus aplicaciones. MJPEG sigue siendo una opción popular para muchas aplicaciones de video debido a su simplicidad, compatibilidad y casos de uso específicos donde la compresión cuadro por cuadro es ventajosa. Esta documentación proporciona una exploración detallada de las dos opciones de codificador MJPEG disponibles en la biblioteca de VisioForge: 1. Codificador MJPEG basado en CPU - La implementación predeterminada que utiliza recursos del procesador 2. Codificador MJPEG Intel QuickSync acelerado por GPU - Opción acelerada por hardware para sistemas compatibles Ambas implementaciones ofrecen a los desarrolladores opciones de configuración flexibles mientras mantienen la funcionalidad MJPEG central a través de la interfaz unificada `IMJPEGEncoderSettings`. ## ¿Qué es MJPEG y por qué usarlo?[¶](#que-es-mjpeg-y-por-que-usarlo "Permanent link") Motion JPEG (MJPEG) es un formato de compresión de video donde cada cuadro de video se comprime por separado como una imagen JPEG. A diferencia de códecs más modernos como H.264 o H.265 que usan compresión temporal entre cuadros, MJPEG trata cada cuadro de forma independiente. ### Ventajas clave de MJPEG[¶](#ventaja... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-encoders/mjpeg/index.html #### Codificadores VP8 y VP9 en VisioForge .NET - VisioForge Help [Saltar a contenido](#codificadores-vp8-y-vp9-en-visioforge-net) # Codificadores VP8 y VP9 en VisioForge .NET[¶](#codificadores-vp8-y-vp9-en-visioforge-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Esta guía muestra cómo implementar codificación de video VP8 y VP9 en los SDK .NET de VisioForge. Aprenderá sobre las opciones de codificador disponibles y cómo optimizarlas para las necesidades específicas de su aplicación. ## Resumen de opciones de codificador[¶](#resumen-de-opciones-de-codificador "Permanent link") El SDK de VisioForge proporciona múltiples implementaciones de codificador basándose en los requisitos de su plataforma: ### Codificadores de plataforma Windows[¶](#codificadores-de-plataforma-windows "Permanent link") [VideoCaptureCore](#) [VideoEditCore](#) - Codificadores VP8 y VP9 basados en software configurados a través de la clase [WebMOutput](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.Output.WebMOutput.html) ### Opciones X-Engine multiplataforma[¶](#opciones-x-engine-multiplataforma "Permanent link") [VideoCaptureCoreX](#) [VideoEditCoreX](#) [MediaBlocksPipeline](#) - Codificador VP8 de software a través de [VP8EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.VP8EncoderSettings.html) - Codificador VP9 de software a través de [VP9EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.VP9EncoderSettings.html) - Codificador VP9 Intel GPU acelerado por hardware a través de [QSVVP9EncoderSettings](https://api.visioforge.org/dotnet/api/VisioForge.Core.Types.X.VideoEncoders.QSVVP9EncoderSettings.html) para GPUs integradas ## Estrategias de control de tasa de bits[¶](#estrategias-de-control-de-tasa-de-bits "Permanent link") Todos los codificadores... **URL**: https://www.visioforge.com/help/es/docs/dotnet/general/video-encoders/vp8-vp9/index.html #### SDKs .NET para Desarrollo de Video y Medios - VisioForge Help [Saltar a contenido](#sdks-net-para-desarrollo-profesional-de-medios) # SDKs .NET para Desarrollo Profesional de Medios[¶](#sdks-net-para-desarrollo-profesional-de-medios "Permanent link") ## Introducción a Nuestros SDKs .NET[¶](#introduccion-a-nuestros-sdks-net "Permanent link") Nuestros potentes SDKs .NET permiten a los desarrolladores integrar sin problemas capacidades avanzadas de captura de video, edición de video sofisticada, reproducción fluida y procesamiento de medios eficiente en sus aplicaciones de software. Estas herramientas diseñadas profesionalmente proporcionan una solución completa para todas tus necesidades de desarrollo multimedia. ## Compatibilidad Multi-Plataforma[¶](#compatibilidad-multi-plataforma "Permanent link") Todos nuestros SDKs .NET están diseñados con funcionalidad multiplataforma en mente, proporcionando soporte robusto en: - Entornos de escritorio Windows - Distribuciones Linux - Sistemas macOS - Dispositivos móviles Android - Aplicaciones iOS Esta versatilidad asegura que tus aplicaciones de medios puedan llegar a usuarios en prácticamente cualquier plataforma sin comprometer la funcionalidad. ## Tecnologías de Aceleración de Hardware[¶](#tecnologias-de-aceleracion-de-hardware "Permanent link") Nuestros SDKs aprovechan tecnologías de codificación y decodificación aceleradas por GPU de vanguardia para maximizar el rendimiento: ### Plataformas de Escritorio[¶](#plataformas-de-escritorio "Permanent link") - Intel Quick Sync Video para aceleración de hardware eficiente - NVIDIA NVENC para rendimiento de codificación superior - AMD VCE (Video Coding Engine) para procesamiento optimizado ### Plataformas Móviles[¶](#plataformas-moviles "Permanent link") - Capacidades nativas de codificación y decodificación de hardware - Implementaciones optimizadas para eficiencia de batería ## Recursos para Comenzar[¶](#recursos-para-comenzar "Permanent link") ### Tutoriales de Uso del SDK[¶](#tutoriales-de-uso-del-s... **URL**: https://www.visioforge.com/help/es/docs/dotnet/index.html #### Guía de Configuración e Instalación del SDK .NET - VisioForge Help [Saltar a contenido](#inicializacion) # Inicialización[¶](#inicializacion "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Tipos de Motores del SDK[¶](#tipos-de-motores-del-sdk "Permanent link") Todos los SDKs contienen motores basados en DirectShow solo para Windows y motores X multiplataforma. ### Motores Solo para Windows[¶](#motores-solo-para-windows "Permanent link") - VideoCaptureCore - VideoEditCore - MediaPlayerCore ### Motores X[¶](#motores-x "Permanent link") - VideoCaptureCoreX - VideoEditCoreX - MediaPlayerCoreX - MediaBlocksPipeline Los motores X requieren pasos adicionales de inicialización y desinicialización. ## Inicialización y Desinicialización del SDK para Motores X[¶](#inicializacion-y-desinicializacion-del-sdk-para-motores-x "Permanent link") Necesitas inicializar el SDK antes de usar cualquier clase del SDK y desinicializar el SDK antes de que la aplicación termine. Para inicializar el SDK, usa el siguiente código: `[](#__codelineno-0-1)VisioForge.Core.VisioForgeX.InitSDK();` Para desinicializar el SDK, usa el siguiente código: `[](#__codelineno-1-1)VisioForge.Core.VisioForgeX.DestroySDK();` Si el SDK no se desinicializa correctamente, la aplicación puede experimentar un bloqueo al salir debido a la incapacidad de finalizar uno de sus hilos. Este problema surge porque el SDK continúa operando, impidiendo que la aplicación se cierre correctamente. Para asegurar una salida limpia, es crucial desinicializar el SDK apropiadamente según el framework de UI que estés usando. Para aplicaciones desarrolladas usando diferentes frameworks de UI, puedes desinicializar el SDK en el evento `FormClosing` u otro manejador de eventos relevante. Este enfoque asegura que e... **URL**: https://www.visioforge.com/help/es/docs/dotnet/init/index.html #### Integra SDKs de Medios con Aplicaciones Avalonia - VisioForge Help [Saltar a contenido](#construyendo-aplicaciones-avalonia-ricas-en-medios-con-visioforge) # Construyendo Aplicaciones Avalonia Ricas en Medios con VisioForge[¶](#construyendo-aplicaciones-avalonia-ricas-en-medios-con-visioforge "Permanent link") ## Descripción General del Framework[¶](#descripcion-general-del-framework "Permanent link") Avalonia UI destaca como un framework de UI .NET versátil y verdaderamente multiplataforma con soporte que abarca entornos de escritorio (Windows, macOS, Linux) y plataformas móviles (iOS y Android). VisioForge mejora este ecosistema a través del paquete especializado `VisioForge.DotNet.Core.UI.Avalonia`, que ofrece controles multimedia de alto rendimiento adaptados a la arquitectura de Avalonia. Nuestra suite de SDKs potencia a los desarrolladores de Avalonia con amplias capacidades multimedia: [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Configuración e Instalación[¶](#configuracion-e-instalacion "Permanent link") ### Instalación de Paquetes Esenciales[¶](#instalacion-de-paquetes-esenciales "Permanent link") Crear una aplicación Avalonia con capacidades multimedia de VisioForge requiere instalar varios componentes NuGet clave: 1. Capa de UI específica de Avalonia: `VisioForge.DotNet.Core.UI.Avalonia` 2. Paquete de funcionalidad principal: `VisioForge.DotNet.Core` (o variante de SDK especializado) 3. Bindings nativos específicos de plataforma (cubiertos en detalle en secciones posteriores) Agrega estos a tu manifiesto de proyecto (`.csproj`): `[](#__codelineno-0-1) [](#__codelineno-0-2) [](#__codelineno-0-3) [](#__codelineno-0-2) [](#__codelineno-0-3) AudioConverterBlock; AudioConverterBlock-->AudioRendererBlock; ``` #### Código de ejemplo[¶](#codigo-de-ejemplo "Permanent link") `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var filename = "test.mp3"; [](#__codelineno-0-4)var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename))); [](#__codelineno-0-5)[](#__codelineno-0-6)var audioConverter = new AudioConverterBlock(); [](#__codelineno-0-7)pipeline.Connect(fileSource.AudioOutput, audioConverter.Input); [](#__codelineno-0-8)[](#__codelineno-0-9)var audioRenderer = new AudioRendererBlock(); [](#__codelineno-0-10)pipeline.Connect(audioConverter.Output, audioRenderer.Input); [](#__codelineno-0-11)[](#__codelineno-0-12)await pipeline.StartA... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/AudioProcessing/index.html #### Bloque de Renderizado de Audio Multiplataforma - VisioForge Help [Saltar a contenido](#bloque-de-renderizado-de-audio-procesamiento-de-salida-de-audio-multiplataforma) # Bloque de Renderizado de Audio: Procesamiento de Salida de Audio Multiplataforma[¶](#bloque-de-renderizado-de-audio-procesamiento-de-salida-de-audio-multiplataforma "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción al Renderizado de Audio[¶](#introduccion-al-renderizado-de-audio "Permanent link") El Bloque de Renderizado de Audio sirve como componente crítico en pipelines de procesamiento de medios, permitiendo a las aplicaciones enviar flujos de audio a dispositivos de sonido en múltiples plataformas. Este versátil bloque maneja la compleja tarea de convertir datos de audio digital en sonido audible a través de las interfaces de hardware apropiadas, convirtiéndolo en una herramienta esencial para desarrolladores que construyen aplicaciones con audio habilitado. El renderizado de audio requiere una gestión cuidadosa de los recursos de hardware, configuraciones de buffer y sincronización de tiempo para asegurar una reproducción suave e ininterrumpida. Este bloque abstrae estas complejidades y proporciona una interfaz unificada para la salida de audio en diversos entornos de computación. ## Funcionalidad Principal[¶](#funcionalidad-principal "Permanent link") El Bloque de Renderizado de Audio acepta flujos de audio sin comprimir y los envía al dispositivo de audio predeterminado o a una alternativa seleccionada por el usuario. Proporciona controles esenciales de reproducción de audio incluyendo: - Ajuste de volumen con control preciso de decibelios - Funcionalidad de silencio para operación silenciosa - Selección de dispositivo de las salidas de audio disponibles del sistema - Configuraciones de buffer para optimizar latencia o estabilidad Estas capacidades permiten a los desarrolladores crear aplicaciones con salida de audio de grado profesional sin necesidad de implementar código específ... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/AudioRendering/index.html #### Bloques de Visualizador de Audio .Net - VisioForge Help [Saltar a contenido](#bloques-de-visualizador-de-audio) # Bloques de visualizador de audio[¶](#bloques-de-visualizador-de-audio "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) VisioForge Media Blocks SDK .Net incluye un conjunto de bloques de visualizador de audio que le permiten crear visualizaciones reactivas al audio para sus aplicaciones. Estos bloques toman entrada de audio y producen salida de video representando las características del audio. Los bloques pueden conectarse a otros bloques de procesamiento de audio y video para crear pipelines de medios complejos. La mayoría de los bloques están disponibles para todas las plataformas, incluyendo Windows, Linux, MacOS, Android e iOS. ## Spacescope[¶](#spacescope "Permanent link") El bloque Spacescope es un elemento de visualización de audio simple que mapea los canales de audio izquierdo y derecho a las coordenadas X e Y, respectivamente, creando un patrón similar a Lissajous. Esto visualiza la relación de fase entre los canales. La apariencia, como usar puntos o líneas y colores, puede personalizarse a través de `SpacescopeSettings`. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: SpacescopeBlock. Dirección del pin Tipo de medio Cantidad de pines Entrada Audio sin comprimir 1 Salida Video 1 #### Pipeline de ejemplo[¶](#pipeline-de-ejemplo "Permanent link") ``` graph LR; UniversalSourceBlock-->SpacescopeBlock; SpacescopeBlock-->VideoRendererBlock; ``` #### Código de ejemplo[¶](#codigo-de-ejemplo "Permanent link") `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var filename = "test.mp3"; // O cualquier fuente de audio [](#__codelineno-0-4)var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename))); [](#__codelineno-0-5)[](#__codelineno-0-6)// Las configuraciones pueden personalizarse, ej., para shader, gro... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/AudioVisualizers/index.html #### Enlazar Pipelines de Medios - Guía de Bloques Bridge - VisioForge Help [Saltar a contenido](#bloques-bridge) # Bloques Bridge[¶](#bloques-bridge "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bridges pueden usarse para enlazar dos pipelines y cambiar dinámicamente entre ellos. Por ejemplo, puede cambiar entre diferentes archivos o cámaras en el primer Pipeline sin interrumpir el streaming en el segundo Pipeline. Para enlazar fuente y sink, deles el mismo nombre. Cada par de bridge tiene un nombre de canal único. ## Bridge audio sink y source[¶](#bridge-audio-sink-y-source "Permanent link") Los bridges pueden usarse para conectar diferentes pipelines de medios y usarlos independientemente. `BridgeAudioSourceBlock` se usa para conectarse a `BridgeAudioSinkBlock` y soporta audio sin comprimir. ### Información del bloque[¶](#informacion-del-bloque "Permanent link") #### Información de BridgeAudioSourceBlock[¶](#informacion-de-bridgeaudiosourceblock "Permanent link") Dirección del pin Tipo de medio Cantidad de pines Salida de audio audio sin comprimir 1 #### Información de BridgeAudioSinkBlock[¶](#informacion-de-bridgeaudiosinkblock "Permanent link") Dirección del pin Tipo de medio Cantidad de pines Entrada de audio audio sin comprimir 1 ### Pipelines de ejemplo[¶](#pipelines-de-ejemplo "Permanent link") #### Primer pipeline con una fuente de audio y un bridge audio sink[¶](#primer-pipeline-con-una-fuente-de-audio-y-un-bridge-audio-sink "Permanent link") ``` graph LR; VirtualAudioSourceBlock-->BridgeAudioSinkBlock; ``` #### Segundo pipeline con un bridge audio source y un renderizador de audio[¶](#segundo-pipeline-con-un-bridge-audio-source-y-un-renderizador-de-audio "Permanent link") ``` graph LR; BridgeAudioSourceBlock-->AudioRendererBlock; ``` ### Código de ejemplo[¶](#codigo-de-ejemplo "Permanent link") El pipeline fuente con fuente de audio virtual y bridge audio sink. `[](#__codelineno-0-1)// crear pipeline fuente [](#__codelineno-0-2)var sourcePip... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Bridge/index.html #### Integración Blackmagic Decklink con Media Blocks SDK - VisioForge Help [Saltar a contenido](#integracion-blackmagic-decklink-con-media-blocks-sdk) # Integración Blackmagic Decklink con Media Blocks SDK[¶](#integracion-blackmagic-decklink-con-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Integración Decklink[¶](#introduccion-a-la-integracion-decklink "Permanent link") El VisioForge Media Blocks SDK para .NET proporciona soporte robusto para dispositivos Blackmagic Decklink, permitiendo a los desarrolladores implementar funcionalidad de audio y video de grado profesional en sus aplicaciones. Esta integración permite operaciones de captura y renderizado sin problemas usando el hardware de alta calidad de Decklink. Nuestro SDK incluye bloques especializados diseñados específicamente para dispositivos Decklink, dándole acceso completo a sus capacidades incluyendo SDI, HDMI y otras entradas/salidas. Estos bloques están optimizados para rendimiento y ofrecen una API directa para implementar flujos de trabajo de medios complejos. ### Capacidades Principales[¶](#capacidades-principales "Permanent link") - **Captura y Renderizado de Audio**: Capture y emita audio a través de dispositivos Decklink - **Captura y Renderizado de Video**: Capture y emita video en varios formatos y resoluciones - **Soporte Multi-Dispositivo**: Trabaje con múltiples dispositivos Decklink simultáneamente - **Opciones de E/S Profesional**: Utilice SDI, HDMI y otras interfaces profesionales - **Procesamiento de Alta Calidad**: Mantenga la calidad profesional de video/audio a través del pipeline - **Bloques Combinados de Audio/Video**: Manejo simplificado de flujos de audio y video sincronizados con bloques source y sink dedicados. ## Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Antes de usar los bloques Decklink, asegúrese de que su sistema cumpla estos requisitos: - **Hardware**: Dispositivo Blackmagic Decklink compatible - **Software**:... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Decklink/index.html #### Guía de Bloques Demuxer de Medios .Net - VisioForge Help [Saltar a contenido](#bloques-demuxer-visioforge-media-blocks-sdk-net) # Bloques Demuxer - VisioForge Media Blocks SDK .Net[¶](#bloques-demuxer-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques demuxer son componentes esenciales en pipelines de procesamiento de medios. Toman un flujo multimedia, típicamente de un archivo o fuente de red, y lo separan en sus flujos elementales constituyentes, como video, audio y subtítulos. Esto permite el procesamiento o renderizado individual de cada flujo. VisioForge Media Blocks SDK .Net proporciona varios bloques demuxer para manejar varios formatos de contenedor. ## Bloque MPEG-TS Demux[¶](#bloque-mpeg-ts-demux "Permanent link") El `MPEGTSDemuxBlock` se usa para demultiplexar MPEG Transport Streams (MPEG-TS). MPEG-TS es un formato estándar para transmisión y almacenamiento de datos de audio, video y Program and System Information Protocol (PSIP). Se usa comúnmente en transmisión de televisión digital y streaming. ### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: `MPEGTSDemuxBlock`. Dirección del pin Tipo de medio Cantidad de pines Entrada Datos MPEG-TS 1 Salida de video Depende del contenido del flujo 0 o 1+ Salida de audio Depende del contenido del flujo 0 o 1+ Salida de subtítulos Depende del contenido del flujo 0 o 1+ Salida de metadatos Depende del contenido del flujo 0 o 1+ ### Configuraciones[¶](#configuraciones "Permanent link") El `MPEGTSDemuxBlock` se configura usando `MPEGTSDemuxSettings`. Propiedades principales de `MPEGTSDemuxSettings`: - `Latency` (`TimeSpan`): Obtiene o establece la latencia. El predeterminado es 700 milisegundos. - `ProgramNumber` (int): Obtiene o establece el número de programa. Use -1 para selección predeterminada/automática. ### Pipeline de ejemplo[¶](#pipeline-de-ejemplo "Permanent link") Este ejemplo muestra cómo conectar una fuente (como `H... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Demuxers/index.html #### Cámara - VisioForge Help [Saltar a contenido](#construccion-de-aplicaciones-de-camara-con-media-blocks-sdk) * * * title: Creación de Aplicaciones de Cámara con Media Blocks SDK description: Crea aplicaciones de cámara con Media Blocks SDK: enumeración de dispositivos, selección de formato, renderizado y captura multiplataforma. * * * # Construcción de Aplicaciones de Cámara con Media Blocks SDK[¶](#construccion-de-aplicaciones-de-camara-con-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Esta guía completa demuestra cómo crear una aplicación de visualización de cámara completamente funcional usando Media Blocks SDK .Net. El SDK proporciona un framework robusto para capturar, procesar y mostrar flujos de video en múltiples plataformas incluyendo Windows, macOS, iOS y Android. ## Visión General de la Arquitectura[¶](#vision-general-de-la-arquitectura "Permanent link") Para crear una aplicación de visor de cámara, necesitará entender dos componentes fundamentales: 1. **System Video Source** - Captura el flujo de video desde dispositivos de cámara conectados 2. **Video Renderer** - Muestra el video capturado en pantalla con configuraciones ajustables Estos componentes trabajan juntos dentro de una arquitectura de pipeline que gestiona el procesamiento de medios. ## Bloques de Medios Esenciales[¶](#bloques-de-medios-esenciales "Permanent link") Para construir una aplicación de cámara, necesita agregar los siguientes bloques a su pipeline: - **[Bloque System Video Source](../../Sources/)** - Se conecta y lee desde dispositivos de cámara - **[Bloque Video Renderer](../../VideoRendering/)** - Muestra el video con opciones de renderizado configurables ## Configuración del Pipeline[¶](#configuracion-del-pipeline "Permanent link") ### Creando el Pipeline Base[¶](#creando-el-pipeline-base "Permanent link") Primero, cree un objeto pipeline que gestionará el flujo de me... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/GettingStarted/camera/index.html #### Enumeración de Dispositivos de Medios en .NET - VisioForge Help [Saltar a contenido](#guia-completa-para-enumeracion-de-dispositivos-de-medios-en-net) # Guía Completa para Enumeración de Dispositivos de Medios en .NET[¶](#guia-completa-para-enumeracion-de-dispositivos-de-medios-en-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El Media Blocks SDK proporciona una forma potente y eficiente de descubrir y trabajar con varios dispositivos de medios en sus aplicaciones .NET. Esta guía le llevará a través del proceso de enumerar diferentes tipos de dispositivos de medios usando la clase `DeviceEnumerator` del SDK. ## Introducción a la Enumeración de Dispositivos[¶](#introduccion-a-la-enumeracion-de-dispositivos "Permanent link") La enumeración de dispositivos es un primer paso crítico al desarrollar aplicaciones que interactúan con hardware de medios. La clase `DeviceEnumerator` proporciona una forma centralizada de detectar y listar todos los dispositivos de medios disponibles conectados a su sistema. El SDK usa un patrón singleton para la enumeración de dispositivos, facilitando el acceso a la funcionalidad desde cualquier lugar de su código: `[](#__codelineno-0-1)// Acceder a la instancia compartida de DeviceEnumerator [](#__codelineno-0-2)var enumerator = DeviceEnumerator.Shared;` ## Descubriendo Dispositivos de Entrada de Video[¶](#descubriendo-dispositivos-de-entrada-de-video "Permanent link") ### Fuentes de Video Estándar[¶](#fuentes-de-video-estandar "Permanent link") Para listar todos los dispositivos de entrada de video disponibles (webcams, tarjetas de captura, cámaras virtuales): `[](#__codelineno-1-1)var videoSources = await DeviceEnumerator.Shared.VideoSourcesAsync(); [](#__codelineno-1-2)[](#__codelineno-1-3)foreach (var device in videoSources) [](#__codelineno-1-4){ [](#__codelineno-1-5) Debug.WriteLine($"Dispositivo de video encontrado: {device.Name}"); [](#__codelineno-1-6) // Puede acceder a propiedades adicionales aquí si es necesario [](#__... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/GettingStarted/device-enum/index.html #### Index - VisioForge Help [Saltar a contenido](#media-blocks-sdk-net-guia-de-inicio-rapido-para-desarrolladores) * * * title: Media Blocks SDK .NET: Guía de Inicio Rápido description: Integra Media Blocks SDK en aplicaciones con guía de instalación, arquitectura de pipeline y tutoriales de bloques de procesamiento multimedia. * * * # Media Blocks SDK .Net - Guía de Inicio Rápido para Desarrolladores[¶](#media-blocks-sdk-net-guia-de-inicio-rapido-para-desarrolladores "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Esta guía proporciona un recorrido completo para integrar el Media Blocks SDK .Net en tus aplicaciones. El SDK está construido alrededor de una arquitectura de pipeline modular, permitiéndote crear, conectar y gestionar bloques de procesamiento multimedia para video, audio y más. Ya sea que estés construyendo herramientas de procesamiento de video, soluciones de streaming o aplicaciones multimedia, esta guía te ayudará a comenzar rápida y correctamente. ## Proceso de Instalación del SDK[¶](#proceso-de-instalacion-del-sdk "Permanent link") El SDK se distribuye como un paquete NuGet para fácil integración en tus proyectos .Net. Instálalo usando: `[](#__codelineno-0-1)dotnet add package VisioForge.DotNet.MediaBlocks` Para requisitos específicos de plataforma y detalles adicionales de instalación, consulta la [guía de instalación detallada](../../install/). ## Conceptos Principales y Arquitectura[¶](#conceptos-principales-y-arquitectura "Permanent link") ### MediaBlocksPipeline[¶](#mediablockspipeline "Permanent link") - La clase central para gestionar el flujo de datos de medios entre bloques de procesamiento. - Maneja la adición de bloques, conexión, gestión de estado y manejo de eventos. - Implementa `IMediaBlocksPipeline` y expone eventos como `OnError`, `OnStart`, `OnPause`, `OnResume`, `OnStop` y `OnLoop`. ### MediaBlock e Interfaces[¶](#mediablock-e-interfaces "Pe... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/GettingStarted/index.html #### Pipeline - VisioForge Help [Saltar a contenido](#media-blocks-pipeline-funcionalidad-principal) * * * title: Media Blocks Pipeline: Funcionalidad Principal description: Cree pipelines de medios para reproducción, grabación y streaming con bloques modulares, conexiones y gestión de recursos en Media Blocks SDK. * * * # Media Blocks Pipeline: Funcionalidad Principal[¶](#media-blocks-pipeline-funcionalidad-principal "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Visión General de la Estructura de Pipeline y Bloques[¶](#vision-general-de-la-estructura-de-pipeline-y-bloques "Permanent link") El Media Blocks SDK está construido alrededor de la clase `MediaBlocksPipeline`, que gestiona una colección de bloques de procesamiento modulares. Cada bloque implementa la interfaz `IMediaBlock` o una de sus variantes especializadas. Los bloques están conectados vía pads de entrada y salida, permitiendo cadenas de procesamiento de medios flexibles. ### Interfaces Principales de Bloques[¶](#interfaces-principales-de-bloques "Permanent link") - **IMediaBlock**: Interfaz base para todos los bloques. Expone propiedades para nombre, tipo, pads de entrada/salida, y métodos para conversión YAML y recuperación de contexto de pipeline. - **IMediaBlockDynamicInputs**: Para bloques (como muxers) que pueden crear nuevas entradas dinámicamente. Métodos: `CreateNewInput(mediaType)` y `GetInput(mediaType)`. - **IMediaBlockInternals**: Métodos internos para integración de pipeline (ej., `SetContext`, `Build`, `CleanUp`, `GetElement`, `GetCore`). - **IMediaBlockInternals2**: Para lógica post-conexión (`PostConnect()`). - **IMediaBlockRenderer**: Para bloques renderizadores, expone propiedad `IsSync`. - **IMediaBlockSettings**: Para objetos de configuraciones que pueden crear un bloque (`CreateBlock()`). - **IMediaBlockSink**: Para bloques sink, expone getter/setter de filename/URL. - **IMediaBlockSource**: Para bloques source (actualmente solo accesore... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/GettingStarted/pipeline/index.html #### Implementación de Reproductor con Media Blocks SDK - VisioForge Help [Saltar a contenido](#construccion-de-un-reproductor-de-video-con-funciones-completas-usando-media-blocks-sdk) # Construcción de un Reproductor de Video con Funciones Completas usando Media Blocks SDK[¶](#construccion-de-un-reproductor-de-video-con-funciones-completas-usando-media-blocks-sdk "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Este tutorial detallado le guía a través del proceso de crear una aplicación de reproductor de video de grado profesional usando Media Blocks SDK .Net. Siguiendo estas instrucciones, entenderá cómo implementar funcionalidades clave incluyendo carga de medios, control de reproducción y renderizado de audio-video. ## Componentes Esenciales para su Aplicación de Reproductor[¶](#componentes-esenciales-para-su-aplicacion-de-reproductor "Permanent link") Para construir un reproductor de video completamente funcional, su pipeline de aplicación requiere estos bloques de construcción críticos: - [Universal source](../../Sources/) - Este versátil componente maneja la entrada de medios de varias fuentes, permitiendo a su reproductor leer y procesar archivos de video desde almacenamiento local o flujos de red. - [Video renderer](../../VideoRendering/) - El componente visual responsable de mostrar frames de video en pantalla con temporización y formato apropiados. - [Audio renderer](../../AudioRendering/) - Gestiona la salida de sonido, asegurando reproducción de audio sincronizada junto con su contenido de video. ## Configurando el Pipeline de Medios[¶](#configurando-el-pipeline-de-medios "Permanent link") ### Creando la Base[¶](#creando-la-base "Permanent link") El primer paso en desarrollar su reproductor involucra establecer el pipeline de medios—el framework central que gestiona el flujo de datos entre componentes. `[](#__codelineno-0-1)using VisioForge.Core.MediaBlocks; [](#__codelineno-0-2)[](#__codelineno-0-3)var pipeline = new MediaBlocksPipeline();` ### Implementando Manej... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/GettingStarted/player/index.html #### Escribir Etiquetas de Metadatos de Audio (Media Blocks) - VisioForge Help [Saltar a contenido](#escribir-etiquetas-de-audio-con-sdk-de-media-blocks) # Escribir Etiquetas de Audio con SDK de Media Blocks[¶](#escribir-etiquetas-de-audio-con-sdk-de-media-blocks "Permanent link") [SDK de Media Blocks .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Escribir Etiquetas de Audio con SDK de Media Blocks](#escribir-etiquetas-de-audio-con-sdk-de-media-blocks) - [Tabla de Contenidos](#tabla-de-contenidos) - [Resumen](#resumen) - [Características Principales](#caracteristicas-principales) - [Formatos de Audio Soportados](#formatos-de-audio-soportados) - [Prerrequisitos](#prerrequisitos) - [MediaFileTags: La Interfaz Unificada](#mediafiletags-la-interfaz-unificada) - [Ejemplos de Código por Formato](#ejemplos-de-codigo-por-formato) - [Salida MP3 con Etiquetas ID3](#salida-mp3-con-etiquetas-id3) - [Salida OGG Vorbis con Comentarios Vorbis](#salida-ogg-vorbis-con-comentarios-vorbis) - [Salida M4A con Metadatos MP4](#salida-m4a-con-metadatos-mp4) - [Salida WMV/WMA con Metadatos ASF](#salida-wmvwma-con-metadatos-asf) - [Ejemplo Completo de Grabación de Audio](#ejemplo-completo-de-grabacion-de-audio) - [Escenarios Avanzados de Etiquetas](#escenarios-avanzados-de-etiquetas) - [Soporte de Carátula de Álbum](#soporte-de-caratula-de-album) - [Modificación de Etiquetas en Tiempo de Ejecución](#modificacion-de-etiquetas-en-tiempo-de-ejecucion) - [Álbumes Multi-Pista](#albumes-multi-pista) - [Mejores Prácticas](#mejores-practicas) - [Calidad de Datos de Etiquetas](#calidad-de-datos-de-etiquetas) - [Consideraciones de Rendimiento](#consideraciones-de-rendimiento) - [Directrices Específicas de Formato](#directrices-especificas-de-formato) - [Solución de Problemas](#solucion-de-problemas) - [Problemas y Soluciones Comunes](#problemas-y-soluciones-comunes) - [Depuración de Escritura de Etiquet... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Guides/audio-metadata-tags/index.html #### Captura ONVIF a MP4 con Postprocesamiento - VisioForge Help [Saltar a contenido](#capturar-mp4-desde-camara-onvif-con-postprocesamiento) # Capturar MP4 desde Cámara ONVIF con Postprocesamiento[¶](#capturar-mp4-desde-camara-onvif-con-postprocesamiento "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Info Para ejemplos completos de trabajo, vea: - [Demo de Vista Previa RTSP](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Blocks%20SDK/WPF/CSharp/RTSP%20Preview%20Demo) - Muestra vista previa de cámara ONVIF con postprocesamiento - [Demo de Captura IP (Video Capture SDK)](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK%20X/WPF/CSharp/IP%20Capture) - Alternativa usando Video Capture SDK Para documentación completa de ONVIF, vea la [Guía de Integración de Cámaras IP ONVIF](../../../videocapture/video-sources/ip-cameras/onvif/). !!! ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Capturar MP4 desde Cámara ONVIF con Postprocesamiento](#capturar-mp4-desde-camara-onvif-con-postprocesamiento) - [Tabla de Contenidos](#tabla-de-contenidos) - [Resumen](#resumen) - [Cuándo Usar Postprocesamiento](#cuando-usar-postprocesamiento) - [Prerrequisitos](#prerrequisitos) - [Configuración Básica: Descubrimiento y Conexión ONVIF](#configuracion-basica-descubrimiento-y-conexion-onvif) - [Ejemplo 1: Redimensionar Video](#ejemplo-1-redimensionar-video) - [Ejemplo 2: Aplicar Efectos de Video](#ejemplo-2-aplicar-efectos-de-video) - [Ejemplo 3: Desenfoque de Rostro en Tiempo Real](#ejemplo-3-desenfoque-de-rostro-en-tiempo-real) - [Ejemplo 4: Marca de Agua y Superposición de Logo](#ejemplo-4-marca-de-agua-y-superposicion-de-logo) - [Consideraciones de Rendimiento](#consideraciones-de-rendimiento) - [Mejores Prácticas](#mejores-practicas) - [Solución de Problemas](#solucion-de-problemas) ## Resumen[¶](#resumen "Permanent link") Esta guía demuestra cómo capturar video desde cámaras IP ONVIF mientras se ap... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Guides/onvif-capture-with-postprocessing/index.html #### Guardar Stream RTSP a Archivo sin Recodificación - VisioForge Help [Saltar a contenido](#como-guardar-stream-rtsp-a-archivo-grabar-video-de-camara-ip-sin-re-codificacion) # Cómo Guardar Stream RTSP a Archivo: Grabar Video de Cámara IP sin Re-codificación[¶](#como-guardar-stream-rtsp-a-archivo-grabar-video-de-camara-ip-sin-re-codificacion "Permanent link") [SDK de Media Blocks .Net](https://www.visioforge.com/media-blocks-sdk-net) Info Para un ejemplo completo de grabación de streams RTSP sin re-codificación, vea la [Demo RTSP MultiView](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Blocks%20SDK/WinForms/CSharp/RTSP%20MultiView%20Demo). Para documentación específica de cámara ONVIF, vea la [Guía de Integración de Cámara IP ONVIF](../../../videocapture/video-sources/ip-cameras/onvif/). !!! ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Cómo Guardar Stream RTSP a Archivo: Grabar Video de Cámara IP sin Re-codificación](#como-guardar-stream-rtsp-a-archivo-grabar-video-de-camara-ip-sin-re-codificacion) - [Tabla de Contenidos](#tabla-de-contenidos) - [Resumen](#resumen) - [Características Principales](#caracteristicas-principales) - [Concepto Principal](#concepto-principal) - [Prerrequisitos](#prerrequisitos) - [Código de Muestra: Clase RTSPRecorder](#codigo-de-muestra-clase-rtsprecorder) - [Explicación del Código](#explicacion-del-codigo) - [Cómo Usar el `RTSPRecorder`](#como-usar-el-rtsprecorder) - [Consideraciones Clave](#consideraciones-clave) - [Muestra Completa de GitHub](#muestra-completa-de-github) - [Mejores Prácticas](#mejores-practicas) - [Solución de Problemas](#solucion-de-problemas) ## Resumen[¶](#resumen "Permanent link") Esta guía demuestra cómo guardar un stream RTSP a un archivo MP4 capturando el stream de video original desde una cámara RTSP IP sin re-codificar el video. Este enfoque es altamente beneficioso para preservar la calidad de video original de las cámaras y minimizar el uso de CPU cuando necesita grabar metraje. El stream de aud... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Guides/rtsp-save-original-stream/index.html #### Compositor de Video en Vivo .Net - VisioForge Help [Saltar a contenido](#compositor-de-video-en-vivo) # Compositor de Video en Vivo[¶](#compositor-de-video-en-vivo "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El Compositor de Video en Vivo es parte del [VisioForge Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) que le permite agregar y eliminar fuentes y salidas en tiempo real a un pipeline. Esto le permite crear aplicaciones que manejan simultáneamente múltiples fuentes de video y audio. Por ejemplo, el LVC le permite comenzar a transmitir a YouTube en el momento justo mientras graba video simultáneamente en disco. Usando el LVC, puede crear una aplicación similar a OBS Studio. Cada fuente y salida tiene su identificador único que puede usarse para agregar y eliminar fuentes y salidas en tiempo real. Cada fuente y salida tiene su propio pipeline independiente que puede iniciarse y detenerse. ## Características[¶](#caracteristicas "Permanent link") - Soporta múltiples fuentes de video y audio - Soporta múltiples salidas de video y audio - Configuración de posición y tamaño de fuentes de video - Configuración de transparencia de fuentes de video - Configuración del volumen de fuentes de audio ## Clase LiveVideoCompositor[¶](#clase-livevideocompositor "Permanent link") El `LiveVideoCompositor` es la clase principal que permite agregar y eliminar fuentes y salidas en vivo al pipeline. Al crearlo, es necesario especificar la resolución y tasa de frames a usar. Todas las fuentes con diferente tasa de frames serán automáticamente convertidas a la tasa de frames especificada al crear el LVC. `LiveVideoCompositorSettings` le permite configurar los parámetros de video y audio. Las propiedades clave incluyen: - `MixerType`: Especifica el tipo de mezclador de video (ej., `LVCMixerType.OpenGL`, `LVCMixerType.D3D11` (solo Windows), o `LVCMixerType.CPU`). - `AudioEnabled`: Un booleano que indica si el flujo de audio está habilitado... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/LiveVideoCompositor/index.html #### Guía de Bloques Nvidia para Medios .Net - VisioForge Help [Saltar a contenido](#bloques-nvidia-visioforge-media-blocks-sdk-net) # Bloques Nvidia - VisioForge Media Blocks SDK .Net[¶](#bloques-nvidia-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques Nvidia aprovechan las capacidades de GPU Nvidia para tareas de procesamiento de medios aceleradas como transferencia de datos, conversión de video y redimensionamiento. ## NVDataDownloadBlock[¶](#nvdatadownloadblock "Permanent link") Bloque de descarga de datos Nvidia. Descarga datos desde GPU Nvidia a memoria del sistema. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: NVDataDownloadBlock. Dirección del pin Tipo de medio Cantidad de pines Entrada de video Video (memoria GPU) 1 Salida de video Video (memoria del sistema) 1 #### Pipeline de ejemplo[¶](#pipeline-de-ejemplo "Permanent link") ``` graph LR; NVCUDAConverterBlock-->NVDataDownloadBlock-->VideoRendererBlock; ``` #### Código de ejemplo[¶](#codigo-de-ejemplo "Permanent link") `[](#__codelineno-0-1)// crear pipeline [](#__codelineno-0-2)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-3)[](#__codelineno-0-4)// crear una fuente que emita a memoria GPU (ej., un decodificador u otro bloque Nvidia) [](#__codelineno-0-5)// Por ejemplo, NVDataUploadBlock o un decodificador acelerado por NV [](#__codelineno-0-6)var upstreamNvidiaBlock = new NVDataUploadBlock(); // Conceptual: asuma que este bloque está correctamente configurado [](#__codelineno-0-7)[](#__codelineno-0-8)// crear bloque de descarga de datos Nvidia [](#__codelineno-0-9)var nvDataDownload = new NVDataDownloadBlock(); [](#__codelineno-0-10)[](#__codelineno-0-11)// crear bloque renderizador de video [](#__codelineno-0-12)var videoRenderer = new VideoRendererBlock(pipeline, VideoView1); // Asumiendo que VideoView1 es su control de visualización [](#__codelineno-0-13)[](#__codelineno-0-14)// conectar bloques [](#__cod... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Nvidia/index.html #### OpenCV - VisioForge Help [Saltar a contenido](#bloques-opencv-visioforge-media-blocks-sdk-net) * * * title: Guía de Bloques OpenCV para Media .Net description: Ejecuta tareas de visión por computadora con bloques OpenCV: detección de objetos, seguimiento, manipulación de imágenes y procesamiento de video. * * * # Bloques OpenCV - VisioForge Media Blocks SDK .Net[¶](#bloques-opencv-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques OpenCV (Open Source Computer Vision Library) proporcionan potentes capacidades de procesamiento de video dentro del VisioForge Media Blocks SDK .Net. Estos bloques permiten una amplia gama de tareas de visión por computadora, desde manipulación básica de imágenes hasta detección y seguimiento de objetos complejos. Para usar los bloques OpenCV, asegúrese de que el paquete NuGet VisioForge.CrossPlatform.OpenCV.Windows.x64 (o el paquete correspondiente para su plataforma) esté incluido en su proyecto. La mayoría de los bloques OpenCV típicamente requieren un elemento `videoconvert` antes de ellos para asegurar que el flujo de video de entrada esté en un formato compatible. El SDK maneja esto internamente cuando inicializa el bloque. ## Bloque CV Dewarp[¶](#bloque-cv-dewarp "Permanent link") El bloque CV Dewarp aplica efectos de corrección de distorsión a un flujo de video, lo que puede corregir distorsiones de lentes gran angular, por ejemplo. ### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: `CVDewarpBlock` (elemento GStreamer: `dewarp`). Dirección del pin Tipo de medio Cantidad de pines Entrada video Video sin comprimir 1 Salida video Video sin comprimir 1 ### Configuración[¶](#configuracion "Permanent link") El `CVDewarpBlock` se configura usando `CVDewarpSettings`. Propiedades clave: - `DisplayMode` (enum `CVDewarpDisplayMode`): Especifica el modo de visualización para la corrección de distorsión (ej., `SinglePanorama`, `D... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/OpenCV/index.html #### Efectos de Video OpenGL en Media Blocks SDK .NET - VisioForge Help [Saltar a contenido](#efectos-de-video-opengl-sdk-de-visioforge-media-blocks-net) # Efectos de Video OpenGL - SDK de VisioForge Media Blocks .Net[¶](#efectos-de-video-opengl-sdk-de-visioforge-media-blocks-net "Permanent link") [SDK de Media Blocks .Net](https://www.visioforge.com/media-blocks-sdk-net) Los efectos de video OpenGL en el SDK de VisioForge Media Blocks .Net permiten manipulación poderosa y hardware-acelerada de streams de video. Estos efectos pueden aplicarse a contenido de video procesado dentro de un contexto OpenGL, típicamente vía bloques como `GLVideoEffectsBlock` o pipelines de renderizado OpenGL personalizados. Esta guía cubre los efectos disponibles, sus ajustes de configuración y otros tipos OpenGL relacionados. ## Efecto Base: `GLBaseVideoEffect`[¶](#efecto-base-glbasevideoeffect "Permanent link") Todos los efectos de video OpenGL heredan de la clase `GLBaseVideoEffect`, que proporciona propiedades y eventos comunes. Propiedad Tipo Descripción `Name` `string` El nombre interno del efecto (solo lectura). `ID` `GLVideoEffectID` El identificador único para el efecto (solo lectura). `Index` `int` El índice del efecto en una cadena. **Eventos:** - `OnUpdate`: Ocurre cuando las propiedades del efecto necesitan actualizarse en el pipeline. Llame a `OnUpdateCall()` para activarlo. ## Efectos de Video Disponibles[¶](#efectos-de-video-disponibles "Permanent link") Esta sección detalla los diversos efectos de video OpenGL que puede usar. Estos efectos se agregan típicamente a un `GLVideoEffectsBlock` o un elemento de procesamiento OpenGL similar. ### Efecto Alfa (`GLAlphaVideoEffect`)[¶](#efecto-alfa-glalphavideoeffect "Permanent link") Reemplaza un color seleccionado con un canal alfa o establece/ajusta el canal alfa existente. **Propiedades:** Propiedad Tipo Valor Predeterminado Descripción `Alpha` `double` `1.0` El valor para el canal alfa. `Angle` `float` `20` El tamaño del cubo de color a cambiar (sensibilida... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/OpenGL/index.html #### Guía de Bloques de Salida .Net Media - VisioForge Help [Saltar a contenido](#bloques-de-salida-visioforge-media-blocks-sdk-net) # Bloques de Salida - VisioForge Media Blocks SDK .Net[¶](#bloques-de-salida-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques de salida, también conocidos como sumideros, son responsables de escribir datos de medios a archivos, flujos de red u otros destinos. Generalmente son los últimos bloques en cualquier cadena de procesamiento de medios. VisioForge Media Blocks SDK .Net proporciona una colección completa de bloques de salida para varios formatos y protocolos. Esta guía cubre bloques de salida de archivos como MP4, AVI, WebM, MKV, y bloques de streaming de red para protocolos como RTMP (usado por YouTube y Facebook Live). ## Bloque de Salida AVI[¶](#bloque-de-salida-avi "Permanent link") El `AVIOutputBlock` se usa para crear archivos AVI. Combina codificadores de video y audio con un sumidero de archivo para producir archivos `.avi`. ### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: `AVIOutputBlock`. Dirección del pin Tipo de medio Codificadores esperados Entrada Video varios H264 (predeterminado), otros codificadores compatibles `IVideoEncoder` Entrada Audio varios AAC (predeterminado), MP3, otros codificadores compatibles `IAudioEncoder` ### Configuraciones[¶](#configuraciones "Permanent link") El `AVIOutputBlock` se configura usando `AVISinkSettings` junto con configuraciones para los codificadores de video y audio elegidos (ej. `IH264EncoderSettings` y `IAACEncoderSettings` o `MP3EncoderSettings`). Propiedades clave de `AVISinkSettings`: - `Filename` (string): La ruta al archivo AVI de salida. Constructores: - `AVIOutputBlock(string filename)`: Usa codificadores predeterminados H264 video y AAC audio. - `AVIOutputBlock(AVISinkSettings sinkSettings, IH264EncoderSettings h264settings, IAACEncoderSettings aacSettings)`: Usa codificadores H264 v... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Outputs/index.html #### Guía de Bloques Parser de Medios .Net - VisioForge Help [Saltar a contenido](#bloques-parser-visioforge-media-blocks-sdk-net) # Bloques Parser - VisioForge Media Blocks SDK .Net[¶](#bloques-parser-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques parser son componentes esenciales en pipelines de procesamiento de medios. Se usan para analizar flujos elementales, que pueden ser crudos o parcialmente procesados, para extraer metadatos y preparar los flujos para procesamiento adicional como decodificación o multiplexación. VisioForge Media Blocks SDK .Net ofrece una variedad de bloques parser para codecs de video y audio comunes. ## Bloques Parser de Video[¶](#bloques-parser-de-video "Permanent link") ### Bloque Parser AV1[¶](#bloque-parser-av1 "Permanent link") El `AV1ParseBlock` se usa para analizar flujos elementales de video AV1. Ayuda a identificar límites de frames y extraer información específica del codec. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: `AV1ParseBlock`. Dirección del pin Tipo de medio Cantidad de pines Entrada de video video AV1 1 Salida de video video AV1 1 #### Pipeline de ejemplo[¶](#pipeline-de-ejemplo "Permanent link") ``` graph LR; DataSourceBlock["Fuente de Datos (ej., Archivo o Red)"] --> AV1ParseBlock; AV1ParseBlock --> AV1DecoderBlock["Bloque Decodificador AV1"]; AV1DecoderBlock --> VideoRendererBlock["Bloque Renderizador de Video"]; ``` #### Plataformas[¶](#plataformas "Permanent link") Windows, macOS, Linux, iOS, Android. * * * ### Bloque Parser H.263[¶](#bloque-parser-h263 "Permanent link") El `H263ParseBlock` está diseñado para analizar flujos elementales de video H.263. Esto es útil para aplicaciones de videoconferencia y video móvil más antiguas. #### Información del bloque[¶](#informacion-del-bloque_1 "Permanent link") Nombre: `H263ParseBlock`. Dirección del pin Tipo de medio Cantidad de pines Entrada de video video H.263... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Parsers/index.html #### Bloque Servidor RTSP para .Net - VisioForge Help [Saltar a contenido](#bloque-servidor-rtsp-visioforge-media-blocks-sdk-net) # Bloque Servidor RTSP - VisioForge Media Blocks SDK .Net[¶](#bloque-servidor-rtsp-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) El bloque Servidor RTSP crea un endpoint de servidor RTSP (Protocolo de Transmisión en Tiempo Real) para transmitir contenido de audio/video a través de redes. Los clientes pueden conectarse para recibir streams de medios en vivo o grabados con baja latencia. ## Visión General[¶](#vision-general "Permanent link") El RTSPServerBlock proporciona una implementación completa de servidor de streaming RTSP con las siguientes capacidades: - **Soporte Multi-Cliente**: Maneja conexiones simultáneas de múltiples clientes RTSP - **Cumplimiento de Estándares**: Compatible con VLC, FFmpeg, GStreamer y visores de cámaras IP - **Codecs de Video**: H.264, H.265 y otros formatos comprimidos - **Codecs de Audio**: AAC, MP3, Opus y otros formatos - **Protocolos de Transporte**: RTP/RTCP para entrega confiable de medios - **Autenticación**: Soporte opcional de autenticación RTSP - **Configurable**: Vinculación de puerto personalizada y puntos de montaje - **Baja Latencia**: Optimizado para aplicaciones de streaming en tiempo real ## Información del Bloque[¶](#informacion-del-bloque "Permanent link") Nombre: RTSPServerBlock. Dirección del pin Tipo de medio Cantidad de pines Entrada de video video comprimido (H.264, H.265) 1 Entrada de audio audio comprimido (AAC, MP3, etc.) 1 ## Pipeline de Ejemplo[¶](#pipeline-de-ejemplo "Permanent link") ``` graph LR; SystemVideoSourceBlock-->H264EncoderBlock; SystemAudioSourceBlock-->AACEncoderBlock; H264EncoderBlock-->RTSPServerBlock; AACEncoderBlock-->RTSPServerBlock; ``` ## Configuraciones[¶](#configuraciones "Permanent link") El RTSPServerBlock se configura usando `RTSPServerSettings`: ### Propiedades de RTSPServe... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/RTSPServer/index.html #### Sinks de Medios .Net - Archivos y Transmisión en Red - VisioForge Help [Saltar a contenido](#sinks) # Sinks[¶](#sinks "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los sinks son bloques que guardan o transmiten datos. Son los últimos bloques en el pipeline. Opcionalmente, algunos sinks pueden tener pines de salida para pasar datos al siguiente bloque en el pipeline. El SDK proporciona muchos sinks diferentes para diferentes propósitos. **Sinks de archivo** Los siguientes sinks de archivo están disponibles: - [ASF](#asf) - [AVI](#avi) - [Archivo](#archivo-raw) - [MKV](#mkv) - [MOV](#mov) - [MP4](#mp4) - [MPEG-PS](#mpeg-ps) - [MPEG-TS](#mpeg-ts) - [MXF](#mxf) - [OGG](#ogg) - [WAV](#wav) - [WebM](#webm) **Transmisión en red** Los siguientes sinks de transmisión en red están disponibles: - [Facebook Live](#facebook-live) - [HLS](#hls) - [MJPEG sobre HTTP](#mjpeg-sobre-http) - [NDI](#ndi) - [SRT](#srt) - [SRT MPEG-TS](#srt-mpeg-ts) - [RTMP](#rtmp) - [Shoutcast](#shoutcast) - [YouTube Live](#youtube-live) ## Sinks de Archivo[¶](#sinks-de-archivo "Permanent link") ### ASF[¶](#asf "Permanent link") `ASF (Advanced Systems Format)`: Un formato contenedor digital de Microsoft usado para almacenar datos multimedia, diseñado para ser independiente de la plataforma y soportar tipos de medios escalables como audio y video. Use la clase `ASFSinkSettings` para establecer los parámetros. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: AVISinkBlock. Dirección del pin Tipo de medio Cantidad de pines Entrada audio audio/x-raw uno o más audio/mpeg audio/x-ac3 audio/x-alaw audio/x-mulaw audio/x-wma Entrada video video/x-raw uno o más image/jpeg video/x-divx video/x-msmpeg video/mpeg video/x-h263 video/x-h264 video/x-dv video/x-huffyuv video/x-wmv video/x-jpc video/x-vp8 image/png #### Pipeline de ejemplo[¶](#pipeline-de-ejemplo "Permanent link") ``` graph LR; UniversalSourceBlock-->WMVEncod... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Sinks/index.html #### Bloques Fuente en Media Blocks SDK .NET - VisioForge Help [Saltar a contenido](#bloques-fuente-sdk-de-visioforge-media-blocks-net) # Bloques Fuente - SDK de VisioForge Media Blocks .Net[¶](#bloques-fuente-sdk-de-visioforge-media-blocks-net "Permanent link") [SDK de Media Blocks .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques fuente proporcionan datos al pipeline y son típicamente los primeros bloques en cualquier cadena de procesamiento de medios. El SDK de VisioForge Media Blocks .Net proporciona una colección completa de bloques fuente para diversas entradas incluyendo dispositivos hardware, archivos, redes y fuentes virtuales. ## Bloques Fuente de Hardware[¶](#bloques-fuente-de-hardware "Permanent link") ### Fuente de Video del Sistema[¶](#fuente-de-video-del-sistema "Permanent link") SystemVideoSourceBlock se usa para acceder a webcams y otros dispositivos de captura de video. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: SystemVideoSourceBlock. Dirección del pin Tipo de medio Conteo de pines Salida de video video sin comprimir 1 #### Enumerar dispositivos disponibles[¶](#enumerar-dispositivos-disponibles "Permanent link") Use el método `DeviceEnumerator.Shared.VideoSourcesAsync()` para obtener una lista de dispositivos disponibles y sus especificaciones: resoluciones disponibles, tasas de frames y formatos de video. Este método devuelve una lista de objetos `VideoCaptureDeviceInfo`. Cada objeto `VideoCaptureDeviceInfo` proporciona información detallada sobre un dispositivo de captura. #### El pipeline de muestra[¶](#el-pipeline-de-muestra "Permanent link") ``` graph LR; SystemVideoSourceBlock-->VideoRendererBlock; ``` #### Código de muestra[¶](#codigo-de-muestra "Permanent link") `[](#__codelineno-0-1)// crear pipeline [](#__codelineno-0-2)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-3)[](#__codelineno-0-4)// crear fuente de video [](#__codelineno-0-5)VideoCaptureDeviceSourceSettings videoSourceSettings = null; [](#__codel... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Sources/index.html #### Bloques Especiales y Personalizados en Media Blocks SDK - VisioForge Help [Saltar a contenido](#bloques-especiales) # Bloques especiales[¶](#bloques-especiales "Permanent link") [SDK de Media Blocks .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Los bloques especiales son bloques que no encajan en ninguna otra categoría. ## Null Renderer[¶](#null-renderer "Permanent link") El bloque null renderer envía los datos a null. Este bloque puede ser requerido si su bloque tiene salidas que no quiere usar. ### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: NullRendererBlock. Dirección del pin Tipo de medio Conteo de pines Entrada Cualquiera 1 ### El pipeline de muestra[¶](#el-pipeline-de-muestra "Permanent link") El pipeline de muestra se muestra abajo. Lee un archivo y envía los datos de video al grabber de muestras de video, donde puede grabar cada frame de video después de decodificación. El bloque Null renderer se usa para terminar el pipeline. ``` graph LR; UniversalSourceBlock-->VideoSampleGrabberBlock; VideoSampleGrabberBlock-->NullRendererBlock; ``` ### Código de muestra[¶](#codigo-de-muestra "Permanent link") `[](#__codelineno-0-1)private void Start() [](#__codelineno-0-2){ [](#__codelineno-0-3) // crear el pipeline [](#__codelineno-0-4) var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-5) [](#__codelineno-0-6) // crear bloque fuente universal [](#__codelineno-0-7) var filename = "test.mp4"; [](#__codelineno-0-8) var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename))); [](#__codelineno-0-9) [](#__codelineno-0-10) // crear bloque grabber de muestras de video y agregar el manejador de eventos [](#__codelineno-0-11) var sampleGrabber = new VideoSampleGrabberBlock(); [](#__codelineno-0-12) sampleGrabber.OnVideoFrameBuffer += sampleGrabber_OnVideoFrameBuffer; [](#__codelineno-0-13) [](#__codelineno-0-14) // crear bloque null renderer [](#__codelineno... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/Special/index.html #### Decodificadores de Video - VisioForge Help [Saltar a contenido](#bloques-decodificadores-de-video-sdk-de-visioforge-media-blocks-net) * * * title: Bloques Decodificadores de Video de VisioForge Media Blocks SDK .Net description: Descomprime streams de video con decodificadores hardware-acelerados: H.264, HEVC, VP9 y más códecs en pipelines de Media Blocks SDK. sidebar\_label: Decodificadores de Video * * * # Bloques Decodificadores de Video - SDK de VisioForge Media Blocks .Net[¶](#bloques-decodificadores-de-video-sdk-de-visioforge-media-blocks-net "Permanent link") [SDK de Media Blocks .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques Decodificadores de Video son componentes esenciales en un pipeline de medios, responsables de descomprimir streams de video codificados en frames de video raw que pueden procesarse o renderizarse posteriormente. El SDK de VisioForge Media Blocks .Net ofrece una variedad de bloques decodificadores de video soportando numerosos códecs y tecnologías de aceleración de hardware. ## Bloques Decodificadores de Video Disponibles[¶](#bloques-decodificadores-de-video-disponibles "Permanent link") ### Bloque Decodificador H264[¶](#bloque-decodificador-h264 "Permanent link") Decodifica streams de video H.264 (AVC). Este es uno de los estándares de compresión de video más utilizados. El bloque puede utilizar diferentes implementaciones de decodificador subyacentes como FFMPEG, OpenH264, o decodificadores acelerados por hardware si están disponibles. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: `H264DecoderBlock`. Dirección del pin Tipo de medio Conteo de pines Entrada de video video H.264 codificado 1 Salida de video video sin comprimir 1 #### Ajustes[¶](#ajustes "Permanent link") El `H264DecoderBlock` está configurado usando ajustes que implementan `IH264DecoderSettings`. Las clases de ajustes disponibles incluyen: - `FFMPEGH264DecoderSettings` - `OpenH264DecoderSettings` - `NVH264DecoderSettings` (para acelerac... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/VideoDecoders/index.html #### Dominando los Codificadores de Video en .NET SDK - VisioForge Help [Saltar a contenido](#codificacion-de-video) # Codificación de video[¶](#codificacion-de-video "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) La codificación de video es el proceso de convertir datos de video sin comprimir en un formato comprimido. Este proceso es esencial para reducir el tamaño de los archivos de video, facilitando su almacenamiento y transmisión por internet. VisioForge Media Blocks SDK proporciona una amplia gama de codificadores de video que soportan varios formatos y códecs. Para algunos codificadores de video, el SDK puede usar aceleración GPU para acelerar el proceso de codificación. Esta característica es especialmente útil cuando se trabaja con archivos de video de alta resolución o cuando se codifican múltiples videos simultáneamente. Se soportan GPUs NVidia, Intel y AMD para aceleración de hardware. ## Codificador AV1[¶](#codificador-av1 "Permanent link") `AV1 (AOMedia Video 1)`: Desarrollado por la Alliance for Open Media, AV1 es un formato de codificación de video abierto y libre de regalías diseñado para transmisiones de video por Internet. Es conocido por su alta eficiencia de compresión y mejor calidad a tasas de bits más bajas en comparación con sus predecesores, haciéndolo adecuado para aplicaciones de streaming de video de alta resolución. Usa clases que implementan la interfaz `IAV1EncoderSettings` para establecer los parámetros. #### Codificadores CPU[¶](#codificadores-cpu "Permanent link") ##### AOMAV1EncoderSettings[¶](#aomav1encodersettings "Permanent link") Configuraciones del codificador AOM AV1. Codificador CPU. **Plataformas:** Windows, Linux, macOS. ##### RAV1EEncoderSettings[¶](#rav1eencodersettings "Permanent link") Configuraciones del codificador RAV1E AV1. Codificador CPU. - **Propiedades clave**: - `Bitrate` (entero): Tasa de bits objetivo en kilobits por segundo. - `LowLatency` (booleano): Habilita o deshabilita el modo de baja latencia. Predetermi... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/VideoEncoders/index.html #### Guía de uso de OverlayManagerBlock - VisioForge Help [Saltar a contenido](#guia-de-uso-del-bloque-overlay-manager) # Guía de Uso del Bloque Overlay Manager[¶](#guia-de-uso-del-bloque-overlay-manager "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El `OverlayManagerBlock` es un componente poderoso de MediaBlocks que proporciona composición dinámica de superposiciones de video multicapa y gestión. Te permite agregar varios elementos de superposición (imágenes, texto, formas, animaciones) sobre el contenido de video con actualizaciones en tiempo real, gestión de capas y características avanzadas como sombras, rotación y control de opacidad. ## Características Principales[¶](#caracteristicas-principales "Permanent link") - **Múltiples Tipos de Superposición**: Texto, texto desplazable, imágenes, GIFs, SVG, formas (rectángulos, círculos, triángulos, estrellas, líneas), video en vivo (NDI, Decklink) - **Efectos Squeezeback**: Escala el video a un rectángulo personalizado con imagen superpuesta (estilo broadcast) - **Transformaciones de Video**: Efectos de zoom y panorámica que transforman todo el cuadro de video - **Soporte de Animación**: Anima la posición/escala del video con funciones de suavizado - **Efectos de Desvanecimiento**: Fade in/out para video y elementos superpuestos - **Gestión de Capas**: Ordenamiento por z-index para apilamiento correcto de superposiciones - **Efectos Avanzados**: Sombras, rotación, opacidad, posicionamiento personalizado - **Actualizaciones en Tiempo Real**: Modificación dinámica de superposiciones durante la reproducción - **Visualización Basada en Tiempo**: Mostrar/ocultar superposiciones en marcas de tiempo específicas - **Dibujo Personalizado**: Soporte de callback para operaciones de dibujo Cairo personalizadas - **Fuentes de Video en Vivo**: Soporte para fuentes de red NDI y tarjetas de captura Decklink - **Multiplataforma**: Funciona en Windows, Linux, macOS, iOS y Android ## Referencia de Clase[¶](#referencia-de-cl... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/VideoProcessing/OverlayManagerBlock/index.html #### Bloques de Procesamiento y Efectos de Video (.NET) - VisioForge Help [Saltar a contenido](#bloques-de-procesamiento-de-video) # Bloques de procesamiento de video[¶](#bloques-de-procesamiento-de-video "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Envejecimiento](#envejecimiento) - [Combinación Alfa](#combinacion-alfa) - [Desentrelazado Automático](#desentrelazado-automatico) - [Bayer a RGB](#bayer-a-rgb) - [Croma Key](#croma-key) - [Demux Alfa de Codec](#demux-alfa-de-codec) - [Efectos de Color](#efectos-de-color) - [Desentrelazado](#desentrelazado) - [Dados](#dados) - [Borde](#borde) - [Ojo de Pez](#ojo-de-pez) - [Voltear/Girar](#volteargirar) - [Gamma](#gamma) - [Desenfoque Gaussiano](#desenfoque-gaussiano) - [Escala de Grises](#escala-de-grises) - [Superposición de Imagen](#superposicion-de-imagen) - [Superposición de Imagen Cairo](#superposicion-de-imagen-cairo) - [Entrelazado](#entrelazado) - [Detector de Fotograma Clave](#detector-de-fotograma-clave) - [Procesador LUT](#procesador-lut) - [Espejo](#espejo) - [Desenfoque en Movimiento](#desenfoque-en-movimiento) - [Eco en Movimiento](#eco-en-movimiento) - [Eco de Zoom en Movimiento](#eco-de-zoom-en-movimiento) - [Animación Óptica BW](#animacion-optica-bw) - [Administrador de Superposiciones](#administrador-de-superposiciones) - [Perspectiva](#perspectiva) - [Pellizco](#pellizco) - [Pseudo 3D](#pseudo-3d) - [Superposición de Código QR](#superposicion-de-codigo-qr) - [Quark](#quark) - [Cambiar Tamaño](#cambiar-tamano) - [Ondulación](#ondulacion) - [Girar](#girar) - [Esquinas Redondeadas](#esquinas-redondeadas) - [SMPTE](#smpte) - [SMPTE Alfa](#smpte-alfa) - [Superposición SVG](#superposicion-svg) - [Marca de Video Simple](#marca-de-video-simple) - [Detección de Marca de Video Simple](#deteccion-de-marca-de-video-simple) - [Suavizar](#suavizar) - [Capturador de Muestra de Video](#cap... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/VideoProcessing/index.html #### Bloque Renderizador de Video Media Streaming SDK - VisioForge Help [Saltar a contenido](#bloque-renderizador-de-video) # Bloque Renderizador de Video[¶](#bloque-renderizador-de-video "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Visión General[¶](#vision-general "Permanent link") El bloque Renderizador de Video es un componente esencial diseñado para desarrolladores que necesitan mostrar flujos de video en sus aplicaciones. Esta poderosa herramienta le permite renderizar contenido de video en áreas específicas de ventanas o pantallas a través de varias plataformas y frameworks de UI. El bloque utiliza un control visual específico de plataforma llamado `VideoView` que aprovecha la tecnología DirectX en sistemas Windows e implementa típicamente renderizado OpenGL en otras plataformas. El SDK soporta completamente el desarrollo multiplataforma con compatibilidad para los frameworks de UI Avalonia y MAUI. Una de las ventajas clave de este bloque es su flexibilidad - los desarrolladores pueden implementar múltiples vistas de video y renderizadores para mostrar el mismo flujo de video en diferentes ubicaciones simultáneamente, ya sea en secciones separadas de una ventana o a través de múltiples ventanas. ## Tecnologías de Renderizado[¶](#tecnologias-de-renderizado "Permanent link") ### Integración DirectX[¶](#integracion-directx "Permanent link") En plataformas Windows, el Bloque Renderizador de Video se integra perfectamente con DirectX para renderizado acelerado por hardware de alto rendimiento. Esta integración proporciona varios beneficios: - **Aceleración de hardware**: Utiliza la GPU para procesamiento y renderizado eficiente de video - **Reproducción de baja latencia**: Minimiza el retraso entre el procesamiento de frames y la visualización - **Compartición de superficies Direct3D**: Permite gestión eficiente de memoria y copia reducida de datos de video - **Soporte de múltiples pantallas**: Maneja el renderizado a través de varias configuraciones de pantalla -... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/VideoRendering/index.html #### Bloques de Plataforma Apple para .Net - VisioForge Help [Saltar a contenido](#bloques-de-plataforma-apple-visioforge-media-blocks-sdk-net) # Bloques de Plataforma Apple - VisioForge Media Blocks SDK .Net[¶](#bloques-de-plataforma-apple-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques de plataforma Apple proporcionan funcionalidad específica para dispositivos iOS y macOS. Estos bloques aprovechan los frameworks nativos de Apple como AVFoundation y VideoToolbox para proporcionar captura y procesamiento de medios optimizados. ## Bloques de Fuente iOS[¶](#bloques-de-fuente-ios "Permanent link") ### Bloque de Fuente de Video iOS[¶](#bloque-de-fuente-de-video-ios "Permanent link") El `IOSVideoSourceBlock` proporciona captura de video desde la cámara del dispositivo en plataformas iOS. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: IOSVideoSourceBlock. Dirección del pin Tipo de medio Cantidad de pines Salida video Video sin comprimir 1 #### Configuración[¶](#configuracion "Permanent link") `IOSVideoSourceBlock` se configura usando `VideoCaptureDeviceSourceSettings` que hereda de configuraciones genéricas de captura de video. Propiedades clave: - `Device` (`VideoCaptureDeviceInfo`): El dispositivo de cámara a usar. - `Format` (`VideoCaptureDeviceFormat`): El formato de video seleccionado incluyendo resolución y tasa de fotogramas. #### Enumerar dispositivos disponibles[¶](#enumerar-dispositivos-disponibles "Permanent link") `[](#__codelineno-0-1)var devices = await DeviceEnumerator.Shared.VideoSourcesAsync(); [](#__codelineno-0-2)foreach (var device in devices) [](#__codelineno-0-3){ [](#__codelineno-0-4) Console.WriteLine($"Dispositivo: {device.Name}"); [](#__codelineno-0-5) foreach (var format in device.VideoFormats) [](#__codelineno-0-6) { [](#__codelineno-0-7) Console.WriteLine($" Formato: {format.Width}x{format.Height}"); [](#__codelineno-0-8) }... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/_Apple/index.html #### Bloques de Plataforma Linux para .Net - VisioForge Help [Saltar a contenido](#bloques-de-plataforma-linux-visioforge-media-blocks-sdk-net) # Bloques de Plataforma Linux - VisioForge Media Blocks SDK .Net[¶](#bloques-de-plataforma-linux-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques de plataforma Linux proporcionan funcionalidad específica para sistemas Linux. Estos bloques aprovechan las APIs nativas de Linux como V4L2 (Video4Linux2), PulseAudio, ALSA y VAAPI para proporcionar captura y procesamiento de medios optimizados. ## Bloques de Fuente de Video Linux[¶](#bloques-de-fuente-de-video-linux "Permanent link") ### Bloque de Fuente V4L2[¶](#bloque-de-fuente-v4l2 "Permanent link") El `V4L2SourceBlock` (Video4Linux2) proporciona captura de video desde webcams y otros dispositivos de video en Linux. #### Información del bloque[¶](#informacion-del-bloque "Permanent link") Nombre: V4L2SourceBlock. Dirección del pin Tipo de medio Cantidad de pines Salida video Video sin comprimir 1 #### Configuración[¶](#configuracion "Permanent link") `V4L2SourceBlock` se configura usando configuraciones estándar de dispositivo de captura de video. Propiedades clave: - `Device` (`VideoCaptureDeviceInfo`): El dispositivo de video a usar. - `Format` (`VideoCaptureDeviceFormat`): El formato de video incluyendo resolución, tasa de fotogramas y formato de píxel. #### Enumerar dispositivos disponibles[¶](#enumerar-dispositivos-disponibles "Permanent link") `[](#__codelineno-0-1)// Enumerar dispositivos de video en Linux [](#__codelineno-0-2)var devices = await DeviceEnumerator.Shared.VideoSourcesAsync(); [](#__codelineno-0-3)foreach (var device in devices) [](#__codelineno-0-4){ [](#__codelineno-0-5) Console.WriteLine($"Dispositivo: {device.Name}"); [](#__codelineno-0-6) Console.WriteLine($" Ruta: {device.DevicePath}"); [](#__codelineno-0-7) foreach (var format in device.VideoFormats) [](#__codelineno-0-8) {... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/_Linux/index.html #### Bloques de Plataforma Windows para .Net - VisioForge Help [Saltar a contenido](#bloques-de-plataforma-windows-visioforge-media-blocks-sdk-net) # Bloques de Plataforma Windows - VisioForge Media Blocks SDK .Net[¶](#bloques-de-plataforma-windows-visioforge-media-blocks-sdk-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) Los bloques de plataforma Windows proporcionan funcionalidad específica para sistemas Windows. Estos bloques aprovechan las APIs nativas de Windows como DirectShow, Media Foundation, WASAPI, Direct3D 11 y DXVA para proporcionar captura y procesamiento de medios optimizados. ## Bloques de Fuente de Video Windows[¶](#bloques-de-fuente-de-video-windows "Permanent link") ### Fuente de Video DirectShow[¶](#fuente-de-video-directshow "Permanent link") DirectShow proporciona acceso a una amplia variedad de dispositivos de captura de video en Windows, incluyendo webcams USB, tarjetas de captura y sintonizadores de TV. #### Configuración[¶](#configuracion "Permanent link") Use `VideoCaptureDeviceSourceSettings` con la API `DirectShow` para acceder a dispositivos DirectShow. #### Enumerar dispositivos[¶](#enumerar-dispositivos "Permanent link") `[](#__codelineno-0-1)// Enumerar dispositivos DirectShow [](#__codelineno-0-2)var devices = await DeviceEnumerator.Shared.VideoSourcesAsync(VideoCaptureDeviceAPI.DirectShow); [](#__codelineno-0-3)foreach (var device in devices) [](#__codelineno-0-4){ [](#__codelineno-0-5) Console.WriteLine($"Dispositivo: {device.Name}"); [](#__codelineno-0-6) foreach (var format in device.VideoFormats) [](#__codelineno-0-7) { [](#__codelineno-0-8) Console.WriteLine($" Formato: {format.Width}x{format.Height} @ {format.FrameRateList[0]}fps"); [](#__codelineno-0-9) } [](#__codelineno-0-10)}` #### Código de ejemplo[¶](#codigo-de-ejemplo "Permanent link") `[](#__codelineno-1-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-1-2)[](#__codelineno-1-3)// Seleccionar dispositivo DirectShow []... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/_Windows/index.html #### Guía de Integración de Media Blocks SDK para .NET - VisioForge Help [Saltar a contenido](#plataforma-de-desarrollo-media-blocks-sdk-para-net) # Plataforma de Desarrollo Media Blocks SDK para .NET[¶](#plataforma-de-desarrollo-media-blocks-sdk-para-net "Permanent link") [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## ¿Qué es Media Blocks SDK?[¶](#que-es-media-blocks-sdk "Permanent link") Media Blocks SDK para .NET permite a los desarrolladores diseñar aplicaciones multimedia sofisticadas con precisión y flexibilidad. Este potente toolkit proporciona todo lo necesario para implementar reproducción de video de grado profesional, sistemas de edición no lineal y soluciones de captura de cámara multi-fuente. La arquitectura modular permite a los desarrolladores seleccionar y combinar solo los componentes específicos requeridos para cada proyecto, optimizando tanto el rendimiento como el uso de recursos en tus aplicaciones. ## ¿Por Qué Elegir Media Blocks para Tu Proyecto?[¶](#por-que-elegir-media-blocks-para-tu-proyecto "Permanent link") Nuestro enfoque basado en componentes te da control granular sobre tu pipeline de medios. Cada bloque especializado maneja una función distinta dentro de la cadena de procesamiento multimedia: - Codificación de video H264/H265 de alto rendimiento - Inserción de logo y marca de agua de grado profesional - Mezcla y composición multi-stream - Renderizado de video acelerado por hardware - Compatibilidad multiplataforma Este diseño modular te permite construir precisamente el flujo de trabajo de procesamiento multimedia que tu aplicación requiere, sin sobrecarga innecesaria. [Comenzar con Media Blocks SDK](GettingStarted/) ## Componentes y Capacidades Principales del SDK[¶](#componentes-y-capacidades-principales-del-sdk "Permanent link") ### Componentes de Procesamiento de Audio[¶](#componentes-de-procesamiento-de-audio "Permanent link") - [Codificadores de Audio](AudioEncoders/) - Convierte streams de audio crudos a formatos comprimidos AAC, MP3 y otros c... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediablocks/index.html #### Extrayendo Frames de Video en .NET - Guía Completa - VisioForge Help [Saltar a contenido](#extrayendo-frames-de-video-de-archivos-de-video-en-net) # Extrayendo Frames de Video de Archivos de Video en .NET[¶](#extrayendo-frames-de-video-de-archivos-de-video-en-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) La extracción de frames de video es un requisito común en muchas aplicaciones multimedia. Ya sea que estés construyendo una herramienta de edición de video, creando miniaturas, o realizando análisis de video, extraer frames específicos de archivos de video es una capacidad esencial. Esta guía explica diferentes enfoques para capturar frames de archivos de video en aplicaciones .NET. ## ¿Por Qué Extraer Frames de Video?[¶](#por-que-extraer-frames-de-video "Permanent link") Hay numerosos casos de uso para extracción de frames de video: - Crear imágenes en miniatura para galerías de video - Extraer frames clave para análisis de video - Generar imágenes de vista previa en marcas de tiempo específicas - Construir herramientas de edición de video con precisión frame por frame - Crear secuencias timelapse de material de video - Capturar imágenes fijas de grabaciones de video ## Entendiendo la Extracción de Frames de Video[¶](#entendiendo-la-extraccion-de-frames-de-video "Permanent link") Los archivos de video contienen secuencias de frames mostrados en intervalos específicos para crear la ilusión de movimiento. Al extraer un frame, esencialmente estás capturando una sola imagen en una marca de tiempo específica dentro del video. Este proceso involucra: 1. Abrir el archivo de video 2. Buscar la marca de tiempo específica 3. Decodificar los datos del frame 4. Convertirlo a un formato de imagen ## Métodos de Extracción de Frames en .NET[¶](#metodos-de-extraccion-de-frames-en-net "Permanent link") Hay varios enfoques para extraer frames de archivos de video en .NET, dependiendo de tus requisitos y entorno. ### Usando Componentes SDK Específicos de Windows[¶](#usando... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/get-frame-from-video-file/index.html #### Index - VisioForge Help [Saltar a contenido](#ejemplos-de-codigo-media-player-sdk) * * * title: Ejemplos de Código de Media Player SDK description: Ejemplos prácticos de Media Player SDK .Net: reproducción, streaming, efectos de video, control de audio y más funciones avanzadas. * * * # Ejemplos de Código - Media Player SDK[¶](#ejemplos-de-codigo-media-player-sdk "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Esta sección contiene ejemplos de código prácticos para diferentes escenarios de reproducción multimedia. ## Ejemplos Disponibles[¶](#ejemplos-disponibles "Permanent link") ### Reproducción Básica[¶](#reproduccion-basica "Permanent link") - Reproducción de archivos locales - Reproducción de URLs - Control de volumen y balance ### Streaming[¶](#streaming "Permanent link") - Reproducción de flujos RTSP - Reproducción de HLS/DASH - Manejo de autenticación ### Efectos y Procesamiento[¶](#efectos-y-procesamiento "Permanent link") - Ajustes de video (brillo, contraste) - Captura de fotogramas - Superposición de texto ## Ejemplo: Reproductor Básico[¶](#ejemplo-reproductor-basico "Permanent link") `[](#__codelineno-0-1)public class SimplePlayer [](#__codelineno-0-2){ [](#__codelineno-0-3) private MediaPlayerCore _player; [](#__codelineno-0-4) [](#__codelineno-0-5) public SimplePlayer(VideoView videoView) [](#__codelineno-0-6) { [](#__codelineno-0-7) _player = new MediaPlayerCore(); [](#__codelineno-0-8) _player.Video_Renderer.VideoView = videoView; [](#__codelineno-0-9) [](#__codelineno-0-10) // Configurar eventos [](#__codelineno-0-11) _player.OnStop += OnPlaybackStopped; [](#__codelineno-0-12) _player.OnError += OnPlaybackError; [](#__codelineno-0-13) } [](#__codelineno-0-14) [](#__codelineno-0-15) public async Task PlayFileAsync(string filePath) [](#__codelineno-0-16) { [](#__codelineno-0-17)... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/index.html #### Reproducir Medios desde Memoria en SDK .NET - VisioForge Help [Saltar a contenido](#reproducir-medios-desde-memoria-en-sdk-net) # Reproducir Medios desde Memoria en SDK .NET[¶](#reproducir-medios-desde-memoria-en-sdk-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Introducción a la Reproducción de Medios Basada en Memoria[¶](#introduccion-a-la-reproduccion-de-medios-basada-en-memoria "Permanent link") La reproducción basada en memoria ofrece una alternativa poderosa al consumo tradicional de medios basado en archivos en aplicaciones .NET. Al cargar y procesar medios directamente desde la memoria, los desarrolladores pueden lograr reproducción más receptiva, seguridad mejorada a través de acceso reducido a archivos, y mayor flexibilidad en el manejo de diferentes fuentes de datos. Esta guía explora los varios enfoques para implementar reproducción basada en memoria en tus aplicaciones .NET, completa con ejemplos de código y mejores prácticas. ## Ventajas de la Reproducción de Medios Basada en Memoria[¶](#ventajas-de-la-reproduccion-de-medios-basada-en-memoria "Permanent link") Antes de sumergirnos en los detalles de implementación, entendamos por qué la reproducción basada en memoria es valiosa: - **Rendimiento mejorado**: Al eliminar operaciones de E/S de archivos durante la reproducción, tu aplicación puede entregar experiencias de medios más fluidas. - **Seguridad mejorada**: El contenido de medios no necesita almacenarse como archivos accesibles en el sistema de archivos. - **Procesamiento de streams**: Trabaja con datos de varias fuentes, incluyendo streams de red, contenido encriptado, o medios generados dinámicamente. - **Sistemas de archivos virtuales**: Implementa patrones de acceso a medios personalizados sin dependencias del sistema de archivos. - **Transformaciones en memoria**: Aplica modificaciones en tiempo real al contenido de medios antes de la reproducción. ## Enfoques de Implementación[¶](#enfoques-de-implementacion "Permanent link") ###... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/memory-playback/index.html #### Reproducir Segmentos Video & Audio en Apps C# .NET - VisioForge Help [Saltar a contenido](#reproduciendo-fragmentos-de-archivos-de-medios-guia-de-implementacion-para-desarrolladores-net) # Reproduciendo Fragmentos de Archivos de Medios: Guía de Implementación para Desarrolladores .NET[¶](#reproduciendo-fragmentos-de-archivos-de-medios-guia-de-implementacion-para-desarrolladores-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Al desarrollar aplicaciones de medios, una característica frecuentemente solicitada es la capacidad de reproducir segmentos específicos de un archivo de video o audio. Esta funcionalidad es crucial para crear editores de video, compilaciones de momentos destacados, plataformas educativas, o cualquier aplicación que requiera reproducción precisa de segmentos de medios. ## Entendiendo la Reproducción de Fragmentos en Aplicaciones .NET[¶](#entendiendo-la-reproduccion-de-fragmentos-en-aplicaciones-net "Permanent link") La reproducción de fragmentos te permite definir segmentos de tiempo específicos de un archivo de medios para reproducción, efectivamente creando clips sin modificar el archivo fuente. Esta técnica es particularmente útil cuando necesitas: - Crear segmentos de vista previa de archivos de medios más largos - Enfocarte en secciones específicas de videos instructivos - Crear segmentos en bucle para demostraciones o presentaciones - Construir reproductores de medios basados en clips para momentos deportivos o compilaciones de video - Implementar aplicaciones de entrenamiento que se enfoquen en segmentos de video específicos El Media Player SDK .NET proporciona dos motores principales para implementar reproducción de fragmentos, cada uno con su propio enfoque y consideraciones de compatibilidad de plataforma. ## Implementación Solo Windows: Motor MediaPlayerCore[¶](#implementacion-solo-windows-motor-mediaplayercore "Permanent link") El motor MediaPlayerCore proporciona una implementación directa para aplicaciones Windows. Esta solución fun... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/play-fragment-file/index.html #### Guía de API de Playlist de Media Player SDK .Net - VisioForge Help [Saltar a contenido](#guia-completa-para-implementacion-de-api-de-playlist-en-net) # Guía Completa para Implementación de API de Playlist en .NET[¶](#guia-completa-para-implementacion-de-api-de-playlist-en-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [MediaPlayerCore](#) ## Introducción a la Gestión de Playlist[¶](#introduccion-a-la-gestion-de-playlist "Permanent link") La API de Playlist proporciona una forma poderosa y flexible de gestionar contenido de medios en tus aplicaciones .NET. Ya sea que estés desarrollando un reproductor de música, aplicación de video, o cualquier software centrado en medios, la gestión eficiente de playlists es esencial para entregar una experiencia de usuario fluida. Esta guía cubre todo lo que necesitas saber sobre implementar funcionalidad de playlist usando el componente MediaPlayerCore. Aprenderás cómo crear playlists, navegar entre pistas, manejar eventos de playlist y optimizar rendimiento en varios entornos .NET. ## Características y Beneficios Clave[¶](#caracteristicas-y-beneficios-clave "Permanent link") - **Integración Simple**: API fácil de implementar que se integra perfectamente con aplicaciones .NET existentes - **Compatibilidad de Formatos**: Soporte para una amplia gama de formatos de audio y video - **Multiplataforma**: Funciona consistentemente en aplicaciones WinForms, WPF y consola - **Rendimiento Optimizado**: Construido para uso eficiente de memoria y reproducción receptiva - **Arquitectura Basada en Eventos**: Sistema de eventos rico para construir experiencias UI reactivas ## Comenzando con la API de Playlist[¶](#comenzando-con-la-api-de-playlist "Permanent link") Antes de sumergirte en métodos específicos, asegura que hayas inicializado correctamente el componente MediaPlayer en tu aplicación. Las siguientes secciones contienen ejemplos de código prácticos que puedes implementar directamente en tu proyecto. ### Creando Tu Primera Playlist[... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/playlist-api/index.html #### Reproducción de Video en Reversa en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#implementando-reproduccion-de-video-en-reversa-en-aplicaciones-net) # Implementando Reproducción de Video en Reversa en Aplicaciones .NET[¶](#implementando-reproduccion-de-video-en-reversa-en-aplicaciones-net "Permanent link") Reproducir video en reversa es una característica poderosa para aplicaciones multimedia, permitiendo a los usuarios revisar contenido, crear efectos visuales únicos, o mejorar la experiencia de usuario con opciones de reproducción no lineal. Esta guía proporciona implementaciones completas para reproducción en reversa en aplicaciones .NET, enfocándose tanto en soluciones multiplataforma como específicas de Windows. ## Entendiendo los Mecanismos de Reproducción en Reversa[¶](#entendiendo-los-mecanismos-de-reproduccion-en-reversa "Permanent link") La reproducción de video en reversa puede lograrse a través de varias técnicas, cada una con ventajas distintas dependiendo de los requisitos de tu aplicación: 1. **Reproducción en reversa basada en tasa** - Establecer una tasa de reproducción negativa para invertir el flujo de video 2. **Navegación hacia atrás fotograma a fotograma** - Retroceder manualmente a través de fotogramas de video almacenados en caché 3. **Enfoques basados en buffer** - Crear un buffer de fotogramas para habilitar navegación en reversa fluida Exploremos cómo implementar cada enfoque usando el Media Player SDK para .NET. ## Reproducción en Reversa Multiplataforma con MediaPlayerCoreX[¶](#reproduccion-en-reversa-multiplataforma-con-mediaplayercorex "Permanent link") El motor MediaPlayerCoreX proporciona soporte multiplataforma para reproducción de video en reversa con una implementación directa. Este enfoque funciona en Windows, macOS y otras plataformas soportadas. ### Implementación Básica[¶](#implementacion-basica "Permanent link") El método más simple para reproducción en reversa implica establecer un valor de tasa negativo: `[](#__codelineno-0-1)// Crear nueva instancia de MediaPlayer... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/reverse-video-playback/index.html #### Mostrar el Primer Fotograma de Video en .NET - VisioForge Help [Saltar a contenido](#mostrando-el-primer-fotograma-de-archivos-de-video-en-aplicaciones-net) # Mostrando el Primer Fotograma de Archivos de Video en Aplicaciones .NET[¶](#mostrando-el-primer-fotograma-de-archivos-de-video-en-aplicaciones-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) [VideoCaptureCore](#) ## Descripción General[¶](#descripcion-general "Permanent link") Cuando se desarrollan aplicaciones multimedia, a menudo es necesario previsualizar el contenido de video sin reproducir el archivo completo. Esta técnica es particularmente útil para crear galerías de miniaturas, pantallas de selección de video, o proporcionar a los usuarios una vista previa visual antes de comprometerse a ver un video. ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") El SDK de Media Player .NET proporciona una forma simple pero poderosa de mostrar el primer fotograma de cualquier archivo de video. Esto se logra a través de la propiedad `Play_PauseAtFirstFrame`, que cuando se establece en `true`, instruye al reproductor a pausar inmediatamente después de cargar el primer fotograma. ### Cómo Funciona[¶](#como-funciona "Permanent link") Cuando la propiedad `Play_PauseAtFirstFrame` está habilitada: 1. El reproductor carga el archivo de video 2. Renderiza el primer fotograma en la superficie de visualización de video 3. Pausa automáticamente la reproducción 4. Mantiene el primer fotograma en pantalla hasta una acción posterior del usuario Si esta propiedad no está habilitada (establecida en `false`), el reproductor procederá con la reproducción normal después de cargar. ## Implementación de Código[¶](#implementacion-de-codigo "Permanent link") ### Ejemplo Básico[¶](#ejemplo-basico "Permanent link") `[](#__codelineno-0-1)// crear reproductor y configurar el nombre del archivo [](#__codelineno-0-2)// ... [](#__codelineno-0-3)[](#__codelineno-0-4)// establecer la propiedad en true [](#__codelineno-0-5)... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/code-samples/show-first-frame/index.html #### Guía de Despliegue de Media Player SDK .Net - VisioForge Help [Saltar a contenido](#guia-de-despliegue-de-media-player-sdk-net) # Guía de Despliegue de Media Player SDK .Net[¶](#guia-de-despliegue-de-media-player-sdk-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Esta guía completa cubre todos los escenarios de despliegue para el Media Player SDK .Net, asegurando que tus aplicaciones funcionen correctamente en diferentes entornos. Ya sea que estés desarrollando aplicaciones multiplataforma o soluciones específicas de Windows, esta guía proporciona los pasos necesarios para un despliegue exitoso. ## Descripción General de Tipos de Motor[¶](#descripcion-general-de-tipos-de-motor "Permanent link") El Media Player SDK .Net ofrece dos tipos principales de motor, cada uno diseñado para escenarios de despliegue específicos: ### Motor MediaPlayerCoreX (Multiplataforma)[¶](#motor-mediaplayercorex-multiplataforma "Permanent link") MediaPlayerCoreX es nuestra solución multiplataforma que funciona en múltiples sistemas operativos. Para instrucciones detalladas de despliegue específicas de este motor, consulta la [Guía de Despliegue Multiplataforma](../../deployment-x/) principal. ### Motor MediaPlayerCore (Solo Windows)[¶](#motor-mediaplayercore-solo-windows "Permanent link") El motor MediaPlayerCore está optimizado específicamente para entornos Windows. Cuando despliegues aplicaciones que usan este motor en computadoras sin el SDK preinstalado, debes incluir los componentes necesarios del SDK con tu aplicación. > **Importante**: Para aplicaciones AnyCPU, debes desplegar tanto los redistribuibles x86 como x64 para asegurar compatibilidad en diferentes arquitecturas de sistema. ## Opciones de Despliegue[¶](#opciones-de-despliegue "Permanent link") Hay tres métodos principales para desplegar los componentes del Media Player SDK .Net: 1. Usando paquetes NuGet (recomendado para la mayoría de escenarios) 2. Usando instaladores silenciosos automáticos (requiere privilegios admini... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/deployment/index.html #### SDK de Reproductor Multimedia para Android - VisioForge Help [Saltar a contenido](#sdk-de-reproductor-multimedia-para-android-solucion-profesional-de-reproduccion-de-video) # SDK de Reproductor Multimedia para Android - Solución Profesional de Reproducción de Video[¶](#sdk-de-reproductor-multimedia-para-android-solucion-profesional-de-reproduccion-de-video "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") El SDK de VisioForge para Android permite a los desarrolladores integrar reproducción de video profesional, streaming y edición en aplicaciones nativas de Android. Construido sobre GStreamer, proporciona una API completa para aplicaciones ricas en funcionalidades. El SDK soporta extensos formatos de video, códecs y protocolos de streaming. ## Características Principales[¶](#caracteristicas-principales "Permanent link") ### Reproducción de Video y Streaming[¶](#reproduccion-de-video-y-streaming "Permanent link") Nuestro SDK de reproductor Android ofrece reproducción potente con aceleración por hardware, asegurando un rendimiento óptimo para contenido de alta resolución. Los desarrolladores integran el reproductor usando una API intuitiva con soporte para MP4, MKV, AVI, WebM y otros formatos. El reproductor proporciona control preciso con reproducir, pausar, buscar y navegación. Velocidades de reproducción variables y navegación fotograma a fotograma dan control completo sobre la experiencia de visualización. Transmite contenido desde varias fuentes incluyendo HTTP Live Streaming (HLS), RTSP y RTMP. El streaming de tasa de bits adaptativa ajusta la calidad basada en el ancho de banda para usuarios móviles. ### Edición de Video y Efectos[¶](#edicion-de-video-y-efectos "Permanent link") El SDK incluye capacidades de edición de video para crear aplicaciones de editor. Aplica efectos en tiempo real incluyendo ajustes de brillo, contraste y saturación. Superpone texto, imágenes y gráficos SVG con control sobre p... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/guides/android-player/index.html #### Reproductor Avalonia - VisioForge Help [Saltar a contenido](#reproductor-multimedia-avalonia-con-visioforge) # Reproductor Multimedia Avalonia con VisioForge[¶](#reproductor-multimedia-avalonia-con-visioforge "Permanent link") Esta guía le guiará a través del proceso de construcción de una aplicación de reproductor multimedia multiplataforma utilizando Avalonia UI con el patrón Modelo-Vista-Modelo de Vista (MVVM) y el SDK de Reproductor Multimedia de VisioForge. La aplicación será capaz de reproducir archivos de video en Windows, macOS, Linux, Android e iOS. Haremos referencia al proyecto de ejemplo `SimplePlayerMVVM`, que demuestra los conceptos centrales y los detalles de implementación. ## 1\. Requisitos Previos[¶](#1-requisitos-previos "Permanent link") Antes de comenzar, asegúrese de tener instalado lo siguiente: - .NET SDK (última versión, ej., .NET 8 o más reciente) - Un IDE como Visual Studio, JetBrains Rider o VS Code con extensiones de C# y Avalonia. - Para desarrollo en Android: - Android SDK - Java Development Kit (JDK) - Para desarrollo en iOS (requiere una máquina macOS): - Xcode - Perfiles de aprovisionamiento y certificados necesarios. - VisioForge .NET SDK (MediaPlayer SDK X). Puede obtenerlo desde el sitio web de VisioForge. Los paquetes necesarios se agregarán a través de NuGet. ## 2\. Configuración del Proyecto[¶](#2-configuracion-del-proyecto "Permanent link") Esta sección describe cómo configurar la estructura de la solución e incluir los paquetes necesarios del SDK de VisioForge. ### 2.1. Estructura de la Solución[¶](#21-estructura-de-la-solucion "Permanent link") La solución `SimplePlayerMVVM` consta de varios proyectos: - **SimplePlayerMVVM**: Una biblioteca .NET Standard que contiene la lógica central de la aplicación, incluyendo ViewModels, Views (AXAML) e interfaces compartidas. Este es el proyecto principal donde reside la mayor parte de nuestra lógica de aplicación. - **SimplePlayerMVVM.Android**: El proyecto principal específico para Andr... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/guides/avalonia-player/index.html #### Index - VisioForge Help [Saltar a contenido](#guias-y-tutoriales-avanzados-de-media-player-sdk-net) * * * title: Guías y Tutoriales Avanzados: Media Player SDK description: Domina reproducción en bucle, control de rango de posición y características específicas de plataforma con guías detalladas, ejemplos de código y recursos de soporte. sidebar\_label: Guías Adicionales order: 1 * * * # Guías y Tutoriales Avanzados de Media Player SDK .Net[¶](#guias-y-tutoriales-avanzados-de-media-player-sdk-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") Explora técnicas de implementación avanzadas, guías de uso especializadas y tutoriales para el Media Player SDK .Net. Estos recursos abordan escenarios de desarrollo específicos que requieren enfoques personalizados, incluyendo reproducción en bucle, control de rango de posición, implementaciones específicas de plataforma y más. ## Guías Disponibles[¶](#guias-disponibles "Permanent link") Esta colección curada de guías aborda funcionalidades avanzadas específicas dentro del Media Player SDK .Net. Cada guía proporciona instrucciones prácticas e información para ayudarte a implementar características complejas efectivamente. ### Control y Características de Reproducción[¶](#control-y-caracteristicas-de-reproduccion "Permanent link") Explora guías especializadas sobre control de reproducción de medios con características avanzadas. - [**Modo de Bucle y Reproducción por Rango de Posición**](loop-and-position-range/) - Domina las características de reproducción en bucle y posición de inicio-fin personalizada (reproducción de segmento) para ambos motores MediaPlayerCore (DirectShow) y MediaPlayerCoreX (GStreamer). Esta guía completa cubre el reinicio automático cuando el medio llega al final, reproducción de segmentos específicos entre posiciones de inicio y fin, y combinación de ambos para bucles continuos de segmento. Aprende cómo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/guides/index.html #### Modo de Bucle y Reproducción por Rango de Posición - Media Player SDK - VisioForge Help [Saltar a contenido](#modo-de-bucle-y-reproduccion-por-rango-de-posicion) # Modo de Bucle y Reproducción por Rango de Posición[¶](#modo-de-bucle-y-reproduccion-por-rango-de-posicion "Permanent link") Esta guía explica cómo usar el modo de bucle y las funciones de posición de inicio y fin personalizadas (rango de posición) en el SDK de Media Player para MediaPlayerCore (motor DirectShow) y MediaPlayerCoreX (motor GStreamer). ## Descripción General[¶](#descripcion-general "Permanent link") Ambos motores de Media Player admiten: - **Modo de Bucle**: Reiniciar automáticamente la reproducción cuando el medio llega al final - **Rango de Posición**: Reproducir solo un segmento específico del medio entre posiciones de inicio y fin - **Modo Combinado**: Reproducir un segmento específico del medio continuamente en bucle Estas características son útiles para: - Crear bucles de video para quioscos o pantallas - Vista previa de segmentos específicos - Prueba de porciones específicas de archivos multimedia - Crear bucles de video de fondo sin interrupciones - Aplicaciones educativas que muestran contenido repetido ## MediaPlayerCore (Motor DirectShow)[¶](#mediaplayercore-motor-directshow "Permanent link") MediaPlayerCore es el motor de reproductor de medios basado en DirectShow exclusivo para Windows. ### Propiedades del Modo de Bucle[¶](#propiedades-del-modo-de-bucle "Permanent link") #### Propiedad `Loop`[¶](#propiedad-loop "Permanent link") Habilita o deshabilita la reproducción automática en bucle. `[](#__codelineno-0-1)// Habilitar modo de bucle [](#__codelineno-0-2)mediaPlayer.Loop = true; [](#__codelineno-0-3)[](#__codelineno-0-4)// Deshabilitar modo de bucle [](#__codelineno-0-5)mediaPlayer.Loop = false;` **Valor predeterminado**: `false` **Comportamiento**: - Cuando está habilitado, la reproducción se reinicia automáticamente desde el principio al llegar al final - El evento `OnLoop` se dispara cada vez que se reinicia la reproducción -... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/guides/loop-and-position-range/index.html #### Media Player SDK .Net (MediaPlayerCore) - VisioForge Help [Saltar a contenido](#media-player-sdk-net) # Media Player SDK .Net[¶](#media-player-sdk-net "Permanent link") [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Media Player SDK .Net es un SDK de reproductor de video con una amplia gama de características. El SDK puede usar varios motores de decodificación para reproducir archivos de video y audio, como FFMPEG, VLC y DirectShow. La mayoría de los formatos de video y audio son soportados por el motor FFMPEG. Puedes reproducir archivos, streams de red, videos de 360 grados y, opcionalmente, discos DVD y Blu-Ray. ## Características[¶](#caracteristicas "Permanent link") - Reproducción de video y audio - Efectos de video - Efectos de audio - Superposiciones de texto - Superposiciones de imagen - Superposiciones SVG - Brillo, contraste, saturación, tono y otros ajustes de video - Sepia, pixelado, escala de grises y otros filtros de video Puedes consultar la lista completa de características en la [página del producto](https://www.visioforge.com/media-player-sdk-net). ## Aplicaciones de ejemplo[¶](#aplicaciones-de-ejemplo "Permanent link") Puedes usar código WPF en aplicaciones WinForms y viceversa. La mayoría del código es el mismo para todos los frameworks de UI, incluyendo Avalonia y MAUI. La principal diferencia es el control VideoView disponible para cada framework de UI. ### Motor MediaPlayerCoreX (multiplataforma)[¶](#motor-mediaplayercorex-multiplataforma "Permanent link") MAUI Avalonia - [Reproductor de Medios Simple](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Player%20SDK%20X/Avalonia/Simple%20Media%20Player) muestra funcionalidad básica de reproducción en Avalonia iOS Android - [Reproductor de Medios Simple](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Media%20Player%20SDK%20X/Android/MediaPlayer) muestra funcionalidad básica de reproducción en Android macOS WPF WinForms ### Motor MediaPlayerCore (solo Wi... **URL**: https://www.visioforge.com/help/es/docs/dotnet/mediaplayer/index.html #### SDKs .NET - Matriz de Plataformas y Características - VisioForge Help [Saltar a contenido](#sdk-net-caracteristicas-y-plataformas-soportadas) # SDK .NET: Características y Plataformas Soportadas[¶](#sdk-net-caracteristicas-y-plataformas-soportadas "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Descubre el conjunto completo de características y amplia compatibilidad de plataformas de los SDKs .NET de VisioForge. Las tablas a continuación detallan formatos de entrada/salida soportados, codecs de video/audio, aceleración de hardware, dispositivos de captura y protocolos de red en Windows, Linux, macOS, Android e iOS. ## Formatos de archivo de entrada y salida[¶](#formatos-de-archivo-de-entrada-y-salida "Permanent link") Formatos de salida Windows Linux MacOS Android iOS MP4 ✔ ✔ ✔ ✔ ✔ WebM ✔ ✔ ✔ ✔ ✔ MKV ✔ ✔ ✔ ✔ ✔ AVI ✔ ✔ ✔ ✔ ✔ ASF (WMV/WMA) ✔ ✔ ✔ ✔ ✔ MPEG-PS ✔ ✔ ✔ ✔ ✔ MPEG-TS ✔ ✔ ✔ ✔ ✔ MOV ✔ ✔ ✔ ✔ ✔ MXF ✔ ✔ ✔ ✔ ✔ WMA ✔ ✔ ✔ ✔ ✔ WAV ✔ ✔ ✔ ✔ ✔ MP3 ✔ ✔ ✔ ✔ ✔ OGG ✔ ✔ ✔ ✔ ✔ Además, los motores multiplataforma soportan todos los formatos soportados por FFMPEG y GStreamer. ## Codificadores y decodificadores de video[¶](#codificadores-y-decodificadores-de-video "Permanent link") El SDK soporta los siguientes codecs de video: Codificadores Windows Linux MacOS Android iOS H264 ✔ ✔ ✔ ✔ ✔ H264/HEVC ✔ ✔ ✔ ✔ ✔ VP8/VP9 ✔ ✔ ✔ ✔ ✔ AV1 ✔ ✔ ✔ ✔ ✔ MJPEG ✔ ✔ ✔ ✔ ✔ WMV ✔ ✔ ✔ ✔ ✔ MPEG-4 ASP ✔ ✔ ✔ ✔ ✔ GIF ✔ ✔ ✔ ✔ ✔ MPEG-1 ✔ ✔ ✔ ✔ ✔ MPEG-2 ✔ ✔ ✔ ✔ ✔ Theora ✔ ✔ ✔ ✔ ✔ DNxHD ✔ ✔ ✔ ✔ ✔ DV ✔ ✔ ✔ ✔ ✔ ### Codificación y decodificación acelerada por GPU[¶](#codificacion-y-decodificacion-acelerada-por-gpu "Permanent link") La tabla a contin... **URL**: https://www.visioforge.com/help/es/docs/dotnet/platform-matrix/index.html #### Requisitos del Sistema y Compatibilidad SDK .NET - VisioForge Help [Saltar a contenido](#requisitos-del-sistema-para-sdks-net) # Requisitos del Sistema para SDKs .NET[¶](#requisitos-del-sistema-para-sdks-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) [Media Player SDK .Net](https://www.visioforge.com/media-player-sdk-net) Esta guía detalla los requisitos del sistema y compatibilidad de plataformas para la suite de SDKs .NET de VisioForge, diseñados para aplicaciones de procesamiento y reproducción de video de alto rendimiento. ## Descripción General[¶](#descripcion-general "Permanent link") Desbloquea potentes capacidades de video multiplataforma con los SDKs .NET de VisioForge, totalmente compatibles con Windows, Linux, macOS, Android e iOS. Nuestros SDKs proporcionan soporte robusto para .NET Framework, .NET Core y .NET 5+ moderno (incluyendo .NET 8 LTS y .NET 9), permitiendo una integración perfecta con WinForms, WPF, WinUI 3, Avalonia, .NET MAUI y Xamarin. Desarrolla aplicaciones de video de alto rendimiento con paradigmas familiares de C# en todos los sistemas operativos principales y frameworks de UI. > **Nota Importante**: Mientras que los usuarios de Windows se benefician de nuestro paquete instalador dedicado, los desarrolladores que trabajan en otras plataformas deben utilizar el método de distribución de paquetes NuGet para la implementación. ## Requisitos del Entorno de Desarrollo[¶](#requisitos-del-entorno-de-desarrollo "Permanent link") Las siguientes secciones describen los requisitos específicos para configurar tu entorno de desarrollo al trabajar con nuestros SDKs. ### Sistemas Operativos para Desarrollo[¶](#sistemas-operativos-para-desarrollo "Permanent link") El desarrollo de aplicaciones usando nuestros SDKs es soportado en las siguientes plataformas: #### Windows[¶](#windows "Permanent link") - Windows 10... **URL**: https://www.visioforge.com/help/es/docs/dotnet/system-requirements/index.html #### Streaming FFMPEG para Video Capture SDK .NET - VisioForge Help [Saltar a contenido](#integracion-de-streaming-ffmpeg-con-net) # Integración de Streaming FFMPEG con .NET[¶](#integracion-de-streaming-ffmpeg-con-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción al Streaming FFMPEG[¶](#introduccion-al-streaming-ffmpeg "Permanent link") El Video Capture SDK ofrece capacidades poderosas para transmitir video desde múltiples fuentes directamente a FFMPEG, que se ejecuta como un proceso externo. Esta integración proporciona a los desarrolladores flexibilidad excepcional, permitiéndote usar compilaciones FFMPEG GPL/LGPL con cualquier configuración de códecs de video/audio y muxers según los requisitos de tu proyecto. Con esta integración, puedes: - Capturar video desde varias fuentes - Transmitir el contenido capturado a FFMPEG - Configurar FFMPEG para guardar flujos a archivos - Transmitir contenido a servidores remotos - Procesar video en tiempo real - Aplicar filtros y transformaciones Este enfoque combina la robustez del SDK .NET con la versatilidad de FFMPEG, creando una solución poderosa para aplicaciones de captura y streaming de video. ## Comenzando con Streaming FFMPEG[¶](#comenzando-con-streaming-ffmpeg "Permanent link") Antes de profundizar en detalles de implementación, es importante entender el flujo de trabajo básico: 1. Configurar tu fuente de video (dispositivo de captura, pantalla, archivo, etc.) 2. Habilitar la salida de Cámara Virtual 3. Iniciar el proceso de streaming de video 4. Configurar y lanzar FFMPEG con parámetros apropiados 5. Procesar o guardar el flujo según sea necesario Exploremos cada paso en detalle. ## Implementación Básica[¶](#implementacion-basica "Permanent link") ### Paso 1: Configurar Tu Fuente de Video[¶](#paso-1-configurar-tu-fuente-de-video "Permanent link") El primer paso implica configurar tu fuente de video. Esto puede hacerse programáticamente o a través de la UI si estás usando la aplicación Ma... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/3rd-party-software/ffmpeg-streaming/index.html #### Integración de Software de Terceros con Video Capture SDK - VisioForge Help [Saltar a contenido](#integrar-software-de-terceros-con-video-capture-sdk) # Integrar Software de Terceros con Video Capture SDK[¶](#integrar-software-de-terceros-con-video-capture-sdk "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") El Video Capture SDK .NET proporciona capacidades robustas para integrar con varias aplicaciones de software de terceros. Esta integración expande la funcionalidad de tus aplicaciones y permite mayor flexibilidad en flujos de trabajo de procesamiento de video. ## Cómo Funciona la Integración[¶](#como-funciona-la-integracion "Permanent link") El SDK usa Virtual Camera SDK como puente entre nuestro Video Capture SDK y aplicaciones de terceros. Este puente crea un dispositivo de cámara virtual que puede ser detectado y usado por cualquier aplicación compatible con DirectShow en tu entorno de desarrollo. ### Puente de Video[¶](#puente-de-video "Permanent link") La tecnología de cámara virtual permite que los flujos de video capturados pasen sin problemas a aplicaciones externas sin pérdida de calidad o impacto significativo en el rendimiento. ### Puente de Audio[¶](#puente-de-audio "Permanent link") Además del video, también se proporciona un puente de audio, habilitando integración audiovisual completa con software externo. ## Aplicaciones Compatibles[¶](#aplicaciones-compatibles "Permanent link") La cámara virtual funciona con numerosas aplicaciones compatibles con DirectShow, incluyendo: - OBS (Open Broadcaster Software) - FFMPEG - VLC Media Player - Zoom, Teams y otro software de conferencias - Aplicaciones DirectShow personalizadas ## Tutoriales Detallados[¶](#tutoriales-detallados "Permanent link") Nuestros tutoriales paso a paso te guían a través del proceso de integración con aplicaciones populares: - [Integración de Streaming FFMPEG](ffmpeg-streaming/) - Aprende cómo usar FFMPEG con el SDK para... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/3rd-party-software/index.html #### Integrar Streaming OBS en Video Capture SDK .Net - VisioForge Help [Saltar a contenido](#integrar-streaming-obs-en-video-capture-sdk-net) # Integrar Streaming OBS en Video Capture SDK .Net[¶](#integrar-streaming-obs-en-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a la Integración OBS[¶](#introduccion-a-la-integracion-obs "Permanent link") Open Broadcaster Software (OBS) se ha convertido en el estándar de la industria para streaming en vivo y grabación de video. El Video Capture SDK .Net proporciona capacidades robustas para transmitir video y audio desde múltiples fuentes directamente a OBS, creando un pipeline poderoso para creación de contenido de calidad broadcast. Esta integración permite a los desarrolladores construir aplicaciones que pueden: - Capturar desde múltiples dispositivos de cámara simultáneamente - Procesar y mejorar flujos de video en tiempo real - Mezclar varias fuentes de contenido antes de enviar a OBS - Crear soluciones de broadcasting profesionales con configuración mínima Ya sea que estés desarrollando aplicaciones para WinForms, WPF o entornos de consola, el SDK proporciona una API consistente para integración con OBS. ## Cómo Funciona la Integración OBS[¶](#como-funciona-la-integracion-obs "Permanent link") El SDK aprovecha la tecnología DirectShow Virtual Camera para crear un puente entre tu aplicación y OBS. Este enfoque ofrece varias ventajas: 1. **Streaming sin latencia**: La transferencia directa de memoria minimiza el retraso 2. **Flexibilidad de formato**: Soporte para varias resoluciones y tasas de fotogramas 3. **Configuración mínima**: OBS reconoce el dispositivo virtual automáticamente 4. **Sincronización de audio**: Capacidades combinadas de streaming audio-video La cámara virtual aparece para OBS como un dispositivo de webcam estándar, haciéndola inmediatamente utilizable dentro de cualquier escena OBS. ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") ### Comp... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/3rd-party-software/obs-streaming/index.html #### Captura de Audio para Desarrolladores .NET - VisioForge Help [Saltar a contenido](#captura-de-audio-para-desarrolladores-net) # Captura de Audio para Desarrolladores .NET[¶](#captura-de-audio-para-desarrolladores-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a la Captura de Audio[¶](#introduccion-a-la-captura-de-audio "Permanent link") Nuestro SDK proporciona capacidades robustas de captura de audio diseñadas específicamente para desarrolladores .NET. Ya sea que esté construyendo una aplicación de grabación profesional, agregando chat de voz a su software o creando una herramienta de podcasting, nuestros componentes de captura de audio ofrecen un rendimiento y flexibilidad excepcionales. La funcionalidad de captura de audio le permite grabar desde cualquier dispositivo de entrada de audio en el sistema, incluyendo micrófonos, puertos de entrada de línea y dispositivos de audio virtuales. Todo el procesamiento está optimizado para un uso mínimo de CPU mientras se mantiene una calidad de audio prístina. ## Fuentes de Audio Soportadas[¶](#fuentes-de-audio-soportadas "Permanent link") El SDK soporta la captura desde múltiples fuentes de audio: - **Micrófonos físicos** - Micrófonos de escritorio, USB y Bluetooth - **Puertos de entrada de línea** - Para capturar desde mezcladores externos o instrumentos - **Dispositivos de audio virtuales** - Capture audio de otras aplicaciones - **Audio del sistema** - Grabe lo que se reproduce a través de sus altavoces - **Flujos de red** - Capture audio de RTSP, HTTP y otras fuentes de transmisión ## Soporte de Formatos de Audio[¶](#soporte-de-formatos-de-audio "Permanent link") Nuestro SDK le permite capturar y codificar audio en varios formatos estándar de la industria para satisfacer cualquier requisito: ### Formatos con Pérdida[¶](#formatos-con-perdida "Permanent link") - [MP3](../../general/audio-encoders/mp3/) - Audio comprimido estándar de la industria con tasas de bits ajustables de 8kbps a 320k... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/audio-capture/index.html #### Renderizado de Audio .NET en Video Capture SDK - VisioForge Help [Saltar a contenido](#renderizado-de-audio-en-aplicaciones-de-video-net) # Renderizado de Audio en Aplicaciones de Video .NET[¶](#renderizado-de-audio-en-aplicaciones-de-video-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introducción al Renderizado de Audio[¶](#introduccion-al-renderizado-de-audio "Permanent link") El renderizado de audio es un componente crítico de cualquier aplicación de captura de video. Permite que su aplicación emita audio capturado o procesado a varios dispositivos de audio compatibles con el sistema operativo. El Video Capture SDK .NET proporciona capacidades robustas para el renderizado de audio, permitiendo a los desarrolladores crear aplicaciones multimedia ricas con salida de audio de alta calidad. Esta guía recorre los aspectos esenciales de la implementación del renderizado de audio en sus aplicaciones .NET utilizando nuestro SDK, cubriendo todo, desde la enumeración de dispositivos hasta el control de volumen y técnicas de optimización. ## Características Clave del Renderizado de Audio[¶](#caracteristicas-clave-del-renderizado-de-audio "Permanent link") - **Selección de Dispositivos**: Enumere y seleccione entre todos los dispositivos de salida de audio disponibles - **Control de Volumen**: Control preciso sobre los niveles de volumen de salida - **Ajuste en Tiempo Real**: Modifique los parámetros de salida de audio durante el tiempo de ejecución - **Soporte Multi-dispositivo**: Enrute el audio a diferentes dispositivos de salida simultáneamente - **Compatibilidad de Formatos**: Soporte para varios formatos de audio y tasas de muestreo ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") ### Enumeración de Dispositivos de Salida de Audio[¶](#enumeracion-de-dispositivos-de-salida-de-audio "Permanent link") El primer paso en la implementación del renderizado de audio es identificar y listar todos lo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/audio-rendering/index.html #### Fuentes de Audio en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#trabajando-con-fuentes-de-audio-en-net) # Trabajando con Fuentes de Audio en .NET[¶](#trabajando-con-fuentes-de-audio-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Fuentes de Audio Disponibles[¶](#fuentes-de-audio-disponibles "Permanent link") Al construir aplicaciones multimedia, necesitará capturar audio de varias fuentes. Esta guía cubre cómo implementar la captura de audio desde múltiples tipos de entrada utilizando nuestro SDK: - Dispositivos de captura de audio (micrófonos, entrada de línea) - Audio del sistema (altavoces/auriculares a través de bucle invertido) - Flujos de red (cámaras IP) - Dispositivos profesionales Decklink Cada tipo de fuente requiere diferentes métodos de inicialización y tiene capacidades únicas. Exploremos cómo trabajar con cada uno. ## Implementación de Dispositivos de Captura de Audio[¶](#implementacion-de-dispositivos-de-captura-de-audio "Permanent link") Los dispositivos de captura de audio incluyen micrófonos, cámaras web con micrófonos incorporados y otro hardware de entrada conectado a su sistema. Trabajar con estos dispositivos implica tres pasos clave: 1. Enumerar los dispositivos disponibles 2. Seleccionar los formatos de audio apropiados 3. Configurar el dispositivo seleccionado como su fuente de audio ### Enumeración de Dispositivos de Audio Disponibles[¶](#enumeracion-de-dispositivos-de-audio-disponibles "Permanent link") Primero, necesita detectar todos los dispositivos de entrada de audio conectados al sistema: VideoCaptureCoreXVideoCaptureCore `[](#__codelineno-0-1)var audioSources = await core.Audio_SourcesAsync(); [](#__codelineno-0-2)foreach (var source in audioSources) [](#__codelineno-0-3){ [](#__codelineno-0-4) // add to some combobox [](#__codelineno-0-5) cbAudioInputDevice.Items.Add(source.DisplayName); [](#__codelineno-0-6)}` `[](#__codelineno-1-1)f... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/audio-sources/index.html #### Detección de Rostros en Aplicaciones de Video .NET - VisioForge Help [Saltar a contenido](#implementacion-de-deteccion-de-rostros-en-aplicaciones-de-video-net) # Implementación de Detección de Rostros en Aplicaciones de Video .NET[¶](#implementacion-de-deteccion-de-rostros-en-aplicaciones-de-video-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a la Tecnología de Detección de Rostros[¶](#introduccion-a-la-tecnologia-de-deteccion-de-rostros "Permanent link") La detección de rostros es una tecnología de visión por computadora que identifica y localiza rostros humanos dentro de imágenes digitales o cuadros de video. A diferencia del reconocimiento facial (que identifica a individuos específicos), la detección de rostros simplemente responde a la pregunta: "¿Hay un rostro en esta imagen y, de ser así, dónde se encuentra?" Esta tecnología sirve como base para numerosas aplicaciones: - Sistemas de seguridad y vigilancia - Aplicaciones de fotografía (enfoque automático, reducción de ojos rojos) - Redes sociales (sugerencias de etiquetado, filtros) - Análisis de emociones e investigación de experiencia de usuario - Sistemas de seguimiento de asistencia - Mejoras en videoconferencias Para los desarrolladores que construyen aplicaciones .NET, implementar la detección de rostros puede agregar un valor significativo a las aplicaciones de captura y procesamiento de video. Esta guía proporciona un recorrido completo para implementar la detección de rostros en sus proyectos .NET. ## Comenzando con la Detección de Rostros en .NET[¶](#comenzando-con-la-deteccion-de-rostros-en-net "Permanent link") ### Requisitos Previos[¶](#requisitos-previos "Permanent link") Antes de implementar la detección de rostros en su aplicación, asegúrese de tener: - Visual Studio (se recomienda 2019 o más reciente) - .NET Framework 4.6.2+ o .NET Core 3.1+/.NET 5+ - Comprensión básica de C# y programación orientada a eventos - Administrador de paquetes NuGet - Redistribuible... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/computer-vision/face-detection/index.html #### Visión por Computadora con Video Capture SDK - VisioForge Help [Saltar a contenido](#vision-por-computadora-video-capture-sdk-net) # Visión por Computadora - Video Capture SDK .Net[¶](#vision-por-computadora-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) Esta sección cubre las capacidades de visión por computadora disponibles en Video Capture SDK .Net, incluyendo integración con OpenCV y detección de objetos. ## Características[¶](#caracteristicas "Permanent link") - Integración con OpenCV - Detección de códigos de barras y QR - Detección de rostros - Detección de movimiento - Procesamiento de imágenes en tiempo real ## Detección de Códigos de Barras[¶](#deteccion-de-codigos-de-barras "Permanent link") El SDK puede detectar y decodificar varios tipos de códigos: - Códigos QR - Códigos de barras 1D (UPC, EAN, Code 128, etc.) - Data Matrix - PDF417 `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var videoSource = new SystemVideoSourceBlock(videoSettings); [](#__codelineno-0-4)[](#__codelineno-0-5)// Bloque detector de códigos de barras [](#__codelineno-0-6)var barcodeDetector = new BarcodeDetectorBlock(new BarcodeDetectorSettings [](#__codelineno-0-7){ [](#__codelineno-0-8) DetectionInterval = TimeSpan.FromMilliseconds(500) [](#__codelineno-0-9)}); [](#__codelineno-0-10)[](#__codelineno-0-11)barcodeDetector.OnBarcodeDetected += (sender, e) => [](#__codelineno-0-12){ [](#__codelineno-0-13) Console.WriteLine($"Código detectado: {e.Type} - {e.Value}"); [](#__codelineno-0-14)}; [](#__codelineno-0-15)[](#__codelineno-0-16)pipeline.Connect(videoSource.Output, barcodeDetector.Input); [](#__codelineno-0-17)[](#__codelineno-0-18)var videoRenderer = new VideoRendererBlock(pipeline, VideoView1); [](#__codelineno-0-19)pipeline.Connect(barcodeDetector.Output, videoRenderer.Input); [](#__codelineno-0-20)[](#__codelineno-0-21)await pipeline.StartAsync();` ## Detección de Rostr... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/computer-vision/index.html #### Guía de Despliegue de Video Capture SDK .NET - VisioForge Help [Saltar a contenido](#guia-completa-de-despliegue-para-video-capture-sdk-net) # Guía Completa de Despliegue para Video Capture SDK .Net[¶](#guia-completa-de-despliegue-para-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) Al desplegar Video Capture SDK .Net en sistemas sin el SDK preinstalado, el despliegue adecuado de componentes es esencial para la funcionalidad. Para aplicaciones AnyCPU, se deben desplegar tanto los redistribuibles x86 como x64 para asegurar compatibilidad a través de diferentes arquitecturas de sistema. ## Resumen de Opciones de Motor[¶](#resumen-de-opciones-de-motor "Permanent link") ### Motor VideoCaptureCoreX (Compatibilidad Multiplataforma)[¶](#motor-videocapturecorex-compatibilidad-multiplataforma "Permanent link") Para escenarios de despliegue multiplataforma, consulte nuestra [guía completa de despliegue](../../deployment-x/) que detalla requisitos específicos de plataforma y opciones de configuración. ### Motor VideoCaptureCore (Plataforma Windows)[¶](#motor-videocapturecore-plataforma-windows "Permanent link") El motor VideoCaptureCore está optimizado específicamente para entornos Windows y ofrece múltiples enfoques de despliegue basados en los requisitos de su aplicación y restricciones del entorno objetivo. ## Métodos de Despliegue[¶](#metodos-de-despliegue "Permanent link") ### Distribución por Paquete NuGet (Sin Privilegios de Administrador)[¶](#distribucion-por-paquete-nuget-sin-privilegios-de-administrador "Permanent link") El enfoque de paquete NuGet proporciona un método de despliegue simplificado que no requiere privilegios de administrador, haciéndolo ideal para entornos restringidos o al desplegar en múltiples sistemas sin acceso elevado. Agregue los paquetes NuGet requeridos a su proyecto de aplicación, y después de compilar, los archivos redistribuibles necesarios se incluirán automáticamente en su carpeta de aplicación. #### Paquetes NuGet Es... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/deployment/index.html #### Index - VisioForge Help [Saltar a contenido](#guias-y-tutoriales-avanzados-de-video-capture-sdk-net) * * * title: Guías y Tutoriales Avanzados: Video Capture SDK description: Domina sincronización, captura DirectShow y características de fotos de webcam con guías detalladas, ejemplos de código y recursos de soporte. * * * # Guías y Tutoriales Avanzados de Video Capture SDK .Net[¶](#guias-y-tutoriales-avanzados-de-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") Explora técnicas de implementación avanzadas, guías de uso especializadas y tutoriales para el Video Capture SDK .Net. Estos recursos abordan escenarios de desarrollo específicos que requieren enfoques personalizados, incluyendo sincronización de múltiples objetos de captura, integración de webcam, técnicas de captura DirectShow y más. ## Guías Disponibles[¶](#guias-disponibles "Permanent link") Esta colección curada de guías aborda funcionalidades avanzadas específicas dentro del Video Capture SDK .Net. Cada guía proporciona instrucciones prácticas e información para ayudarte a implementar características complejas efectivamente. ### Técnicas de Sincronización[¶](#tecnicas-de-sincronizacion "Permanent link") - [**Sincronizando Múltiples Objetos de Captura**](start-in-sync/) - En muchas aplicaciones de video profesionales, como cobertura de eventos multi-cámara, sistemas de vigilancia avanzados o grabación de video inmersivo de 360 grados, la capacidad de sincronizar con precisión múltiples instancias de captura de video es primordial. Esta guía profundiza en las metodologías para inicializar y coordinar varios objetos `VideoCaptureCore`, asegurando que inicien, detengan y graben al unísono. Aborda desafíos potenciales como alineación de marcas de tiempo y gestión de recursos, ofreciendo soluciones para lograr captura multi-fuente fluida y sincronizada. Implementar sincronización robusta... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/guides/index.html #### Captura de Fotos con Webcam en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#captura-de-fotos-con-webcam-en-aplicaciones-net) # Captura de Fotos con Webcam en Aplicaciones .NET[¶](#captura-de-fotos-con-webcam-en-aplicaciones-net "Permanent link") ## Introducción a la Integración de Webcam[¶](#introduccion-a-la-integracion-de-webcam "Permanent link") Las aplicaciones modernas requieren cada vez más integración de webcam para varios propósitos, desde fotos de perfil de usuario hasta escaneo de documentos. Implementar una funcionalidad efectiva de captura de fotos con webcam requiere entender los mecanismos subyacentes de cómo funcionan las webcams con el framework .NET. Las webcams pueden capturar imágenes a través de dos métodos principales: capturas activadas por software (donde la aplicación inicia el proceso) y capturas activadas por hardware, donde un botón físico en el dispositivo de webcam activa la captura de imagen. Este último método se conoce como "captura de fotograma fijo" y proporciona una experiencia de usuario más intuitiva en muchas aplicaciones. ## Entendiendo la Captura de Fotogramas Fijos[¶](#entendiendo-la-captura-de-fotogramas-fijos "Permanent link") La captura de fotogramas fijos es una función especializada disponible en muchos modelos de webcam que permite a los usuarios capturar imágenes de alta calidad presionando un botón dedicado en el dispositivo. Este enfoque ofrece varias ventajas: - Experiencia de usuario más intuitiva - Complejidad de aplicación reducida - Menor probabilidad de movimiento de cámara - A menudo mejor calidad de imagen que la extracción de fotogramas de video No todas las webcams soportan captura de fotogramas fijos, por lo que es importante verificar las especificaciones de tu dispositivo o probar esta funcionalidad antes de depender de ella en tu aplicación. ## Implementando Captura de Fotos con Webcam en .NET[¶](#implementando-captura-de-fotos-con-webcam-en-net "Permanent link") El Video Capture SDK para .NET proporciona un framework robusto para impl... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/guides/make-photo-using-webcam/index.html #### Guardar Vídeo de Webcam (Multiplataforma) - VisioForge Help [Saltar a contenido](#guardar-video-de-webcam-usando-net-una-guia-completa-para-grabar-y-capturar-webcam) * * * title: Guardar Video de Webcam en .NET: Guía Completa description: Guía completa para capturar y guardar video de webcam usando .NET y C#. Implemente funcionalidad con formatos MP4/WebM y aceleración GPU. * * * # Guardar Video de Webcam Usando .Net: Una Guía Completa para Grabar y Capturar Webcam[¶](#guardar-video-de-webcam-usando-net-una-guia-completa-para-grabar-y-capturar-webcam "Permanent link") Capturar y guardar video de webcams es un requisito común en muchas aplicaciones modernas, desde herramientas de videoconferencia hasta sistemas de vigilancia. Ya sea que necesite grabar imágenes de webcam, mostrar la transmisión de la webcam o capturar imágenes, implementar funcionalidad de webcam confiable en .NET (DotNet) puede ser un desafío. Este tutorial proporciona una guía simple paso a paso para guardar video de webcam usando C# (C Sharp) con código mínimo. ## Características Clave de Video Capture SDK .Net[¶](#caracteristicas-clave-de-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) es una biblioteca poderosa diseñada específicamente para desarrolladores .NET que necesitan implementar funcionalidad de captura de webcam en sus aplicaciones. Ya sea que desee grabar video de webcam, guardar fotogramas de webcam como imágenes o mostrar la transmisión de la webcam en su aplicación, este SDK lo tiene cubierto. Algunas de sus características destacadas incluyen: - Integración perfecta con aplicaciones .NET - Soporte para múltiples dispositivos de captura (webcams USB, cámaras IP, tarjetas de captura) - Grabación y procesamiento de video y audio de alto rendimiento - Código simple para obtener y mostrar transmisiones de webcam - Crear y guardar archivos de video en varios formatos - Codificación acelerada por GPU para un rendimiento óptimo - Compatibilidad multiplatafor... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/guides/save-webcam-video/index.html #### Sincronizar Múltiples Capturas de Video en .NET - VisioForge Help [Saltar a contenido](#sincronizar-multiples-capturas-de-video-en-net) # Sincronizar Múltiples Capturas de Video en .NET[¶](#sincronizar-multiples-capturas-de-video-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a la Captura de Video Multi-Fuente[¶](#introduccion-a-la-captura-de-video-multi-fuente "Permanent link") Cuando se desarrollan aplicaciones que requieren grabación desde múltiples fuentes de video simultáneamente, la sincronización se convierte en un desafío crítico. Ya sea que estés construyendo sistemas de vigilancia, soluciones de grabación multi-cámara, o herramientas especializadas de producción de video, asegurar que todos los flujos de video comiencen y terminen la grabación en el mismo momento preciso puede hacer la diferencia entre resultados de grado profesional y amateur. Esta guía explica cómo sincronizar correctamente múltiples objetos de captura de video en aplicaciones .NET, eliminando las discrepancias de tiempo entre diferentes cámaras o fuentes de entrada. ## Entendiendo el Desafío de la Sincronización de Video[¶](#entendiendo-el-desafio-de-la-sincronizacion-de-video "Permanent link") Sin una sincronización adecuada, múltiples grabaciones de video iniciadas secuencialmente tendrán desfases de tiempo. Incluso diferencias de milisegundos pueden causar problemas en aplicaciones donde se requiere una alineación de tiempo precisa, tales como: - Análisis deportivo multi-ángulo - Sistemas de cámaras de seguridad - Configuraciones de captura de movimiento - Mediciones y observaciones científicas - Producción de video profesional Estas discrepancias de tiempo ocurren porque cada vez que inicializas un dispositivo de captura e inicias la grabación, hay sobrecarga de procesamiento que varía entre dispositivos. ## La Solución: Mecanismo de Inicio Retrasado[¶](#la-solucion-mecanismo-de-inicio-retrasado "Permanent link") El Video Capture SDK proporciona una soluci... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/guides/start-in-sync/index.html #### Video Capture SDK para Desarrollo .NET - VisioForge Help [Saltar a contenido](#video-capture-sdk-para-aplicaciones-net) # Video Capture SDK para Aplicaciones .NET[¶](#video-capture-sdk-para-aplicaciones-net "Permanent link") ## Introducción al Desarrollo de Captura de Video[¶](#introduccion-al-desarrollo-de-captura-de-video "Permanent link") El Video Capture SDK para .NET permite a los desarrolladores integrar potentes capacidades de captura y procesamiento de video en sus aplicaciones de software. Este robusto toolkit proporciona todo lo necesario para construir aplicaciones multimedia ricas en características con mínimo esfuerzo. Puedes explorar todas las características en la [página del producto](https://www.visioforge.com/video-capture-sdk-net). ## Categorías de Dispositivos de Entrada Soportados[¶](#categorias-de-dispositivos-de-entrada-soportados "Permanent link") ### Cámaras y Hardware de Captura[¶](#camaras-y-hardware-de-captura "Permanent link") - Videocámaras DV y HDV MPEG-2 de alta calidad - Webcams USB y dispositivos de captura (incluyendo soporte de resolución 4K) - Tarjetas de captura PCI profesionales - Sintonizadores de televisión (con y sin codificador MPEG interno) ### Cámaras de Red e IP[¶](#camaras-de-red-e-ip "Permanent link") - Cámaras IP HTTP JPEG/MJPEG - Sistemas de cámara IP habilitados para RTSP - Fuentes de streaming de red RTMP - Cámaras IP compatibles con ONVIF - Fuentes de stream de red SRT ### Equipos Profesionales[¶](#equipos-profesionales "Permanent link") - Dispositivos de captura profesional Blackmagic Decklink - Microsoft Kinect y Kinect 2 para Windows - Sistemas de cámara compatibles con NDI ### Sistemas de Visión Industrial[¶](#sistemas-de-vision-industrial "Permanent link") - Cámaras estándar GenICam - Cámaras industriales GigE Vision - Cámaras de alta velocidad USB3 Vision ### Soporte de Captura de Audio[¶](#soporte-de-captura-de-audio "Permanent link") - Dispositivos de captura de audio estándar y tarjetas de sonido - Dispositivo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/index.html #### Captura y Procesamiento de Video en Apps .NET MAUI - VisioForge Help [Saltar a contenido](#como-capturar-y-procesar-video-en-apps-net-maui-usando-visioforge-sdk) # Cómo Capturar y Procesar Video en Apps .NET MAUI Usando VisioForge SDK[¶](#como-capturar-y-procesar-video-en-apps-net-maui-usando-visioforge-sdk "Permanent link") ## Introducción[¶](#introduccion "Permanent link") VisioForge Video Capture SDK para .NET es una solución completa de captura y procesamiento de medios que se integra perfectamente con aplicaciones .NET MAUI. Como un SDK rico en funciones, extiende significativamente las capacidades nativas de .NET MAUI para captura de video en plataformas compatibles incluyendo iOS, Android, macCatalyst y Windows. En este tutorial, aprenderemos cómo grabar video desde cámaras de hardware en dispositivos iOS/Android y webcams en Windows y macOS. También cubriremos cómo agregar varios efectos y filtros al video, así como cómo guardar el video en el dispositivo usando APIs nativas para cada plataforma. Para dispositivos móviles (.NET iOS y .NET Android), solicitaremos los permisos necesarios para asegurar la funcionalidad adecuada con las capacidades nativas del dispositivo. El código de ejemplo completo está disponible en [GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK%20X/MAUI/SimpleCapture) como parte de la documentación del SDK. ## Requisitos Previos[¶](#requisitos-previos "Permanent link") Software y herramientas requeridos: - Visual Studio o Visual Studio Code con soporte .NET MAUI o JetBrains Rider - [VisioForge Video Capture SDK para .NET](https://www.visioforge.com/video-capture-sdk-net) (usaremos paquetes NuGet) ## Configurando una Estructura Básica de Proyecto .NET MAUI[¶](#configurando-una-estructura-basica-de-proyecto-net-maui "Permanent link") ### Crear un Nuevo Proyecto .NET MAUI Vacío (.NET 8 o Posterior)[¶](#crear-un-nuevo-proyecto-net-maui-vacio-net-8-o-posterior "Permanent link") Puede usar Visual Studio, Rider o la herramienta dotnet para crear un nu... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/maui/camera-recording-maui/index.html #### Detección de Movimiento en Video .NET - VisioForge Help [Saltar a contenido](#deteccion-de-movimiento-para-procesamiento-de-video) # Detección de Movimiento para Procesamiento de Video[¶](#deteccion-de-movimiento-para-procesamiento-de-video "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") El Video Capture SDK proporciona potentes capacidades de detección de movimiento para sus aplicaciones .NET. Ya sea que necesite una detección de presencia simple o un seguimiento de objetos avanzado, el SDK ofrece dos implementaciones distintas de detectores de movimiento para satisfacer sus requisitos específicos: 1. **Detector de Movimiento Simple** - Procesamiento eficiente y ligero con matrices de detección personalizables 2. **Detector de Movimiento Avanzado** - Capacidades mejoradas que incluyen detección de objetos, múltiples tipos de procesadores y detectores especializados Estas herramientas de detección de movimiento permiten a los desarrolladores implementar características sofisticadas de análisis de video, como monitoreo de seguridad, alertas automatizadas, conteo de objetos y aplicaciones interactivas sensibles al movimiento. ## Detector de Movimiento Simple[¶](#detector-de-movimiento-simple "Permanent link") [VideoCaptureCore](#) ### Cómo Funciona[¶](#como-funciona "Permanent link") El detector de movimiento simple ofrece una solución eficiente para escenarios básicos de detección de movimiento. Su enfoque simplificado lo hace ideal para aplicaciones donde la velocidad de procesamiento y la eficiencia de recursos son prioridades. Cuando se activa, el detector: - Procesa cada cuadro para detectar cambios de movimiento - Genera una matriz de bytes bidimensional (matriz de movimiento) - Calcula el nivel general de movimiento como un porcentaje - Opcionalmente resalta visualmente las áreas de movimiento detectadas ### Características Clave[¶](#caracteristicas-clave "Permanent link") - **Ta... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/motion-detection/index.html #### Transmisión de Video en Red para Desarrollo .NET - VisioForge Help [Saltar a contenido](#transmision-en-red-en-aplicaciones-net) # Transmisión en Red en Aplicaciones .NET[¶](#transmision-en-red-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Introducción a la Transmisión en Red[¶](#introduccion-a-la-transmision-en-red "Permanent link") La transmisión en red se ha convertido en un componente fundamental de la infraestructura de comunicación digital moderna, permitiendo la transmisión en tiempo real de datos de audio y video a través de diversos entornos de red. A medida que las capacidades de ancho de banda continúan expandiéndose y las expectativas de los usuarios para la entrega de contenido evolucionan, los desarrolladores necesitan herramientas robustas para implementar soluciones de transmisión que equilibren el rendimiento, la calidad y la confiabilidad. El VisioForge Video Capture SDK para .NET proporciona un soporte integral para múltiples protocolos de transmisión, ofreciendo a los desarrolladores un conjunto de herramientas versátil para integrar capacidades de transmisión sofisticadas en sus aplicaciones. Ya sea que esté construyendo plataformas de transmisión en vivo, herramientas de videoconferencia, sistemas de vigilancia o redes de entrega de contenido, este SDK proporciona la base para implementar soluciones de transmisión de grado profesional. ## Protocolos Principales de Transmisión en Red[¶](#protocolos-principales-de-transmision-en-red "Permanent link") ### RTSP (Protocolo de Transmisión en Tiempo Real)[¶](#rtsp-protocolo-de-transmision-en-tiempo-real "Permanent link") RTSP es un protocolo de nivel de aplicación diseñado para controlar la entrega de datos con propiedades de tiempo real. Sirve como un "control remoto de red" para servidores multimedia, estableciendo y controlando sesiones de medio... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/network-streaming/index.html #### Captura de Video a Formato DV en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#capturando-video-a-formato-dv-en-aplicaciones-net) # Capturando Video a Formato DV en Aplicaciones .NET[¶](#capturando-video-a-formato-dv-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) DV (Video Digital) es un formato de video digital de grado profesional ampliamente utilizado en la industria de radiodifusión y cine. Originalmente desarrollado para videocámaras, DV proporciona una calidad excepcional mientras mantiene tamaños de archivo razonables, haciéndolo adecuado tanto para entornos de producción de video de consumo como profesionales. ## Entendiendo el Formato DV[¶](#entendiendo-el-formato-dv "Permanent link") El formato DV ofrece varias ventajas para aplicaciones de captura de video: - **Video de alta calidad** con artefactos de compresión mínimos - **Tasa de cuadros consistente** adecuada para estándares de transmisión - **Compresión eficiente** con tamaños de archivo predecibles - **Compatibilidad estándar de la industria** entre plataformas de edición - **Capacidades de edición** con precisión de cuadro Los flujos DV típicamente se almacenan directamente en cinta (en videocámaras DV tradicionales) o como archivos digitales usando contenedores como AVI o MKV. El formato utiliza un códec específico para compresión de video junto con audio PCM, creando un estándar confiable para flujos de trabajo de producción de video. ## Opciones de Implementación[¶](#opciones-de-implementacion "Permanent link") Al implementar captura DV en sus aplicaciones .NET, tiene dos enfoques principales: 1. **Captura directa sin recompresión** - Requiere una videocámara DV/HDV que emita DV nativo 2. **Captura con recompresión** - Funciona con cualquier fuente de video pero requiere potencia de procesamiento Cada método tiene requisitos de hardware específicos y consideraciones de rendimiento que se cubrirán en detalle a continuación. ## Configurando... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-capture/dv/index.html #### SDK de Captura de Video .Net para Grabación Avanzada - VisioForge Help [Saltar a contenido](#sdk-de-captura-de-video-para-desarrolladores-net) # SDK de Captura de Video para Desarrolladores .NET[¶](#sdk-de-captura-de-video-para-desarrolladores-net "Permanent link") [SDK de Captura de Video .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción[¶](#introduccion "Permanent link") El SDK de Captura de Video para .NET equipa a los desarrolladores con una solución poderosa, versátil para implementar capacidades profesionales de grabación de video en sus aplicaciones. Diseñado específicamente para entornos .NET, este SDK proporciona integración perfecta con su código base existente mientras entrega rendimiento excepcional y confiabilidad. ## Características Principales[¶](#caracteristicas-principales "Permanent link") - **Captura multi-fuente** - Grabar desde webcams, tarjetas de captura y otros dispositivos de video - **Procesamiento en tiempo real** - Aplicar filtros y efectos durante la captura - **Ajustes de calidad personalizables** - Controlar bitrate, framerate y resolución - **Arquitectura basada en eventos** - Responder a eventos de captura en su aplicación - **Soporte multi-plataforma** - Funciona en entornos de escritorio Windows ## Soporte Extenso de Formatos[¶](#soporte-extenso-de-formatos "Permanent link") Nuestro SDK soporta una gama completa de formatos de salida para satisfacer diversos requisitos de proyecto, asegurando que sus aplicaciones puedan entregar video en exactamente el formato que sus usuarios necesitan: ### Formatos de Video Estándar[¶](#formatos-de-video-estandar "Permanent link") - [MP4 (H.264/AAC)](../../general/output-formats/mp4/) - Formato estándar de la industria ofreciendo excelente compatibilidad en dispositivos y plataformas, ideal para distribución y streaming de aplicaciones - [WebM](../../general/output-formats/webm/) - Formato de código abierto optimizado para aplicaciones web con compresión eficiente y amplio soporte de navegadores - [AVI](../../genera... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-capture/index.html #### Captura de Video de Videocámara a MPEG-2 en .NET - VisioForge Help [Saltar a contenido](#capturando-video-de-videocamara-a-formato-mpeg-2) # Capturando Video de Videocámara a Formato MPEG-2[¶](#capturando-video-de-videocamara-a-formato-mpeg-2 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción[¶](#introduccion "Permanent link") MPEG-2 sigue siendo un estándar de codificación de video confiable ampliamente utilizado en flujos de trabajo de video profesionales. Esta guía muestra cómo implementar la funcionalidad de captura de videocámara a MPEG-2 en sus aplicaciones .NET. MPEG-2 (Moving Picture Experts Group 2) se estableció en 1995 como un estándar de la industria para codificación de video y audio digital. A pesar de los formatos más nuevos, MPEG-2 continúa siendo valorado por su equilibrio óptimo entre eficiencia de compresión y calidad de video, haciéndolo particularmente adecuado para aplicaciones que requieren captura de video de alta fidelidad desde videocámaras. ## ¿Por Qué Usar MPEG-2 para Captura de Videocámara?[¶](#por-que-usar-mpeg-2-para-captura-de-videocamara "Permanent link") MPEG-2 ofrece varias ventajas para desarrolladores que implementan funcionalidad de captura de videocámara: - **Compatibilidad amplia** con software de edición de video y dispositivos de reproducción - **Compresión eficiente** que preserva la calidad visual con tamaños de archivo razonables - **Manejo robusto** de contenido de video entrelazado (común en videocámaras) - **Estándar de la industria** que asegura soporte y compatibilidad a largo plazo - **Menores requisitos de procesamiento** comparados con códecs modernos más complejos ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") ### Dependencias Requeridas[¶](#dependencias-requeridas "Permanent link") Antes de implementar captura de videocámara a MPEG-2, asegúrese de que su proyecto incluya: - Video Capture SDK .NET (componente VideoCaptureCore) - Redistributables de... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-capture/mpeg2-camcorder/index.html #### Captura MPEG-2 con Sintonizador de TV en .NET - VisioForge Help [Saltar a contenido](#captura-de-video-mpeg-2-usando-codificador-de-hardware-de-sintonizador-de-tv-en-net) # Captura de Video MPEG-2 Usando Codificador de Hardware de Sintonizador de TV en .NET[¶](#captura-de-video-mpeg-2-usando-codificador-de-hardware-de-sintonizador-de-tv-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción a la Captura de Video MPEG-2[¶](#introduccion-a-la-captura-de-video-mpeg-2 "Permanent link") MPEG-2, introducido en 1995, revolucionó el video digital como estándar para "la codificación genérica de imágenes en movimiento e información de audio asociada." Este formato sigue ampliamente implementado en múltiples plataformas incluyendo transmisión de televisión digital, video DVD y varias aplicaciones de streaming. A pesar de ser un estándar más antiguo, MPEG-2 continúa siendo relevante en escenarios de transmisión específicos debido a su equilibrio de calidad y eficiencia. La capacidad de capturar video directamente a formato MPEG-2 usando codificadores de hardware proporciona ventajas significativas para desarrolladores que construyen aplicaciones de medios. La codificación por hardware descarga el procesamiento intensivo del CPU, resultando en mejor rendimiento del sistema y uso de batería más eficiente en dispositivos portátiles. ## ¿Por Qué Usar Codificación MPEG-2 Acelerada por Hardware?[¶](#por-que-usar-codificacion-mpeg-2-acelerada-por-hardware "Permanent link") La codificación por hardware ofrece varias ventajas distintas para aplicaciones de captura de video: 1. **Uso Reducido de CPU**: Al utilizar hardware de codificación dedicado, su aplicación puede mantener un rendimiento responsivo mientras captura video 2. **Mejora en la Vida de Batería**: Crítico para aplicaciones portátiles donde la eficiencia energética importa 3. **Codificación en Tiempo Real**: Los codificadores de hardware pueden procesar video de alta resolución en tiempo real... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-capture/mpeg2-tvtuner/index.html #### Captura de Video y Vista Previa Independientes en .NET - VisioForge Help [Saltar a contenido](#gestionando-captura-de-video-y-vista-previa-independientemente-en-net) # Gestionando Captura de Video y Vista Previa Independientemente en .NET[¶](#gestionando-captura-de-video-y-vista-previa-independientemente-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción[¶](#introduccion "Permanent link") Al desarrollar aplicaciones de video, a menudo es necesario iniciar o detener la grabación mientras se mantiene una vista previa ininterrumpida. Esta capacidad es esencial para crear software de grabación de video profesional, aplicaciones de seguridad, o cualquier escenario donde se requiera retroalimentación visual continua independientemente del estado de grabación. Esta guía demuestra cómo controlar independientemente las operaciones de captura de video sin afectar la visualización de la vista previa. Esta técnica se aplica a varios escenarios de captura incluyendo grabación de cámara, captura de pantalla y otras fuentes de entrada. ## ¿Por Qué Separar Vista Previa y Captura?[¶](#por-que-separar-vista-previa-y-captura "Permanent link") Hay varias ventajas al separar la funcionalidad de vista previa y captura: 1. **Experiencia de Usuario Mejorada** - Los usuarios pueden ver continuamente lo que se está capturando, incluso cuando no se está grabando 2. **Eficiencia de Recursos** - Previene el inicio/parada innecesario de flujos de video 3. **Latencia Reducida** - Elimina el retraso asociado con restablecer la vista previa después de detener una grabación 4. **Mayor Control** - Proporciona gestión más precisa de las sesiones de grabación ## Opciones de Implementación[¶](#opciones-de-implementacion "Permanent link") Hay dos enfoques principales para implementar esta funcionalidad dependiendo de qué versión del SDK esté usando: VideoCaptureCoreXVideoCaptureCore ### Método 1: Usando VideoCaptureCoreX[¶](#metodo-1-usando-videocapturecorex "Permanent link") El enfoque Video... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-capture/separate-capture/index.html #### Procesamiento de Video en Video Capture SDK - VisioForge Help [Saltar a contenido](#procesamiento-de-video-video-capture-sdk-net) # Procesamiento de Video - Video Capture SDK .Net[¶](#procesamiento-de-video-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) Esta sección cubre las capacidades de procesamiento de video disponibles en Video Capture SDK .Net, incluyendo transformaciones, efectos y filtros. ## Capacidades de Procesamiento[¶](#capacidades-de-procesamiento "Permanent link") ### Transformaciones Básicas[¶](#transformaciones-basicas "Permanent link") - **Redimensionar** - Cambiar resolución de video - **Recortar** - Eliminar bordes del video - **Rotar** - Rotar 90°, 180° o 270° - **Voltear** - Voltear horizontal o verticalmente ### Ajustes de Color[¶](#ajustes-de-color "Permanent link") - Brillo - Contraste - Saturación - Tono - Gamma ### Efectos[¶](#efectos "Permanent link") - Superposición de texto - Superposición de imagen/logo - Marca de tiempo - Efectos de desenfoque ## Guías Disponibles[¶](#guias-disponibles "Permanent link") ### Redimensionar y Recortar[¶](#redimensionar-y-recortar "Permanent link") Aprenda cómo cambiar el tamaño y recortar el video. [Ver guía →](resize-crop/) ### Efectos de Video[¶](#efectos-de-video "Permanent link") Aplicar efectos visuales al video. [Ver guía →](video-effects/) ### Mezcla de Video[¶](#mezcla-de-video "Permanent link") Combinar múltiples fuentes de video. [Ver guía →](video-mixing/) ## Ejemplo: Redimensionar Video[¶](#ejemplo-redimensionar-video "Permanent link") `[](#__codelineno-0-1)var pipeline = new MediaBlocksPipeline(); [](#__codelineno-0-2)[](#__codelineno-0-3)var videoSource = new SystemVideoSourceBlock(videoSettings); [](#__codelineno-0-4)[](#__codelineno-0-5)// Redimensionar a 1280x720 [](#__codelineno-0-6)var resizeBlock = new VideoResizeBlock(new VideoResizeSettings [](#__codelineno-0-7){ [](#__codelineno-0-8) Width = 1280, [](#__codelinen... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-processing/index.html #### Redimensionar y Recortar Video en .NET - VisioForge Help [Saltar a contenido](#operaciones-de-redimensionar-y-recortar-video-para-desarrolladores-net) # Operaciones de Redimensionar y Recortar Video para Desarrolladores .NET[¶](#operaciones-de-redimensionar-y-recortar-video-para-desarrolladores-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción al Procesamiento de Video[¶](#introduccion-al-procesamiento-de-video "Permanent link") Al trabajar con flujos de video en aplicaciones .NET, controlar las dimensiones y área de enfoque de tu video es esencial para crear aplicaciones profesionales. Esta guía explica cómo implementar operaciones de redimensionar y recortar en flujos de video de webcams, capturas de pantalla, cámaras IP y otras fuentes. ## Implementación de Redimensionamiento de Video[¶](#implementacion-de-redimensionamiento-de-video "Permanent link") Redimensionar te permite estandarizar las dimensiones de video a través de diferentes fuentes de video, lo cual es particularmente útil cuando trabajas con múltiples entradas de cámara o cuando apuntas a formatos de salida específicos. ### Paso 1: Habilitar Funcionalidad de Redimensionamiento[¶](#paso-1-habilitar-funcionalidad-de-redimensionamiento "Permanent link") Primero, habilita la característica de redimensionar o recortar en tu aplicación: `[](#__codelineno-0-1)VideoCapture1.Video_ResizeOrCrop_Enabled = true;` ### Paso 2: Configurar Parámetros de Redimensionamiento[¶](#paso-2-configurar-parametros-de-redimensionamiento "Permanent link") Establece tu ancho y alto deseados, y determina si mantener la relación de aspecto con letterboxing: `[](#__codelineno-1-1)VideoCapture1.Video_Resize = new VideoResizeSettings [](#__codelineno-1-2){ [](#__codelineno-1-3) Width = 640, [](#__codelineno-1-4) Height = 480, [](#__codelineno-1-5) LetterBox = true [](#__codelineno-1-6)};` ### Paso 3: Seleccionar Algoritmo de Redimensionamiento Apropiado[¶](#paso-3-seleccionar-algoritmo-de-redi... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-processing/resize-crop/index.html #### Aplicar Efectos de Video en Tiempo Real en .NET - VisioForge Help [Saltar a contenido](#efectos-de-video) # Efectos de Video[¶](#efectos-de-video "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) Video Capture SDK .Net te permite aplicar varios efectos de video al video capturado desde diferentes fuentes. Los efectos de video se aplican en tiempo real. Lee el artículo [Efectos de Video en SDKs .Net](../../../general/video-effects/) para aprender más sobre efectos de video en Video Capture SDK .Net. ## Redistribuibles Requeridos[¶](#redistribuibles-requeridos "Permanent link") - Redist de captura de video [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) * * * Visita nuestra página de [GitHub](https://github.com/visioforge/.Net-SDK-s-samples) para obtener más muestras de código. Volver al principio **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-processing/video-effects/index.html #### Combinar Múltiples Flujos de Video en .NET - VisioForge Help [Saltar a contenido](#mezclar-multiples-flujos-de-video-en-aplicaciones-net) # Mezclar Múltiples Flujos de Video en Aplicaciones .NET[¶](#mezclar-multiples-flujos-de-video-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a la Mezcla de Flujos de Video[¶](#introduccion-a-la-mezcla-de-flujos-de-video "Permanent link") El SDK proporciona capacidades poderosas para mezclar varios flujos de video con diferentes resoluciones y tasas de fotogramas. Esta funcionalidad es esencial para crear aplicaciones de video profesionales que requieren efectos Picture-in-Picture, vistas multi-cámara o salidas de visualización combinadas. ## Características Clave de la Mezcla de Video[¶](#caracteristicas-clave-de-la-mezcla-de-video "Permanent link") - Combinar múltiples fuentes de video en una sola salida - Soporte para diferentes resoluciones de video y tasas de fotogramas - Múltiples opciones de layout (horizontal, vertical, cuadrícula, personalizado) - Ajustes de posición y parámetros en tiempo real - Controles de transparencia y volteo - Soporte para diversas fuentes de entrada (cámaras, pantallas, cámaras IP) ## Motor VideoCaptureCore[¶](#motor-videocapturecore "Permanent link") El proceso de implementación implica tres pasos principales: 1. Configurar el modo de mezcla de video 2. Añadir múltiples fuentes de video 3. Configurar y ajustar parámetros de fuentes Exploremos cada paso en detalle con ejemplos de código. ### Configurar Modo de Mezcla de Video[¶](#configurar-modo-de-mezcla-de-video "Permanent link") El SDK soporta varios layouts predefinidos así como configuraciones personalizadas. #### Layout de Pila Horizontal[¶](#layout-de-pila-horizontal "Permanent link") Este modo organiza todas las fuentes de video horizontalmente en una fila: `[](#__codelineno-0-1)VideoCapture1.PIP_Mode = PIPMode.Horizontal;` #### Layout de Pila Vertical[¶](#layout-de-pila-vertical "Perm... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-processing/video-mixing/index.html #### Guía de Integración Blackmagic Decklink .NET - VisioForge Help [Saltar a contenido](#integrar-dispositivos-blackmagic-decklink-con-aplicaciones-net) # Integrar Dispositivos Blackmagic Decklink con Aplicaciones .NET[¶](#integrar-dispositivos-blackmagic-decklink-con-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## ¿Qué Son los Dispositivos Decklink?[¶](#que-son-los-dispositivos-decklink "Permanent link") Los dispositivos Decklink de Blackmagic Design representan tarjetas de captura y reproducción estándar de la industria diseñadas para entornos de producción de video profesional. Estas soluciones de hardware de alto rendimiento entregan capacidades excepcionales para desarrolladores que integran funcionalidad de captura de video en aplicaciones .NET. Las tarjetas Decklink son reconocidas por sus especificaciones técnicas superiores: - Soporte para formatos de video de alta resolución incluyendo 4K, 8K y HD - Múltiples opciones de conexión de entrada/salida (SDI, HDMI) para integración flexible - Rendimiento de baja latencia crucial para aplicaciones de transmisión en tiempo real - Compatibilidad cruzada con las principales plataformas de software de producción de video - APIs amigables para desarrolladores que se integran perfectamente con varios lenguajes de programación Para desarrolladores .NET que construyen aplicaciones de video profesionales, la integración Decklink proporciona una base confiable para manejar procesamiento de señales de video de calidad broadcast. ## Detección Programática de Dispositivos[¶](#deteccion-programatica-de-dispositivos "Permanent link") El primer paso en la implementación de funcionalidad Decklink es la enumeración apropiada de dispositivos. Las siguientes muestras de código demuestran cómo detectar hardware Decklink disponible en tu aplicación .NET. ### Enumerar Dispositivos Disponibles[¶](#enumerar-dispositivos-disponibles "Permanent link") VideoCaptureCoreVideoC... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/decklink/index.html #### Control de Camcorder DV en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#control-de-camcorder-dv-para-aplicaciones-net) # Control de Camcorder DV para Aplicaciones .NET[¶](#control-de-camcorder-dv-para-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción a Integración de Camcorder DV[¶](#introduccion-a-integracion-de-camcorder-dv "Permanent link") Las camcorders de Video Digital (DV) permanecen como herramientas valiosas para captura de video de alta calidad en entornos profesionales y semi-profesionales. Integrar control de camcorder DV en sus aplicaciones .NET permite gestión programática de dispositivo, habilitando flujos de trabajo automatizados y experiencias de usuario mejoradas. Esta guía proporciona todo lo que necesita para implementar control de camcorder DV en sus aplicaciones C#. El componente VideoCaptureCore proporciona una API robusta para controlar camcorders DV/HDV a través de llamadas de método asíncronas simples. Esta funcionalidad soporta una amplia gama de modelos de camcorder y puede implementarse en aplicaciones WPF, WinForms y consola. ## Comenzando con Control de Camcorder DV[¶](#comenzando-con-control-de-camcorder-dv "Permanent link") ### Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de implementar características de control de camcorder DV, asegúrese de tener: 1. Una camcorder DV/HDV compatible conectada a su sistema 2. El Video Capture SDK .NET instalado en su proyecto 3. Controladores de dispositivo apropiados instalados en su máquina de desarrollo ### Configuración Inicial[¶](#configuracion-inicial "Permanent link") Para comenzar a trabajar con una camcorder DV, debe primero: 1. Seleccionar la camcorder DV como su fuente de video 2. Configurar parámetros de fuente apropiados 3. Inicializar la funcionalidad de vista previa o captura de video Para instrucciones detalladas sobre seleccionar y configurar una camcorder DV como su fuente de video, consulte nuestra [... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/dv-camcorder-control/index.html #### Fuentes de Video para Desarrolladores .NET - VisioForge Help [Saltar a contenido](#fuentes-de-video-para-desarrolladores-net) # Fuentes de Video para Desarrolladores .NET[¶](#fuentes-de-video-para-desarrolladores-net "Permanent link") [SDK de Captura de Video .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a Fuentes de Entrada de Video[¶](#introduccion-a-fuentes-de-entrada-de-video "Permanent link") El SDK de Captura de Video para .NET proporciona soporte robusto para prácticamente cualquier fuente de entrada de video estándar disponible en entornos de desarrollo modernos. Esta flexibilidad permite a las aplicaciones capturar, procesar y manipular contenido de video desde una amplia variedad de dispositivos hardware y streams de red. Ya sea que esté desarrollando software de edición de video profesional, creando soluciones de vigilancia personalizadas o construyendo aplicaciones de imágenes médicas, entender las opciones de fuente de video disponibles es crucial para implementar la solución correcta para sus requisitos específicos. ## Webcams USB e Integradas[¶](#webcams-usb-e-integradas "Permanent link") ### Compatibilidad de Dispositivos[¶](#compatibilidad-de-dispositivos "Permanent link") El SDK soporta todos los dispositivos de captura de video estándar que cumplen con interfaces de driver comunes, incluyendo: - Webcams USB (USB 2.0, 3.0 y conectadas USB-C) - Cámaras integradas de laptop y tablet - Adaptadores y dongles de captura de video USB externos - Dispositivos de software de cámara virtual ### Características de Implementación[¶](#caracteristicas-de-implementacion "Permanent link") Cuando se trabaja con webcams USB e integradas, los desarrolladores pueden: - Acceder y enumerar todos los dispositivos conectados - Seleccionar desde formatos de video y resoluciones disponibles - Controlar parámetros específicos de cámara (enfoque, exposición, balance de blancos) - Aplicar filtros de procesamiento de video en tiempo real - Capturar frames raw para análisis de ima... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/index.html #### Integración de Cámaras IP y Fuentes de Red en .NET - VisioForge Help [Saltar a contenido](#guia-completa-para-la-integracion-de-camaras-ip-y-fuentes-de-red) # Guía Completa para la Integración de Cámaras IP y Fuentes de Red[¶](#guia-completa-para-la-integracion-de-camaras-ip-y-fuentes-de-red "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introducción a las Fuentes de Video de Red[¶](#introduccion-a-las-fuentes-de-video-de-red "Permanent link") Las aplicaciones de video modernas a menudo requieren integración con varias fuentes de video de red. El Video Capture SDK para .NET proporciona un soporte robusto para diversos tipos de cámaras IP y flujos de video de red, permitiendo a los desarrolladores incorporar fácilmente video de red en vivo en aplicaciones .NET. Esta guía completa cubre todas las fuentes de red soportadas y proporciona ejemplos de implementación claros tanto para los marcos VideoCaptureCore como VideoCaptureCoreX. ## Tipos de Cámaras IP y Fuentes de Red Soportadas[¶](#tipos-de-camaras-ip-y-fuentes-de-red-soportadas "Permanent link") El SDK ofrece una amplia compatibilidad con varias fuentes de video de red, incluyendo: - [Cámaras compatibles con ONVIF](onvif/) - Estándar de la industria para productos de seguridad basados en IP - [Cámaras RTSP](rtsp/) - Cámaras con Protocolo de Transmisión en Tiempo Real - Cámaras HTTP MJPEG - Transmisión Motion JPEG sobre HTTP - Cámaras y flujos UDP - Flujos basados en el Protocolo de Datagramas de Usuario - [Cámaras NDI](ndi/) - Cámaras con tecnología de Interfaz de Dispositivo de Red - Servidores y cámaras SRT - Protocolo de Transporte Seguro y Fiable - Servidores VNC - Computación en Red Virtual para captura de pantalla - Flujos RTMP - Fuentes de Protocolo de Mensajería en Tiempo Real - Flujos HLS - Fuentes de Transmisión en Vivo HTTP - Fuentes de video HTTP - Varios flujos de video basados en HTTP Cada protocolo ofrece ventajas específicas dependiendo de lo... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/ip-cameras/index.html #### Integración NDI para Captura de Video en .NET - VisioForge Help [Saltar a contenido](#implementar-fuentes-de-video-ndi-en-aplicaciones-net) # Implementar Fuentes de Video NDI en Aplicaciones .NET[¶](#implementar-fuentes-de-video-ndi-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introducción a la Tecnología NDI[¶](#introduccion-a-la-tecnologia-ndi "Permanent link") Network Device Interface (NDI) es un estándar de alto rendimiento para flujos de trabajo de producción basados en IP, desarrollado por NewTek. Permite que productos compatibles con video se comuniquen, entreguen y reciban video de calidad broadcast sobre una conexión de red estándar con baja latencia. Nuestro SDK proporciona soporte robusto para fuentes NDI, permitiendo que tus aplicaciones .NET se integren perfectamente con cámaras NDI y software habilitado para NDI. Esto lo hace ideal para entornos de producción en vivo, aplicaciones de streaming, soluciones de videoconferencia y cualquier sistema que requiera integración de video de red de alta calidad. ### Prerrequisitos para Integración NDI[¶](#prerrequisitos-para-integracion-ndi "Permanent link") Antes de implementar funcionalidad NDI en tu aplicación, necesitarás instalar uno de los siguientes: - [NDI SDK](https://ndi.video/for-developers/ndi-sdk/#download) - Recomendado para desarrolladores construyendo aplicaciones profesionales - NDI Tools - Suficiente para pruebas básicas y desarrollo Estas herramientas proporcionan los componentes de tiempo de ejecución necesarios para la comunicación NDI. Después de la instalación, tu sistema podrá descubrir y conectarse a fuentes NDI en tu red. ## Descubrir Fuentes NDI en Tu Red[¶](#descubrir-fuentes-ndi-en-tu-red "Permanent link") El primer paso para trabajar con NDI es enumerar las fuentes disponibles. Nuestro SDK hace este proceso sencillo con métodos dedicados para escanear tu red en busca de dispositivos y aplicaciones habilitados para... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/ip-cameras/ndi/index.html #### Integración de Cámaras IP ONVIF - Guía Completa - VisioForge Help [Saltar a contenido](#integracion-de-camaras-ip-onvif---guia-completa) # Integración de Cámaras IP ONVIF - Guía Completa[¶](#integracion-de-camaras-ip-onvif---guia-completa "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [Media Blocks SDK .Net](https://www.visioforge.com/media-blocks-sdk-net) ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Integración de Cámaras IP ONVIF - Guía Completa](#integracion-de-camaras-ip-onvif---guia-completa) - [Tabla de Contenidos](#tabla-de-contenidos) - [¿Qué es ONVIF?](#que-es-onvif) - [Beneficios de la Integración ONVIF](#beneficios-de-la-integracion-onvif) - [Descubrimiento y Enumeración de Cámaras](#descubrimiento-y-enumeracion-de-camaras) - [Descubriendo Cámaras ONVIF en Tu Red](#descubriendo-camaras-onvif-en-tu-red) - [Consultando Capacidades de Cámara](#consultando-capacidades-de-camara) - [Conectando a Cámaras ONVIF](#conectando-a-camaras-onvif) - [Conexión Básica](#conexion-basica) - [Trabajando con Perfiles de Medios](#trabajando-con-perfiles-de-medios) - [Vista Previa de Video](#vista-previa-de-video) - [Configuración Básica de Vista Previa](#configuracion-basica-de-vista-previa) - [Vista Previa de Baja Latencia](#vista-previa-de-baja-latencia) - [Control PTZ (Pan-Tilt-Zoom)](#control-ptz-pan-tilt-zoom) - [Operaciones PTZ Básicas](#operaciones-ptz-basicas) - [Preajustes PTZ](#preajustes-ptz) - [Posicionamiento Absoluto](#posicionamiento-absoluto) - [Acciones y Capacidades de Cámara](#acciones-y-capacidades-de-camara) - [Consultar Capacidades de Cámara](#consultar-capacidades-de-camara) - [Reiniciar Cámara](#reiniciar-camara) - [Obtener Fecha y Hora del Sistema](#obtener-fecha-y-hora-del-sistema) - [Convertir Cámara Local en Fuente ONVIF](#convertir-camara-local-en-fuente-onvif) - [Mejores Prácticas](#mejores-practicas) - [Gestión de Conexión](#gestion-de-conex... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/ip-cameras/onvif/index.html #### Integrar Cámaras RTSP en Video Capture SDK .Net - VisioForge Help [Saltar a contenido](#integrar-flujos-de-camaras-rtsp-en-aplicaciones-net) # Integrar Flujos de Cámaras RTSP en Aplicaciones .NET[¶](#integrar-flujos-de-camaras-rtsp-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Configurar Fuentes de Cámaras RTSP Estándar[¶](#configurar-fuentes-de-camaras-rtsp-estandar "Permanent link") Implementar flujos de cámaras RTSP en tus aplicaciones .NET proporciona acceso flexible a cámaras de red y flujos de video. Esta poderosa capacidad permite monitoreo en tiempo real, características de vigilancia y procesamiento de video directamente dentro de tu aplicación. VideoCaptureCoreVideoCaptureCoreX Para opciones de conexión adicionales y protocolos alternativos, por favor consulta nuestra documentación detallada de [cámaras IP](../) que cubre un amplio rango de enfoques de integración de cámaras. `[](#__codelineno-0-1)// Crear objeto de configuración de fuente RTSP [](#__codelineno-0-2)var rtsp = await RTSPSourceSettings.CreateAsync(new Uri("url"), "login", "password", true /*¿capturar audio?*/); [](#__codelineno-0-3)[](#__codelineno-0-4)// Establecer fuente al objeto VideoCaptureCoreX [](#__codelineno-0-5)VideoCapture1.Video_Source = rtsp;` ## Optimizar para Streaming RTSP de Baja Latencia[¶](#optimizar-para-streaming-rtsp-de-baja-latencia "Permanent link") La baja latencia es crítica para muchas aplicaciones en tiempo real incluyendo monitoreo de seguridad, sistemas interactivos y transmisión en vivo. Nuestro SDK proporciona configuraciones especializadas para minimizar el retraso entre captura y visualización. VideoCaptureCoreVideoCaptureCoreX Nuestro SDK incluye un modo dedicado específicamente diseñado para streaming RTSP de baja latencia. Cuando está configurado apropiadamente, este modo típicamente logra latencia inferior a 250 milisegundos, haciéndolo ideal para aplicaciones sensibles al tiempo. `[](#__cod... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/ip-cameras/rtsp/index.html #### Fuente de Captura de Pantalla para SDK de Video .NET - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-captura-de-pantalla) # Guía de Implementación de Captura de Pantalla[¶](#guia-de-implementacion-de-captura-de-pantalla "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introducción a la Captura de Pantalla[¶](#introduccion-a-la-captura-de-pantalla "Permanent link") La tecnología de captura de pantalla permite a los desarrolladores grabar y transmitir programáticamente el contenido visual mostrado en un monitor de computadora. Esta poderosa funcionalidad sirve como base para numerosas aplicaciones incluyendo: - Herramientas de soporte remoto y asistencia técnica - Demostración de software y creación de tutoriales - Grabación y transmisión de juegos - Sistemas de webinars y presentaciones - Automatización de control de calidad y pruebas Video Capture SDK .Net proporciona a los desarrolladores herramientas robustas para capturar contenido de pantalla con alto rendimiento y flexibilidad. El SDK soporta capturar pantallas completas, ventanas de aplicaciones individuales o regiones de pantalla personalizadas. ## Soporte de Plataforma y Descripción General de la Tecnología[¶](#soporte-de-plataforma-y-descripcion-general-de-la-tecnologia "Permanent link") ### Implementación en Windows[¶](#implementacion-en-windows "Permanent link") En plataformas Windows, el SDK aprovecha el poder de las tecnologías DirectX para lograr un rendimiento óptimo. Los desarrolladores pueden elegir entre: - **DirectX 9**: Soporte legacy para sistemas más antiguos - **DirectX 11/12**: Implementación moderna que ofrece rendimiento y eficiencia superiores DirectX 11 es particularmente recomendado para escenarios de captura de ventanas debido a su manejo mejorado de composición de ventanas y características de rendimiento superiores. VideoCaptureCoreVideoCaptureCoreX ### Configuración de Captura Principal[¶](#configuracion-de-captura-... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/screen/index.html #### Integración de Radio FM y Sintonizador de TV en .NET - VisioForge Help [Saltar a contenido](#integracion-de-radio-fm-y-sintonizacion-de-tv-para-aplicaciones-net) # Integración de Radio FM y Sintonización de TV para Aplicaciones .NET[¶](#integracion-de-radio-fm-y-sintonizacion-de-tv-para-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción a la Integración de Transmisión[¶](#introduccion-a-la-integracion-de-transmision "Permanent link") Las aplicaciones .NET modernas pueden aprovechar las capacidades del hardware para proporcionar funcionalidad de sintonización de radio FM y TV. Esta guía demuestra cómo implementar estas características en tus aplicaciones C#, ya sea que estés construyendo aplicaciones WPF, WinForms o de consola. Siguiendo estos ejemplos, podrás detectar dispositivos sintonizadores disponibles, escanear frecuencias, gestionar canales y entregar una experiencia de transmisión completa a tus usuarios. ## Requisitos de Hardware[¶](#requisitos-de-hardware "Permanent link") Antes de implementar las muestras de código a continuación, asegúrate de que tu sistema de desarrollo tenga: 1. Una tarjeta sintonizadora de TV o dispositivo USB compatible 2. Instalación correcta de controladores 3. .NET Framework 4.7+ o .NET Core 3.1+/.NET 5.0+ para aplicaciones modernas ## Detectar Dispositivos Sintonizadores Disponibles[¶](#detectar-dispositivos-sintonizadores-disponibles "Permanent link") El primer paso en la implementación de funcionalidad de sintonizador es detectar todos los dispositivos sintonizadores disponibles en el sistema. Esto permite a los usuarios seleccionar el hardware apropiado para sus necesidades. `[](#__codelineno-0-1)// Poblar un combobox con todos los dispositivos de Sintonizador de TV disponibles [](#__codelineno-0-2)foreach (var tunerDevice in VideoCapture1.TVTuner_Devices) [](#__codelineno-0-3){ [](#__codelineno-0-4) cbTVTuner.Items.Add(tunerDevice); [](#__codelineno-0-5)}` Luego puedes permitir a... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/tv-tuner/index.html #### Integración USB3 Vision, GigE & GenICam - Guía - VisioForge Help [Saltar a contenido](#integracion-de-camaras-usb3-vision-gige-y-genicam) # Integración de Cámaras USB3 Vision, GigE y GenICam[¶](#integracion-de-camaras-usb3-vision-gige-y-genicam "Permanent link") [SDK de Captura de Video .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) ## Resumen[¶](#resumen "Permanent link") Las cámaras industriales usando estándares USB3 Vision, GigE Vision y GenICam proporcionan calidad de imagen superior y rendimiento para aplicaciones de machine vision. Nuestro SDK permite integración perfecta con estos tipos de cámara profesionales a través de varias opciones de conectividad. ## Protocolo GigE Vision[¶](#protocolo-gige-vision "Permanent link") GigE Vision es una interfaz de cámara industrial estándar basada en tecnología Gigabit Ethernet. Ofrece varias ventajas para aplicaciones de machine vision: - **Transferencia de datos de alta velocidad**: Soporta hasta 1 Gbps en redes Gigabit estándar y 10+ Gbps en redes modernas 10GigE - **Longitud de cable larga**: Puede operar a distancias de hasta 100 metros usando cableado Ethernet estándar - **Arquitectura de red**: Múltiples cámaras pueden compartir la misma infraestructura de red - **Power over Ethernet (PoE)**: Las cámaras pueden recibir alimentación a través del mismo cable Ethernet (cuando se usan switches PoE-enabled) - **Descubrimiento de dispositivo**: Detección automática de cámaras GigE Vision en la red - **Capacidades multicast**: Permite streaming a múltiples clientes simultáneamente GigE Vision combina la interfaz de programación GenICam con la capa de transporte GigE, proporcionando estructuras de comando consistentes en diferentes cámaras de fabricantes. ## Protocolo USB3 Vision[¶](#protocolo-usb3-vision "Permanent link") USB3 Vision es un estándar de interfaz de cámara que aprovecha la interfaz USB 3.0 de alta velocidad para aplicaciones de imaging industrial: - **Ancho de banda alto**: Hasta 5 Gbps de tasa de transferencia... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/usb3v-gige-genicam/index.html #### Control Avanzado de Cámara y PTZ para SDK .NET - VisioForge Help [Saltar a contenido](#implementacion-avanzada-de-control-de-camara-y-ptz) # Implementación Avanzada de Control de Cámara y PTZ[¶](#implementacion-avanzada-de-control-de-camara-y-ptz "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Descripción General de Capacidades de Control de Cámara[¶](#descripcion-general-de-capacidades-de-control-de-camara "Permanent link") La API de Control de Cámara proporciona a los desarrolladores acceso directo para manipular varios parámetros de cámara cuando trabajan con dispositivos compatibles. Dependiendo de las especificaciones de tu hardware de cámara, puedes controlar programáticamente las siguientes características: - **Pan** - Control de movimiento horizontal - **Tilt** - Control de movimiento vertical - **Roll** - Movimiento rotacional a lo largo del eje del lente - **Zoom** - Ajuste de nivel de magnificación - **Exposición** - Configuraciones de sensibilidad a la luz - **Iris** - Control de apertura para admisión de luz - **Enfoque** - Ajuste de claridad y nitidez de imagen **Nota Importante:** La API de Control de Cámara requiere una sesión activa de vista previa o captura para funcionar apropiadamente. Debes iniciar la vista previa o captura antes de intentar acceder a las características de control. ## Guía de Implementación con Ejemplos[¶](#guia-de-implementacion-con-ejemplos "Permanent link") A continuación encontrarás patrones de implementación prácticos que demuestran cómo integrar características de control de cámara en tus aplicaciones .NET. ### Componentes de Interfaz[¶](#componentes-de-interfaz "Permanent link") Para interacción óptima del usuario, considera implementar los siguientes elementos de UI: - Controles deslizantes para ajuste de parámetros - Casillas de verificación para alternar modos auto/manual - Etiquetas para mostrar valores actuales, mínimos y máximos Puedes referenciar el código fuente del Demo Pr... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/video-capture-devices/camera-control-ptz/index.html #### Configuración de Entradas con API Crossbar (.NET) - VisioForge Help [Saltar a contenido](#configurar-multiples-entradas-de-video-de-hardware-con-crossbar) # Configurar Múltiples Entradas de Video de Hardware con Crossbar[¶](#configurar-multiples-entradas-de-video-de-hardware-con-crossbar "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción a la Funcionalidad Crossbar[¶](#introduccion-a-la-funcionalidad-crossbar "Permanent link") Muchos dispositivos profesionales de captura de video como sintonizadores de TV, tarjetas de captura y hardware de adquisición de video cuentan con múltiples conexiones de entrada físicas. Estos dispositivos podrían incluir varios tipos de entrada como: - Entradas de video analógico (Compuesto, S-Video) - Entradas de video digital (HDMI, DisplayPort) - Entradas de video profesional (SDI, HD-SDI) - Entradas de sintonizador de televisión (RF, Cable) La interfaz crossbar permite que tu aplicación seleccione programáticamente entre estas diferentes entradas de hardware y enrute las señales apropiadamente. ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") ### Paso 1: Inicializar Interfaz Crossbar[¶](#paso-1-inicializar-interfaz-crossbar "Permanent link") Primero, necesitas inicializar la interfaz crossbar para tu dispositivo de captura de video. Esto establece la conexión con las capacidades de selección de entrada del hardware. `[](#__codelineno-0-1)// Inicializar la interfaz crossbar y verificar si la funcionalidad crossbar existe [](#__codelineno-0-2)var crossBarFound = VideoCapture1.Video_CaptureDevice_CrossBar_Init(); [](#__codelineno-0-3)[](#__codelineno-0-4)// Si crossBarFound es true, el dispositivo soporta múltiples entradas que pueden configurarse` ### Paso 2: Descubrir Opciones de Entrada Disponibles[¶](#paso-2-descubrir-opciones-de-entrada-disponibles "Permanent link") Después de inicializar, puedes recuperar todas las entradas disponibles que pueden conectarse a la salida especifi... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/video-capture-devices/crossbar/index.html #### Habilitar Luz de Cámara en Tablets Windows 10+ - VisioForge Help [Saltar a contenido](#habilitar-luz-de-camara-en-tablets-windows-10) # Habilitar Luz de Cámara en Tablets Windows 10+[¶](#habilitar-luz-de-camara-en-tablets-windows-10 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción[¶](#introduccion "Permanent link") Las tablets modernas con Windows 10+ vienen equipadas con funcionalidad de luz de cámara que los desarrolladores pueden controlar programáticamente. Esta guía explica cómo implementar controles de luz de cámara en tus aplicaciones .NET usando la API TorchControl. ## Implementación con la API TorchControl[¶](#implementacion-con-la-api-torchcontrol "Permanent link") La API TorchControl proporciona una forma completa de gestionar luces de cámara en tablets Windows 10+. Esta API ofrece: - Descubrimiento de dispositivos para cámaras compatibles con antorcha - Control granular para habilitar y deshabilitar luces de cámara - Compatibilidad entre dispositivos ### Pasos Básicos de Implementación[¶](#pasos-basicos-de-implementacion "Permanent link") 1. Inicializar el componente VideoCaptureCore 2. Obtener dispositivos disponibles con capacidades de antorcha 3. Habilitar o deshabilitar funcionalidad de antorcha para dispositivos específicos ## Ejemplo de Código Funcional[¶](#ejemplo-de-codigo-funcional "Permanent link") `[](#__codelineno-0-1)// Inicializar VideoCaptureCore [](#__codelineno-0-2)VideoCaptureCore videoCapture = await VideoCaptureCore.CreateAsync(); [](#__codelineno-0-3)[](#__codelineno-0-4)// Obtener dispositivos disponibles con capacidad de antorcha [](#__codelineno-0-5)string[] devices = await videoCapture.TorchControl_GetDevicesAsync(); [](#__codelineno-0-6)[](#__codelineno-0-7)// Habilitar antorcha para el primer dispositivo disponible [](#__codelineno-0-8)if (devices.Length > 0) [](#__codelineno-0-9){ [](#__codelineno-0-10) await videoCapture.TorchControl_EnableAsync(devices[0], true); [](#__codelinen... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/video-capture-devices/enable-camera-light/index.html #### Gestión de Dispositivos de Captura de Video en .NET - VisioForge Help [Saltar a contenido](#trabajar-con-dispositivos-de-captura-de-video-en-net) # Trabajar con Dispositivos de Captura de Video en .NET[¶](#trabajar-con-dispositivos-de-captura-de-video-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCoreX](#) [VideoCaptureCore](#) ## Introducción a la Gestión de Dispositivos de Video[¶](#introduccion-a-la-gestion-de-dispositivos-de-video "Permanent link") El Video Capture SDK .Net proporciona soporte robusto para cualquier dispositivo de captura de video reconocido por tu sistema operativo. Esta guía demuestra cómo descubrir dispositivos disponibles, inspeccionar sus capacidades e integrarlos en tus aplicaciones. ## Enumerar Dispositivos de Captura de Video Disponibles[¶](#enumerar-dispositivos-de-captura-de-video-disponibles "Permanent link") Antes de poder usar un dispositivo de captura, necesitas identificar cuáles están conectados al sistema. Los siguientes ejemplos de código muestran cómo recuperar una lista de dispositivos disponibles y mostrarlos en un componente de interfaz de usuario: VideoCaptureCoreVideoCaptureCoreX `[](#__codelineno-0-1)// Iterar a través de todos los dispositivos de captura de video disponibles conectados al sistema [](#__codelineno-0-2)foreach (var device in VideoCapture1.Video_CaptureDevices()) [](#__codelineno-0-3){ [](#__codelineno-0-4) // Añadir cada nombre de dispositivo a un control de selección desplegable [](#__codelineno-0-5) cbVideoInputDevice.Items.Add(device.Name); [](#__codelineno-0-6)}` `[](#__codelineno-1-1)// Recuperar asincrónicamente todas las fuentes de video usando el DeviceEnumerator compartido [](#__codelineno-1-2)var devices = DeviceEnumerator.Shared.VideoSourcesAsync(); [](#__codelineno-1-3)[](#__codelineno-1-4)// Iterar a través de cada dispositivo disponible [](#__codelineno-1-5)foreach (var device in await devices) [](#__codelineno-1-6){ [](#__codelineno-1-7) // Añadir el nombre amig... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/video-capture-devices/enumerate-and-select/index.html #### Dispositivos de Captura de Video - VisioForge Help [Saltar a contenido](#dispositivos-de-captura-de-video-video-capture-sdk-net) # Dispositivos de Captura de Video - Video Capture SDK .Net[¶](#dispositivos-de-captura-de-video-video-capture-sdk-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) Esta sección cubre el uso de dispositivos de captura de video físicos como webcams USB, cámaras integradas y tarjetas de captura. ## Tipos de Dispositivos[¶](#tipos-de-dispositivos "Permanent link") ### Webcams USB[¶](#webcams-usb "Permanent link") Las webcams USB son los dispositivos de captura más comunes. El SDK soporta la mayoría de las webcams compatibles con UVC. ### Cámaras Integradas[¶](#camaras-integradas "Permanent link") Cámaras integradas en laptops y dispositivos móviles. ### Tarjetas de Captura[¶](#tarjetas-de-captura "Permanent link") Dispositivos que capturan video desde fuentes HDMI, SDI u otras interfaces de video. ## Guías Disponibles[¶](#guias-disponibles "Permanent link") ### Enumeración y Selección[¶](#enumeracion-y-seleccion "Permanent link") Aprenda cómo enumerar y seleccionar dispositivos de captura. [Enumerar y seleccionar dispositivos →](enumerate-and-select/) ### Control de Cámara (PTZ)[¶](#control-de-camara-ptz "Permanent link") Control Pan-Tilt-Zoom para cámaras compatibles. [Control de cámara PTZ →](camera-control-ptz/) ### Crossbar de Video[¶](#crossbar-de-video "Permanent link") Configuración de crossbar para tarjetas de captura. [Crossbar de video →](crossbar/) ### Ajustes de Video[¶](#ajustes-de-video "Permanent link") Configuración de brillo, contraste, saturación y otros ajustes. [Ajustes de video →](video-adjustments/) ### Luz de Cámara[¶](#luz-de-camara "Permanent link") Control de la luz LED de la cámara. [Habilitar luz de cámara →](enable-camera-light/) ## Ejemplo Básico[¶](#ejemplo-basico "Permanent link") `[](#__codelineno-0-1)// Enumerar dispositivos de video [](#__codelineno-0-2)var devices = await DeviceEn... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/video-capture-devices/index.html #### Dominar Controles de Imagen de Cámara en .NET - VisioForge Help [Saltar a contenido](#dominar-controles-de-imagen-de-camara-en-aplicaciones-net) # Dominar Controles de Imagen de Cámara en Aplicaciones .NET[¶](#dominar-controles-de-imagen-de-camara-en-aplicaciones-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) [VideoCaptureCore](#) ## Introducción a los Ajustes de Hardware de Cámara[¶](#introduccion-a-los-ajustes-de-hardware-de-camara "Permanent link") Al desarrollar aplicaciones que utilizan webcams u otros dispositivos de captura de video, tener control preciso sobre los parámetros de calidad de imagen es esencial para crear software de grado profesional. La clase `VideoHardwareAdjustment` proporciona a los desarrolladores herramientas poderosas para ajustar programáticamente configuraciones de cámara como brillo, contraste, tono, saturación, nitidez, gamma y más. ## Propiedades de Ajuste de Hardware Soportadas[¶](#propiedades-de-ajuste-de-hardware-soportadas "Permanent link") El SDK soporta numerosas propiedades de ajuste incluyendo: - Brillo (Brightness) - Contraste (Contrast) - Tono (Hue) - Saturación (Saturation) - Nitidez (Sharpness) - Gamma - Balance de Blancos (White Balance) - Compensación de Contraluz (Backlight Compensation) - Ganancia (Gain) - Exposición (Exposure) Nota que no todas las cámaras soportan cada propiedad. El SDK ignorará elegantemente cualquier propiedad no soportada por el hardware de cámara específico que estés usando. ## Trabajar con Ajustes de Cámara[¶](#trabajar-con-ajustes-de-camara "Permanent link") ### Obtener Rangos de Valores de Propiedades[¶](#obtener-rangos-de-valores-de-propiedades "Permanent link") Antes de establecer valores de ajuste, es importante entender el rango válido para cada propiedad. Usa el método `Video_CaptureDevice_VideoAdjust_GetRangesAsync` para recuperar los valores mínimo, máximo, predeterminado y tamaño de paso para cualquier propiedad de ajuste: `[](#__codelineno-0-1)// Recuperar el ra... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-sources/video-capture-devices/video-adjustments/index.html #### Captura y Vista Previa de Frames de Webcam en C# - VisioForge Help [Saltar a contenido](#implementacion-de-vista-previa-de-video-de-webcam-con-captura-de-frames-en-c) # Implementación de Vista Previa de Video de Webcam con Captura de Frames en C[¶](#implementacion-de-vista-previa-de-video-de-webcam-con-captura-de-frames-en-c "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Descripción General[¶](#descripcion-general "Permanent link") Este tutorial demuestra cómo crear una aplicación profesional de vista previa de video de webcam con la capacidad de capturar frames individuales como imágenes. Esta funcionalidad es esencial para desarrollar aplicaciones que requieren análisis de imagen, capacidades de captura de instantáneas o interfaces de cámara personalizadas. ## Tutorial de Video Paso a Paso[¶](#tutorial-de-video-paso-a-paso "Permanent link") Mira nuestro video detallado que cubre todos los aspectos de la integración de webcam: ## Primeros Pasos[¶](#primeros-pasos "Permanent link") Antes de sumergirte en el código, necesitarás configurar tu entorno de desarrollo con las dependencias necesarias. El código fuente completo está disponible en GitHub como referencia: [Código fuente en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/video-preview-webcam-frame-capture) ## Guía de Implementación[¶](#guia-de-implementacion "Permanent link") ### Dependencias Requeridas[¶](#dependencias-requeridas "Permanent link") Primero, asegúrate de tener instalados los siguientes paquetes NuGet: - Redistribuibles de captura de video [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) ### Ejemplo de Código Fuente[¶](#ejemplo-de-codigo-fuente "Permanent link") La siguiente implementación en C# demuestra cómo: 1. Inicializar un componente de captura de video 2. Conectar a un dispositivo de webcam 3. Mostrar vist... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-tutorials/camera-video-preview/index.html #### Video Capture SDK .Net - Tutoriales de Video - VisioForge Help [Saltar a contenido](#tutoriales-de-captura-de-video-net-con-ejemplos-de-codigo-fuente) # Tutoriales de Captura de Video .NET con Ejemplos de Código Fuente[¶](#tutoriales-de-captura-de-video-net-con-ejemplos-de-codigo-fuente "Permanent link") ¿Estás buscando implementar capacidades de captura de video de grado profesional en tus aplicaciones .NET? Estos tutoriales proporcionan guía paso a paso con ejemplos de código completamente funcionales para integrar varios escenarios de captura de video en tus proyectos. ## Tutoriales de Integración de Cámaras IP[¶](#tutoriales-de-integracion-de-camaras-ip "Permanent link") Conectarse a cámaras IP te permite incorporar feeds de seguridad, monitoreo remoto y funcionalidad de vigilancia en tus aplicaciones. - [**Guía de Grabación de Cámara IP a MP4**](ip-camera-capture-mp4/) - Aprende cómo conectarte a cámaras IP y grabar archivos MP4 de alta calidad con compresión H.264 - [**Implementación de Vista Previa en Vivo de Cámara IP**](ip-camera-preview/) - Descubre cómo mostrar feeds de cámara IP en tiempo real en tu aplicación con tasas de cuadros configurables Nuestros tutoriales cubren protocolos RTSP, HTTP y ONVIF para conectarse a una amplia gama de modelos de cámaras IP de los principales fabricantes. ## Tutoriales de Grabación de Pantalla[¶](#tutoriales-de-grabacion-de-pantalla "Permanent link") Captura tu escritorio, ventanas de aplicaciones o regiones específicas de pantalla con precisión de píxel. Ideal para crear tutoriales, demos o herramientas de asistencia remota. - [**Captura de Pantalla a Formato AVI**](screen-capture-avi/) - Implementa captura de pantalla completa o de región al formato AVI estándar de la industria con codecs configurables - [**Grabación de Pantalla a Archivos MP4**](screen-capture-mp4/) - Crea grabaciones MP4 eficientes de la actividad del escritorio con configuraciones de calidad ajustables - [**Captura de Pantalla con Salida WMV**](screen-capture-wmv/) - Utiliza el formato WM... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-tutorials/index.html #### Streaming de Cámara IP a Archivos MP4 en .NET C# - VisioForge Help [Saltar a contenido](#capturando-streams-de-camara-ip-a-archivos-mp4-en-net) # Capturando Streams de Cámara IP a Archivos MP4 en .NET[¶](#capturando-streams-de-camara-ip-a-archivos-mp4-en-net "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Introducción a la Grabación de Cámara IP[¶](#introduccion-a-la-grabacion-de-camara-ip "Permanent link") Las cámaras IP proporcionan potentes capacidades de vigilancia y monitoreo a través de conexiones de red. Esta guía demuestra cómo aprovechar estos dispositivos en aplicaciones .NET para capturar y guardar streams de video a archivos MP4. Usando prácticas modernas de codificación C#, aprenderás cómo establecer conexiones a cámaras IP, configurar streams de video y guardar grabaciones de alta calidad para varias aplicaciones incluyendo sistemas de seguridad, soluciones de monitoreo y herramientas de archivo de video. ## Tutorial de Implementación en Video[¶](#tutorial-de-implementacion-en-video "Permanent link") El siguiente video recorre el proceso de implementación completo: [Código fuente en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/ip-camera-capture-mp4) ## Guía de Implementación Paso a Paso[¶](#guia-de-implementacion-paso-a-paso "Permanent link") Esta guía demuestra cómo establecer conexiones a cámaras IP, transmitir su contenido de video y codificarlo directamente a archivos MP4 usando el componente VideoCaptureCoreX. La implementación soporta múltiples protocolos de cámara incluyendo RTSP, HTTP y ONVIF. ### Implementación de Código[¶](#implementacion-de-codigo "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.IO; [](#__codelineno-0-7)using System.Linq; [](#__codelineno-0-8)using... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-tutorials/ip-camera-capture-mp4/index.html #### Vista Previa de Cámara IP en Aplicaciones .NET - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-vista-previa-de-camara-ip) # Guía de Implementación de Vista Previa de Cámara IP[¶](#guia-de-implementacion-de-vista-previa-de-camara-ip "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Tutorial en Video[¶](#tutorial-en-video "Permanent link") Este tutorial demuestra cómo configurar la funcionalidad de vista previa de cámara IP en tus aplicaciones .NET: [Código fuente en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/ip-camera-preview) ## Redistribuibles Requeridos[¶](#redistribuibles-requeridos "Permanent link") Antes de comenzar, asegúrate de tener instalados los siguientes paquetes: - Redistribuibles de captura de video [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) - Redistribuibles LAV [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.LAV.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.LAV.x64/) ## Ejemplo de Implementación[¶](#ejemplo-de-implementacion "Permanent link") A continuación se muestra un ejemplo completo de WinForms mostrando cómo integrar la funcionalidad de vista previa de cámara IP: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.Linq; [](#__codelineno-0-7)using System.Text; [](#__codelineno-0-8)using System.Threading.Tasks; [](#__codelineno-0-9)using System.Windows.Forms; [](#__codelineno-0-10)[](#__codelineno-0-11)using VisioForge.Core.VideoCapture; [](#__codelineno-0-12)using VisioForge.Core.Types; [](#__codelineno-0-13)using VisioForge.Core.Types.Output; [](#__codelineno-0-14)using VisioForge.Core.Types.V... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-tutorials/ip-camera-preview/index.html #### Captura de Pantalla a AVI con C# - VisioForge Help [Saltar a contenido](#guia-de-implementacion-de-captura-de-pantalla-a-avi-en-c) # Guía de Implementación de Captura de Pantalla a AVI en C[¶](#guia-de-implementacion-de-captura-de-pantalla-a-avi-en-c "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Tutorial en Video Paso a Paso[¶](#tutorial-en-video-paso-a-paso "Permanent link") Mira nuestro tutorial detallado que demuestra el proceso de implementación: ## Repositorio de Código Fuente[¶](#repositorio-de-codigo-fuente "Permanent link") Accede al código fuente completo para este tutorial: [Código fuente en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/screen-capture-avi) ## Ejemplo de Código de Implementación[¶](#ejemplo-de-codigo-de-implementacion "Permanent link") A continuación se muestra la implementación completa en C# para capturar tu pantalla a un archivo AVI: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.Collections.Generic; [](#__codelineno-0-3)using System.ComponentModel; [](#__codelineno-0-4)using System.Data; [](#__codelineno-0-5)using System.Drawing; [](#__codelineno-0-6)using System.IO; [](#__codelineno-0-7)using System.Linq; [](#__codelineno-0-8)using System.Text; [](#__codelineno-0-9)using System.Threading.Tasks; [](#__codelineno-0-10)using System.Windows.Forms; [](#__codelineno-0-11)using VisioForge.Core.VideoCapture; [](#__codelineno-0-12)using VisioForge.Core.Types; [](#__codelineno-0-13)using VisioForge.Core.Types.Output; [](#__codelineno-0-14)using VisioForge.Core.Types.VideoCapture; [](#__codelineno-0-15)[](#__codelineno-0-16)namespace screen_capture_avi [](#__codelineno-0-17){ [](#__codelineno-0-18) public partial class Form1 : Form [](#__codelineno-0-19) { [](#__codelineno-0-20) private VideoCaptureCore videoCapture1; [](#__codelineno-0-21) [](#__codelineno-0-22) public Form1() [](#__codelineno-0-23)... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videocapture/video-tutorials/screen-capture-avi/index.html #### Captura de Pantalla a MP4 con C# y .NET - VisioForge Help [Saltar a contenido](#captura-de-pantalla-a-archivo-mp4) # Captura de pantalla a archivo MP4[¶](#captura-de-pantalla-a-archivo-mp4 "Permanent link") [Video Capture SDK .Net](https://www.visioforge.com/video-capture-sdk-net) ## Tutorial de YouTube[¶](#tutorial-de-youtube "Permanent link") [Código fuente en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Capture%20SDK/_CodeSnippets/screen-capture-mp4) ## Redistribuibles requeridos[¶](#redistribuibles-requeridos "Permanent link") - Redistribuibles de captura de video [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.VideoCapture.x64/) - Redistribuibles MP4 [x86](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.MP4.x86/) [x64](https://www.nuget.org/packages/VisioForge.DotNet.Core.Redist.MP4.x64/) ## Ejemplo de Código[¶](#ejemplo-de-codigo "Permanent link") `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.IO; [](#__codelineno-0-3)using System.Windows.Forms; [](#__codelineno-0-4)using VisioForge.Core.VideoCapture; [](#__codelineno-0-5)using VisioForge.Core.Types; [](#__codelineno-0-6)using VisioForge.Core.Types.Output; [](#__codelineno-0-7)using VisioForge.Core.Types.VideoCapture; [](#__codelineno-0-8)[](#__codelineno-0-9)namespace screen_capture_mp4 [](#__codelineno-0-10){ [](#__codelineno-0-11) public partial class Form1 : Form [](#__codelineno-0-12) { [](#__codelineno-0-13) // Componente principal de VideoCapture que maneja todas las operaciones de grabación [](#__codelineno-0-14) private VideoCaptureCore videoCapture1; [](#__codelineno-0-15) [](#__codelineno-0-16) public Form1() [](#__codelineno-0-17) { [](#__codelineno-0-18) InitializeComponent(); [](#__codelineno-0-19) } [](#__codelineno-0-20) [](#__codelineno-0-21) /// [](#__codelineno-0-4) /// Obtiene o establece el nive... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/audio-envelope/index.html #### Index - VisioForge Help [Saltar a contenido](#ejemplos-de-codigo-video-edit-sdk) * * * title: Ejemplos de Código de Video Edit SDK description: Ejemplos prácticos de Video Edit SDK .Net: superposiciones de texto/imagen, efectos de video, transiciones y manipulación avanzada. * * * # Ejemplos de Código - Video Edit SDK[¶](#ejemplos-de-codigo-video-edit-sdk "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) Esta sección contiene ejemplos de código prácticos para diferentes escenarios de edición de video. ## Ejemplos Disponibles[¶](#ejemplos-disponibles "Permanent link") ### Superposiciones[¶](#superposiciones "Permanent link") - [Añadir superposición de imagen](add-image-overlay/) - Añadir un logo o imagen sobre el video - [Añadir superposición de texto](add-text-overlay/) - Añadir texto al video ### Manipulación de Audio[¶](#manipulacion-de-audio "Permanent link") - [Envolvente de audio](audio-envelope/) - Controlar volumen con curvas - [Volumen por pista](volume-for-track/) - Ajustar volumen de pistas individuales - [Múltiples pistas de audio en AVI](multiple-audio-streams-avi/) - Crear archivos AVI con múltiples pistas ### Efectos y Transiciones[¶](#efectos-y-transiciones "Permanent link") - [Transición entre videos](transition-video/) - Añadir efectos de transición - [Picture in Picture](picture-in-picture/) - Mostrar video dentro de otro - [Varios segmentos](several-segments/) - Combinar múltiples segmentos ### Manipulación de Archivos[¶](#manipulacion-de-archivos "Permanent link") - [Video con múltiples pistas de audio](adding-video-file-with-multiple-audio-streams/) - [Crear archivo de múltiples fuentes](output-file-from-multiple-sources/) - [Extraer imágenes de video](video-images-console/) ### Plataformas Específicas[¶](#plataformas-especificas "Permanent link") - [Editor de video iOS](ios-video-editor/) - Edición de video en dispositivos iOS ## Ejemplo Rápido: Combinar Videos[¶](#ejemplo-rapido-combina... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/index.html #### Editor de Video iOS | Crea Apps de Video más Rápido - VisioForge Help [Saltar a contenido](#editor-de-video-ios-para-edicion-de-video-integrada) # Editor de Video iOS para Edición de Video Integrada[¶](#editor-de-video-ios-para-edicion-de-video-integrada "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCoreX](#) ## Introducción a la Edición de Video en iOS[¶](#introduccion-a-la-edicion-de-video-en-ios "Permanent link") Construir una aplicación de edición de video profesional para iPhone y iPad requiere un SDK robusto que entregue rendimiento nativo con características personalizables. El VisioForge Video Edit SDK proporciona herramientas para crear impresionantes aplicaciones de edición que rivalizan con Adobe Premiere o DaVinci Resolve en dispositivos Apple. Nuestro SDK de edición de video iOS integra capacidades avanzadas de edición de video en tu app iOS de manera eficiente. Construye una aplicación de foto y video, herramientas de creación de contenido o una aplicación de editor de video profesional con las características que los usuarios esperan de las aplicaciones de edición modernas. ## Características Principales[¶](#caracteristicas-principales "Permanent link") El SDK proporciona características completas de edición de video para el desarrollo de aplicaciones iOS: - **Recorte**: Recorte de video preciso a nivel de fotograma con controles táctiles - **Línea de Tiempo**: Edita múltiples pistas de video y audio simultáneamente - **Transiciones**: Efectos suaves incluyendo fundidos y cortinas entre clips - **Efectos de Video**: Aplica filtros y corrección de color a tus videos - **Mezcla de Audio**: Controla el volumen y mezcla múltiples fuentes de audio - **Superposiciones de Texto**: Añade títulos y marcas de agua personalizables Aunque optimizado para iOS, nuestro framework soporta Android a través de .NET MAUI, permitiéndote crear soluciones de edición multiplataforma. ## Comenzar con VideoEditCoreX[¶](#comenzar-con-videoeditcorex "Permanent link") ###... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/ios-video-editor/index.html #### Añadir Múltiples Pistas de Audio a AVI en .NET - VisioForge Help [Saltar a contenido](#anadir-multiples-pistas-de-audio-a-archivos-avi-en-net) # Añadir Múltiples Pistas de Audio a Archivos AVI en .NET[¶](#anadir-multiples-pistas-de-audio-a-archivos-avi-en-net "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introducción[¶](#introduccion "Permanent link") Las múltiples pistas de audio te permiten incluir diferentes pistas de idioma, comentarios u opciones de música dentro de un único archivo de video. Esta funcionalidad es esencial para crear contenido multilingüe o proporcionar experiencias de audio alternativas para los espectadores. ## Detalles de Implementación[¶](#detalles-de-implementacion "Permanent link") Al crear múltiples pistas de audio en un archivo AVI, necesitas añadir cada fuente de audio a la línea de tiempo usando parámetros de destino específicos. Este enfoque asegura que cada pista de audio esté correctamente indexada y accesible durante la reproducción. ## Ejemplo de Código[¶](#ejemplo-de-codigo "Permanent link") El siguiente ejemplo en C# demuestra cómo añadir dos pistas de audio diferentes a un archivo AVI: `[](#__codelineno-0-1)var videoSource = new VideoSource("video1.avi"); [](#__codelineno-0-2)var audioSource1 = new AudioSource("video1.avi"); [](#__codelineno-0-3)var audioSource2 = new AudioSource("audio2.mp3"); [](#__codelineno-0-4)[](#__codelineno-0-5)VideoEdit1.Input_Clear_List(); [](#__codelineno-0-6)VideoEdit1.Input_AddVideoFile(videoSource); [](#__codelineno-0-7)VideoEdit1.Input_AddAudioFile(audioSource1, targetStreamIndex: 0); [](#__codelineno-0-8)VideoEdit1.Input_AddAudioFile(audioSource2, targetStreamIndex: 1);` ## Explicación de Parámetros Clave[¶](#explicacion-de-parametros-clave "Permanent link") - `targetStreamIndex`: Define a qué índice de pista de audio se asignará la fuente - La primera pista de audio usa índice 0, la segunda usa índice 1, y así sucesivamente - Puedes añadir tantas pistas de audio como necesit... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/multiple-audio-streams-avi/index.html #### Crear Archivos de Video desde Múltiples Fuentes (.NET) - VisioForge Help [Saltar a contenido](#crear-nuevos-archivos-desde-multiples-fuentes-sin-recodificacion) # Crear Nuevos Archivos desde Múltiples Fuentes Sin Recodificación[¶](#crear-nuevos-archivos-desde-multiples-fuentes-sin-recodificacion "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introducción[¶](#introduccion "Permanent link") Al desarrollar aplicaciones multimedia, puede que necesites combinar contenido de diferentes archivos. Esta guía demuestra cómo mezclar pistas de múltiples fuentes de video y audio en un único archivo de salida sin pérdida de calidad por recodificación. ## Beneficios de Trabajar con Múltiples Fuentes[¶](#beneficios-de-trabajar-con-multiples-fuentes "Permanent link") - Preservar la calidad original de todos los archivos fuente - Combinar pistas de audio de diferentes fuentes - Añadir música de fondo a archivos de video - Crear contenido multilingüe con diferentes pistas de audio - Ahorrar tiempo de procesamiento evitando recodificación innecesaria ## Implementación Paso a Paso[¶](#implementacion-paso-a-paso "Permanent link") ### 1\. Inicializar la Colección de Pistas[¶](#1-inicializar-la-coleccion-de-pistas "Permanent link") Primero, crea una lista para contener todas las referencias de pistas: `[](#__codelineno-0-1)var streams = new List();` ### 2\. Añadir Pista de Video[¶](#2-anadir-pista-de-video "Permanent link") Añade una pista de video desde tu primer archivo fuente. El ID "v" designa esto como el componente de video: `[](#__codelineno-1-1)streams.Add(new FFMPEGStream [](#__codelineno-1-2){ [](#__codelineno-1-3) Filename = "c:\\samples\\!video.avi", [](#__codelineno-1-4) ID = "v" [](#__codelineno-1-5)});` ### 3\. Añadir Pista de Audio Principal[¶](#3-anadir-pista-de-audio-principal "Permanent link") Incorpora una pista de audio desde un archivo MP3. El ID "a" identifica esto como un componente de aud... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/output-file-from-multiple-sources/index.html #### Crear Videos Dinámicos Imagen-en-Imagen en .NET - VisioForge Help [Saltar a contenido](#crear-videos-imagen-en-imagen-y-pantalla-dividida-en-net) # Crear Videos Imagen-en-Imagen y Pantalla Dividida en .NET[¶](#crear-videos-imagen-en-imagen-y-pantalla-dividida-en-net "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introducción a las Técnicas de Composición de Video[¶](#introduccion-a-las-tecnicas-de-composicion-de-video "Permanent link") Las aplicaciones de video profesionales a menudo requieren combinar múltiples fuentes de video en una única salida. Esta capacidad es esencial para crear contenido atractivo como tutoriales con superposiciones del presentador, videos de reacción, paneles de entrevistas o transmisiones deportivas con ventanas de repetición. El Video Edit SDK para .NET hace que estas técnicas avanzadas sean sencillas de implementar en tus aplicaciones C#. Esta guía cubre tres enfoques principales de composición de video: 1. **Imagen-en-Imagen (PIP)**: Colocar una superposición de video más pequeña sobre un video principal 2. **División Horizontal**: Posicionar dos videos lado a lado horizontalmente 3. **División Vertical**: Organizar dos videos uno sobre otro Cada técnica tiene casos de uso específicos y puede personalizarse para crear exactamente la presentación visual que tu aplicación requiere. ## Crear Superposiciones de Video Imagen-en-Imagen[¶](#crear-superposiciones-de-video-imagen-en-imagen "Permanent link") Imagen-en-Imagen es la técnica de composición de video más común, donde un video más pequeño aparece en una esquina o posición personalizada sobre un video de fondo más grande. Esto es perfecto para crear videos de comentarios, tutoriales o cualquier contenido donde quieras mostrar dos perspectivas simultáneamente sin dividir la pantalla equitativamente. ### Paso 1: Definir tus Archivos de Video[¶](#paso-1-definir-tus-archivos-de-video "Permanent link") Primero, especifica las rutas de archivo para los videos que quieres combina... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/picture-in-picture/index.html #### Añadir Múltiples Segmentos desde un Archivo de Video en C# - VisioForge Help [Saltar a contenido](#anadir-multiples-segmentos-desde-un-unico-archivo-de-video-en-c) # Añadir Múltiples Segmentos desde un Único Archivo de Video en C[¶](#anadir-multiples-segmentos-desde-un-unico-archivo-de-video-en-c "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introducción[¶](#introduccion "Permanent link") Al desarrollar aplicaciones de edición de video, a menudo necesitas extraer porciones específicas de un archivo de video y combinarlas en una nueva composición. Esta técnica es esencial para crear resúmenes de momentos destacados, eliminar secciones no deseadas o ensamblar una compilación de momentos clave de un video más largo. Esta guía demuestra cómo extraer y combinar programáticamente múltiples segmentos del mismo archivo de video usando C#. Aprenderás el proceso paso a paso con ejemplos de código funcionales que puedes implementar en tus propias aplicaciones. ## ¿Por qué Extraer Múltiples Segmentos?[¶](#por-que-extraer-multiples-segmentos "Permanent link") Extraer segmentos específicos de videos sirve muchos propósitos prácticos: - Crear resúmenes de momentos destacados de grabaciones más largas - Eliminar secciones no deseadas (anuncios, errores, contenido irrelevante) - Ensamblar una compilación de momentos clave - Crear trailers o vistas previas de contenido de larga duración - Generar clips más cortos para redes sociales de videos más largos ## Descripción General de la Implementación[¶](#descripcion-general-de-la-implementacion "Permanent link") La implementación involucra tres pasos clave: 1. Definir los segmentos de tiempo que quieres extraer 2. Crear una fuente de video que incluya estos segmentos especificados 3. Añadir el archivo segmentado a tu línea de tiempo de edición Desglosemos cada paso con ejemplos de código detallados y explicaciones. ## Implementación Detallada[¶](#implementacion-detallada "Permanent link") ### Paso 1: Definir tus Segmentos... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/several-segments/index.html #### Crear transiciones suaves de video en C# - VisioForge Help [Saltar a contenido](#crear-transiciones-de-video-profesionales-entre-clips-en-c) # Crear Transiciones de Video Profesionales Entre Clips en C[¶](#crear-transiciones-de-video-profesionales-entre-clips-en-c "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introducción a las Transiciones de Video[¶](#introduccion-a-las-transiciones-de-video "Permanent link") Las transiciones de video crean un flujo visual suave entre diferentes clips de video en tus proyectos de edición. Las transiciones efectivas pueden mejorar significativamente la experiencia de visualización, haciendo que tus videos parezcan más profesionales y atractivos. Esta guía demuestra cómo implementar transiciones en tus aplicaciones C# usando Video Edit SDK .Net. Las transiciones requieren segmentos de línea de tiempo superpuestos donde ambos videos existen simultáneamente. Durante esta superposición, ocurre el efecto de transición, reemplazando gradualmente el primer video con el segundo. El SDK soporta más de 100 efectos de transición diferentes, desde fundidos simples hasta barridos complejos de estándar SMPTE. ## Entender el Posicionamiento en la Línea de Tiempo para Transiciones[¶](#entender-el-posicionamiento-en-la-linea-de-tiempo-para-transiciones "Permanent link") Para que las transiciones funcionen correctamente, necesitas entender cómo se posicionan los clips de video en una línea de tiempo. Así es como funciona el posicionamiento: 1. **Primer video**: Colocado al principio de la línea de tiempo (posición 0ms) 2. **Segundo video**: Colocado con una ligera superposición con el primer video 3. **Transición**: Aplicada en la región superpuesta donde existen ambos videos Esta región de superposición es crucial - es donde se renderizará el efecto de transición. ## Crear Fragmentos de Video para Transición[¶](#crear-fragmentos-de-video-para-transicion "Permanent link") Vamos a añadir dos fragmentos de video de archivos separados, cada uno de 5... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/transition-video/index.html #### Crear Videos desde Imágenes en Consola C# - VisioForge Help [Saltar a contenido](#crear-videos-desde-imagenes-en-aplicaciones-de-consola-c) # Crear Videos desde Imágenes en Aplicaciones de Consola C[¶](#crear-videos-desde-imagenes-en-aplicaciones-de-consola-c "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Introducción[¶](#introduccion "Permanent link") Convertir una secuencia de imágenes en un archivo de video es un requisito común para muchas aplicaciones de software. Esta guía demuestra cómo crear un video desde imágenes usando una aplicación de consola C# con el Video Edit SDK .Net. El mismo enfoque funciona para aplicaciones WinForms y WPF con modificaciones mínimas. ## Prerrequisitos[¶](#prerrequisitos "Permanent link") Antes de comenzar, asegúrate de tener: - Entorno de desarrollo .NET configurado - Video Edit SDK .Net instalado - Conocimiento básico de programación C# - Una carpeta que contenga archivos de imagen (JPG, PNG, etc.) ## Conceptos Clave[¶](#conceptos-clave "Permanent link") Al crear videos desde imágenes, entender estos conceptos fundamentales te ayudará a lograr mejores resultados: - **Tasa de fotogramas**: Determina qué tan suavemente se reproduce tu video (típicamente 25-30 fotogramas por segundo) - **Duración de imagen**: Cuánto tiempo aparece cada imagen en el video - **Efectos de transición**: Efectos opcionales entre imágenes - **Formato de salida**: El contenedor de video y especificaciones de códec - **Resolución**: Las dimensiones del video de salida ## Implementación Paso a Paso[¶](#implementacion-paso-a-paso "Permanent link") ### Configurar el Proyecto[¶](#configurar-el-proyecto "Permanent link") Primero, crea un nuevo proyecto de aplicación de consola y añade las referencias necesarias: `[](#__codelineno-0-1)using System; [](#__codelineno-0-2)using System.IO; [](#__codelineno-0-3)using VisioForge.Types; [](#__codelineno-0-4)using VisioForge.Types.Output; [](#__codelineno-0-5)using VisioForge.VideoE... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/video-images-console/index.html #### Control de Volumen por Pista de Audio en C# - VisioForge Help [Saltar a contenido](#establecer-niveles-de-volumen-personalizados-para-pistas-de-audio-en-aplicaciones-c) # Establecer Niveles de Volumen Personalizados para Pistas de Audio en Aplicaciones C[¶](#establecer-niveles-de-volumen-personalizados-para-pistas-de-audio-en-aplicaciones-c "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) [VideoEditCore](#) ## Descripción General[¶](#descripcion-general "Permanent link") Gestionar los niveles de volumen de audio es un aspecto crítico de las aplicaciones de producción y edición de video. Esta guía demuestra cómo implementar controles de volumen individuales para pistas de audio separadas en tu aplicación .NET. ## Detalles de Implementación[¶](#detalles-de-implementacion "Permanent link") Establecer niveles de volumen personalizados para pistas de audio da a tus usuarios un control más preciso sobre su mezcla de audio. Cada pista puede tener su propia configuración de volumen independiente, permitiendo un equilibrio de audio de calidad profesional. ## Implementación de Código de Ejemplo[¶](#implementacion-de-codigo-de-ejemplo "Permanent link") El siguiente ejemplo en C# muestra cómo aplicar un efecto de envolvente de volumen a una pista de audio: `[](#__codelineno-0-1)var volume = new AudioVolumeEnvelopeEffect(10); [](#__codelineno-0-2)VideoEdit1.Input_AddAudioFile(audioFile, null, 0, new[] { volume });` ## Entender los Parámetros[¶](#entender-los-parametros "Permanent link") - `AudioVolumeEnvelopeEffect(10)`: Crea un efecto de volumen con un valor de 10 - `Input_AddAudioFile`: Añade un archivo de audio a tu proyecto con el efecto de volumen especificado - Los parámetros permiten un control preciso sobre cuándo y cómo se aplican los cambios de volumen ## Dependencias Requeridas[¶](#dependencias-requeridas "Permanent link") Para implementar esta funcionalidad, necesitarás los siguientes paquetes redistribuibles: - Redistribuibles de Video Edit SDK: - [paquete x86](h... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/code-samples/volume-for-track/index.html #### Guía de Despliegue de Video Edit SDK .Net | Windows - VisioForge Help [Saltar a contenido](#guia-completa-de-despliegue-para-video-edit-sdk-net) # Guía Completa de Despliegue para Video Edit SDK .Net[¶](#guia-completa-de-despliegue-para-video-edit-sdk-net "Permanent link") ## Introducción al Despliegue de VideoEditCore[¶](#introduccion-al-despliegue-de-videoeditcore "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) El SDK de Video Edit de VisioForge para .Net proporciona un conjunto poderoso de herramientas para procesamiento de video, edición y análisis en entornos Windows. Esta guía completa detalla las opciones de despliegue para asegurar que el SDK funcione correctamente en los sistemas de destino. Para aplicaciones construidas con la configuración AnyCPU, debes desplegar tanto los redistribuibles x86 como x64 para asegurar compatibilidad en diferentes arquitecturas de procesador. Esta guía cubre todos los métodos de despliegue, desde simples paquetes NuGet hasta instalaciones manuales detalladas. ## Descripción General de Opciones de Despliegue[¶](#descripcion-general-de-opciones-de-despliegue "Permanent link") El SDK ofrece tres enfoques principales de despliegue: 1. **Paquetes NuGet**: Método más simple que no requiere privilegios administrativos 2. **Instaladores Automáticos**: Instalación silenciosa con derechos administrativos 3. **Instalación Manual**: Despliegue personalizado con control granular sobre los componentes Cada enfoque tiene ventajas distintas dependiendo de los requisitos de tu aplicación, método de distribución y restricciones del entorno de destino. ## Despliegue Multiplataforma con VideoEditCoreX[¶](#despliegue-multiplataforma-con-videoeditcorex "Permanent link") Para desarrolladores que buscan compatibilidad multiplataforma, VisioForge ofrece el motor VideoEditCoreX. Esta implementación moderna soporta entornos Windows, macOS y Linux. Para instrucciones detalladas sobre el despliegue de la versión multiplataforma, por favor consulta nuestra [guía de de... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/deployment/index.html #### Creación de Aplicaciones de Edición de Video con SDK .NET - VisioForge Help [Saltar a contenido](#construyendo-aplicaciones-profesionales-de-edicion-de-video-con-sdk-net) # Construyendo Aplicaciones Profesionales de Edición de Video con SDK .NET[¶](#construyendo-aplicaciones-profesionales-de-edicion-de-video-con-sdk-net "Permanent link") ## Introducción a la Edición de Video con .NET[¶](#introduccion-a-la-edicion-de-video-con-net "Permanent link") El Video Edit SDK ofrece funcionalidad potente para desarrolladores .NET que desean crear aplicaciones profesionales de edición de video. Este SDK soporta una amplia gama de plataformas y frameworks de UI, permitiéndote construir editores de video ricos en características que manejan múltiples formatos, aplican efectos, gestionan transiciones y entregan salida de alta calidad. ## Configurando Tu Entorno de Desarrollo[¶](#configurando-tu-entorno-de-desarrollo "Permanent link") ### Creando Tu Proyecto Inicial[¶](#creando-tu-proyecto-inicial "Permanent link") El SDK está diseñado para funcionar sin problemas con varios entornos de desarrollo. Puedes utilizar tanto Visual Studio como JetBrains Rider para crear tu proyecto, seleccionando tu plataforma y framework de UI preferidos según tus requisitos. Para un proceso de configuración fluido, por favor consulta nuestra [guía de instalación](../) detallada que proporciona instrucciones para agregar los paquetes NuGet necesarios y configurar las dependencias nativas correctamente. ## Implementando la Funcionalidad Principal de Edición de Video[¶](#implementando-la-funcionalidad-principal-de-edicion-de-video "Permanent link") ### Inicializando el Motor de Edición de Video[¶](#inicializando-el-motor-de-edicion-de-video "Permanent link") El SDK proporciona un objeto de edición principal robusto que sirve como la base de tu aplicación de edición de video. Sigue estos pasos para crear e inicializar este componente esencial: VideoEditCoreVideoEditCoreX `[](#__codelineno-0-1)private VideoEditCore core; [](#__codelineno-0-2)[](#__codelineno-0-3)cor... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/getting-started/index.html #### SDK de Edición de Video para Desarrolladores .NET - VisioForge Help [Saltar a contenido](#video-edit-sdk-net-edicion-de-video-profesional-para-desarrolladores) # Video Edit SDK .Net: Edición de Video Profesional para Desarrolladores[¶](#video-edit-sdk-net-edicion-de-video-profesional-para-desarrolladores "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) ## Introducción a Video Edit SDK .Net[¶](#introduccion-a-video-edit-sdk-net "Permanent link") VisioForge Video Edit SDK .Net es un toolkit de desarrollo robusto y versátil que permite a los desarrolladores de software construir aplicaciones avanzadas de edición de video. Con este potente SDK, puedes integrar sin problemas capacidades de procesamiento, edición, codificación y decodificación de video de grado profesional en tus aplicaciones .NET. Diseñado pensando en el rendimiento y la flexibilidad, nuestro SDK acelera tu proceso de desarrollo proporcionando una suite completa de herramientas y características que de otro modo requerirían meses de tiempo de desarrollo. Ya sea que estés creando una aplicación de edición de video, implementando flujos de trabajo de procesamiento de video o construyendo una solución rica en medios, Video Edit SDK .Net ofrece la funcionalidad que necesitas. ## Compatibilidad Multiplataforma[¶](#compatibilidad-multiplataforma "Permanent link") Una de las mayores ventajas del Video Edit SDK .Net es su extenso soporte multiplataforma, permitiéndote desarrollar aplicaciones que se ejecutan sin problemas en múltiples sistemas operativos y dispositivos: ### Plataformas de Escritorio[¶](#plataformas-de-escritorio "Permanent link") - **Windows** - Soporte completo para Windows 10/11 y Windows Server - **macOS** - Compatible con procesadores Intel y Apple Silicon - **Linux** - Soporte para las principales distribuciones incluyendo Ubuntu, Debian y CentOS ### Plataformas Móviles[¶](#plataformas-moviles "Permanent link") - **Android** - Construye capacidades de edición de video en aplicaciones Android - **... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/index.html #### Transiciones de Video y Efectos SMPTE en .NET - VisioForge Help [Saltar a contenido](#transiciones) # Transiciones[¶](#transiciones "Permanent link") [Video Edit SDK .Net](https://www.visioforge.com/video-edit-sdk-net) La transición de Barrido SMPTE produce cualquiera de los barridos estándar definidos por la Sociedad de Ingenieros de Cine y Televisión (SMPTE) en el documento SMPTE 258M-1993, excepto el quad split. ## Propiedades[¶](#propiedades "Permanent link") Propiedad Tipo Predeterminado Descripción Border Color Color/TColor Negro Color del borde alrededor de los bordes del patrón de barrido. BorderSoftness long 0 Ancho de la región borrosa alrededor de los bordes del patrón de barrido. Especifica cero para ninguna región borrosa. BorderWidth long 0 Ancho del borde sólido a lo largo de los bordes del patrón de barrido. Especifica cero para ningún borde. ID long 1 Código de barrido estándar SMPTE especificando el estilo de barrido a usar. Para una lista de códigos de barrido y sus esquemas asociados, consulta el documento SMPTE 258M-1993. OffsetX long 0 Desplazamiento horizontal del origen del barrido desde el centro de la imagen. Válido solo para valores de **ID** de 101 a 131. OffsetY long 0 Desplazamiento vertical del origen del barrido desde el centro de la imagen. Válido solo para valores de **ID** de 101 a 131. ReplicateX long 0 Número de veces para replicar el patrón de barrido horizontalmente. Válido solo para valores de **ID** de 101 a 131. ReplicateY long 0 Número de veces para replicar el patrón de barrido verticalmente. Válido solo para valores de **ID** de 101 a 131. ScaleX double 1.0 Cantidad para estirar el barrido horizontalmente, como porcentaje de la definición original del barrido. Válido solo para valores de **ID** de 101 a 131. ScaleY double 1.0 Cantidad para estirar el barrido verticalmente, como porcentaje de la definición original del barrido. Válido solo para valores de **ID** de 101 a 131. ## SMPTE[¶](#smpte "Permanent link") Esta transición sopor... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit/transitions/index.html #### Historial de Versiones de Video Edit SDK FFMPEG .Net - VisioForge Help [Saltar a contenido](#video-edit-sdk-ffmpeg-net-historial-completo-de-versiones) # Video Edit SDK FFMPEG .Net: Historial Completo de Versiones[¶](#video-edit-sdk-ffmpeg-net-historial-completo-de-versiones "Permanent link") ## Novedades en la Versión 12.1[¶](#novedades-en-la-version-121 "Permanent link") Nuestra última versión trae mejoras significativas en flexibilidad de despliegue y compatibilidad de frameworks: ### Actualización de .Net Framework[¶](#actualizacion-de-net-framework "Permanent link") - Migración completa al framework .Net 4.6 asegurando mejor rendimiento y compatibilidad con sistemas modernos - Confiabilidad mejorada en tiempo de ejecución con componentes principales actualizados ### Modelo de Distribución Simplificado[¶](#modelo-de-distribucion-simplificado "Permanent link") - Paquete instalador unificado para versiones TRIAL y FULL, simplificando el proceso de despliegue - Paquetes NuGet idénticos a través de niveles de licenciamiento, eliminando confusión entre versiones ### Desarrollo Multiplataforma[¶](#desarrollo-multiplataforma "Permanent link") - Paquetes .Net Core y .Net Framework consolidados en una única distribución unificada - Gestión simplificada de dependencias a través de diferentes plataformas objetivo ### Mejoras de Despliegue[¶](#mejoras-de-despliegue "Permanent link") - Añadidos paquetes redistribuibles NuGet para gestión más fácil de dependencias - Proceso de despliegue simplificado con manejo automático de referencias - Complejidad de configuración reducida para aplicaciones empresariales ## Destacados de la Versión 11.3[¶](#destacados-de-la-version-113 "Permanent link") Esta versión se enfocó en capacidades de audio principales y soporte multiplataforma: ### Mejora de Audio[¶](#mejora-de-audio "Permanent link") - Efectos de fade-in/fade-out de audio completamente rediseñados para transiciones más suaves - Rendimiento de algoritmo mejorado en procesadores multi-núcleo - Estabilidad mej... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit-ffmpeg/changelog/index.html #### Video Edit FFMPEG SDK para Desarrolladores .NET - VisioForge Help [Saltar a contenido](#video-edit-ffmpeg-sdk-para-desarrollo-net) # Video Edit FFMPEG SDK para Desarrollo .NET[¶](#video-edit-ffmpeg-sdk-para-desarrollo-net "Permanent link") ## Introducción al SDK[¶](#introduccion-al-sdk "Permanent link") El Video Edit FFMPEG SDK para .NET permite a los desarrolladores integrar sin problemas capacidades de edición de video, conversión y procesamiento avanzado en sus aplicaciones .NET. Este potente toolkit te permite construir videos de calidad profesional desde varias fuentes de audio y video con mínimo esfuerzo. Construido sobre el robusto y ampliamente adoptado framework FFMPEG, nuestro SDK proporciona soporte para virtualmente todos los formatos de video y audio estándar de la industria, entregando una solución completa de edición y producción multimedia para tus aplicaciones. Ya sea que estés construyendo software de edición de video, añadiendo procesamiento de medios a tu aplicación o desarrollando herramientas especializadas de conversión de video, este SDK ofrece los bloques de construcción esenciales para implementar características sofisticadas de edición de video de manera rápida y eficiente. ### API Amigable para Desarrolladores[¶](#api-amigable-para-desarrolladores "Permanent link") Nuestro SDK proporciona una API .NET limpia e intuitiva diseñada específicamente para la productividad del desarrollador: - **Integración Simple**: Añade potentes características de edición de video a tu aplicación con código mínimo - **Documentación Completa**: Accede a referencias de API detalladas y ejemplos de implementación - **Arquitectura Flexible**: Diseña tu aplicación con nuestros componentes adaptables - **Manejo de Excepciones**: Gestión robusta de errores para rendimiento confiable de la aplicación ### Optimización de Rendimiento[¶](#optimizacion-de-rendimiento "Permanent link") - **Soporte Multi-Threading**: Utiliza procesamiento paralelo para mejor rendimiento - **Gestión de Memoria**: Manejo eficiente d... **URL**: https://www.visioforge.com/help/es/docs/dotnet/videoedit-ffmpeg/index.html #### Contrato de Licencia de Usuario Final (EULA) - VisioForge Help [Saltar a contenido](#contrato-de-licencia-de-usuario-final) # CONTRATO DE LICENCIA DE USUARIO FINAL[¶](#contrato-de-licencia-de-usuario-final "Permanent link") **KITS DE DESARROLLO DE SOFTWARE Y PRODUCTOS RELACIONADOS DE VISIOFORGE** **IMPORTANTE – LEA CUIDADOSAMENTE ANTES DE INSTALAR O USAR ESTE SOFTWARE** ## 1\. PREÁMBULO[¶](#1-preambulo "Permanent link") Este Contrato de Licencia de Usuario Final ("Contrato" o "EULA") constituye un contrato legalmente vinculante entre usted (ya sea un individuo o una sola entidad) y VisioForge ("Licenciante"), con respecto a su uso de los kits de desarrollo de software propietarios de VisioForge y la documentación relacionada (colectivamente, el "Software"). Al instalar, copiar, descargar, acceder o usar de otra manera el Software, usted acepta estar sujeto a los términos de este Contrato. Si no está de acuerdo con los términos de este Contrato, no instale, acceda ni use el Software. ## 2\. PRODUCTOS LICENCIADOS[¶](#2-productos-licenciados "Permanent link") Este Contrato aplica a todos los kits de desarrollo de software y productos relacionados desarrollados y distribuidos por VisioForge, incluyendo pero no limitado a: - Video Capture SDK .Net - Media Player SDK .Net - Video Edit SDK .Net - Video Edit SDK FFMPEG .Net - Media Blocks SDK .Net - All-in-One Media Framework (Delphi/ActiveX) - Virtual Camera SDK - FFMPEG Source DirectShow filter - VLC Source DirectShow filter - Encoding Filters Pack - Processing Filters Pack - Video Encryption SDK - Video Fingerprinting SDK ## 3\. CONCESIÓN DE LICENCIA[¶](#3-concesion-de-licencia "Permanent link") Sujeto a los términos y condiciones de este Contrato y al pago de las tarifas de licencia aplicables, el Licenciante le otorga una licencia limitada, no exclusiva e intransferible para usar el Software de la siguiente manera: ### 3.1. Derechos de Licencia de Desarrollador[¶](#31-derechos-de-licencia-de-desarrollador "Permanent link") **3.1.1. Licencia... **URL**: https://www.visioforge.com/help/es/docs/eula/index.html #### Historial de Cambios - VisioForge Help [Saltar a contenido](#historial-de-versiones-del-sdk-de-video-fingerprinting) * * * title: Notas de Versión del SDK de Video Fingerprinting description: Evolución del SDK de Video Fingerprinting: historial de versiones con nuevas características, actualizaciones de rendimiento y mejoras técnicas. * * * # Historial de Versiones del SDK de Video Fingerprinting[¶](#historial-de-versiones-del-sdk-de-video-fingerprinting "Permanent link") ## Versión 12.1 - Mejoras de Rendimiento y Características[¶](#version-121-mejoras-de-rendimiento-y-caracteristicas "Permanent link") ### Mejoras en .NET Framework[¶](#mejoras-en-net-framework "Permanent link") - **Nueva Capacidad de Fingerprinting**: Se introdujo la clase `VFPFingerprintFromFrames` que permite a los desarrolladores generar fingerprints de video directamente desde secuencias de cuadros RGB24 - **Modernización de API**: Implementación completamente renovada de API async/await para mejor procesamiento asíncrono - **Optimización del Motor**: Se mejoró significativamente el rendimiento del motor de fingerprinting principal con algoritmos de procesamiento mejorados ## Versión 12.0 - Integración de Base de Datos y Aceleración por Hardware[¶](#version-120-integracion-de-base-de-datos-y-aceleracion-por-hardware "Permanent link") ### Actualizaciones de .NET Framework[¶](#actualizaciones-de-net-framework "Permanent link") - **Almacenamiento Multi-fingerprint**: Se agregó nueva clase `VFPFingerPrintDB` para almacenar eficientemente múltiples fingerprints en un formato de archivo binario único - **Integración de Herramienta de Monitoreo de Medios**: Se actualizó la aplicación Media Monitoring Tool para aprovechar las nuevas capacidades de base de datos - **Dependencias Actualizadas**: Se integró la última versión de FFMPEG para capacidades mejoradas de manejo de video - **Cambio de Requisito de Framework**: Se aumentó el requisito mínimo de .NET Framework a la versión 4.7.2 - **Registro Externo**: Se ag... **URL**: https://www.visioforge.com/help/es/docs/vfp/changelog/index.html #### Documentación de API C++ del SDK de Huellas de Video - VisioForge Help [Saltar a contenido](#documentacion-de-api-c-del-sdk-de-huellas-de-video) # Documentación de API C++ del SDK de Huellas de Video[¶](#documentacion-de-api-c-del-sdk-de-huellas-de-video "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El SDK C++ de Huellas de Video de VisioForge proporciona una biblioteca nativa de alto rendimiento para identificación, comparación y operaciones de búsqueda de contenido de video. Permite a las aplicaciones: - Generar huellas únicas de archivos de video para identificación de contenido - Comparar videos para determinar similitud y detectar duplicados - Buscar fragmentos de video dentro de videos más grandes (ej., encontrar comerciales, intros o escenas específicas) - Comparar imágenes individuales para detección de similitud - Procesar fotogramas de video directamente para generar huellas de streams o contenido generado El SDK C++ ofrece rendimiento óptimo para aplicaciones de alto rendimiento y puede integrarse en aplicaciones C++ existentes o usarse a través de P/Invoke desde otros lenguajes. > **Documentación Relacionada:** > > - [Referencia de API .NET](../../dotnet/api/) - Para desarrolladores de código administrado > - [Entendiendo las Huellas de Video](../../understanding-video-fingerprinting/) - Conceptos básicos > - [Tipos de Huellas](../../fingerprint-types/) - Modos Compare vs Search ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Archivos de Cabecera](#archivos-de-cabecera) - [Gestión de Licencias](#gestion-de-licencias) - [Tipos y Estructuras Principales](#tipos-y-estructuras-principales) - [Funciones de Búsqueda](#funciones-de-busqueda) - [Funciones de Comparación](#funciones-de-comparacion) - [Funciones de Utilidad](#funciones-de-utilidad) - [Comparación de Imágenes](#comparacion-de-imagenes) - [Ejemplos de Trabajo Completos](#ejemplos-de-trabajo-completos) - [Soporte de Plataformas](#soporte-de-plataformas) - [Compilación... **URL**: https://www.visioforge.com/help/es/docs/vfp/cpp/api/index.html #### Guía de Base de Datos del SDK de Huellas C++ - VisioForge Help [Saltar a contenido](#guia-de-base-de-datos-del-sdk-de-huellas-c) # Guía de Base de Datos del SDK de Huellas C++[¶](#guia-de-base-de-datos-del-sdk-de-huellas-c "Permanent link") Esta guía demuestra cómo integrar el SDK de Huellas de Video para C++ con varios sistemas de bases de datos para almacenamiento y recuperación eficiente de huellas. ## Descripción General[¶](#descripcion-general "Permanent link") A diferencia del SDK .NET que proporciona integración incorporada con MongoDB, el SDK C++ ofrece flexibilidad para integrarse con cualquier sistema de base de datos. Esta guía proporciona patrones de implementación y ejemplos para bases de datos comunes. ## Consideraciones de Diseño de Base de Datos[¶](#consideraciones-de-diseno-de-base-de-datos "Permanent link") ### Requisitos de Almacenamiento de Huellas[¶](#requisitos-de-almacenamiento-de-huellas "Permanent link") - **Datos Binarios**: Las huellas son datos binarios (típicamente 10-100KB por video) - **Indexación**: Los metadatos del video deben indexarse para consultas rápidas - **Escalabilidad**: El diseño debe soportar millones de huellas - **Rendimiento**: Optimizar para operaciones de escritura y lectura ### Esquema Recomendado[¶](#esquema-recomendado "Permanent link") `[](#__codelineno-0-1)CREATE TABLE video_fingerprints ( [](#__codelineno-0-2) id INTEGER PRIMARY KEY AUTOINCREMENT, [](#__codelineno-0-3) video_path TEXT NOT NULL, [](#__codelineno-0-4) video_hash VARCHAR(64), [](#__codelineno-0-5) fingerprint_type VARCHAR(10), -- 'search' o 'compare' [](#__codelineno-0-6) fingerprint_data BLOB NOT NULL, [](#__codelineno-0-7) duration_ms INTEGER, [](#__codelineno-0-8) frame_count INTEGER, [](#__codelineno-0-9) created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, [](#__codelineno-0-10) metadata JSON, [](#__codelineno-0-11) INDEX idx_video_path (video_path), [](#__codelineno-0-12) INDEX idx_video_hash (video_hash), [](#__codelin... **URL**: https://www.visioforge.com/help/es/docs/vfp/cpp/database-integration/index.html #### Empezando con SDK de Video Fingerprinting C++ - VisioForge Help [Saltar a contenido](#empezando-con-sdk-de-video-fingerprinting-c) # Empezando con SDK de Video Fingerprinting C++[¶](#empezando-con-sdk-de-video-fingerprinting-c "Permanent link") ¡Bienvenido al SDK de Video Fingerprinting de VisioForge para C++! Esta guía completa lo guiará a través de todo lo que necesita para comenzar, desde instalación hasta su primera aplicación funcionando. Al final de esta guía, tendrá una base sólida para construir aplicaciones de video fingerprinting de alto rendimiento en C++. > **Nota:** Si ya está familiarizado con el SDK .NET, encontrará que el SDK C++ sigue conceptos similares con beneficios de rendimiento nativo. Vea nuestra [Comparación de SDK](../../#soporte-de-plataformas-e-integracion) para detalles. ## Resumen de Inicio Rápido[¶](#resumen-de-inicio-rapido "Permanent link") Si está buscando ponerse en marcha rápidamente: 1. Descargar el paquete SDK desde VisioForge 2. Extraer los archivos a su directorio de proyecto 3. Incluir los headers: `#include ` y `#include ` 4. Vincular la biblioteca apropiada: `VisioForge_VideoFingerprinting.lib` (x86) o `VisioForge_VideoFingerprinting_x64.lib` (x64) 5. Copiar DLLs de runtime a su directorio de salida 6. Establecer su clave de licencia (si comprada): `VFPSetLicenseKey(L"clave-licencia");` 7. Generar su primera huella digital usando los ejemplos a continuación ## Prerrequisitos y Requisitos del Sistema[¶](#prerrequisitos-y-requisitos-del-sistema "Permanent link") Para requisitos detallados del sistema incluyendo plataformas soportadas, especificaciones de hardware y consideraciones de rendimiento, por favor vea nuestra guía completa de [Requisitos del Sistema](../../system-requirements/). ### Requisitos Específicos de C++[¶](#requisitos-especificos-de-c "Permanent link") - **Compilador Windows**: Visual Studio 2019+ (recomendado) o MinGW-w64 - **Compilador Linux**: GCC 7+ o Clang 6+ - **Compilador macOS**: Xcode 12+ con Co... **URL**: https://www.visioforge.com/help/es/docs/vfp/cpp/getting-started/index.html #### SDK de Huella Digital de Video para C++ - VisioForge Help [Saltar a contenido](#sdk-de-huella-digital-de-video-para-c) # SDK de Huella Digital de Video para C++[¶](#sdk-de-huella-digital-de-video-para-c "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El SDK de Huella Digital de Video para C++ proporciona una implementación nativa con acceso directo a capacidades de alto rendimiento de análisis y huella digital de video. Este SDK es ideal para aplicaciones que requieren: - Máximo rendimiento y mínima sobrecarga - Integración directa con aplicaciones nativas - Gestión de memoria personalizada - Pipelines de procesamiento en tiempo real - Despliegue en sistemas embebidos ## Características Principales[¶](#caracteristicas-principales "Permanent link") ### Ventajas de Rendimiento[¶](#ventajas-de-rendimiento "Permanent link") - **Rendimiento Nativo** - Acceso directo a memoria y algoritmos optimizados - **Cero Sobrecarga** - Sin runtime administrado ni recolección de basura - **Optimización SIMD** - Aprovecha capacidades de vectorización de CPU - **Procesamiento Paralelo** - Generación de huella digital multi-hilo - **Gestión de Memoria Personalizada** - Control detallado sobre asignación de memoria ### Soporte de Plataformas[¶](#soporte-de-plataformas "Permanent link") - **Windows** - Visual Studio 2019+ (x64) - **Linux** - GCC 9+ o Clang 10+ - **macOS** - Xcode 12+ (Intel y Apple Silicon) ## Documentación[¶](#documentacion "Permanent link") ### Primeros Pasos[¶](#primeros-pasos "Permanent link") - [Instalación y Configuración](getting-started/) - Guía de configuración completa para todas las plataformas - [Referencia de API](api/) - Documentación completa de API C++ ### Conceptos Principales[¶](#conceptos-principales "Permanent link") - [Entendiendo las Huellas Digitales de Video](../understanding-video-fingerprinting/) - Cómo funciona la tecnología - [Tipos de Huella Digital](../fingerprint-types/) - Huellas de Comparación vs Búsqueda ### E... **URL**: https://www.visioforge.com/help/es/docs/vfp/cpp/index.html #### Samples - VisioForge Help [Saltar a contenido](#muestras-de-codigo-c-del-sdk-de-huella-digital-de-video) * * * title: Muestras de Código C++: SDK de Huella Digital de Video description: Ejemplos C++ nativo y línea de comandos para generación, comparación y búsqueda de huellas de video con implementación del SDK VisioForge. * * * # Muestras de Código C++ del SDK de Huella Digital de Video[¶](#muestras-de-codigo-c-del-sdk-de-huella-digital-de-video "Permanent link") ## Muestras Disponibles[¶](#muestras-disponibles "Permanent link") El SDK C++ incluye muestras de línea de comandos que demuestran funcionalidad principal. Estas muestras están incluidas en el paquete SDK bajo el directorio `/samples/cpp/`. ### Ejemplos de Funcionalidad Principal[¶](#ejemplos-de-funcionalidad-principal "Permanent link") #### Generar Huellas Digitales[¶](#generar-huellas-digitales "Permanent link") `[](#__codelineno-0-1)// vfp_generate.cpp - Generar huellas digitales de archivos de video [](#__codelineno-0-2)#include [](#__codelineno-0-3)[](#__codelineno-0-4)int main(int argc, char* argv[]) { [](#__codelineno-0-5) if (argc < 3) { [](#__codelineno-0-6) std::cerr << "Uso: vfp_generate " << std::endl; [](#__codelineno-0-7) return 1; [](#__codelineno-0-8) } [](#__codelineno-0-9) [](#__codelineno-0-10) // Establecer licencia [](#__codelineno-0-11) VFPSetLicenseKey(L"TRIAL"); [](#__codelineno-0-12) [](#__codelineno-0-13) // Generar huella digital [](#__codelineno-0-14) VFP_SearchFingerprintGenerateSettings settings; [](#__codelineno-0-15) settings.Mode = VFP_Mode::Search; [](#__codelineno-0-16) settings.FrameStep = 10; [](#__codelineno-0-17) [](#__codelineno-0-18) auto result = VFPSearchFingerprintGenerate( [](#__codelineno-0-19) argv[1], // Video de entrada [](#__codelineno-0-20) argv[2], // Huella de salida [](#__codelineno-0-21) &set... **URL**: https://www.visioforge.com/help/es/docs/vfp/cpp/samples/index.html #### API .NET del SDK de Video Fingerprinting - VisioForge Help [Saltar a contenido](#documentacion-de-la-api-net-del-sdk-de-video-fingerprinting) # Documentación de la API .NET del SDK de Video Fingerprinting[¶](#documentacion-de-la-api-net-del-sdk-de-video-fingerprinting "Permanent link") ## Descripción General[¶](#descripcion-general "Permanent link") El espacio de nombres VisioForge Video Fingerprinting proporciona una funcionalidad potente para la identificación de contenido de video, comparación y operaciones de búsqueda. Permite a las aplicaciones: - Generar huellas digitales únicas a partir de archivos de video para la identificación de contenido - Comparar videos para determinar similitud y detectar duplicados - Buscar fragmentos de video dentro de videos más grandes (por ejemplo, encontrar comerciales, introducciones o escenas específicas) - Comparar imágenes individuales para la detección de similitud (solo Windows) - Procesar cuadros de video directamente para generar huellas digitales a partir de transmisiones o contenido generado ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Clase VFPAnalyzer](#clase-vfpanalyzer) - [Clase VFPFingerPrint](#clase-vfpfingerprint) - [Clase VFPFingerprintSource](#clase-vfpfingerprintsource) - [Clase VFPCompare](#clase-vfpcompare) - [Clase VFPSearch](#clase-vfpsearch) - [Clase VFPFingerPrintDB](#clase-vfpfingerprintdb) - [Clase VFPFingerprintFromFrames](#clase-vfpfingerprintfromframes) - [Tipos de Soporte](#tipos-de-soporte) - [Delegados](#delegados) ## Clase VFPAnalyzer[¶](#clase-vfpanalyzer "Permanent link") El punto de entrada principal para las operaciones de huellas digitales de video, proporcionando métodos estáticos de alto nivel para análisis, comparación y búsqueda. ### Propiedades[¶](#propiedades "Permanent link") #### DebugDir[¶](#debugdir "Permanent link") `[](#__codelineno-0-1)public static string DebugDir { get; set; }` **Descripción:** Ruta del directorio para la salida de depuración. Cuando se establece, los... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/api/index.html #### Guía en la Nube para Video Fingerprinting - VisioForge Help [Saltar a contenido](#guia-en-la-nube-para-video-fingerprinting) # Guía en la Nube para Video Fingerprinting[¶](#guia-en-la-nube-para-video-fingerprinting "Permanent link") ## Paquetes NuGet Disponibles para Integración en la Nube[¶](#paquetes-nuget-disponibles-para-integracion-en-la-nube "Permanent link") ### Paquete de Integración con MongoDB (Solución Preconstruida)[¶](#paquete-de-integracion-con-mongodb-solucion-preconstruida "Permanent link") El SDK de Video Fingerprinting proporciona un paquete NuGet listo para usar para la integración con MongoDB: **Paquete:** `VisioForge.DotNet.VideoFingerPrinting.MongoDB` **Versión:** 2025.8.7 **Propósito:** Integración completa con MongoDB con soporte GridFS para almacenamiento de huellas digitales (fingerprints) #### Instalación[¶](#instalacion "Permanent link") `[](#__codelineno-0-1)# Package Manager Console [](#__codelineno-0-2)Install-Package VisioForge.DotNet.VideoFingerPrinting.MongoDB -Version 2025.8.7 [](#__codelineno-0-3)[](#__codelineno-0-4)# .NET CLI [](#__codelineno-0-5)dotnet add package VisioForge.DotNet.VideoFingerPrinting.MongoDB --version 2025.8.7 [](#__codelineno-0-6)[](#__codelineno-0-7)# PackageReference [](#__codelineno-0-8)` #### Características Clave[¶](#caracteristicas-clave "Permanent link") El paquete de MongoDB proporciona la clase `VideoFingerprintDB` con estas capacidades: - **Integración con MongoDB GridFS**: Almacenamiento eficiente de grandes datos de huellas digitales - **Soporte Local y en la Nube**: Funciona tanto con MongoDB Atlas (nube) como con implementaciones locales de MongoDB - **Operaciones CRUD Completas**: Gestión completa de huellas digitales (Crear, Leer, Actualizar, Eliminar) - **Opciones de Conexión Flexibles**: Múltiples sobrecargas de constructor para diferentes escenarios de conexión #### Uso Básico con MongoDB Atlas[¶](#uso-basico-con-mongodb-atlas "Perman... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/cloud-integration/index.html #### Guía de Base de Datos de Huellas Digitales de Video - VisioForge Help [Saltar a contenido](#guia-de-base-de-datos-de-huellas-digitales-de-video) # Guía de Base de Datos de Huellas Digitales de Video[¶](#guia-de-base-de-datos-de-huellas-digitales-de-video "Permanent link") ## APIs del SDK para Almacenamiento[¶](#apis-del-sdk-para-almacenamiento "Permanent link") **El SDK de Huellas Digitales de Video proporciona estas clases para el almacenamiento de huellas digitales:** - **VFPFingerPrint** - Huella digital individual con serialización integrada: - `Save(string filename)` o `Save(Stream stream)` - Guarda en archivo/stream - `Load(string filename)` o `Load(Stream stream)` - Carga desde archivo/stream - `Load(byte[] data)` - Carga desde arreglo de bytes - Propiedades: `Data`, `Duration`, `ID`, `OriginalFilename`, `Tag` - **VFPFingerPrintDB** - Base de datos local de huellas digitales: - Propiedad `Items` - List para todas las huellas digitales - `Save(string filename)` - Guarda la base de datos en archivo JSON - `Load(string filename)` - Carga la base de datos desde archivo JSON - `GetDuplicates()` - Encuentra huellas digitales duplicadas - **Integración MongoDB** (Paquete NuGet opcional: VisioForge.DotNet.VideoFingerprinting.MongoDB): - Clase `VideoFingerprintDB` para almacenamiento MongoDB/GridFS - Operaciones CRUD completas con MongoDB **Nota:** El SDK no incluye interfaces como IFingerprintStorage o IVideoEngine. Use las clases concretas arriba o implemente su propia capa de almacenamiento usando los métodos de serialización de VFPFingerPrint. ## Descripción General[¶](#descripcion-general "Permanent link") Esta guía cubre la integración de huellas digitales de video con varios sistemas de base de datos, incluyendo estrategias de almacenamiento, optimización de consultas, indexación y consideraciones de escalado para despliegues de producción. ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Principios de Diseño de Base de Datos](#principios-de-diseno-de-base-de-datos) -... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/database-integration/index.html #### Primeros Pasos con Video Fingerprinting SDK .NET - VisioForge Help [Saltar a contenido](#primeros-pasos-con-video-fingerprinting-sdk) # Primeros Pasos con Video Fingerprinting SDK[¶](#primeros-pasos-con-video-fingerprinting-sdk "Permanent link") ¡Bienvenido al VisioForge Video Fingerprinting SDK! Esta guía completa te llevará a través de todo lo que necesitas para comenzar, desde la instalación hasta tu primera aplicación funcional. Al final de esta guía, tendrás una base sólida para construir aplicaciones de huella digital de video. ## Resumen de Inicio Rápido[¶](#resumen-de-inicio-rapido "Permanent link") Si buscas ponerte en marcha rápidamente: 1. Instala el SDK vía NuGet: `Install-Package VisioForge.DotNet.Core` 2. Agrega el paquete de redistribución: `Install-Package VisioForge.DotNet.Core.Redist.VideoFingerprinting` 3. Este paquete único soporta Windows (x86/x64), Linux (x64/ARM64) y macOS 4. Establece tu clave de licencia: `VFPAnalyzer.SetLicenseKey("TRIAL");` 5. Genera tu primera huella digital usando los ejemplos a continuación ## Prerrequisitos y Requisitos del Sistema[¶](#prerrequisitos-y-requisitos-del-sistema "Permanent link") Para requisitos detallados del sistema incluyendo plataformas soportadas, especificaciones de hardware y consideraciones de rendimiento, por favor consulta nuestra guía completa de [Requisitos del Sistema](../../system-requirements/). ### Requisitos Específicos de .NET[¶](#requisitos-especificos-de-net "Permanent link") - **Versión de .NET**: - Windows: .NET Framework 4.6.1+ o .NET 6.0+ - Linux/macOS: .NET 6.0+ - **IDE**: Visual Studio 2019+ (Windows), Visual Studio Code, o JetBrains Rider - **Administrador de Paquetes NuGet**: Para instalación y actualizaciones fáciles ## Métodos de Instalación[¶](#metodos-de-instalacion "Permanent link") ### Método 1: Administrador de Paquetes NuGet (Recomendado)[¶](#metodo-1-administrador-de-paquetes-nuget-recomendado "Permanent link") La forma más fácil de instalar el SDK es a través del Administrador de Paquetes NuGet en Visual... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/getting-started/index.html #### Guía de Huellas de Video en Tiempo Real - VisioForge Help [Saltar a contenido](#guia-de-huellas-de-video-en-tiempo-real) # Guía de Huellas de Video en Tiempo Real[¶](#guia-de-huellas-de-video-en-tiempo-real "Permanent link") Esta guía demuestra cómo procesar streams de video en vivo y generar huellas en tiempo real usando el SDK de Huellas de Video de VisioForge. El enfoque usa procesamiento basado en fragmentos para construir huellas de streams de video continuos. ## Descripción General[¶](#descripcion-general "Permanent link") Las huellas en tiempo real funcionan mediante: 1. Captura de fotogramas de una fuente en vivo (cámara, stream IP, etc.) 2. Acumulación de fotogramas en fragmentos basados en tiempo 3. Construcción de huellas a partir de fragmentos completados 4. Búsqueda de coincidencias contra huellas de referencia 5. Uso de fragmentos superpuestos para mejor precisión de detección ## Componentes Principales[¶](#componentes-principales "Permanent link") ### Clase VFPSearch[¶](#clase-vfpsearch "Permanent link") La clase `VFPSearch` proporciona métodos estáticos para procesamiento de fotogramas en tiempo real: - `Process()` - Procesa fotogramas individuales y los agrega a los datos de búsqueda - `Build()` - Construye una huella a partir de datos de búsqueda acumulados ### Clase VFPSearchData[¶](#clase-vfpsearchdata "Permanent link") Contenedor para acumular datos de fotogramas durante el procesamiento en tiempo real: `[](#__codelineno-0-1)// Crear contenedor de datos de búsqueda para una duración específica [](#__codelineno-0-2)var searchData = new VFPSearchData(TimeSpan.FromSeconds(10));` ## Ejemplo Completo: Procesamiento de Huellas en Tiempo Real[¶](#ejemplo-completo-procesamiento-de-huellas-en-tiempo-real "Permanent link") Aquí hay un ejemplo completo basado en código de producción real que procesa video en vivo y detecta coincidencias de contenido: `[](#__codelineno-1-1)using System; [](#__codelineno-1-2)using System.Collections.Concurrent; [](#__codelineno-1-3)using System.Collections.Gene... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/real-time-processing/index.html #### DVS - VisioForge Help [Saltar a contenido](#dvs-escaner-de-videos-duplicados) * * * title: DVS: Escáner de Videos Duplicados para .NET description: Usa DVS para escanear carpetas en busca de videos duplicados o similares con características para encontrar y gestionar tu biblioteca de medios. * * * # DVS - Escáner de Videos Duplicados[¶](#dvs-escaner-de-videos-duplicados "Permanent link") 📦 **Código Fuente**: - [DVS Windows Forms en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/DVS) - [DVS MAUI (Multiplataforma) en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/DVS%20MAUI) ## Descripción General[¶](#descripcion-general "Permanent link") DVS (Duplicate Video Scanner / Escáner de Videos Duplicados) es una aplicación de escritorio para Windows que escanea carpetas para encontrar videos duplicados o similares. Utiliza tecnología de huellas de video para comparar videos basándose en su contenido en lugar de las propiedades del archivo, haciéndolo efectivo para encontrar duplicados incluso cuando los videos tienen diferentes formatos, resoluciones o tasas de bits. ## Características[¶](#caracteristicas "Permanent link") - **Procesamiento por Lotes**: Escanea múltiples carpetas simultáneamente - **Comparación Inteligente**: Encuentra duplicados incluso con diferentes codificaciones - **Soporte de Formatos**: Funciona con AVI, WMV, MP4, MPG, MOV, TS, FLV, MKV y más - **Vista Previa Visual**: Reproductor de medios integrado para revisar duplicados detectados - **Configuraciones Flexibles**: Umbrales de similitud y opciones de escaneo configurables - **Seguimiento de Progreso**: Barras de progreso y actualizaciones de estado en tiempo real - **Exportar Resultados**: Guarda resultados del escaneo para revisión posterior ## Interfaz de Usuario[¶](#interfaz-de-usuario "Permanent link") ### Componentes de la Ventana Principal[¶](#componentes-de-la-ventana-principal "P... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/dvs/index.html #### Técnicas de Comparación de Archivos de Video - VisioForge Help [Saltar a contenido](#tecnicas-y-metodos-de-comparacion-de-archivos-de-video) # Técnicas y Métodos de Comparación de Archivos de Video[¶](#tecnicas-y-metodos-de-comparacion-de-archivos-de-video "Permanent link") ## Introducción a las Huellas de Video[¶](#introduccion-a-las-huellas-de-video "Permanent link") El SDK de Huellas de Video proporciona herramientas potentes para comparar archivos de video con precisión usando tecnología avanzada de huellas digitales. Este enfoque analiza fotogramas de video y muestras de audio para generar firmas únicas que representan el contenido. Estas firmas pueden luego compararse para determinar la similitud entre diferentes archivos de video. ## Entendiendo el Proceso de Comparación[¶](#entendiendo-el-proceso-de-comparacion "Permanent link") Las huellas de video funcionan extrayendo características distintivas de los fotogramas de video y muestras de audio, creando una representación compacta que puede almacenarse y compararse eficientemente. Esta técnica es particularmente útil para: - Detectar contenido duplicado o similar - Identificar versiones modificadas de videos - Verificación y autenticación de contenido - Protección de derechos de autor y detección de infracciones ## Implementando Comparación de Video en .NET[¶](#implementando-comparacion-de-video-en-net "Permanent link") ### Creando Huellas para el Primer Video[¶](#creando-huellas-para-el-primer-video "Permanent link") El primer paso es generar una huella para tu archivo de video inicial. El siguiente código demuestra cómo crear una fuente usando el motor DirectShow y limitar el análisis a los primeros 5 segundos: `[](#__codelineno-0-1)// crear fuente para el primer archivo de video usando motor DirectShow [](#__codelineno-0-2)var source1 = new VFPFingerprintSource(File1, VFSimplePlayerEngine.LAV); [](#__codelineno-0-3)source1.StopTime = TimeSpan.FromMilliseconds(5000); [](#__codelineno-0-4)[](#__codelineno-0-5)// obtener primera huella [](#__codeline... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/how-to-compare-two-video-files/index.html #### Búsqueda de Fragmentos de Video en Contenido Mayor - VisioForge Help [Saltar a contenido](#encontrando-fragmentos-de-video-en-contenido-de-video-mas-grande) # Encontrando Fragmentos de Video en Contenido de Video Más Grande[¶](#encontrando-fragmentos-de-video-en-contenido-de-video-mas-grande "Permanent link") ## Introducción[¶](#introduccion "Permanent link") La tecnología de huellas de video permite a los desarrolladores identificar y localizar segmentos específicos de video dentro de archivos de video más grandes. Esta guía demuestra el proceso de implementación usando un poderoso SDK de Huellas de Video que funciona con varios formatos de video y niveles de calidad. Los ejemplos principales en este tutorial usan la implementación de API .NET, pero funcionalidad equivalente está disponible a través de la API C++ para desarrolladores que prefieren soluciones de código nativo. ## Proceso de Implementación[¶](#proceso-de-implementacion "Permanent link") ### Paso 1: Analizar el Archivo de Fragmento[¶](#paso-1-analizar-el-archivo-de-fragmento "Permanent link") Primero, necesitamos extraer una huella del fragmento de video más pequeño que queremos localizar dentro del video más grande. Este proceso implica analizar las características únicas del video y generar una firma digital. `[](#__codelineno-0-1)// crear fuente de archivo de video [](#__codelineno-0-2)var fragmentSrc = new VFPFingerprintSource(ShortFile, VFSimplePlayerEngine.LAV); [](#__codelineno-0-3)fragmentSrc.StopTime = TimeSpan.FromMilliseconds(5000); [](#__codelineno-0-4)[](#__codelineno-0-5)// obtener huella [](#__codelineno-0-6)var fragment = VFPAnalyzer.GetSearchFingerprintForVideoFile(fragmentSrc, ErrorCallback);` En este bloque de código: - Creamos una fuente de huella apuntando al archivo de fragmento corto - Establecemos un límite de duración de 5 segundos para el análisis - Generamos una huella buscable usando el analizador ### Paso 2: Analizar el Video Objetivo[¶](#paso-2-analizar-el-video-objetivo "Permanent link") A continuación, necesitamos ex... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/how-to-search-one-video-fragment-in-another/index.html #### Index - VisioForge Help [Saltar a contenido](#muestras-de-codigo-del-sdk-de-huella-digital-de-video) * * * title: Muestras de Código: SDK de Huella Digital de Video description: Ejemplos completos de apps que demuestran huella digital de video, detección de duplicados y búsqueda de fragmentos con el SDK. * * * # Muestras de Código del SDK de Huella Digital de Video[¶](#muestras-de-codigo-del-sdk-de-huella-digital-de-video "Permanent link") Explore nuestra colección completa de muestras de código y aplicaciones que demuestran el poder del SDK de Huella Digital de Video de VisioForge. Cada muestra incluye código fuente completo, instrucciones detalladas y casos de uso del mundo real. ## Herramientas de Línea de Comandos[¶](#herramientas-de-linea-de-comandos "Permanent link") Utilidades esenciales para operaciones de generación, comparación y búsqueda de huellas digitales. ### [VFP Generate](vfp_gen/)[¶](#vfp-generate "Permanent link") Genere huellas digitales de video a partir de archivos de medios con parámetros personalizables. Perfecto para procesamiento por lotes y flujos de trabajo de automatización. ### [VFP Compare](vfp_compare/)[¶](#vfp-compare "Permanent link") Compare dos huellas digitales de video para determinar similitud y detectar duplicados. Incluye métricas de similitud detalladas y opciones de configuración. ### [VFP Search](vfp_search/)[¶](#vfp-search "Permanent link") Busque fragmentos de video específicos dentro de archivos de video más grandes o colecciones. Ideal para identificación de contenido y protección de derechos de autor. ## Aplicaciones de Escritorio[¶](#aplicaciones-de-escritorio "Permanent link") Aplicaciones con características completas que demuestran flujos de trabajo de huella digital completos. ### [Escáner de Videos Duplicados (DVS)](dvs/)[¶](#escaner-de-videos-duplicados-dvs "Permanent link") Una aplicación Windows completa para encontrar videos duplicados en grandes colecciones. Las características incluyen: - Procesamiento por lot... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/index.html #### Herramienta de Monitoreo de Medios para .Net - VisioForge Help [Saltar a contenido](#herramienta-de-monitoreo-de-medios) # Herramienta de Monitoreo de Medios[¶](#herramienta-de-monitoreo-de-medios "Permanent link") 📦 **Código Fuente**: - [MMT Windows Forms en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/MMT) - [MMT MAUI (Multiplataforma) en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/MMT%20MAUI) ## Descripción General[¶](#descripcion-general "Permanent link") MMT (Media Monitoring Tool / Herramienta de Monitoreo de Medios) es una aplicación de escritorio para Windows diseñada para encontrar fragmentos de video dentro de videos más grandes. Se utiliza principalmente para detectar comerciales, anuncios, intros, outros o cualquier segmento de video específico dentro de grabaciones de transmisiones o colecciones de video. A diferencia de DVS que compara videos completos, MMT se especializa en localizar dónde aparecen clips específicos dentro de contenido más largo. ## Características Principales[¶](#caracteristicas-principales "Permanent link") - **Detección de Fragmentos**: Encuentra clips de video cortos dentro de grabaciones largas - **Procesamiento por Lotes**: Busca múltiples fragmentos en múltiples videos - **Monitoreo de Publicidad**: Detecta y rastrea apariciones de comerciales - **Visualización de Línea de Tiempo**: Ve exactamente cuándo aparecen los fragmentos - **Vista Previa de Medios**: Reproductor integrado para revisar detecciones - **Capacidades de Exportación**: Guarda resultados en formato CSV - **Soporte de Base de Datos**: Construye bibliotecas de fragmentos para búsquedas repetidas ## Interfaz de Usuario[¶](#interfaz-de-usuario "Permanent link") ### Componentes Principales[¶](#componentes-principales "Permanent link") 1. **Reproductor de Medios**: Vista previa de videos y detecciones 2. **Pestaña Broadcast Dump**: Administra videos donde buscar 3. **Pestaña Ads/Fragments**: Ad... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/mmt/index.html #### MMT Live - VisioForge Help [Saltar a contenido](#mmt-live-herramienta-de-monitoreo-de-medios-en-tiempo-real) * * * title: MMT Live: Monitoreo de Medios en Tiempo Real (.NET) description: Usa MMT Live para monitorear streams en vivo y detectar fragmentos de video en tiempo real para encontrar y gestionar contenido multimedia. * * * # MMT Live - Herramienta de Monitoreo de Medios en Tiempo Real[¶](#mmt-live-herramienta-de-monitoreo-de-medios-en-tiempo-real "Permanent link") 📦 **Código Fuente**: [Ver en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/MMT%20Live) ## Descripción General[¶](#descripcion-general "Permanent link") MMT Live es una versión en tiempo real de la Herramienta de Monitoreo de Medios que puede detectar fragmentos de video en streams en vivo o durante la reproducción en vivo. Está diseñada para monitorear transmisiones en tiempo real, detectar anuncios mientras se emiten y activar acciones inmediatas cuando se detecta contenido específico. ## Características Principales[¶](#caracteristicas-principales "Permanent link") - **Detección en Tiempo Real**: Identifica fragmentos mientras el video se reproduce - **Soporte de Stream en Vivo**: Monitorea RTSP, HTTP y streams de archivos - **Notificaciones Instantáneas**: Alertas inmediatas cuando se detecta contenido - **Monitoreo Continuo**: Capacidad de operación 24/7 - **Detección de Anuncios**: Identificación de comerciales en tiempo real - **Baja Latencia**: Detección casi instantánea - **Vista Previa en Vivo**: Monitorea el stream mientras procesa ## Diferencias con MMT Estándar[¶](#diferencias-con-mmt-estandar "Permanent link") Característica MMT MMT Live Procesamiento Post-grabación Tiempo real Entrada Solo archivos Archivos + Streams Detección Por lotes Continua Resultados Después de completar Inmediatos Caso de Uso Análisis Monitoreo ## Interfaz de Usuario[¶](#interfaz-de-usuario "Permanent link") ### Componentes Principales[¶](#... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/mmt-live/index.html #### Herramienta de Comparación de Huellas de Video (.NET) - VisioForge Help [Saltar a contenido](#vfp_compare-herramienta-de-comparacion-de-huellas-de-video) # vfp\_compare - Herramienta de Comparación de Huellas de Video[¶](#vfp_compare-herramienta-de-comparacion-de-huellas-de-video "Permanent link") 📦 **Código Fuente**: [Ver en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/Console/vfp_compare) ## Descripción General[¶](#descripcion-general "Permanent link") `vfp_compare` es una herramienta de línea de comandos que compara dos archivos de huellas de video para determinar si los videos son similares o idénticos. Es útil para detectar videos duplicados, encontrar contenido similar o verificar la integridad del video. ## Características[¶](#caracteristicas "Permanent link") - Compara huellas de video pregeneradas - Comparación rápida sin reprocesar videos - Umbral de similitud configurable - Devuelve puntuación numérica de diferencia ## Uso[¶](#uso "Permanent link") `[](#__codelineno-0-1)vfp_compare -f "huella1.vsigx" -s "huella2.vsigx" [opciones]` ### Parámetros Requeridos[¶](#parametros-requeridos "Permanent link") - `-f, --f1` : Ruta al primer archivo de huella - `-s, --f2` : Ruta al segundo archivo de huella ### Parámetros Opcionales[¶](#parametros-opcionales "Permanent link") - `-d, --md` : Diferencia máxima aceptable (predeterminado: 500) - `-l, --license` : Clave de licencia VisioForge (predeterminado: "TRIAL") ## Ejemplos[¶](#ejemplos "Permanent link") ### Comparación básica[¶](#comparacion-basica "Permanent link") `[](#__codelineno-1-1)vfp_compare -f "video1.vsigx" -s "video2.vsigx"` ### Comparación con umbral personalizado[¶](#comparacion-con-umbral-personalizado "Permanent link") `[](#__codelineno-2-1)vfp_compare -f "original.vsigx" -s "copia.vsigx" -d 100` ### Usando clave de licencia[¶](#usando-clave-de-licencia "Permanent link") `[](#__codelineno-3-1)vfp_compare -f "archivo1.vsigx" -s "archivo2.vsigx" -l "TU-CLAVE-DE-LICENCIA"` ## Salida[... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/vfp_compare/index.html #### Herramienta Generadora de Huellas de Video para .Net - VisioForge Help [Saltar a contenido](#vfp_gen-generador-de-huellas-de-video) # vfp\_gen - Generador de Huellas de Video[¶](#vfp_gen-generador-de-huellas-de-video "Permanent link") 📦 **Código Fuente**: [Ver en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/Console/vfp_gen) ## Descripción General[¶](#descripcion-general "Permanent link") `vfp_gen` es una herramienta de línea de comandos que genera huellas digitales (firmas) de archivos de video. Estas huellas pueden utilizarse para comparación de videos, detección de duplicados o búsqueda de fragmentos. ## Características[¶](#caracteristicas "Permanent link") - Genera huellas optimizadas para operaciones de comparación o búsqueda - Procesa videos completos o duraciones específicas - Soporte para todos los formatos de video principales (MP4, AVI, MKV, MOV, etc.) - Compatibilidad multiplataforma (Windows x64) ## Uso[¶](#uso "Permanent link") `[](#__codelineno-0-1)vfp_gen -i "video_entrada.mp4" -o "salida.vsigx" [opciones]` ### Parámetros Requeridos[¶](#parametros-requeridos "Permanent link") - `-i, --input` : Ruta al archivo de video de entrada - `-o, --output` : Ruta donde se guardará el archivo de huella (típicamente con extensión .vsigx) ### Parámetros Opcionales[¶](#parametros-opcionales "Permanent link") - `-t, --type` : Tipo de huella (predeterminado: "search") - `search` : Optimizado para encontrar este video como fragmento dentro de otros videos - `compare` : Optimizado para comparar videos completos - `-d, --duration` : Duración a analizar en milisegundos (predeterminado: 0 = archivo completo) - `-l, --license` : Clave de licencia VisioForge (predeterminado: "TRIAL") ## Ejemplos[¶](#ejemplos "Permanent link") ### Generar una huella de búsqueda para el video completo[¶](#generar-una-huella-de-busqueda-para-el-video-completo "Permanent link") `[](#__codelineno-1-1)vfp_gen -i "comercial.mp4" -o "comercial.vsigx"` ### Generar una huella de... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/vfp_gen/index.html #### Herramienta de Búsqueda de Fragmentos de Video (.NET) - VisioForge Help [Saltar a contenido](#vfp_search-herramienta-de-busqueda-de-fragmentos-de-video) # vfp\_search - Herramienta de Búsqueda de Fragmentos de Video[¶](#vfp_search-herramienta-de-busqueda-de-fragmentos-de-video "Permanent link") 📦 **Código Fuente**: [Ver en GitHub](https://github.com/visioforge/.Net-SDK-s-samples/tree/master/Video%20Fingerprinting%20SDK/Console/vfp_search) ## Descripción General[¶](#descripcion-general "Permanent link") `vfp_search` es una herramienta de línea de comandos que busca un fragmento de video (como un comercial, intro o escena específica) dentro de un video más grande. Utiliza huellas pregeneradas para localizar rápidamente dónde aparece el fragmento en el video principal. ## Características[¶](#caracteristicas "Permanent link") - Encuentra fragmentos de video dentro de videos de larga duración - Detecta comerciales en grabaciones de transmisiones - Localiza escenas o clips específicos - Búsqueda rápida sin reprocesar videos - Devuelve marcas de tiempo exactas de las coincidencias ## Uso[¶](#uso "Permanent link") `[](#__codelineno-0-1)vfp_search -f "fragmento.vsigx" -m "video_principal.vsigx" [opciones]` ### Parámetros Requeridos[¶](#parametros-requeridos "Permanent link") - `-f, --fragment` : Ruta al archivo de huella del fragmento (el segmento de video a buscar) - `-m, --main` : Ruta al archivo de huella del video principal (donde buscar) ### Parámetros Opcionales[¶](#parametros-opcionales "Permanent link") - `-d, --md` : Diferencia máxima aceptable (predeterminado: 500) - `-l, --license` : Clave de licencia VisioForge (predeterminado: "TRIAL") ## Ejemplos[¶](#ejemplos "Permanent link") ### Buscar un comercial en una grabación de TV[¶](#buscar-un-comercial-en-una-grabacion-de-tv "Permanent link") `[](#__codelineno-1-1)vfp_search -f "comercial.vsigx" -m "grabacion_tv.vsigx"` ### Búsqueda con coincidencia más estricta[¶](#busqueda-con-coincidencia-mas-estricta "Permanent link") `[](#__codelineno-2-1)vfp_s... **URL**: https://www.visioforge.com/help/es/docs/vfp/dotnet/samples/vfp_search/index.html #### Preguntas Frecuentes del SDK de Video Fingerprinting - VisioForge Help [Saltar a contenido](#preguntas-frecuentes-del-sdk-de-video-fingerprinting) # Preguntas Frecuentes del SDK de Video Fingerprinting[¶](#preguntas-frecuentes-del-sdk-de-video-fingerprinting "Permanent link") Esta FAQ completa aborda las preguntas más comunes sobre el SDK de Video Fingerprinting de VisioForge. Si no puedes encontrar tu respuesta aquí, por favor visita nuestro [foro de soporte](https://support.visioforge.com/) o [comunidad de Discord](https://discord.com/invite/yvXUG56WCH). ## Tabla de Contenidos[¶](#tabla-de-contenidos "Permanent link") - [Preguntas sobre Licencias](#preguntas-sobre-licencias) - [Rendimiento y Optimización](#rendimiento-y-optimizacion) - [Precisión y Detección](#precision-y-deteccion) - [Formatos y Códecs Soportados](#formatos-y-codecs-soportados) - [Integración y Desarrollo](#integracion-y-desarrollo) - [Base de Datos y Almacenamiento](#base-de-datos-y-almacenamiento) ## Preguntas sobre Licencias[¶](#preguntas-sobre-licencias "Permanent link") ### P: ¿Cuál es la diferencia entre licencias de Prueba y Comerciales?[¶](#p-cual-es-la-diferencia-entre-licencias-de-prueba-y-comerciales "Permanent link") **R:** Las diferencias clave son: Característica Prueba Comercial Duración 30 días Perpetua Marca de agua Sí (superposición visual) No Todas las Características Sí Sí Uso en Producción No Sí Soporte Técnico Solo foro Email/Prioridad/Teléfono Actualizaciones Solo período de prueba 1 año ### P: ¿Puedo usar la licencia de Prueba para desarrollo?[¶](#p-puedo-usar-la-licencia-de-prueba-para-desarrollo "Permanent link") **R:** ¡Sí! La licencia de prueba es perfecta para desarrollo y pruebas. Incluye todas las características con una marca de agua. Puedes desarrollar toda tu aplicación con la licencia de prueba y comprar una licencia comercial cuando estés listo para producción. `[](#__codelineno-0-1)// Entorno de desarrollo [](#__codelineno-0-2)VFPAnalyzer.SetLicenseKey("TRIAL"); [](#__codelineno-0-3)[... **URL**: https://www.visioforge.com/help/es/docs/vfp/faq/index.html #### Tipos de Huella Digital: Búsqueda vs Comparación - VisioForge Help [Saltar a contenido](#tipos-de-huella-digital-busqueda-vs-comparacion) # Tipos de Huella Digital: Búsqueda vs Comparación[¶](#tipos-de-huella-digital-busqueda-vs-comparacion "Permanent link") ## Introducción[¶](#introduccion "Permanent link") El SDK de Video Fingerprinting de VisioForge (disponible para .NET y C++) proporciona dos tipos de huella digital distintos, cada uno optimizado para casos de uso específicos. Entender las diferencias fundamentales entre **Búsqueda** y **Comparación** de huellas digitales es crucial para lograr rendimiento y precisión óptimos en sus aplicaciones de análisis de video. Esta decisión arquitectónica surge de los requisitos inherentemente diferentes de buscar fragmentos de video versus comparar videos enteros. Mientras que ambos tipos analizan contenido de video para crear firmas únicas, emplean algoritmos diferentes, estructuras de datos y estrategias de optimización adaptadas a sus propósitos específicos. ## Arquitectura Técnica[¶](#arquitectura-tecnica "Permanent link") ### Diferencias Principales[¶](#diferencias-principales "Permanent link") El SDK implementa dos pipelines de procesamiento separados a través de llamadas API nativas distintas: Aspecto Huella Digital de Comparación Huella Digital de Búsqueda **API Nativa** Funciones `VFPCompare_*` Funciones `VFPSearch_*` **Estructura de Datos** `VFPCompareData` `VFPSearchData` **Algoritmo Enfoque** Similitud de video completo Detección de fragmentos **Resolución Temporal** Precisión de nivel de segundo Precisión de nivel de milisegundo **Objetivo de Optimización** Velocidad para búsqueda de ventana deslizante ### Diferencias de Estructura Interna[¶](#diferencias-de-estructura-interna "Permanent link") **Huellas Digitales de Comparación** usan una estructura de datos completa que captura características globales del video entero: - Mantiene coherencia temporal a través de la duración completa - Almacena firmas detalladas frame-por-frame - Optimiz... **URL**: https://www.visioforge.com/help/es/docs/vfp/fingerprint-types/index.html #### Tecnología de Huella Digital de Video - VisioForge Help [Saltar a contenido](#video-fingerprinting-sdk) # Video Fingerprinting SDK[¶](#video-fingerprinting-sdk "Permanent link") ## ¿Qué es la Huella Digital de Video?[¶](#que-es-la-huella-digital-de-video "Permanent link") Nuestra tecnología de huella digital de video de vanguardia crea firmas digitales únicas del contenido de video analizando múltiples dimensiones de datos visuales. El sistema emplea algoritmos sofisticados que se enfocan en: - **Análisis de escenas** - Detectando transiciones, cortes y composición - **Reconocimiento de objetos** - Identificando y rastreando elementos visuales clave - **Detección de movimiento** - Analizando patrones de movimiento y trayectorias - **Distribución de color** - Mapeando paletas visuales y variaciones tonales - **Patrones temporales** - Examinando cómo los elementos visuales cambian con el tiempo Estos elementos se combinan para formar una huella distintiva que identifica únicamente cada video en tu base de datos. ## Capacidades y Beneficios Clave[¶](#capacidades-y-beneficios-clave "Permanent link") El SDK puede hacer coincidir videos con precisión a pesar de transformaciones significativas, incluyendo: - Cambios en resolución (desde SD hasta 4K y más) - Variaciones en bitrate y calidad de codificación - Diferentes técnicas de compresión - Conversión entre formatos de archivo (MP4, AVI, MOV, etc.) - Coincidencia de contenido parcial (identificando segmentos) - Videos incrustados dentro de otro contenido - Presencia de superposiciones, marcas de agua o subtítulos Esta robustez hace que la tecnología sea ideal para verificación de contenido, protección de derechos de autor y aplicaciones de monitoreo de medios. ## Soporte de Plataformas e Integración[¶](#soporte-de-plataformas-e-integracion "Permanent link") El SDK ofrece compatibilidad multiplataforma con: - **Windows** - Soporte completo para Windows 10/11 y entornos de servidor - **Linux** - Compatible con las principales distribuc... **URL**: https://www.visioforge.com/help/es/docs/vfp/index.html #### System Requirements - VisioForge Help [Saltar a contenido](#requisitos-del-sistema) * * * title: Requisitos del Sistema: Video Fingerprinting SDK description: Requisitos de hardware y software para ejecutar el SDK de Video Fingerprinting de VisioForge en plataformas Windows, Linux y macOS * * * # Requisitos del Sistema[¶](#requisitos-del-sistema "Permanent link") Esta página describe los requisitos del sistema para ejecutar el SDK de Video Fingerprinting en plataformas soportadas. Estos requisitos aplican tanto para las versiones .NET como C++ del SDK. ## Plataformas Soportadas[¶](#plataformas-soportadas "Permanent link") ### Windows[¶](#windows "Permanent link") - **Sistema Operativo**: Windows 10 versión 1903+ o Windows 11 - **Arquitectura**: x86, x64 o ARM64 (ARM64 solo para SDK .NET) - **Runtime**: Microsoft Visual C++ Redistributables 2019 o posterior - **Bibliotecas Adicionales**: Filtros DirectShow para soporte de códec mejorado (opcional) ### Linux[¶](#linux "Permanent link") - **Distribuciones**: Ubuntu 20.04+, Debian 11+, RHEL 8+, CentOS 8+, Fedora 34+ (Fedora para SDK C++) - **Arquitectura**: x64 o ARM64 - **Dependencias**: GStreamer 1.18+ con plugins base y buenos - **Servidor de Display**: X11 o Wayland (para SDK .NET con GUI) ### macOS[¶](#macos "Permanent link") - **Sistema Operativo**: macOS 12 (Monterey) o posterior - **Arquitectura**: Intel x64 o Apple Silicon (M1/M2/M3) - **Dependencias**: No se requieren dependencias de runtime adicionales ## Requisitos de Hardware[¶](#requisitos-de-hardware "Permanent link") ### Requisitos Mínimos[¶](#requisitos-minimos "Permanent link") - **Procesador**: CPU de doble núcleo (Intel Core i3 o equivalente AMD) - **Memoria**: - SDK .NET: 4 GB RAM - SDK C++: 2 GB RAM disponible para la aplicación - **Almacenamiento**: - SDK .NET: 500 MB de espacio libre en disco para el SDK - SDK C++: 100 MB para archivos del SDK + espacio para procesamiento de video - **GPU**: Cualquier tarjeta gráfica compatible... **URL**: https://www.visioforge.com/help/es/docs/vfp/system-requirements/index.html #### Entendiendo la Tecnología de Huella Digital de Video - VisioForge Help [Saltar a contenido](#entendiendo-la-tecnologia-de-huella-digital-de-video) # Entendiendo la Tecnología de Huella Digital de Video[¶](#entendiendo-la-tecnologia-de-huella-digital-de-video "Permanent link") ## Introducción[¶](#introduccion "Permanent link") La huella digital de video es una tecnología sofisticada que crea firmas digitales únicas de contenido de video, permitiendo identificación y coincidencia precisa incluso cuando los videos han sido transformados, comprimidos o modificados. A diferencia del hashing criptográfico (MD5, SHA) que produce resultados completamente diferentes incluso de cambios diminutos, la huella digital de video genera firmas perceptualmente similares para contenido visualmente similar. El SDK de Huella Digital de Video de VisioForge implementa algoritmos de vanguardia que analizan múltiples dimensiones de datos de video para crear huellas robustas y compactas que pueden sobrevivir a varias transformaciones mientras mantienen alta precisión en identificación de contenido. ## Cómo Funciona la Huella Digital de Video[¶](#como-funciona-la-huella-digital-de-video "Permanent link") El SDK de VisioForge emplea un enfoque multi-capa para análisis de video, procesando frames a través de algoritmos especializados que extraen características perceptualmente significativas: ### Análisis y Detección de Escena[¶](#analisis-y-deteccion-de-escena "Permanent link") El SDK analiza contenido de video a nivel de escena, identificando transiciones, cortes y cambios composicionales. Esta segmentación temporal proporciona la base para entender la estructura del video: `[](#__codelineno-0-1)// El SDK procesa frames con conciencia temporal [](#__codelineno-0-2)VFPCompare.Process( [](#__codelineno-0-3) frameData, // Datos de frame RGB24 [](#__codelineno-0-4) width, height, // Dimensiones de frame [](#__codelineno-0-5) stride, // Diseño de memoria [](#__codelineno-0-6) timestamp, // Posición tempo... **URL**: https://www.visioforge.com/help/es/docs/vfp/understanding-video-fingerprinting/index.html #### Use Cases - VisioForge Help [Saltar a contenido](#casos-de-uso-y-aplicaciones-de-huellas-digitales-de-video) * * * title: Casos de Uso y Aplicaciones de Huellas Digitales de Video description: Aplicaciones de huellas digitales de video: protección de derechos de autor, monitoreo de transmisiones y gestión de contenido multimedia. * * * # Casos de Uso y Aplicaciones de Huellas Digitales de Video[¶](#casos-de-uso-y-aplicaciones-de-huellas-digitales-de-video "Permanent link") La tecnología de huellas digitales de video ha revolucionado la forma en que las organizaciones gestionan, protegen y analizan el contenido de video. Esta guía completa explora aplicaciones del mundo real en diversas industrias, proporcionando ejemplos prácticos de implementación y mejores prácticas para cada caso de uso. ## Descripción General de las Aplicaciones de Huellas Digitales de Video[¶](#descripcion-general-de-las-aplicaciones-de-huellas-digitales-de-video "Permanent link") Las huellas digitales de video crean firmas digitales únicas que identifican el contenido de video independientemente de los cambios de formato, modificaciones de calidad o ediciones menores. Esta tecnología permite: - **Identificación de Contenido**: Reconocer videos en diferentes plataformas y formatos - **Detección de Duplicados**: Encontrar contenido idéntico o similar en grandes archivos - **Protección de Derechos de Autor**: Detectar el uso no autorizado de material protegido por derechos de autor - **Monitoreo de Contenido**: Rastrear la distribución y el uso de videos - **Control de Calidad**: Asegurar la integridad y el cumplimiento del contenido ## Protección de Derechos de Autor y Cumplimiento de la DMCA[¶](#proteccion-de-derechos-de-autor-y-cumplimiento-de-la-dmca "Permanent link") ### El Desafío[¶](#el-desafio "Permanent link") Los creadores de contenido y los titulares de derechos enfrentan desafíos masivos para proteger su propiedad intelectual en línea. Cada minuto, se suben cientos de horas de video a pla... **URL**: https://www.visioforge.com/help/es/docs/vfp/use-cases/index.html #### Centro de Documentación de SDKs VisioForge - VisioForge Help # Productos de VisioForge SDKs profesionales de captura, reproducción, edición y procesamiento de video para desarrolladores .NET, Delphi y DirectShow. Crea aplicaciones multimedia potentes con facilidad. [ ### SDKs .NET Reproducción, captura y edición de video completa con aceleración por hardware, procesamiento en tiempo real y soporte para todas las plataformas principales. Explorar Documentación →](docs/dotnet/)[ ### SDK de Huellas de Video Crea firmas digitales únicas de contenido de video para detectar duplicados, identificar fragmentos y coincidir videos transformados. Explorar Documentación →](docs/vfp/)[ ### SDKs Delphi / ActiveX Potentes bibliotecas Delphi/ActiveX para reproducción, captura y edición de video con soporte x64 para aplicaciones multimedia profesionales. Explorar Documentación →](docs/delphi/)[ ### SDKs y Filtros DirectShow Filtros y SDKs DirectShow para reproducción, procesamiento, codificación y desarrollo de aplicaciones multimedia. Explorar Documentación →](docs/directshow/) ## Soporte Multiplataforma Desarrolla una vez, despliega en todas partes. Nuestros SDKs soportan todas las plataformas principales. ![Windows](../static/windows.svg) Windows ![macOS](../static/macos.svg) macOS ![Linux](../static/linux.svg) Linux ![iOS](../static/ios.svg) iOS ![Android](../static/android.svg) Android ![Raspberry Pi](../static/raspberry-pi.svg) Raspberry Pi ![NVIDIA Jetson](../static/nvidia-jetson.svg) NVIDIA Jetson ## Recursos Completos para Desarrolladores Todo lo que necesitas para integrar capacidades de video en tus aplicaciones ![Documentación](../static/documentation.svg) ### Documentación Detallada Referencias de API detalladas, guías paso a paso y descripciones de arquitectura que cubren todas las características, clases y métodos del SDK con ejemplos prácticos. ![Ejemplos de Código](../static/code-samples.svg) ### Ejemplos de Código y Proyectos GitHub Fragmentos de código en C#, VB.NET y Delphi, además de apli... **URL**: https://www.visioforge.com/help/es/index.html #### Licencias - VisioForge Help [Saltar a contenido](#guia-de-licenciamiento-de-visioforge-sdks) * * * title: Opciones de Licenciamiento de VisioForge SDKs description: Licencias de VisioForge SDK: licencias de desarrollador, opciones de equipo, despliegue libre de regalías y precios para SDKs de video. * * * # Guía de Licenciamiento de VisioForge SDKs[¶](#guia-de-licenciamiento-de-visioforge-sdks "Permanent link") ## Introducción a Nuestro Modelo de Licenciamiento[¶](#introduccion-a-nuestro-modelo-de-licenciamiento "Permanent link") Nuestro modelo de licenciamiento está diseñado pensando en los desarrolladores, ofreciendo un enfoque sencillo y económico para integrar potentes capacidades de video y medios en tus aplicaciones. Cada licencia proporciona derechos de uso comercial sin costos ocultos ni términos complicados, asegurando que puedas enfocarte en construir excelente software en lugar de navegar estructuras de licenciamiento complejas. Para detalles legales completos, por favor consulta nuestro [Contrato de Licencia de Usuario Final (EULA)](../docs/eula/). ## Marco de Licenciamiento Basado en Desarrolladores[¶](#marco-de-licenciamiento-basado-en-desarrolladores "Permanent link") Operamos con un modelo de licenciamiento por desarrollador en lugar de cobrar por usuario final o por despliegue. Este enfoque ofrece varias ventajas clave: - **Despliegue libre de regalías**: Una vez licenciado, puedes distribuir tus aplicaciones a usuarios finales ilimitados sin cargos adicionales - **Sin licenciamiento en tiempo de ejecución**: Los usuarios finales nunca necesitan comprar o gestionar licencias separadas - **Costos predecibles**: Tu equipo de desarrollo conoce el costo exacto de licenciamiento por adelantado sin cargos sorpresa Este modelo es particularmente beneficioso para aplicaciones comerciales donde necesitas distribuir tu software ampliamente sin rastrear conteos de despliegue o gestionar servidores de licenciamiento complejos. ## Comprendiendo el Alcance y Requisitos... **URL**: https://www.visioforge.com/help/es/licensing/index.html ### INDEX.HTML Documentation #### VisioForge SDK Documentation Hub - VisioForge Help # VisioForge Products Professional video capture, playback, editing, and processing SDKs for .NET, Delphi, and DirectShow developers. Build powerful multimedia applications with ease. [ ### .NET SDKs Comprehensive video playback, capture, and editing with hardware acceleration, real-time processing, and support for all major platforms. Explore Documentation →](docs/dotnet/)[ ### Video Fingerprinting SDK Create unique digital signatures of video content to detect duplicates, identify fragments, and match transformed videos. Explore Documentation →](docs/vfp/)[ ### Delphi / ActiveX SDKs Powerful Delphi/ActiveX libraries for video playback, capture, and editing with x64 support for professional media applications. Explore Documentation →](docs/delphi/)[ ### DirectShow SDKs & Filters DirectShow filters and SDKs for video playback, processing, encoding, and multimedia application development. Explore Documentation →](docs/directshow/) ## Cross-Platform Support Build once, deploy everywhere. Our SDKs support all major platforms. ![Windows](static/windows.svg) Windows ![macOS](static/macos.svg) macOS ![Linux](static/linux.svg) Linux ![iOS](static/ios.svg) iOS ![Android](static/android.svg) Android ![Raspberry Pi](static/raspberry-pi.svg) Raspberry Pi ![NVIDIA Jetson](static/nvidia-jetson.svg) NVIDIA Jetson ## Comprehensive Developer Resources Everything you need to integrate video capabilities into your applications ![Documentation](static/documentation.svg) ### In-Depth Documentation Detailed API references, step-by-step guides, and architecture overviews covering all SDK features, classes, and methods with practical usage examples. ![Code Samples](static/code-samples.svg) ### Code Samples & GitHub Projects Copy-paste code snippets in C#, VB.NET, and Delphi, plus complete downloadable sample applications for WinForms, WPF, MAUI, Avalonia, Uno, and console apps on GitHub. ![Video Tutorials](static/video-tutorials.svg) ### Video Tutorials... **URL**: https://www.visioforge.com/help/index.html ### LICENSING Documentation #### VisioForge SDKs Licensing Options - VisioForge Help [Skip to content](#visioforge-sdks-licensing-guide) # VisioForge SDKs Licensing Guide[¶](#visioforge-sdks-licensing-guide "Permanent link") ## Introduction to Our Licensing Model[¶](#introduction-to-our-licensing-model "Permanent link") Our licensing model is designed with developers in mind, offering a straightforward and cost-effective approach for integrating powerful video and media capabilities into your applications. Each license provides commercial usage rights with no hidden costs or complicated terms, ensuring you can focus on building great software rather than navigating complex licensing structures. For complete legal details, please refer to our [End User License Agreement (EULA)](../docs/eula/). ## Developer-Based Licensing Framework[¶](#developer-based-licensing-framework "Permanent link") We operate on a per-developer licensing model rather than charging per end-user or per deployment. This approach offers several key advantages: - **Royalty-free deployment**: Once licensed, you can distribute your applications to unlimited end-users without additional fees - **No runtime licensing**: End-users never need to purchase or manage separate licenses - **Predictable costs**: Your development team knows the exact licensing cost upfront with no surprise fees This model is particularly beneficial for commercial applications where you need to distribute your software widely without tracking deployment counts or managing complex licensing servers. ## Understanding License Scope and Requirements[¶](#understanding-license-scope-and-requirements "Permanent link") ### Team Licensing Requirements[¶](#team-licensing-requirements "Permanent link") Each developer actively working with the SDK requires their own license when using the One-Year license option. This policy ensures fair usage while supporting our ongoing development efforts. Consider the following scenarios: - A team of three developers working with the SDK would require three One-Ye... **URL**: https://www.visioforge.com/help/licensing/index.html ## Platform Support & Requirements **Windows:** Windows 10+, .NET Framework 4.6.1+, .NET 5-8 **macOS:** macOS 10.15+, .NET Core 3.1+, .NET 5-8 **Linux:** Ubuntu 18.04+, .NET Core 3.1+, .NET 5-8 **Mobile:** iOS 12+, Android 6.0+ (API 23+) ## Support & Resources **Primary Support:** support@visioforge.com **Community:** Discord https://discord.gg/yvXUG56WCH **Documentation:** https://www.visioforge.com/help/ **Examples:** https://github.com/visioforge/.Net-SDK-s-samples/ **Trial:** 30-day evaluation available --- **Generated**: 2026-01-12T10:17:34.660Z **Total Sources**: 667 (21 website + 646 help docs) **AI Keywords**: .NET video SDK, multimedia processing, streaming, RTSP, IP camera, video capture, media player, cross-platform