Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content.

Overview

VK_VULKAN_VIDEO

vk_video_decode

This project is a Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content. The application decodes the h.264/5 compressed content using an HW accelerated decoder, the decoded YCbCr frames are processed with Vulkan Graphics and then presented via the Vulkan WSI.

Currently, the sample application supports Linux and Windows10 operating systems.

Features

  • Extracts (DEMUX via FFMPEG) compressed video from .mp4, .mkv .mov and others video containers using h.264 (AVC) or h.265 (HEVC) compression formats.
  • The HW video decoder processes textures to Vulkan Video Images that can be directly sampled from Vulkan Samplers (Textures).
  • Converts the YCbCr (YUV) Images to RGB while sampling the decoded images using the VK_KHR_sampler_ycbcr_conversion
  • Displays the post-processed video frames using Vulkan WSI.
  • Provides the h.264/5 SPS/PPS video picture parameters inlined with each frame's parameters. This isn't compliant with the Vulkan Video Specification. Proper handling of such parameters must be done using an object of type VkVideoSessionParametersKHR.
  • Add support for VkVideoSessionParametersKHR for full compliance with the Vulkan Video Specification.
  • Use Video display timing synchronization (such as VK_EXT_present_timing) at the WSI side - currently the video is played at the maximum frame rate that the display device can support. The video may be played at a faster rate than it is authored.
  • Convert the sample's framework to be compatible with the rest of the nvpro-samples.

For instructions on how to build the sample decode application, please see the build instructions.

Please download and install Beta NVIDIA Driver with Vulkan Video Enabled.

For Vulkan Video Specification please refer to Vulkan Spec with Video Extensions.

For deep-dive information on Vulkan Video please refer to the Depp Dive Slide Deck.

