Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevinbird61/simulation-video-encoder
Network simulation project, with some practices on video encoding server.
https://github.com/kevinbird61/simulation-video-encoder
discrete-events-simulations network-simulator practice simulation-video-encoder
Last synced: about 1 month ago
JSON representation
Network simulation project, with some practices on video encoding server.
- Host: GitHub
- URL: https://github.com/kevinbird61/simulation-video-encoder
- Owner: kevinbird61
- License: gpl-3.0
- Created: 2017-11-24T12:40:38.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-22T00:22:54.000Z (about 7 years ago)
- Last Synced: 2024-11-06T22:47:02.336Z (3 months ago)
- Topics: discrete-events-simulations, network-simulator, practice, simulation-video-encoder
- Language: C
- Homepage: https://github.com/kevinbird61/simulation-video-encoder/blob/master/doc/simulation-report.pdf
- Size: 1.89 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# simulation-video-encoder
Network simulation project, with some practices on video encoder server.---
# Requirement
> My develope environment
## Standard
- gcc version 5.4.1
- GNU make 4.1
- GNU gdb 7.11.1## Document/Report
- node.js (latest/v8.8.1) - [install guide](https://github.com/toolbuddy/docoGen/wiki/node.js-%E5%AE%89%E8%A3%9D)
- [docogen](https://github.com/toolbuddy/docoGen) (v0.1.5)
- gnuplot (v5.0)---
# Get Started## Basic
```bash
# compile
$ make# run example
$ make run# clean all
$ make clean```
## Project result export
```bash
# Project use case output
$ make proj# plot the result
$ make plot# combine together
$ make proj && make plot
```## Generate document paper
```
# generate document with docogen
$ make docogen# clean doc dependencies
$ make cleandoc
```## Debug
```bash
# compile with gdb options
$ make gdb
# gdb run (with sample config)
$ make run_g
```# Run
* You can simpliy run `./main -h` to see helper manual (below).
```bash
Simulation:
Type 1: bottom field
Type 0: top field
Type 2: encoded top field arrival
Type 3: encoded bottom field arrival
Type 4: leaving event
===================================Usage: ./main [-t time] [-b buffer] [-n nums] [-a alpha] [-e Cenc] [-s Cs] [-f param1] [-c param2] [-r report]
-n nums: specify how many times you want to run the simulation routine
-t time: specify the total simulation time (hours)
-b buffer: specify the buffer size
-a alpha: specify the parameter of storage process
-e Cenc: specify the encoding speed of encoder
-s Cstorage: specify the storaging speed of storage server
-f param1: specify the parameter of time between field arrival(secs)
-c param2: specify the parameter of complexity of a field(fods)
-r report: specify the report type name(for gnuplot usage)```
# Document
- [simulation report paper](doc/simulation-report.pdf)
- [discussion note](https://paper.dropbox.com/doc/Project-1-DiscussNote-p1Jgb0YwDkpAioDyNFvHs)# Flowchart
## Entire system
![](res/flowchart.png)## Simulation graph of system
![](res/sim.png)## Initial routine
![](res/initial.png)## Encoder routine
![](res/encoder.png)## Memory usage (Queue)
![](res/queue.png)