Skip to content

Commit

Permalink
multimedia/ab-av1: add new port
Browse files Browse the repository at this point in the history
AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf.

https://github.com/alexheretic/ab-av1
  • Loading branch information
jbeich committed Feb 16, 2022
1 parent e495fa0 commit 764661e
Show file tree
Hide file tree
Showing 4 changed files with 254 additions and 0 deletions.
1 change: 1 addition & 0 deletions multimedia/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

SUBDIR += Bento4
SUBDIR += QtAV
SUBDIR += ab-av1
SUBDIR += ab25
SUBDIR += acidrip
SUBDIR += aegisub
Expand Down
103 changes: 103 additions & 0 deletions multimedia/ab-av1/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
PORTNAME= ab-av1
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.1
CATEGORIES= multimedia

MAINTAINER= jbeich@FreeBSD.org
COMMENT= AV1 re-encoding using ffmpeg, svt-av1 & vmaf

LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE

RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
SvtAv1EncApp:multimedia/svt-av1

USES= cargo
USE_GITHUB= yes
GH_ACCOUNT= alexheretic
PLIST_FILES= bin/${PORTNAME} \
share/bash-completion/completions/${PORTNAME} \
share/fish/vendor_completions.d/${PORTNAME}.fish \
share/zsh/site-functions/_${PORTNAME}

CARGO_CRATES= anyhow-1.0.53 \
atty-0.2.14 \
autocfg-1.0.1 \
bitflags-1.3.2 \
bytes-1.1.0 \
cfg-if-1.0.0 \
clap-3.0.14 \
clap_complete-3.0.5 \
clap_derive-3.0.14 \
console-0.15.0 \
encode_unicode-0.3.6 \
ffprobe-0.3.0 \
futures-0.3.19 \
futures-channel-0.3.19 \
futures-core-0.3.19 \
futures-executor-0.3.19 \
futures-io-0.3.19 \
futures-macro-0.3.19 \
futures-sink-0.3.19 \
futures-task-0.3.19 \
futures-util-0.3.19 \
hashbrown-0.11.2 \
heck-0.4.0 \
hermit-abi-0.1.19 \
indexmap-1.8.0 \
indicatif-0.16.2 \
itoa-1.0.1 \
lazy_static-1.4.0 \
libc-0.2.117 \
log-0.4.14 \
memchr-2.4.1 \
mio-0.7.14 \
miow-0.3.7 \
ntapi-0.3.6 \
num_cpus-1.13.1 \
num_threads-0.1.3 \
number_prefix-0.4.0 \
once_cell-1.9.0 \
os_str_bytes-6.0.0 \
pin-project-lite-0.2.8 \
pin-utils-0.1.0 \
proc-macro-error-1.0.4 \
proc-macro-error-attr-1.0.4 \
proc-macro2-1.0.36 \
quote-1.0.15 \
regex-1.5.4 \
regex-syntax-0.6.25 \
ryu-1.0.9 \
serde-1.0.136 \
serde_derive-1.0.136 \
serde_json-1.0.78 \
signal-hook-registry-1.4.0 \
slab-0.4.5 \
strsim-0.10.0 \
syn-1.0.86 \
termcolor-1.1.2 \
terminal_size-0.1.17 \
textwrap-0.14.2 \
time-0.3.7 \
time-macros-0.2.3 \
tokio-1.16.1 \
tokio-macros-1.7.0 \
tokio-process-stream-0.2.0 \
tokio-stream-0.1.8 \
tokio-util-0.6.9 \
unicode-width-0.1.9 \
unicode-xid-0.2.2 \
version_check-0.9.4 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.5 \
winapi-x86_64-pc-windows-gnu-0.4.0

post-install:
.for _shell in bash fish zsh
@${ECHO_MSG} "Generating ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*${_shell}*}"
@${CARGO_CARGO_RUN} run ${CARGO_BUILD_ARGS} -- print-completions ${_shell} \
>${STAGEDIR}${PREFIX}/${PLIST_FILES:M*${_shell}*}
.endfor

