{"id":27918501,"url":"https://github.com/motionspell/lldash","last_synced_at":"2025-05-06T18:22:54.028Z","repository":{"id":273672835,"uuid":"920497195","full_name":"MotionSpell/lldash","owner":"MotionSpell","description":"Umbrella repository for Motion Spell/CWI Low Latency DASH","archived":false,"fork":false,"pushed_at":"2025-04-30T21:53:38.000Z","size":166,"stargazers_count":0,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T22:20:39.835Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MotionSpell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-22T09:00:57.000Z","updated_at":"2025-04-30T08:14:21.000Z","dependencies_parsed_at":"2025-02-27T13:22:03.417Z","dependency_job_id":"17fe644a-ca6b-40fb-9a9f-3a5eaf05bfbd","html_url":"https://github.com/MotionSpell/lldash","commit_stats":null,"previous_names":["motionspell/lldash"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Flldash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Flldash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Flldash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Flldash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MotionSpell","download_url":"https://codeload.github.com/MotionSpell/lldash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252741818,"owners_count":21797089,"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","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":[],"created_at":"2025-05-06T18:22:52.657Z","updated_at":"2025-05-06T18:22:54.016Z","avatar_url":"https://github.com/MotionSpell.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lldash\n\nUmbrella repository for Motion Spell/CWI Low Latency DASH\n\n**Table of Contents** \n\n- [Introduction](#introduction)\n- [Components](#components)\n- [Build](#build)\n- [Documentation](#documentation)\n- [Contributing](#contributing)\n- [License](#license)\n\n\n# Introduction\n\nlldash is a comprehensive repository that includes various components for Low Latency DASH streaming.\n\n# Components\n\nThe repository includes the following components:\n\n- **signals**: A modern C++ framework to build modular applications.\n- **lldash-relay**: A low-latency HTTP server for relaying DASH streams.\n- **lldash-playout**: A component for receiving compressed video from the network.\n- **lldash-srd-packager**: A component for packaging point clouds and TVMs into DASH streams.\n\n# Build\n\nlldash can be built using `CMake` with presets and `vcpkg` to manage dependencies. Builds have been tested on Linux, Windows (64 bit Intel) and Mac (Intel or Silicon).\n\nIf you get the build working for Linux or Windows on Arm64: please let us know.\n\n## Build Prerequisites\n\n### Windows (Intel 64 bit)\n\n- Install Visual Studio 2022 (community edition is good enough)\n  - Install at least the \"Desktop Development with C++\" tools.\n  - You only really need the compilers for vcpkg to build some auxiliary tools, but its just as easy to install the whole visual studio.\n- Optionally install Visual Studio Code from https://code.visualstudio.com/\n  - Install the C++ extensions\n  - Install the Python extensions\n  - Install the cmake extensions\n- Install git from https://git-scm.com/downloads/win\n- Install CMake from https://cmake.org/download/ (64 bit version)\n- Install MSYS2 from https://www.msys2.org/\n  - By default MSYS2 will open a UCRT64 shell, but testing has been done with the MINGW64 shell and toolset.\n    - For now we have opted to use MINGW64 and not UCRT64, but we may revisit that choice later.\n  - In the MINGW64 shell, run `scripts/install_mingw64_prerequisites.sh`\n  - Add `C:\\msys64\\mingw64\\bin` and `C:\\msys64\\usr\\bin` to your system-wide search path:\n    - Open System Properties, Advanced, Environment Variables\n    - Add to `Path` in the System Variables section.\n\n### Mac (Intel or Silicon)\n\n- Install `XCode`, or at least the developer tools.\n- Install `Homebrew` from https://brew.sh\n- Run `scripts/install_homebrew_prerequisites.sh`\n\n\n### Linux (Intel)\n\nThese instructions have only been tested on Ubuntu 24.04 on Intel 64bit hardware. \nPlease let us know if you get them working on other Linux distributions, or on Arm64 machines.\n\n- Run `scripts/install_debian_prerequisites.sh`\n\n## Building\n\nYou can build from the command line or from vscode. The first time you build will take very long (about 30 minutes) because `vcpkg` will have to build all of the dependency packages. These are cached, however, so subsequent builds will be a lot quicker.\n\nDo not try to use the `CMake` GUI, it is known not to work.\n\nDo not try to use another `vcpkg` installation than the one included as a submodule of this repo, it is known not to work.\n\n\u003e Or let us know that it _does_ work by posting an issue on github...\n\n### Windows\n\nIn powershell, run `scripts\\buildpackage.ps1`. You have to supply the preset you want to build (but these will be listed if you don't supply the argument).\n\nThis will build everything, install into `.\\installed` and create an installable package.\n\n### Linux, Mac\n\nRun `scripts/buildpackage.sh`. You have to supply the preset you want to build (but these will be listed if you don't supply the argument).\n\nThis will build everything, install into `./installed` and create an installable package.\n\n## Building with vscode\n\nUse the `cmake: select preset` command to select your preset. (control-shift-P or command-shift-P allows you to run the command, or use the CMake sidebar)\nThen use `cmake: configure`, `cmake: build`, `cmake: package`\n\n## Dependencies\n\nEnsure you have all the necessary dependencies installed. You can use [`vcpkg`](https://github.com/microsoft/vcpkg) to manage dependencies.\n\n## Configure the Project\n\nCreate a build directory and run CMake to configure the project using presets.\n\n### Presets\n\nThe project uses CMake presets and `vcpkg` to build various components. Here are some of the available presets:\n\n- `linux-production`: Build for production on Linux.\n- `linux-develop`: Build for development on Linux.\n- `mac-production`: Build for production on Mac.\n- `mac-develop`: Build for development on Mac.\n- `intelmac-production`: Build for production on Intel Mac.\n- `intelmac-develop`: Build for development on Intel Mac.\n- `mingw-production`: Build for production on Windows with MinGW.\n- `mingw-develop`: Build for development on Windows with MinGW.\n\n### Building the Package\n\nTo build the package, use the `buildpackage.sh` script. This script will update the repository, configure the project, build it, install it, and create a package using CPack.\n\nusage: \n\n```\n./scripts/buildpackage.sh preset\n\n```\n## Install the Project (optional)\n\nYou can install the built binaries as follows:\n\n```\ncmake --install build \n```\n\n## Updating the vcpkg dependencies\n\nOnce in a while you should update the `vcpkg` dependencies to the latest version:\n\n```\ncd .\\vcpkg\ngit checkout master\ngit pull\n.\\bootstrap-vcpkg.bat\ncd ..\n.\\vcpkg\\vcpkg x-update-baseline\n.\\vcpkg\\vcpkg install --triplet=x64-linux-dynamic\ngit commit -a -m \"Vcpkg packages updated to most recent version\"\n```\n\nReplacing `x64-linux-dynamic` with whatever is the correct triplet for the platform you are on.\n\n# Documentation\n\nDocumentation is both a set of markdown files and a doxygen. .\n\n# Contributing\n\nWe welcome contributions to improve lldash. Please read the contributing guidelines before submitting a pull request.\n\n# License\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotionspell%2Flldash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmotionspell%2Flldash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotionspell%2Flldash/lists"}