NdiMedia 插件使用教程
1. 项目的目录结构及介绍
NdiMedia 插件的目录结构如下:
NdiMedia/
├── Docs/
│ └── Source/
├── Source/
│ └── NdiMedia/
├── .gitignore
├── LICENSE
├── NdiMedia.uplugin
├── README.md
Docs/
: 包含插件的文档源文件。Source/
: 包含插件的源代码。Source/NdiMedia/
: 插件的主要源代码目录。.gitignore
: Git 忽略文件。LICENSE
: 插件的许可证文件,采用 BSD-3-Clause 许可证。NdiMedia.uplugin
: 插件的描述文件。README.md
: 插件的介绍和使用说明。
2. 项目的启动文件介绍
NdiMedia 插件的启动文件主要是 NdiMedia.uplugin
。这个文件是一个 JSON 格式的文件,包含了插件的基本信息和配置。以下是该文件的部分内容:
{
"FileVersion": 3,
"Version": 1,
"VersionName": "1.0",
"FriendlyName": "NdiMedia",
"Description": "Media Framework plug-in for NewTek's Network Device Interface (NDI)",
"Category": "Media",
"CreatedBy": "Unreal Engine",
"CreatedByURL": "https://www.unrealengine.com",
"DocsURL": "",
"MarketplaceURL": "",
"SupportURL": "",
"CanContainContent": false,
"IsBetaVersion": false,
"Installed": false,
"Modules": [
{
"Name": "NdiMedia",
"Type": "Runtime",
"LoadingPhase": "Default",
"WhitelistPlatforms": [
"Win64",
"Mac",
"Linux"
]
}
]
}
3. 项目的配置文件介绍
NdiMedia 插件的配置文件主要是 NdiMedia.uplugin
和 NdiMedia.Build.cs
。
NdiMedia.uplugin
: 如上所述,包含了插件的基本信息和配置。NdiMedia.Build.cs
: 这是插件的构建配置文件,定义了插件的依赖项和编译选项。以下是该文件的部分内容:
using UnrealBuildTool;
using System.IO;
public class NdiMedia : ModuleRules
{
public NdiMedia(ReadOnlyTargetRules Target) : base(Target)
{
PrivateDependencyModuleNames.AddRange(
new string[] {
"Core",
"CoreUObject",
"Engine",
"Media",
"MediaAssets",
"NdiMediaFactory"
}
);
PublicIncludePaths.AddRange(
new string[] {
"NdiMedia/Public"
}
);
PrivateIncludePaths.AddRange(
new string[] {
"NdiMedia/Private"
}
);
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "ThirdParty", "NDI", "Lib", "Processing.NDI.Lib.x64.lib"));
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "ThirdParty", "NDI", "Lib", "libndi.dylib"));
}
}
}
这个文件定义了插件的模块依赖、包含路径和特定平台的库文件。