373-lifter-unleash-learned-codecs-in-video-streaming-with-loose-frame-referencing
Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.2%) to scientific vocabulary
Last synced: 9 months ago
·
JSON representation
·
Repository
Basic Info
- Host: GitHub
- Owner: SZU-AdvTech-2024
- Default Branch: main
- Size: 0 Bytes
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Created over 1 year ago
· Last pushed over 1 year ago
Metadata Files
Citation
https://github.com/SZU-AdvTech-2024/373-LiFteR-Unleash-Learned-Codecs-in-Video-Streaming-with-Loose-Frame-Referencing/blob/main/
# OpenLiFteR
PyTorch reimplemetation for the paper:
LiFteR: Unleash Learned Codecs in Video Streaming with Loose Frame Referencing
## Reference repository
[PyTorchVideoCompression](https://github.com/ZhihaoHu/PyTorchVideoCompression.git)
[TimeSformer](https://github.com/facebookresearch/TimeSformer)
[pytorch-spynet](https://github.com/sniklaus/pytorch-spynet)
## Requirements
- Python==3.10
- PyTorch==2.5.1
```shell
sudo apt udpate
sudo apt-get install build-essential
sudo apt-get install libstdc++6
conda install -c conda-forge libstdcxx-ng
pip install scipy imageio torch-tb-profiler torchac scikit-image -i https://mirrors.sustech.edu.cn/pypi/web/simple
```
## Env Path
```shell
sudo find / -name "libstdc++.so.6*"
# add your lib path env var to .bashrc
sudo nano ~/.bashrc
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
source ~/.bashrc
```
## Data Preparation
### Training data
1. Download [Vimeo-90k dataset](http://toflow.csail.mit.edu/): original training + test set (82GB)
[Vimeo-90k miniset](https://www.kaggle.com/datasets/wangsally/vimeo-90k-1) (9.68GB)
2. Unzip the dataset into `./data/`.
3. Remember to put the file `test.txt` in `./data/vimeo_septuplet/` to the root of your vimeo dataset if you edit the path of vimeo.
### Test data
This method only provide P-frame compression, so we first need to generate I frames by H.265. We take UVG dataset as an example.
1. Download [UVG dataset](http://ultravideo.cs.tut.fi/#testsequences_x)(1080p/8bit/YUV/RAW) to `data/UVG/videos/`.
2. Crop Videos from 1920x1080 to 1920x1024.
```
cd data/UVG/
ffmpeg -pix_fmt yuv420p -s 1920x1080 -i ./videos/xxxx.yuv -vf crop=1920:1024:0:0 ./videos_crop/xxxx.yuv
```
3. Convert YUV files to images.
```
python convert.py
```
4. Create I frames. We need to create I frames by H.265 with $crf of 20,23,26,29.
```
cd CreateI
sh h265.sh $crf 1920 1024
# like
sh h265.sh 20 1920 1024
sh h265.sh 23 1920 1024
```
After finished the generating of I frames of each crf, you need to use bpps of each video in `result.txt` to fill the bpps in Class UVGdataset in `dataset.py`.
## Training
cd examples/example
sh cp.sh
sh run.sh
If you want models with more , you can edit`config.json`
If you want to use tensorboard:
cd examples
sh tf.sh xxxx
## Testing
Our pretrained model with =2048,1024,512,256 is provided on [Google Drive](https://drive.google.com/drive/folders/1M54MPrAzaA0QVySnzUu9HZWx1bfIrTZ6?usp=sharing). You can put it to `snapshot/` and run `test.sh`:
sh test.sh
Owner
- Name: SZU-AdvTech-2024
- Login: SZU-AdvTech-2024
- Kind: organization
- Repositories: 1
- Profile: https://github.com/SZU-AdvTech-2024
Citation (citation.txt)
@inproceedings{REPO373,
author = "Chen, Bo and Yan, Zhisheng and Zhang, Yinjie and Yang, Zhe and Nahrstedt, Klara",
booktitle = "21st USENIX Symposium on Networked Systems Design and Implementation (NSDI 24)",
pages = "533--548",
title = "{$\{$LiFteR$\}$: Unleash Learned Codecs in Video Streaming with Loose Frame Referencing}",
year = "2024"
}
GitHub Events
Total
- Push event: 2
- Create event: 3
Last Year
- Push event: 2
- Create event: 3