Comments
  • Can the console window be disabled?

    Can the console window be disabled?

    After CreateVulkanVideoDecodeParser is called, nvidia-vkvideo-parser.dll begins its duties and opens up a console window during decoding.

    Can this be behaviour be disabled?

    I'd like to just run my test app without any superfluous windows lying about.

    Thanks.

    opened by BattleAxeVR 24
  • VP9 codec support, or HEVC + yuva420p format for RGBA support

    VP9 codec support, or HEVC + yuva420p format for RGBA support

    Hi, I'm trying to get yuva420p pixel format into my game engine (for RGBA videos), and so far the only way I can do it is via VP9 codec since HEVC + alpha encoders are only available on Mac.

    I made some test files for yuva420p using VP9 codec (via FFMPEG), which play back fine in VLC but assert in this sample due to the missing VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR symbol which isn't in vulkan_beta.h yet.

    I presume this is coming at some point and VK_EXT_video_decode_vp9 define is currently disabled for that reason?

    #ifdef VK_EXT_video_decode_vp9 { VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR, "VP9" },

    I was wondering if there is an alternative for alpha support (aside from using a separate grayscale video file), and if there is a list of codecs <-> pixel formats that are supported by Vulkan Video and the current beta drivers (and this sample). Thanks for the good work, keep it up.

    opened by BattleAxeVR 16
  • Build Failure

    Build Failure

    1. Link broken [FFMPEG libraries for Windows] Download the following archive: https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-04-12-12-38/ffmpeg-N-101934-g7e241a1b73-win64-lgpl-shared.zip Then extract the archive to <APP_INSTALLED_LOC>\bin\libs\ffmpeg and add the path of the <APP_INSTALLED_LOC>\bin\libs\ffmpeg\win64\ of the application. Please make sure that <APP_INSTALLED_LOC>\bin\libs\ffmpeg\win64\bin location contains avformat-58.dll, avutil-56.dll and avcodec-58.dll shared libraries and <APP_INSTALLED_LOC>\bin\libs\ffmpeg\win64\lib contains the corresponding lib files.

    2. build_windows_targets.bat doesn't work:

    Determining VS version
    Detected Visual Studio Version as 16 0
    Generating 64-bit CMake files for Visual Studio 16 0
    CMake Error: Could not create named generator Visual Studio 16 0 Win64
    
    Generators
    * Visual Studio 16 2019        = Generates Visual Studio 2019 project files.
                                     Use -A option to specify architecture.
      Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                     Optional [arch] can be "Win64" or "ARM".
      Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                     Optional [arch] can be "Win64" or "ARM".
      Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                     Optional [arch] can be "Win64" or "ARM".
      Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                     Optional [arch] can be "Win64" or "ARM".
      Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                     Optional [arch] can be "Win64" or "IA64".
      Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                     Optional [arch] can be "Win64" or "IA64".
      Borland Makefiles            = Generates Borland makefiles.
      NMake Makefiles              = Generates NMake makefiles.
      NMake Makefiles JOM          = Generates JOM makefiles.
      MSYS Makefiles               = Generates MSYS makefiles.
      MinGW Makefiles              = Generates a make file for use with
                                     mingw32-make.
      Green Hills MULTI            = Generates Green Hills MULTI files
                                     (experimental, work-in-progress).
      Unix Makefiles               = Generates standard UNIX makefiles.
      Ninja                        = Generates build.ninja files.
      Ninja Multi-Config           = Generates build-<Config>.ninja files.
      Watcom WMake                 = Generates Watcom WMake makefiles.
      CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
      CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
      CodeBlocks - NMake Makefiles JOM
                                   = Generates CodeBlocks project files.
      CodeBlocks - Ninja           = Generates CodeBlocks project files.
      CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
      CodeLite - MinGW Makefiles   = Generates CodeLite project files.
      CodeLite - NMake Makefiles   = Generates CodeLite project files.
      CodeLite - Ninja             = Generates CodeLite project files.
      CodeLite - Unix Makefiles    = Generates CodeLite project files.
      Eclipse CDT4 - NMake Makefiles
                                   = Generates Eclipse CDT 4.0 project files.
      Eclipse CDT4 - MinGW Makefiles
                                   = Generates Eclipse CDT 4.0 project files.
      Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
      Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
      Kate - MinGW Makefiles       = Generates Kate project files.
      Kate - NMake Makefiles       = Generates Kate project files.
      Kate - Ninja                 = Generates Kate project files.
      Kate - Unix Makefiles        = Generates Kate project files.
      Sublime Text 2 - MinGW Makefiles
                                   = Generates Sublime Text 2 project files.
      Sublime Text 2 - NMake Makefiles
                                   = Generates Sublime Text 2 project files.
      Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
      Sublime Text 2 - Unix Makefiles
                                   = Generates Sublime Text 2 project files.
    
    Building 64-bit Debug
    Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET Framework
    Copyright (C) Microsoft Corporation. All rights reserved.
    
    MSBUILD : error MSB1009: Project file does not exist.
    Switch: ALL_BUILD.vcxproj
    
    64-bit Debug build failed!
    
    1. The instructions don't provide guidance on the environment variables to set:
    cmake .. -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_INSTALL_PREFIX="$(pwd)/install/Debug" -DCMAKE_BUILD_TYPE=Debug
    -- Building for: Visual Studio 16 2019
    CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.28.29910.0
    -- The CXX compiler identification is MSVC 19.28.29910.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: c:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: c:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found PythonInterp: C:/Program Files/WindowsApps/PythonSoftwareFoundation.Python.3.9_3.9.1264.0_x64__qbz5n2kfra8p0/python3.9.exe (found suitable version "3.9.4", minimum required is "3")
    -- Selected Windows build type: Debug
    -- Selected Windows build binary arch: wddm2_amd64_debug
    -- VULKAN_VIDEO_APIS_INCLUDE path is not set. Setting the default path location to D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/include
    -- LIBNVPARSER_BINARY_ROOT is at D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/bin/libs/nv_vkvideo_parser/wddm2_amd64_debug
    -- VULKAN_VIDEO_PARSER_INCLUDE path is not set. Setting the default path location to D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/include/nv_vkvideo_parser
    -- Trying to find Vulkan Video Parser library at D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/bin/libs/nv_vkvideo_parser/wddm2_amd64_debug
    -- Vulkan Video Parser Lib: D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/bin/libs/nv_vkvideo_parser/wddm2_amd64_debug/nvidia-vkvideo-parser.lib
    -- FFMPEG lib location D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/bin/libs/ffmpeg/win64/lib
    -- FFMPEG include location D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/bin/libs/ffmpeg/win64/include
    -- The location of the Vulkan Video driver source:  - encoder test app will not be built
    -- AVCODEC_LIB-NOTFOUND
    -- AVFORMAT_LIB-NOTFOUND
    -- AVUTIL_LIB-NOTFOUND
    -- TEGRA_TOP nor LINUX_DRIVER_BRANCH_TOP nor WINDOWS_DRIVER_BRANCH_TOP are set
    Found GLSLANG libraries: D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/external/shaderc/build/install/lib/shaderc_shared.lib;glslang;OGLCompiler;OSDependent;HLSL;SPIRV;SPVRemapper;SPIRV-Tools-opt;SPIRV-Tools
    -- Building demos with control flow guard
    -- Configuring done
    CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
    Please set them or make sure they are set and tested correctly in the CMake files:
    AVCODEC_LIB
        linked by target "vk-video-dec-test" in directory D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/demos/vk-video-dec
    AVFORMAT_LIB
        linked by target "vk-video-dec-test" in directory D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/demos/vk-video-dec
    AVUTIL_LIB
        linked by target "vk-video-dec-test" in directory D:/Personal/~~~~PRIVATE~~~~/ProjVulkanVideoSamples/vk_video_decoder/demos/vk-video-dec
    
    -- Generating done
    CMake Generate step failed.  Build files cannot be regenerated correctly.
    
    opened by kyamant 9
  • VK_ERROR_INITIALIZATION_FAILED calling vkGetPhysicalDeviceVideoCapabilitiesKHR

    VK_ERROR_INITIALIZATION_FAILED calling vkGetPhysicalDeviceVideoCapabilitiesKHR

    Hello, running the sample I get unresolved external symbols (the functions related to the video api) Screenshot 2022-10-13 135038 Driver Info: driverinfo Lib dump: The functions doesn't seem to be present in the lib vulkandumplib.txt

    EDIT : I used the DispatchLoaderDynamic to load the function addresses, but I get this error : error

    I'm using the latest Vulkan SDK version.

    Is it related to the driver?

    opened by vtchek-unity 5
  • Remove black box dependency on nvidia-vkvideo-parser.dll

    Remove black box dependency on nvidia-vkvideo-parser.dll

    In order for this to serve as a useful example of how to use the vulkan video decoding APIs, I think it's most useful it it wouldn't include references to proprietary libraries. Since FFMPEG is already included as a dependency it might be more useful to use it to the parsing.

    opened by Jasper-Bekkers 4
  • YCbCr immutable sampler not working in HLSL via DXC.exe

    YCbCr immutable sampler not working in HLSL via DXC.exe

    Hi all, I just spent a bunch of time trying to figure out why the colours were wrong in my engine for videos, where they were working before. I fixed all the vulkan validation errors and followed the specs for YCbCr conversion via immutable sampler being set during descriptor set layout / bindings instead of setting it during update, but still no luck.

    It turns out, using HLSL and DXC needs some new parameters to make it work, but I can't figure out what it is. I tried a bunch of options in the latest HLSL 2021 build of DXC.exe, and it still gives me the same thing (building to vulkan 1.2 spirv, either to a header or to spv files and loaded from disc).

    My old GLSL code using glslLandValidator works though, which is what this sample uses (or rather, builds the shaders live via shaderc).

    Is there a way to get the ycbcr sampler to work properly using HLSL -> DXC -> SPIRV workflow?

    image

    opened by BattleAxeVR 2
  • CmdBeginVideoCodingKHR should be passed all reference slots to be used

    CmdBeginVideoCodingKHR should be passed all reference slots to be used

    The spec says: for CmdBeginVideoCodingKHR

    pReferenceSlots is a pointer to an array of VkVideoReferenceSlotKHR structures specifying reference slots, used within the video command context between this vkCmdBeginVideoCodingKHR command and the vkCmdEndVideoCodingKHR commmand that
    follows. Each reference slot provides a slot index and the VkVideoPictureResourceKHR
    specifying the reference picture resource bound to this slot index. A slot index must not appear
    more than once in pReferenceSlots in a given command.
    

    For CmdVideoDecodeKHR:

    pSetupReferenceSlot is a pointer to a VkVideoReferenceSlotKHR structure used for generating a
    reconstructed reference slot and Picture Resource. pSetupReferenceSlot->slotIndex specifies the
    slot index number to use as a target for producing the Reconstructed (DPB) data.
    pSetupReferenceSlot must be one of the entries provided in VkVideoBeginCodingInfoKHR via
    the pReferenceSlots within the vkCmdBeginVideoCodingKHR command that established the
    Vulkan Video Encode Context for this command.
    

    This to me reads that the Begin coding should contain all the slot indexes for used references and generated references.

    opened by airlied 2
  • decoder should respect more vulkan capability limits

    decoder should respect more vulkan capability limits

    It looks like the player reads the VkVideoCapabilitiesKHR struct, but doesn't seem to use them anywhere.

    I think it should probably be making sure alignments for bs and video picture granularity are properly support.

    opened by airlied 2
  • Please document commandline args to vk-video-dec-test

    Please document commandline args to vk-video-dec-test

    Right now when you don't specify any arguments into the program it just lits a few vulkan extensions and terminates. It would be helpful to list which commandline arguments are required to correctly invoke the program.

    opened by Jasper-Bekkers 2
  • HDR swapchain format / colorspace not working

    HDR swapchain format / colorspace not working

    Hello. I have HDR videos recorded via Shadowplay to display on my HDR monitor. In Shell.cpp when I query the available swapchain formats / colorspaces with

        uint32_t chosenFormat;
    
        for (chosenFormat = 0; chosenFormat < formatCount; chosenFormat++) {
            std::cout << "format = " << formats[chosenFormat].format << std::endl;
            std::cout << "colorspace = " << formats[chosenFormat].colorSpace << std::endl;
        }
    

    and choose an appropriate combination that is available, say

        swapchain_info.imageFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
        swapchain_info.imageColorSpace = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT ;
    

    After setting the same format in VulkanVideoUtils.cpp for the ImageObject / Framebuffer / and RenderPass I can only get a Low Dynamic Range results with incorrect colors ...LDR is not what I am going for.

        swapchain_info.imageFormat = VK_FORMAT_B8G8R8A8_UNORM;
        swapchain_info.imageColorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
    

    Can this Decoder sample support HDR video in mp4 h265 recorded from shadowplay? What I see when playing directly from a player like VLC or MPV is a 1:1 of the HDR gameplay footage I just recorded, but with this Decoder I am way off and LDR. I am using the BETA driver 473.50 on windows 11

    opened by simileV 1
  • Build failure with

    Build failure with "Error: Unsupported option --v-lvl-root" on macos

    Build failure with "Error: Unsupported option --v-lvl-root" on macos because "vk_video_decoder/external/MoltenVK/fetchDependencies" doesn't have "--v-lvl-root" option.

    opened by ilongshan 1
  • The NVIDIA parser does not provide the right value for StdVideoH264LevelIdc

    The NVIDIA parser does not provide the right value for StdVideoH264LevelIdc

    NVIDIA parser reports in StdVideoH264LevelIdc the extracted value from the bytestream, not the mapped data according the specification.

    See https://github.com/Igalia/GstVkVideoParser/pull/33#issuecomment-1348420461

    opened by dabrain34 3
  • VulkanVideoParser: Fix maxActiveReferencePictures validation error

    VulkanVideoParser: Fix maxActiveReferencePictures validation error

    According to https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkVideoSessionCreateInfoKHR-maxActiveReferencePictures-04849

    the maxActiveReferencePictures should not exceed 16

    opened by dabrain34 3
  • Remove FFMPEG dependency and use  GStreamer instead

    Remove FFMPEG dependency and use GStreamer instead

    I'm planning to add GStreamer capabilities to replace the FFMpeg parser in https://github.com/nvpro-samples/vk_video_samples/blob/de54a1df626828c47e265c65d6676a3f083809a1/vk_video_decoder/demos/vk-video-dec/AppDecVulkanFrame/VulkanVideoProcessor.cpp#L49

    Do you prefer an option and keep FFMpeg or just like drop FFMpeg for real ?

    opened by dabrain34 3
  • vk_video_decoder: use external GStreamer vulkan video parser

    vk_video_decoder: use external GStreamer vulkan video parser

    Use the external project GstVkVideoParser to parse and create vulkan structures using GStreamer

    This parser is able to provide H264 and H265 content and can be used as an alternative to libnvidia-vkvideo-parser.so

    opened by dabrain34 2
  •  what():  failed to find any capable Vulkan physical device

    what(): failed to find any capable Vulkan physical device

    When I compile and try to run the test. the GPU is not detected (RTX 3070, cuda 11.4, vulkan version: 1.2.131.2-1)

    ./vk-video-dec-test -i /home/burak/Downloads/Remote_Cat_2021_ETH_Version.mp4 Enumerating instance layers: VK_LAYER_KHRONOS_validation VK_LAYER_LUNARG_standard_validation Looking for instance layers: Enumerating instance extensions: VK_KHR_device_group_creation VK_KHR_display VK_KHR_external_fence_capabilities VK_KHR_external_memory_capabilities VK_KHR_external_semaphore_capabilities VK_KHR_get_display_properties2 VK_KHR_get_physical_device_properties2 VK_KHR_get_surface_capabilities2 VK_KHR_surface VK_KHR_surface_protected_capabilities VK_KHR_xcb_surface VK_KHR_xlib_surface VK_EXT_acquire_xlib_display VK_EXT_debug_report VK_EXT_debug_utils VK_EXT_direct_mode_display VK_EXT_display_surface_counter Looking for instance extensions: VK_KHR_surface VK_KHR_xcb_surface terminate called after throwing an instance of 'std::runtime_error' what(): failed to find any capable Vulkan physical device Aborted (core dumped)

    opened by bcizmeci 3