.include <bsd.port.mk>
147 changes: 147 additions & 0 deletions multimedia/ab-av1/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
TIMESTAMP = 1642403802
SHA256 (rust/crates/anyhow-1.0.53.crate) = 94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0
SIZE (rust/crates/anyhow-1.0.53.crate) = 44233
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
SIZE (rust/crates/bytes-1.1.0.crate) = 49640
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
SHA256 (rust/crates/clap-3.0.14.crate) = b63edc3f163b3c71ec8aa23f9bd6070f77edbf3d1d198b164afa90ff00e4ec62
SIZE (rust/crates/clap-3.0.14.crate) = 191513
SHA256 (rust/crates/clap_complete-3.0.5.crate) = be4dabb7e2f006497e1da045feaa512acf0686f76b68d94925da2d9422dcb521
SIZE (rust/crates/clap_complete-3.0.5.crate) = 22351
SHA256 (rust/crates/clap_derive-3.0.14.crate) = 9a1132dc3944b31c20dd8b906b3a9f0a5d0243e092d59171414969657ac6aa85
SIZE (rust/crates/clap_derive-3.0.14.crate) = 25314
SHA256 (rust/crates/console-0.15.0.crate) = a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31
SIZE (rust/crates/console-0.15.0.crate) = 23507
SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
SHA256 (rust/crates/ffprobe-0.3.0.crate) = f439d57070a29c93e5bdf9f98b973360aa96b1b8c203793de54482f168fc216a
SIZE (rust/crates/ffprobe-0.3.0.crate) = 4609
SHA256 (rust/crates/futures-0.3.19.crate) = 28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4
SIZE (rust/crates/futures-0.3.19.crate) = 47605
SHA256 (rust/crates/futures-channel-0.3.19.crate) = ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b
SIZE (rust/crates/futures-channel-0.3.19.crate) = 31940
SHA256 (rust/crates/futures-core-0.3.19.crate) = d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7
SIZE (rust/crates/futures-core-0.3.19.crate) = 14666
SHA256 (rust/crates/futures-executor-0.3.19.crate) = 29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a
SIZE (rust/crates/futures-executor-0.3.19.crate) = 17286
SHA256 (rust/crates/futures-io-0.3.19.crate) = b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2
SIZE (rust/crates/futures-io-0.3.19.crate) = 8901
SHA256 (rust/crates/futures-macro-0.3.19.crate) = 6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c
SIZE (rust/crates/futures-macro-0.3.19.crate) = 11253
SHA256 (rust/crates/futures-sink-0.3.19.crate) = e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508
SIZE (rust/crates/futures-sink-0.3.19.crate) = 7849
SHA256 (rust/crates/futures-task-0.3.19.crate) = 6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72
SIZE (rust/crates/futures-task-0.3.19.crate) = 11894
SHA256 (rust/crates/futures-util-0.3.19.crate) = d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164
SIZE (rust/crates/futures-util-0.3.19.crate) = 149240
SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
SIZE (rust/crates/heck-0.4.0.crate) = 11161
SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
SHA256 (rust/crates/indicatif-0.16.2.crate) = 2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b
SIZE (rust/crates/indicatif-0.16.2.crate) = 35057
SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
SIZE (rust/crates/itoa-1.0.1.crate) = 11059
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/libc-0.2.117.crate) = e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c
SIZE (rust/crates/libc-0.2.117.crate) = 566541
SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
SIZE (rust/crates/log-0.4.14.crate) = 34582
SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
SIZE (rust/crates/memchr-2.4.1.crate) = 64977
SHA256 (rust/crates/mio-0.7.14.crate) = 8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc
SIZE (rust/crates/mio-0.7.14.crate) = 87429
SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
SIZE (rust/crates/miow-0.3.7.crate) = 24563
SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
SHA256 (rust/crates/num_threads-0.1.3.crate) = 97ba99ba6393e2c3734791401b66902d981cb03bf190af674ca69949b6d5fb15
SIZE (rust/crates/num_threads-0.1.3.crate) = 6374
SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3
SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922
SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64
SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046
SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c
SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145
SIZE (rust/crates/quote-1.0.15.crate) = 27281
SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
SIZE (rust/crates/regex-1.5.4.crate) = 236581
SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
SIZE (rust/crates/ryu-1.0.9.crate) = 48391
SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
SIZE (rust/crates/serde-1.0.136.crate) = 76158
SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9
SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776
SHA256 (rust/crates/serde_json-1.0.78.crate) = d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085
SIZE (rust/crates/serde_json-1.0.78.crate) = 144364
SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5
SIZE (rust/crates/slab-0.4.5.crate) = 15888
SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/syn-1.0.86.crate) = 8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b
SIZE (rust/crates/syn-1.0.86.crate) = 235126
SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
SHA256 (rust/crates/time-0.3.7.crate) = 004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d
SIZE (rust/crates/time-0.3.7.crate) = 76358
SHA256 (rust/crates/time-macros-0.2.3.crate) = 25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6
SIZE (rust/crates/time-macros-0.2.3.crate) = 16838
SHA256 (rust/crates/tokio-1.16.1.crate) = 0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a
SIZE (rust/crates/tokio-1.16.1.crate) = 552194
SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7
SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261
SHA256 (rust/crates/tokio-process-stream-0.2.0.crate) = bfe1b77e2c74925ae5a21d24d16019777206bb2f794358d786b83a31b608193c
SIZE (rust/crates/tokio-process-stream-0.2.0.crate) = 5590
SHA256 (rust/crates/tokio-stream-0.1.8.crate) = 50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3
SIZE (rust/crates/tokio-stream-0.1.8.crate) = 30537
SHA256 (rust/crates/tokio-util-0.6.9.crate) = 9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0
SIZE (rust/crates/tokio-util-0.6.9.crate) = 76480
SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
SIZE (rust/crates/version_check-0.9.4.crate) = 14895
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
SHA256 (alexheretic-ab-av1-v0.1.1_GH0.tar.gz) = 6fe561789476028fd43f6d29600019fe5075c4546f0ee75c1d7bdf6d27ca24f1
SIZE (alexheretic-ab-av1-v0.1.1_GH0.tar.gz) = 17732
3 changes: 3 additions & 0 deletions multimedia/ab-av1/pkg-descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf.

WWW: https://github.com/alexheretic/ab-av1

0 comments on commit 764661e

Please sign in to comment.