Difference between revisions of "AreWeCompressedYet"

From XiphWiki
Jump to: navigation, search
(Internal tools)
Line 4: Line 4:
  
 
For bugs and enhancements, see its [https://github.com/tdaede/awcy/issues GitHub Issues] page.
 
For bugs and enhancements, see its [https://github.com/tdaede/awcy/issues GitHub Issues] page.
 +
 +
==Repos==
 +
https://github.com/tdaede/awcy
 +
 +
https://github.com/tdaede/rd_tool
  
 
==Command-line tools==
 
==Command-line tools==
Line 13: Line 18:
  
 
By default, the prefix used for the run is your local branch name.
 
By default, the prefix used for the run is your local branch name.
 
==Repos==
 
https://github.com/tdaede/awcy
 
 
https://github.com/tdaede/rd_tool
 
  
 
==Internal tools==
 
==Internal tools==

Revision as of 15:33, 6 December 2016

AreWeCompressedYet is an automatic service for compressing videos with Daala and other codecs.

It generates graphs using different metrics, to enable comparisons between different versions of the Daala source code.

For bugs and enhancements, see its GitHub Issues page.

Repos

https://github.com/tdaede/awcy

https://github.com/tdaede/rd_tool

Command-line tools

submit_awcy.py

Usage:

 DAALA_ROOT=./ submit_awcy.py --help

You must have a secret_key file in the current directory, containing your key to access AreWeCompressedYet.

By default, the prefix used for the run is your local branch name.

Internal tools

  • rd_tool.py: is the main script that controls the AWCY machines and gathers the results. It has a similar interface to rd_collect.sh in the Daala repository.
  • metrics_gather.sh: A script called by rd_tool.py, contains the command line parameters for all testable codecs.

Output Format

For an explanation of AWCY's metrics output format, see the RD_Curve_Data_Format page.

Machine

The server is a CentOS 7 virtual machine running on catfish.xiph.org. There are few config file changes, so the CentOS machine should be easily upgradeable to get security fixes.

Daemons

awcy

The AWCY server has a unit file at /etc/systemd/system/awcy.service. It listens at localhost:3000.

nginx

NGINX is configured to be a TLS endpoint and proxy_pass to localhost:3000.

firewalld

chrony

Chrony is required to keep the system time in sync. Amazon Web Services signatures require an accurate system clock.

journald

See AWCY logs with

 journalctl -u awcy.service

Directory Structure

-rw-rw-r--.  1 awcy awcy 3078 Aug 19 19:06 awcy_server.js
-rwxrwxr-x.  1 awcy awcy  169 Aug 17 23:43 create_test_branch.sh
drwxrwxr-x. 12 awcy awcy 4096 Aug 20 16:31 daala
-rw-------.  1 root root 1692 Aug 18 16:26 daala.pem
drwxrwxr-x. 14 awcy awcy 4096 Aug 19 15:02 daalatool
-rw-rw-r--.  1 awcy awcy 1079 Aug  7 19:31 LICENSE
drwxrwxr-x.  5 awcy awcy   48 Aug 17 23:47 node_modules
-rwxrwxr-x.  1 awcy awcy  124 Aug 18 17:22 nuke_branch.sh
drwxrwxr-x.  3 awcy awcy 4096 Aug 18 17:17 rd_tool
-rw-rw-r--.  1 awcy awcy   10 Aug  7 19:31 README.md
drwxrwxr-x. 25 awcy awcy 4096 Aug 20 19:49 runs
-rwxrwxr-x.  1 awcy awcy  148 Aug 17 23:43 run_video_test.sh
-rw-rw-r--.  1 awcy awcy   23 Aug 17 23:48 secret_key
-rwxrwxr-x.  1 awcy awcy 1212 Aug 19 14:27 submit_awcy.py
drwxrwxr-x.  2 awcy awcy 4096 Aug 19 21:33 www

Files not part of github repo

  • node_modules: created by npm when you install the necessary node modules to run awcy_server.js.
  • daala.pem: Private SSH key used to connect to the AWS instances.
  • daalatool: A local clone of Daala, used for the contents of the tools/ directory.
  • secret_key: File containing the secret key used on the main website.
  • config.json: Contains IRC channel to connect to. TODO: put secret_key and other stuff in here too.
  • rd_tool/daala.pem: same file as in higher level directory


.ssh/config contents:

Host *
      	StrictHostKeyChecking no
        UserKnownHostsFile=/dev/null
        LogLevel ERROR