{"id":25267535,"url":"https://github.com/unai-d/extended-binary-waterfall","last_synced_at":"2025-07-28T10:37:09.650Z","repository":{"id":276829161,"uuid":"929949089","full_name":"unai-d/extended-binary-waterfall","owner":"unai-d","description":"Read computer files as raw audio and video data but with a twist.","archived":false,"fork":false,"pushed_at":"2025-04-12T14:48:33.000Z","size":202,"stargazers_count":20,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"dev","last_synced_at":"2025-04-12T15:48:24.011Z","etag":null,"topics":["c-sharp","c-sharp-library","ffmpeg","sdl"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unai-d.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-09T19:09:22.000Z","updated_at":"2025-04-12T14:48:36.000Z","dependencies_parsed_at":"2025-03-08T18:23:08.230Z","dependency_job_id":"f193653f-f51a-4c94-b0cf-74f72ccaee46","html_url":"https://github.com/unai-d/extended-binary-waterfall","commit_stats":null,"previous_names":["unai-d/extended-binary-waterfall"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/unai-d/extended-binary-waterfall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unai-d%2Fextended-binary-waterfall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unai-d%2Fextended-binary-waterfall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unai-d%2Fextended-binary-waterfall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unai-d%2Fextended-binary-waterfall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unai-d","download_url":"https://codeload.github.com/unai-d/extended-binary-waterfall/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unai-d%2Fextended-binary-waterfall/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267503406,"owners_count":24098328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","c-sharp-library","ffmpeg","sdl"],"created_at":"2025-02-12T09:39:22.888Z","updated_at":"2025-07-28T10:37:09.642Z","avatar_url":"https://github.com/unai-d.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Extended Binary Waterfall\n![GitHub Tag](https://img.shields.io/github/v/tag/unai-d/extended-binary-waterfall?style=flat-square\u0026label=latest%20tag)\n\nThis program **reads arbitrary computer files** as **raw audio and video streams**, resulting in what's sometimes known as a **binary waterfall**. The “extended” part of it is the inclusion of a **detailed walktrough** of the **fragments, chunks or subfiles** that the target file may have.\n\n\u003e [!WARNING]\n\u003e This program is still in development.\n\u003e Some code is still untested, and errors are expected to happen when running this software.\n\n## Dependencies\n\n- Required\n\t- .NET 9 SDK\n\t\t- 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.\n- Optional\n\t- FFmpeg libraries (for the FFmpeg exporter)\n\t\t- In Windows 10/11, use the following command to install FFmpeg:\n\t\t\t```powershell\n\t\t\twinget install \"FFmpeg (Shared)\"\n\t\t\t```\n\t\t\tOnce installed, **restart the command line** and make sure the `PATH` environment variable is updated with the FFmpeg libraries path.\n\t\t- Alternatively, you can manually download the libraries at [CODEX FFMPEG](https://www.gyan.dev/ffmpeg/builds/) (make sure to download the “shared” variant).\n\t\tOnce downloaded, move the DLLs to a known path (e.g. `C:\\ffmpeg`).\n\t- [Unifont](https://unifoundry.com/unifont/index.html)\n\t\t- Some Linux distros have the option to install this font via their respective package manager, but in Windows a manual download is required.\n\t\t- Make sure to install both the default font and the “upper” variant for emoticons.\n\t- [`wimlib`](https://wimlib.net/) for WIM file listings.\n\t- `minidump` Python module for Windows Minidump memory region parsing.\n\n\u003e [!IMPORTANT]\n\u003e When using Unifont, make sure to install the **TTF format** instead of OTF.\n\u003e It seems that Unifont contains OTF CFF2 tables that makes the text rendering library throw an exception.\n\u003e\n\u003e You can **download** the TTF version from an [**unofficial repository**](https://github.com/multitheftauto/unifont) since it doesn't get officially released by Unifoundry as a TTF file anymore.\n\u003e\n\u003e See the relevant SixLabors Fonts [issue](https://github.com/SixLabors/Fonts/issues/331) and [pull request](https://github.com/SixLabors/Fonts/pull/342) for this specific problem.\n\n## Build and Run\n\nUse `run.sh` to quickly (build if necessary, then) run the program.\n\nAlternatively, standard `dotnet build`/`dotnet run` commands apply:\n\nUse `dotnet build` from the repository's path, then execute `dotnet run --project Unai.ExtendedBinaryWaterfall.Cli` to run the program.\n\n## Usage\n\n### Quick Start\n\nThe following commands will assume your command line working directory is located at the resulting binaries from the build process.\nIf you're on Windows, the executable will be suffixed with `.exe`.\n\nExecute this command to get information about the arguments that can be used:\n\n```sh\nUnai.ExtendedBinaryWaterfall.Cli --help\n```\n\nWhen using `run.sh`, the command can be simplified to:\n\n```sh\n./run.sh --help\n```\n\n### Examples\n\n#### Example 1\n\nRead an ISO file and save the result to a video file called `result.mkv` (requires FFmpeg):\n\n```sh\nUnai.ExtendedBinaryWaterfall.Cli /path/to/file.iso --exporter=ffmpeg --output=result.mkv\n```\n\n#### Example 2\n\nRead a GameMaker archive file and preview the result in an SDL window:\n\n```sh\nUnai.ExtendedBinaryWaterfall.Cli /path/to/data.win\n```\n\nSDL is the default exporter if none is specified.\n\n#### Example 3\n\nRead a `.dll` file and preview the FFmpeg encoding result with standard output redirection:\n\n```sh\nUnai.ExtendedBinaryWaterfall.Cli \"C:\\Windows\\system32\\shell32.dll\" --exporter=ffmpeg | ffplay -f matroska -\n```\n\nWhen no `-o`/`--output` argument is specified, EBW will default to the standard output.\n\n\u003e [!WARNING]\n\u003e Some command line interfaces like PowerShell will require a proper standard I/O encoding suitable for binary streams.\n\u003e Otherwise you will end up with “corrupted” files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funai-d%2Fextended-binary-waterfall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funai-d%2Fextended-binary-waterfall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funai-d%2Fextended-binary-waterfall/lists"}