| 1 | #!/bin/bash
|
|---|
| 2 |
|
|---|
| 3 | renice 10 $$
|
|---|
| 4 |
|
|---|
| 5 | rate=$2
|
|---|
| 6 | maxrate=$3
|
|---|
| 7 | bufsize=`expr $maxrate / 4`
|
|---|
| 8 |
|
|---|
| 9 | # bufsize = maxrate * 3 / fps, according to https://trac.handbrake.fr/wiki/VBVRateControl
|
|---|
| 10 | ffmpeg -i "$1" \
|
|---|
| 11 | -map 0:1 -vcodec libx264 -profile:v high -level:v 4.0 \
|
|---|
| 12 | -vf pullup,fps=24000/1001 \
|
|---|
| 13 | -b:v "${rate}k" -maxrate "${maxrate}k" -bufsize "${bufsize}k" \
|
|---|
| 14 | -dc 10 -qmin 1 -lmin '1*QP2LAMBDA' -g 300 -pass 1 -threads 8 \
|
|---|
| 15 | -map 0:2 -acodec copy \
|
|---|
| 16 | -passlogfile passlog$$ /tmp/makeh264$$.mkv
|
|---|
| 17 | rm -f /tmp/makeh264$$.mkv
|
|---|
| 18 |
|
|---|
| 19 | ffmpeg -i "$1" \
|
|---|
| 20 | -map 0:1 -vcodec libx264 -profile:v high -level:v 4.0 \
|
|---|
| 21 | -vf pullup,fps=24000/1001 \
|
|---|
| 22 | -b:v "${rate}k" -maxrate "${maxrate}k" -bufsize "${bufsize}k" \
|
|---|
| 23 | -dc 10 -qmin 1 -lmin '1*QP2LAMBDA' -g 300 -pass 2 -threads 8 \
|
|---|
| 24 | -map 0:2 -acodec copy \
|
|---|
| 25 | -passlogfile passlog$$ "$4"
|
|---|
| 26 | rm -f passlog$$-0.*
|
|---|