
MRV2是VFX,动画和计算机图形的开源专业播放器和评论工具。

内容:
如果您正在寻找Windows,Linux或MacOS的预构建二进制文件,则可以在以下方式找到:
github
或在其镜像站点:
SourceForge
Source Forge网站还托管Beta Builds(每晚构建以最新的更改):
SourceForge beta
MRV2二进制文件在Windows 8.1+,Redhat 8.9+或Ubuntu 20.04+和MacOS 11.0+上运行。
在MacOS上,您可以通过打开.dmg文件并将MRV2图标拖动到应用程序目录来安装它。如果已经有MRV2版本,我们建议您覆盖它。 MACOS应用程序当前尚未公告,因此,当您启动它时,您将无法运行它,因为MacOS会警告您该文件从Internet下载时不安全。为了避免这种情况,您需要打开查找器,转到应用程序目录,ctrl +左鼠标单击MRV2应用程序。这将引起相同的警告,但是这次它将具有一个按钮,可以让您打开它。您只需要一次。
Windows和Chrome(例如MacOS)也可以保护您免于从Internet安装文件。当您第一次使用Chrome下载时,可能会警告您,它不是下载的通常存档。确保单击右上方箭头菜单以保存它。您不能直接从Chrome打开.exe。您将需要打开Windows Explorer并转到下载目录。然后,您应该从那里运行它。然后,Windows将弹出一个蓝色的框,告诉您Windows SmartScreen阻止了未知的放置的开始,并且您可以将PC置于危险之中。单击更多的信息文本和一个表示运行或类似的按钮。单击它,然后按照Windows安装程序遵循标准说明。
在Linux上,为了安装.rpm或.deb软件包,您的用户需要使用sudo权限。
在Debian(Ubuntu等)系统上,您将安装以下方式:
sudo dpkg -i mrv2-v1.0.0-Linux-amd64.tar.gz
在红色帽子(Rocky Linux等)上,您将其安装:
sudo rpm -i mrv2-v1.0.0-Linux-amd64.tar.gz
安装它后,您可以通过在外壳中键入MRV2来运行MRV2,因为将可执行文件的符号链接放入 /usr /bin中。安装程序还将关联文件扩展名,并安装一个图标,以便于在安装它的用户的桌面图标中启动。对于使用图标运行MRV2,您需要选择它并使用正确的鼠标按钮打开菜单,然后选择“允许启动”。
如果您在组织中缺乏Sudo许可,则应下载.tar.gz文件,并且可以用以下方式取消压缩:
tar -xf mrv2-v1.0.0-Linux-amd64.tar.gz
这将在您的目录中创建一个文件夹。然后,您可以在bin/ subdirectory中使用MRV2.SH Shell脚本运行MRV2。
源代码写在C ++ 20中,并将CMAKE用于构建系统,其中一些BASH脚本用于辅助任务。
播放引擎的核心是Tlrender的自定义版本(www.github.com/darbyjohnston/tlrender.git)。
目前支持:
#
# Repositories
#
sudo dnf -y install dnf-plugins-core
sudo dnf -y install epel-release
sudo dnf config-manager --set-enabled powertools
#
# Update dnf database
#
sudo dnf makecache --refresh
#
# Install bundles
#
sudo dnf -y groupinstall "Development Tools"
sudo dnf -y install perl perl-CPAN
# Install IPC::Cmd non-interactively
sudo cpan App::cpanminus && cpanm --notest IPC::Cmd
#
# Install dependencies
#
sudo dnf -y install git wget curl cmake pango-devel gettext ninja-build
libglvnd-devel alsa-lib-devel pulseaudio-libs-devel
libXScrnSaver-devel dpkg
autoconf wayland-devel wayland-protocols-devel cairo-devel
libxkbcommon-devel dbus-devel mesa-libGLU-devel gtk3-devel
libffi-devel openssl-devel tk-devel tcl-devel libXt-devel
subversion swig
#
# Update apt database
#
sudo apt update
#
# Install dependencies
#
sudo apt -y install curl build-essential perl git cmake ninja-build
libpango1.0-dev
xorg-dev libx11-dev libxcursor-dev libxinerama-dev
libxss-dev gettext libasound2-dev
libpulse-dev libssl-dev libffi-dev
libwayland-dev wayland-protocols libdbus-1-dev
libxkbcommon-dev libegl-dev libgtk-3-dev rpm
doxygen tk-dev libxt-dev swig subversion
# Install cpanminus and IPC::Cmd non-interactively
sudo cpan App::cpanminus && cpanm --notest IPC::Cmd
#
# Install
#
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#
# Install development tools
#
xcode-select --install
#
# Install dependencies
#
brew install git gnu-sed swig subversion python cmake ninja gettext openssl readline sqlite3 xz zlib
通过CMake Superbuild脚本自动下载并自动构建其他依赖项。有关MRV2依赖的非系统库及其许可的列表,请参阅SRC/DOCS/LEAGAL。
唯一的特殊要求是安装新的CMAKE副本,而不是使用MSVC19发货的副本。如果构建NSIS安装程序,则需要将MRV2的根部放置在少于20个字符的路径中,例如:
/D/code/applications
克隆存储库:
cd some_dir
#
# Clone the latest cutting-edge build (might be unstable).
#
git clone https://github.com/ggarra13/mrv2.git
cd mrv2
./runme.sh
脚本是一个超级建筑脚本,将下载所有需要的依赖项。它将创建一个构建和一个:
BUILD-KERNEL-ARCH/BUILDTYPE/install
所有文件都居住的目录。
确保您满足平台的基本依赖关系。参见依赖关系。
runme.sh sript将将其进度输出到终端,也将其保存在:
BUILD-KERNEL-ARCH/BUILDTYPE/compile.log.
默认值是在所有操作系统中使用所有内核构建。目前,所有设置的构建大约需要16个核心。
如果您想要或多或少地将其他数字传递给任何runme*.sh脚本。例如,要使用4个核心构建,您可以做:
./runme.sh -j 4
稍后,如果您只想快速构建MRV2(runme Quick Mnemonic)而又没有贯穿所有依赖项,请运行:
./runmeq.sh
后来,仅构建fltk,tlrender和mrv2(runme三个mnemonic),运行;
./runmet.sh
另外,在bin/目录中查看其他runme.sh脚本,该脚本会编译更快的MRV2版本,而无需诸如USD,Python或网络之类的功能。
所有runme.sh脚本都支持两个附加参数。对于调试构建,您会做:
./runme.sh debug
要清理目录,请运行8个内核的调试构建,运行:
./runme.sh clean debug -j 8
对于Windows,除了Visual Studio外,您还需要新的新鲜的MSYS副本。分布中包含一个.bat文件(在helpers/windows/bat中),需要将其修改为Visual Studio的路径(默认情况下为2019年),可选的Windows SDK(默认情况下)和您的MSYS副本。您首先运行.bat文件,该文件将设置Visual Studio路径并启动MSYS控制台。从那时起,所有描述的命令将在MSYS控制台中运行。
FFMPEG和LIBLCMS2现在作为飞行前CMAKE构建的一部分进行编译。 Libssh和libcrypto是从MSYS64存储库以及构建FFMPEG以及SWIG和颠覆的。
libintl和libiconv库从MSYS64存储库中获取,作为bin/install_libintl_window.sh脚本(runme.sh的一部分)的前飞行检查。
主runme.sh脚本支持将cmake标志传递给它,并允许打开或关闭MRV2的某些选项。您必须像以下方式一样传递它们:
-d tlrender_usd = off
启动runme.sh脚本时列出了标志。如果您想对标志永久更改,则应在runme_nolog.sh中更改它们,或创建一个调用runme.sh的包装脚本。
如果将-gpl或-lpgl传递到runme.sh脚本,则如下:
./runme.sh -gpl
构建系统将在所有平台上以GPL或LGPL的形式编译FFMPEG。默认值是构建ffmpeg的LGPL版本,因为该版本符合BSD二进制分销许可。但是,LGPL版本的FFMPEG并不是Libx264,这意味着您无法使用Windows和Linux上的H264编解码器保存电影文件。它还不支持使用alpha的GoPro Cineform文件。
FFMPEG的GPL版本没有这种限制,它将在所有平台上编译Libx264,并使用Alpha进行GoPro Cineform。
如果您的$ home(即〜/bin)中有一个bin目录,则构建脚本将在那里创建一个符号链接。因此,您应该在.bashrc或.zshrc中的路径中添加〜/bin。
假设您符合已经创建的〜/bin目录的MRV2,那么要启动MRV2,然后您会这样做:
export PATH=~/bin:$PATH # no need if you add this line to your .bashrc
mrv2
并运行调试构建。
export PATH=~/bin:$PATH # no need if you add this line to your .bashrc
mrv2-dbg
如果您在主目录中编译了没有bin目录的MRV2,则可以使用MRV2.SH脚本从构建目录启动它,例如:
BUILD-Linux-amd64/Release/install/bin/mrv2.sh
请注意,MRV2的二进制Linux分布可能会与Ubuntu等现代发行版(如Ubuntu 22.04.4 LTS)陷入某种Wayland不相容性,从而导致一些无害的警告。
在Windows上,我们无法创建符号链接,因此在MSYS中,您需要键入整个安装路径。也就是说:
BUILD-Msys-amd64/Release/install/bin/mrv2.exe
如果您想工作命令行,则应将整个路径添加到MRV2.EXE中。在MSYS中,您可以将其添加到.bashrc中,如MacOS和Linux上所示。
对于cmd.exe或powershell,在Windows任务栏上,右键单击Windows图标并选择系统。在“设置”窗口中,在相关设置下,单击高级系统设置。在“高级”选项卡上,单击环境变量。找到路径环境变量,然后将完整的路径添加到MRV2.EXE。
对于使用GUI,完成构建后,您应该这样做:
cd BUILD-Msys-amd64/Release/install/bin/ # or similar
explorer .
在将打开的资源管理器目录中,您应该使用RMB的MRV2.EXE创建一个快捷方式。完成此操作后,您可以将快捷方式拖到桌面上,以便方便它。请注意,如果您不开发MRV2,则应继续打包。
除了包括基本的API文档外,YouTube.com上还有一个特殊的频道,您可以在其中找到一些有关其基本用途的教程:
视频教程
当前,该文档是从翻译自动生成的。为此,您必须运行:
./runmeq.sh -t doc
MRV2可以支持多种自然语言翻译。目前,支持了中文,英语,法语,德语,印地语,意大利语,葡萄牙语,俄语和西班牙语。所使用的翻译系统是GetText,因此需要熟悉(尽管不是必需的)。这些翻译位于SRC/PO中,并遵循国际化语言代码文件,例如ES.PO(用于西班牙语)或de.po(用于德语)。
首先,您应该创建一个分支来提交拉动请求。
有github文档,例如https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-changes-to-your-work-with-with-with-pull-requests/creating-a-pull-a-pull-request-a-pull-request
简而言之:
要为新语言创建这样的文件,请打开文件cmake/translations.cmake,并在此行中添加语言国际代码:
set( LANGUAGES es ) # add a new language code inside the parenthesis, like "de".
然后,运行:
./runmeq.sh -t po
如果该语言还没有.po文件,则将为您运行GetText的MSGINIT命令。作为过程的一部分,可能会要求您提供电子邮件地址。
转到mrv2/po/{lang} .po,其中lang是您添加的语言。
并编辑文本。确保将Charset更改为UTF-8。
请注意,您应该使用可以用Unicode(UTF-8)编写的编辑器来编写非偶然语言。
您需要编辑“ MSGSTR”字符串,然后将“ MSGID”视作参考。如果评论具有“模糊”字符串,则意味着GetText尝试猜测翻译,但不会使用它。删除模糊的预选赛,然后更改“ MSGSTR”字符串。请注意,如果“ MSGID”具有新线,则需要匹配它们。有关更多信息,请参阅GetText手册。
准备好测试翻译后,运行:
./runmeq.sh -t mo
这将为您的语言创建.mo文件。
要测试翻译,您可以运行:
./runmeq.sh -t install
或仅:
./runmeq.sh
这将使.mo文件放在:$ build- $ os- $ aCR/$ build_type/install/install/share/locale目录中。
如果作为代码更改的一部分,添加或删除字符串,则可能需要在一段时间后重新生成.pot文件,然后致电-t mo。这样做:
./runmeq.sh -t pot
请注意,此更改是戏剧性的,因为您对代码更改的提交将与所有.pot/.po注释一起弄脏,从而阻止github.com上的清洁PR(拉请求)。
有一个AI脚本使用Transformers Python库进行AI翻译:
bin/po/po_translate.sh
它通过向其发送一种语言来起作用,例如:
bin/po/po_translate.sh all # for all languages supported by the script.
bin/po/po_translate.sh zh-CN # for Chinese Simplified
在github上创建拉动请求:
然后,为您的主要翻译创建一个新的.po文件。例如:
cp mrv2/po/en.po mrv2/po/it.po # For Italian
然后添加新语言的文件,打开文件cmake/translations.cmake,然后在此行中添加语言国际代码:
set( LANGUAGES en es it ) # add a new language code inside the parenthesis, like "it".
手动翻译该新的.po文件,然后执行:
git add mrv2/po/it.po
git commit
git push
提交带有该新文件的GitHub PR。 MRV2开发人员将稍后尝试合并您的更改。
在Windows上,除了MRV2的文本外,您还需要翻译NSIS .EXE Installer的文本。
您可以通过编辑cmake/nsis/mrv2_translations.nsh文件来做到这一点。只需按照该文件中的示例。
构建MRV2并测试它运行后,您可能需要创建一个用于分发的软件包。在MacOS上,这是一个.dmg文件。在Linux上是RPM,DEB或TGZ文件。在Windows上,它是ZIP或NSIS EXE安装程序。
为此,从MRV2的主要DIR中,您必须这样做:
./runmeq.sh -t package
对于所有架构,安装程序将存储在:
packages/
那是MRV2的根目录。
如果您想成为开发人员,请首先熟悉构建过程。然后将存储库克隆到您的GitHub帐户并发送PR。如果您成为狂热的开发人员,则可以请求访问主要存储库。
您将要提交存储库所需的另一件事情是:
clang-format
这是LLVM项目的一部分,您可以从通常的存储库(APT,Brew等)或以下方式下载它:
LLVM主下载页面
该实用程序在提交之前验证所有C ++格式遵循MRV2中使用的标准。
您可能还想获得doxygen,以便在文档/doxygen中获取源代码文档。