Owner
NVIDIA DesignWorks Samples
NVIDIA DesignWorks Samples
Open Source H.264 Codec

OpenH264 OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC. See

Cisco Systems 4.8k Jan 1, 2023
🤟Super fast H.264/H.265 FLV player

??Super fast H.264/H.265 FLV player

Eros Zhao 1.2k Jan 7, 2023
theora-player is an embeddable theora video player C++ library based on the libtheora sample. It has no audio support at this moment.

theora-player Description theora-player is an embeddable theora video player C++ library based on the libtheora sample. It has no audio support at thi

Fire Falcom 2 Jun 18, 2022
Vireo is a lightweight and versatile video processing library written in C++11

Overview Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems an

Twitter 875 Jan 2, 2023
yangwebrtc is a self-developed rtc architecture supporting Webrtc/Srt/Rtmp, including a variety of video and audio codecs and processing, etc.

YangWebrtc Overview yangwebrtc是一个自主研发的支持Webrtc/Srt/Rtmp的rtc架构,包含多种视音频编解码和处理等。 支持视频会议、高清录播直播、直播互动等多种视音频应用。 可用于远程教育、远程医疗、指挥调度、安防监控、影视录播、协同办公、直播互动等多种行业应用

null 331 Dec 27, 2022
DTV is a library that provides a simple interface for generating video files from a C++ application

