【开源项目】WPF 扩展 -- 多画面视频渲染组件

目录

1、项目介绍

2、组件集成

[2.1 下载地址](#2.1 下载地址)

[2.2 添加依赖](#2.2 添加依赖)

3、使用示例

[3.1 启动动画](#3.1 启动动画)

[3.2 视频渲染](#3.2 视频渲染)

[3.3 效果展示](#3.3 效果展示)

4、项目地址


1、项目介绍

Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发,当前是第一个发布版本 1.0.0,包含 启动动画 和 视频渲染 两大重要功能。视频渲染支持平铺模式和画廊模式,支持多画面异步渲染,能有效发挥硬件性能,集成快捷使用方便。免费版仅支持1个画面渲染,多画面渲染诉求,请与作者联系以供技术支持。

2、组件集成

2.1 下载地址

https://www.nuget.org/packages/Com.Gitusme.Net.Extensiones.Wpf

2.2 添加依赖

代码工程中,使用NuGet包管理器,搜索 Com.Gitusme.Net.Extensiones.Wpf 关键字,选择最新版本安装。

3、使用示例

3.1 启动动画

cs 复制代码
   protected override void OnStartup(StartupEventArgs e)
   {
       // 前提条件:需要删除XAML中的 StartupUri = "MainWindow.xaml"
       this.StartSplashScreen(
           $@"Resources\Images\SplashScreen.png",
          () => {
               // 在这里处理耗时任务或加载后台数据
               Thread.Sleep(3000);
          },
          () => {
               // 加载完成,后进入应用主界面
               MainWindow mainWindow = new MainWindow();
               App.Current.MainWindow = mainWindow;
               mainWindow.Show();
          },
          (ex) => {
               // 加载出错,向用户反馈或记录后台日志
               MessageBox.Show(ex.Message);
          });
   }

3.2 视频渲染

XAML 文件,添加代码:

cs 复制代码
    <Grid Background="Black">
        <!-- 平铺模式 -->
        <local:VideoContainer Name="videoContainer"
              Layout="Grid" Columns="2" Rows="2" />
        <!-- 画廊模式 -->
        <local:VideoContainer Name="videoContainer"
              Layout="Gallery" Dock="Left" GallerySize="300" />
    </Grid>

C# 代码文件,添加代码:

cs 复制代码
   // 创建VideoSource
   VideoSource video = new VideoSource();
   // 将VideoSource添加至VideoContainer容器
   videoContainer.Items = new List<VideoSource> { video };
   // 创建Task,更新VideoSource画面
   Task task = new Task((video) =>
   {
       video.Frame = new VideoFrame()
       {
           Data = bytes, // 视频帧数据
           Format = VideoFormat.RGB, // 指定视频格式(默认为YUV格式)
           Width = width, // 视频宽度
           Height = height // 视频高度
       };
   }, video);
   task.Start();

3.3 效果展示

平铺模式

画廊模式

4、项目地址

https://github.com/gitusme/Com.Gitusme.Net.Extensiones

相关推荐
ZENERGY-众壹18 小时前
30MW 渔光互补监控实录:高湿环境下视频与传感器集成的三个坑
音视频
wrq14719 小时前
MyAccess 完整使用手册
c#·orm框架
美丽的欣情20 小时前
RK3588 Debian 交叉编译环境搭建(Windows + VMware Debian + CMake)
运维·windows·debian
勤劳打代码21 小时前
Flutter 架构指南 —— windows 平台安装拆解
windows·架构
z落落1 天前
C# WinForm 自定义控件
开发语言·c#
美狐美颜SDK开放平台1 天前
直播APP开发教程:视频美颜SDK接入需要注意哪些问题?
人工智能·音视频·美颜sdk·第三方美颜sdk·短视频美颜sdk
Elastic 中国社区官方博客1 天前
从多模态 LLM 中引导构建音频嵌入
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·音视频
lzhdim1 天前
20260714 - 个人小作品更新
c#·notenet
qetfw1 天前
yt-dlp:下载公开视频、字幕、封面和音频的实用命令
python·音视频·开源项目·效率工具
美丽的欣情1 天前
C++音频开发:什么是50Hz、100Hz测试音?以及如何生成16bit/8000Hz的WAV测试文件
开发语言·c++·音视频