diff options
author | Leo Vivier <zaeph@zaeph.net> | 2022-10-12 19:18:46 +0200 |
---|---|---|
committer | Leo Vivier <zaeph@zaeph.net> | 2022-10-12 19:18:58 +0200 |
commit | 291ac85d22819884dab40f61d4a2d77d8984d0e1 (patch) | |
tree | 8b146a40fd15161b3af6b079ffa4c43909194d03 | |
parent | 592fd3caff408914a97f2669b86ee49f7271b488 (diff) | |
download | emacsconf-wiki-291ac85d22819884dab40f61d4a2d77d8984d0e1.tar.xz emacsconf-wiki-291ac85d22819884dab40f61d4a2d77d8984d0e1.zip |
Add working notes on new ffmpeg incantation for prerec
-rw-r--r-- | 2022/organizers-notebook/index.org | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index 74d72100..55b0df94 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -243,6 +243,33 @@ DEADLINE: <2022-10-28 Fri> :END: *** TODO Optimize ffmpeg incantation Remember to update [[file:../prepare.md::Compression]] with the new incantation. + +**** Incantation from last year +#+begin_src sh +Q=32 +ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 0 -crf $Q -aq-mode 2 -an -tile-columns 0 -tile-rows 0 -frame-parallel 0 -cpu-used 8 -auto-alt-ref 1 -lag-in-frames 25 -g 240 -pass 1 -f webm -threads 8 /dev/null && +ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 0 -crf $Q -c:a copy -tile-columns 2 -tile-rows 2 -frame-parallel 0 -cpu-used -5 -auto-alt-ref 1 -lag-in-frames 25 -pass 2 -g 240 -threads 8 "$2" +#+end_src + +**** New candidate +Changelog: +- Disable adaptive quantization by setting aq-mode to 0 (TODO: compare samples) +- Add ~-row-mt 1~ needed to support ~tile-rows~ (2×2 is enough for 720p) +- Also use tiles for first pass +- Remove ~-frame-parallel 0~ because it’s disabled by default (see [[https://github.com/Kagami/webm.py/wiki/Notes-on-encoding-settings][Notes on encoding settings · Kagami/webm.py Wiki]]) +- Put number of CPU in variable and use it for ~cpu-used~ and ~threads~ +- Stick to default for ~auto-alt-ref~ +- Stick to default for ~lag-in-frames~ +#+begin_src sh +Q=32 +CPU=8 +ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 0 -crf $Q -an -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $CPU -g 240 -pass 1 -f webm -threads $CPU /dev/null && + ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 0 -crf $Q -c:a copy -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $CPU -pass 2 -g 240 -threads $CPU "$2" +#+end_src + +Other considerations: +- We might want to tweak the time before keyframes (~-g~). + *** TODO Figure out workflow for handling submitted prerecs We need time after the prerecs get submitted to: - convert the videos and check that they've been reencoded properly by watching the re-encoded ones all the way to the end |