Giter Site home page Giter Site logo

invideo's Introduction

InVideo

工具介绍

1、基于 UE5 实现的 rtsp 的视频播放插件
2、基于 UE5 实现的运行时输出 mp4 文件

linux版本

另外我们还推出了基于vlc的linux版本,欢迎加入知识星球获取。
https://www.bilibili.com/video/BV1iigeekE9P/?vd_source=bf9a6525b21d0736244d8689fc0940f0

需要获取源码 加入知识星球,这个插件同时支持linux和windows播放
https://t.zsxq.com/IXemd

另外知识星球还有海量博主的技术笔记

使用示例

1、视频播放示例

参考插件工程 InVideo/Content/NewWorld.umap

播放效果如下:
demo

使用方法

新建一个蓝图 widget 继承自 InVideoWgidget,并新建一个 Image 对象,重新命名为 ImageVideo。
即可进行调用,可以参考 videoUmg 组件。

打开视频方法
startplay

关闭视频方法
stopplay

2、运行时输出 mp4

第一步设置默认 viewportclient
viewportclient 开始录像示例
outputmp4

更新记录

1、2023-05-23 解决了在 5.2 版本崩溃的 bug
2、2023-06-11 重大更新,实现视频打开和关闭全异步化,不会再阻塞蓝图线程
3、2024-03-13 修改一个偶发的崩溃bug,在关闭的时候,视频内存被释放,但是渲染队列还在等待渲染的时候触发

invideo's People

Contributors

g0415shenw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

invideo's Issues

5.2下编译报错

[1/1] Compile [x64] Module.InVideo.cpp
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(30): error C2653: 'FPaths': is not a class or namespace name
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(30): error C3861: 'ValidatePath': identifier not found
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(35): error C2653: 'FPaths': is not a class or namespace name
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(35): error C3861: 'GetPath': identifier not found
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(36): error C2653: 'FPaths': is not a class or namespace name
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(36): error C3861: 'DirectoryExists': identifier not found
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(39): error C2653: 'FPlatformFileManager': is not a class or namespace name
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(39): error C3861: 'Get': identifier not found
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(99): error C2027: use of undefined type 'FRunnableThread'
D:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Windows\WindowsPlatformProcess.h(10): note: see declaration of 'FRunnableThread'
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(100): error C4150: deletion of pointer to incomplete type 'FRunnableThread'; no destructor called
D:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Windows\WindowsPlatformProcess.h(10): note: see declaration of 'FRunnableThread'
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(151): error C2027: use of undefined type 'FRunnableThread'
D:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Windows\WindowsPlatformProcess.h(10): note: see declaration of 'FRunnableThread'
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InSceneRecord.cpp(151): error C3861: 'Create': identifier not found
D:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Core.h(6): warning: Monolithic headers should not be used by this module. Please change it to explicitly include the headers it needs.
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InVideoWidget.cpp(266): error C2065: 'UpdateTextureRegionsData': undeclared identifier
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InVideoWidget.cpp(266): error C3861: 'ENQUEUE_RENDER_COMMAND': identifier not found
C:\Users\shaok\Desktop\InVideo2\HostProject\Plugins\InVideo\Source\InVideo\Private\InVideoWidget.cpp(266): error C2065: 'ENQUEUE_RENDER_COMMAND': undeclared identifier

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.