Direct to Video (DTV) What does DTV do? DTV is a library that provides a simple interface for generating video files from a C++ application. It uses F

Ange Yaghi 133 Dec 30, 2022
Video stabilization is a software-based approach in real-time to eliminating environmental effects (wind, heavy vehicle etc.) and enhance the visual performance that degrade video streaming quality.

Video Stabilization Contents General Info Installation To Do General Info Video stabilization is a software-based approach in real-time to eliminating

null 7 Nov 23, 2022
Minimalist video maker -- simplify your music score video making process!

VisualScores 极简视频制作程序,简化你的乐谱视频制作! 如果需要编译,请解压 lib 文件夹中压缩包。 使用前请参考 manual 文件夹中的用户手册。 请勿修改、移动或删除 resource 文件夹中的任何文件。 VisualScores Minimalist video maker

Chen and Sim 7 Sep 7, 2022
OpenShot Video Library (libopenshot) is a free, open-source C++ library dedicated to delivering high quality video editing, animation, and playback solutions to the world

OpenShot Video Library (libopenshot) is a free, open-source C++ library dedicated to delivering high quality video editing, animation, and playback solutions to the world

OpenShot Studios, LLC 936 Jan 4, 2023
Sample Project that I'm trying to build on YouTube (Live)

GTK-Project Sample Project that I'm trying to build on YouTube (Live) Streams discussing this: S.No. Date Title Limk 1 30/08/2021 Code Along: Building

