
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中獲取源代碼文檔。