This program generates video and audio based on an arbitrary computer file (resulting in what's sometimes known as a binary waterfall), but in the process, it also includes a detailed walktrough of the fragments, chunks or subfiles that the target file may have.
Warning
This program is still in development. Some code is still untested, and errors are expected to happen when running this software.
- Required
- .NET 9 SDK
- It hasn't been tested with older versions but it is probably compatible with them. You can try lower the version manually in the
csproj
file.
- It hasn't been tested with older versions but it is probably compatible with them. You can try lower the version manually in the
- .NET 9 SDK
- Optional
- FFmpeg libraries (for the FFmpeg exporter)
- In Windows 10/11, use the following command to install FFmpeg:
Once installed, restart the command line and make sure the
winget install "FFmpeg (Shared)"
PATH
environment variable is updated with the FFmpeg libraries path. - Alternatively, you can manually download the libraries at CODEX FFMPEG (make sure to download the “shared” variant).
Once downloaded, move the DLLs to a known path (e.g.
C:\ffmpeg
).
- In Windows 10/11, use the following command to install FFmpeg:
- Unifont
- Some Linux distros have the option to install this font via their respective package manager, but in Windows a manual download is required.
- Make sure to install both the default font and the “upper” variant for emoticons.
- Make sure to install the OTF format instead of TTF. There's a known issue with this format that crashes the text rendering library.
wimlib
for WIM file listings.minidump
Python module for Windows Minidump memory region parsing.
- FFmpeg libraries (for the FFmpeg exporter)
Use run.sh
to quickly (build if necessary, then) run the program.
Alternatively, standard dotnet build
/dotnet run
commands apply:
Use dotnet build
from the repository's path, then execute dotnet run --project Unai.ExtendedBinaryWaterfall.Cli
to run the program.
The following commands will assume your command line working directory is located at the resulting binaries from the build process.
If you're on Windows, the executable will be suffixed with .exe
.
Execute this command to get information about the arguments that can be used:
Unai.ExtendedBinaryWaterfall.Cli --help
When using run.sh
, the command can be simplified to:
./run.sh --help
Read an ISO file and save the result to a video file called result.mkv
(requires FFmpeg):
Unai.ExtendedBinaryWaterfall.Cli /path/to/file.iso --exporter=ffmpeg --output=result.mkv
Read a GameMaker archive file and preview the result in an SDL window:
Unai.ExtendedBinaryWaterfall.Cli /path/to/data.win
SDL is the default exporter if none is specified.
Read an .exe
file and preview the FFmpeg encoding result with standard output redirection:
Unai.ExtendedBinaryWaterfall.Cli "C:\Windows\system32\shell32.dll" --exporter=ffmpeg | ffplay -f matroska -
When no -o
/--output
argument is specified, EBW will default to the standard output.
Warning
Some command line interfaces like PowerShell will require a proper standard I/O encoding suitable for binary streams. Otherwise you will end up with “corrupted” files.