Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/VQEG/streamsim
https://github.com/VQEG/streamsim
Last synced: 26 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/VQEG/streamsim
- Owner: VQEG
- License: other
- Created: 2020-09-15T07:30:03.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-09-15T07:35:33.000Z (about 4 years ago)
- Last Synced: 2024-08-03T16:09:38.849Z (4 months ago)
- Language: Python
- Size: 116 KB
- Stars: 6
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-video - VQEG/streamsim - (Encoding / Talks Presentations Podcasts)
README
# StreamSim
**StreamSim** is a useful tool which is able to encode raw
video material with different settings and stream the encoded results via
pre-defined network configurations in order to insert packet loss resp.
delay/jitter. The transmitted videos are decoded back and can be used to compare
with the original video. It is also possible to insert the loss behaviour
offline, without streaming the content over a physical network.StreamSim is licensed under GNU GPLv3 (see `License.md`) and can be freely used
and modified.## Usage
If you have used StreamSim and publish results based on it, we kindly ask you to
cite the following publication:> Alexander M. Dethof, Werner Robitza, Marie-Neige Garcia, "StreamSim: A Video
Streaming Simulation Toolchain for Unreliable Transport Mechanisms", in:
QoMEX – Eighth International Conference on Quality of Multimedia Experience,
Lisbon, June 2016. DOI: [10.13140/RG.2.1.4394.4562](http://dx.doi.org/10.13140/RG.2.1.4394.4562)## How does it work?
The toolchain is separated into five dedicated steps, which can be executed
separately: video encoding, streaming, loss insertion, payload extraction and
decoding. Each step stores its results in a separate folder. It is thus possible
to guard all time the complete chain's process. Futher more each step is
individually configureable and delivers additional features.## Getting started
At first you need to ensure that you have all system requirements correctly
installed. A guideline is therefore written in the wiki on
https://github.com/vqeg/streamsim/wikis/system-requirementsBefore you run the chain the first time it is recommended to setup a further
folder where you want to store all files generated by the chain. Therefore the
chain delivers a useful setup-tool, which sets up the complete required folder
and configuration file structure, using the following command:```bash
python chain.py setup -p
```Please note, that you need to replace the keyword `````` with the
actual path where you want to set up the chain in. Further information about
this step is also given in the wiki under the following URL:
https://github.com/vqeg/streamsim/wikis/setupAfter the folder and configuration structure has been onetime setup, the
chain's configuration has to be done. Therefore some further information are
given in the appropriate configuration file headers and obviously in the wiki:
https://github.com/vqeg/streamsim/wikis/setup## How to use
In short the tool chain can be executed by the command:
```bash
python chain.py -p
```This command will execute the complete processing chain from the encoding step
until the final decoding step. But it is also possible to call each step
individually or to execute all steps until/from a specific state. More details
about that are given here:
https://github.com/vqeg/streamsim/wikis/usage## Further material
* Advanced usage: https://github.com/vqeg/streamsim/wikis/home#advanced-usage
* Developers guide: https://github.com/vqeg/streamsim/wikis/home#developers-guideline
* Example results: https://github.com/vqeg/streamsim/wikis/sample-results