2020-07-08 20:40:06 +00:00
|
|
|
name: tests
|
2020-07-02 08:35:52 +00:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths-ignore:
|
|
|
|
- "*.yml"
|
|
|
|
- .gitignore
|
|
|
|
- "*.md"
|
|
|
|
pull_request:
|
|
|
|
paths-ignore:
|
|
|
|
- "*.yml"
|
|
|
|
- .gitignore
|
|
|
|
- "*.md"
|
2020-08-10 22:22:55 +00:00
|
|
|
|
2020-07-02 08:35:52 +00:00
|
|
|
env:
|
2021-02-10 05:50:50 +00:00
|
|
|
deps: tree
|
2020-07-02 08:35:52 +00:00
|
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
validate:
|
2020-12-23 12:06:36 +00:00
|
|
|
name: ${{ matrix.name }} ${{ matrix.enc }}
|
2020-07-02 08:35:52 +00:00
|
|
|
runs-on: ubuntu-latest
|
2020-11-14 02:34:47 +00:00
|
|
|
container: registry.gitlab.com/luigi311/encoders-docker:latest
|
2020-07-02 08:35:52 +00:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: [aom, rav1e, svt_av1, vpx, x265, x264]
|
2020-12-23 12:06:36 +00:00
|
|
|
name: [baseline, target_quality]
|
2020-07-02 08:35:52 +00:00
|
|
|
include:
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: baseline
|
2020-07-02 08:35:52 +00:00
|
|
|
flags: ""
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: target_quality
|
2020-12-23 12:00:17 +00:00
|
|
|
flags: --target_quality 95
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: chunk_hybrid
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
2020-08-14 18:32:47 +00:00
|
|
|
flags: --chunk_method hybrid
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: chunk_select
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
2020-08-27 17:40:30 +00:00
|
|
|
flags: --chunk_method select
|
2021-02-10 05:50:50 +00:00
|
|
|
- name: chunk_ffms2
|
|
|
|
enc: aom
|
|
|
|
flags: --chunk_method vs_ffms2
|
|
|
|
- name: chunk_lsmash
|
|
|
|
enc: aom
|
|
|
|
flags: --chunk_method vs_lsmash
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: scenes
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
|
|
|
flags: -s scenes.json
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: workers
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
|
|
|
flags: -w 2
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: vmaf
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
2020-11-26 21:19:42 +00:00
|
|
|
flags: --vmaf
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: vmaf_plots
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
2020-11-26 21:20:49 +00:00
|
|
|
flags: --vmaf_plots
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: extra_splits
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
2020-07-02 08:35:52 +00:00
|
|
|
flags: -xs 10
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: split_aom_keyframes
|
2020-12-23 12:00:17 +00:00
|
|
|
enc: aom
|
2020-07-02 08:35:52 +00:00
|
|
|
flags: --split_method aom_keyframes
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: video_settings
|
2020-12-23 11:50:41 +00:00
|
|
|
enc: aom
|
|
|
|
flags: -v " --cpu-used=3 --end-usage=q --cq-level=30 --threads=8 "
|
2020-12-23 12:06:36 +00:00
|
|
|
- name: temp
|
2020-12-23 11:50:41 +00:00
|
|
|
enc: aom
|
2020-07-02 08:35:52 +00:00
|
|
|
flags: --temp temporary
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Validate encoders
|
|
|
|
run: |
|
|
|
|
aomenc --help
|
|
|
|
SvtAv1EncApp --help
|
|
|
|
rav1e --help
|
2020-10-08 14:29:44 +00:00
|
|
|
x265 --help || true
|
2020-07-02 08:35:52 +00:00
|
|
|
- name: Install requirements
|
|
|
|
run: |
|
|
|
|
apt-get update && apt-get install -y ${{ env.deps }}
|
2021-02-10 05:53:13 +00:00
|
|
|
python3 setup.py install
|
2020-07-02 08:35:52 +00:00
|
|
|
- name: Download videos
|
|
|
|
run: |
|
|
|
|
for url in raw.githubusercontent.com/OpenVisualCloud/SVT-AV1-Resources/master randomderp.com; do
|
|
|
|
curl -LO https://$url/video.tar.gz && break
|
|
|
|
done
|
|
|
|
tar xf video.tar.gz
|
|
|
|
- name: Testing ${{ matrix.name }}
|
|
|
|
run: |
|
2021-02-10 05:58:10 +00:00
|
|
|
./av1an.py -i bus_cif.y4m -enc ${{ matrix.enc }} -log log_av1an -tr 20 --keep -o "bus_cif.mkv" ${{ matrix.flags }}
|
2020-11-21 02:30:05 +00:00
|
|
|
du -h bus_cif.mkv
|
2020-11-26 21:19:42 +00:00
|
|
|
tree -a
|
2021-02-10 05:58:10 +00:00
|
|
|
- name: Cat log
|
|
|
|
if: always()
|
|
|
|
run: cat log_av1an.log
|
2021-01-18 21:52:22 +00:00
|
|
|
|
|
|
|
docker:
|
2021-02-10 05:41:53 +00:00
|
|
|
runs-on: ubuntu-18.04
|
2021-01-31 21:58:19 +00:00
|
|
|
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
|
2021-01-18 21:52:22 +00:00
|
|
|
steps:
|
2021-02-10 05:41:53 +00:00
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Docker meta
|
|
|
|
id: docker_meta
|
|
|
|
uses: crazy-max/ghaction-docker-meta@v1
|
|
|
|
with:
|
|
|
|
images: ${{ secrets.DOCKERHUB_USERNAME }}/av1an # list of Docker images to use as base name for tags
|
|
|
|
tag-sha: true # add git short SHA as Docker tag
|
2021-01-18 21:52:22 +00:00
|
|
|
- name: Set up QEMU
|
|
|
|
uses: docker/setup-qemu-action@v1
|
|
|
|
- name: Set up Docker Buildx
|
|
|
|
uses: docker/setup-buildx-action@v1
|
|
|
|
- name: Login to DockerHub
|
|
|
|
uses: docker/login-action@v1
|
|
|
|
with:
|
|
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build and push
|
|
|
|
id: docker_build
|
|
|
|
uses: docker/build-push-action@v2
|
|
|
|
with:
|
2021-02-10 05:41:53 +00:00
|
|
|
context: .
|
|
|
|
file: ./Dockerfile
|
2021-01-18 21:52:22 +00:00
|
|
|
push: true
|
2021-02-10 05:41:53 +00:00
|
|
|
tags: ${{ steps.docker_meta.outputs.tags }}
|
|
|
|
labels: ${{ steps.docker_meta.outputs.labels }}
|
2021-01-18 21:52:22 +00:00
|
|
|
- name: Image digest
|
2021-01-19 01:06:50 +00:00
|
|
|
run: echo ${{ steps.docker_build.outputs.digest }}
|