macOS下的ffmpeg批处理脚本命令

首先夸奖ffmpeg程序是真的棒.通过命令行可以轻松转换音视频格式,对于多个文件批量转换略繁琐,所以写了该批处理脚本命令,并push在github仓库(https://github.com/huaikitty/ffmpegBatchConvert.git).

也可从此下载command文件:

ffmpegBatchConvert 批量转换脚本命令

  • 用于在macOS系统下调用ffmpeg工具批量转换音视频文件.
  • 如批量将某目录下所有avi文件转为mp4格式.
  • 如批量将某目录下所有flac文件转为mp3格式.
继续阅读

UE4人称控制器中相机俯仰角限定方法

在UE编辑器中,要给预设的人称控制器模板(ThirdPersonCharacter或FirstPersonCharacter)加相机俯仰角(Pitch)的限定是比较容易的.模板中使用了AddControllerPitchInput 节点来操纵控制器相机的俯仰角.我们不需要在此做判断限制俯仰角.

我们可以使用SetViewPitchMax和SetViewPitchMin这两个节点来设定相机俯仰角的最大值和最小值,它们归属于PlayerCameraManager,如下图在BeginPlay时设置俯仰角即可实现俯仰角的限定.

默认情况下俯仰角的最大值为89.9度和最小值为-89.9度.

在PlayerCameraManager中还有两个比较省时省力的节点,其中StartCameraFade节点可以用来做画面的淡入淡出效果.StartCameraShake节点可以用来做相机的颤动效果.简单易用.

今天就写到这里,回见!

UE4.27的PixelStreaming像素流送的分流

本地网络中配置UE的像素流送还是挺简单的,基本上勾选启用PixelStreaming插件编译出可执行程序后简单配置即可成功,这里对于基本配置不再赘述.

由于硬件性能的限制,在一台主机上跑满足访问的多个可执行程序实例是不现实的,加上Nvidia显卡对硬编码的限制,默认情况下在GeForce显卡上同时只能进行3个像素流送实例的编码.要满足多人访问不同的实例就要对像素流送进行分流,即根据客户端访问动态的分配空闲的主机和程序实例给客户访问.

上面提到的硬编码全程是Hardware-Accelerated Video Encoding,缩写为NVENC.
Nvidia官网对NVENC的说明:https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
不同显卡型号同时支持编码会话数量的矩阵表:https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new#Encoder

下面以在一台主机配置出能满足3个用户同时访问独立内容像素流送进行说明

继续阅读

UE4.26的PixelStreaming像素流送崩溃问题

UE4的PixelStreaming的内网测试环境搭建还是比较简单的,按照虚幻官方文档一步步操作即可(https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/PixelStreaming/PixelStreamingIntro/).

搭建好之后,在使用较新的浏览器浏览,可以连接,点击Start后可能会出现类似”Player 101 not found”的崩溃错误.

Assertion failed: Player [File:D:/Build/++UE4/Sync/Engine/Plugins/Media/PixelStreaming/Source/PixelStreaming/Private/Streamer.cpp] [Line: 173]
player 101 not found

继续阅读

解决UE4编译项目后提示插件缺失问题

正在开发一个测试项目,没有使用C++,纯蓝图编写,使用了iTween插件,编辑器内运行没有问题,编译发布为可执行程序也能正常编译完成,但是运行可执行程序就会提示某某插件没有找到的提示(Plugin ‘iTween’ failed to load because module ‘iTween’ could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.).

而插件也确认在项目的Plugin目录下,为什么就提示找不到呢,经过搜寻才找到解决办法,即创建一个C++类,不用给这个类写任何代码,再次编译即可解决这个问题.

继续阅读

Flutter应用提交AppStore构建问题解决

上篇文已经成功将flutter运行在了iOS设备上,要提交AppStore,需要在Xcode中编译构建archive文件,而构建之前,需要使用终端在项目目录下执行 flutter build ios 命令后再构建archive文件,这时候可能会遇到2个问题(GeneratedPluginRegistrant Module ‘connectivity’ not found和error: The linked framework ‘Pods_Runner.framework’ is missing one or more
architectures required by this target: armv7. (in target ‘Runner’ from project
‘Runner’),如需要详细看到flutter build 等命令执行log,可以加-v参数,即 flutter -v build ios.

继续阅读

macOS上搭建Flutter环境并编译到iOS

需要测试一个基于Flutter编写的项目,于是走上了搭建Flutter环境之旅,虽然不难,但是首次搭建还是挺繁琐的.因为某些原因,我们访问Flutter会有些网络麻烦,可以把Flutter的镜像更新为中国开发者专用的,打开终端输入如下命令:

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

去官网下载一份Flutter最新的SDK包:https://flutter.dev/docs/development/tools/sdk/releases#macos

解压到一个固定目录,比如 ~/development 下,注:~代表当前登录用户文件夹.解压后完整目录如 ~/development/flutter.

继续阅读