null 4 Mar 18, 2022
bres , sample Implementaion of Virtual MCU.

bres bres , sample Implementaion of Virtual MCU. Virtual MCU Receive multi-channel video(VP8),audio(opus) data from SFU. Chroma key compositing(edits)

XFLAG Studio 5 Dec 15, 2022
C++ library for programming the VideoCore GPU on all Raspberry Pi's.

V3DLib is a C++ library for creating programs to run on the VideoCore GPU's of all versions of the Raspberry Pi.

null 51 Dec 8, 2022
Open h.265 video codec implementation.

libde265 - open h.265 codec implementation libde265 is an open source implementation of the h.265 video codec. It is written from scratch and has a pl

struktur AG 1.4k Dec 30, 2022
Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive Team 6.7k Dec 31, 2022
Video player for 3ds

Video player for 3DS Patch note v1.0.1 Added allow skip frames option v1.0.0 Initial release Summary Video player for 3DS Performance 256x144(144p)@30

Core 2 Extreme 130 Jan 6, 2023
Plugin for VLC that pauses/plays video on mouse click

Pause Click plugin for VLC VLC plugin that allows you to pause/play a video by clicking on the video image. Can be configured to work nicely with doub

null 675 Dec 25, 2022
A WFH utility to visually indicate user engagement of audio and video

DIY: In meeting indicator - WFH Utility The need for in meeting indicator at home So many of you have gotten accustomed to work from home by now. This

krishna kumar T 10 Jun 28, 2021
Real-Time Intermediate Flow Estimation for Video Frame Interpolation filter for VapourSynth

Description RIFE filter for VapourSynth, based on rife-ncnn-vulkan. Usage rife.RIFE(clip clip[, int model=0, int gpu_id=auto, int gpu_thread=2, bint t

Home Of VapourSynth Evolution 78 Dec 24, 2022
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

ossrs 20.4k Jan 5, 2023