add framerate options
Former-commit-id: 340d6cf9e0212cdb596f95007249887f504005e9
This commit is contained in:
parent
b2d9f4f40b
commit
88dbfdc6d4
@ -30,7 +30,7 @@ struct SharedState {
|
||||
fn index() -> String {
|
||||
format!("Wecome to the AV1Master Server version {version}\n
|
||||
This currently requires a distro with CAP_SYS_USER_NS enabled and correct permissions
|
||||
curl -L {baseurl}/av1client > av1client && chmod +x ./av1client && ./av1client", version=VERSION)
|
||||
curl -L {baseurl}/av1client > av1client && chmod +x ./av1client && ./av1client", baseurl="https://av1.dodsorf.as", version=VERSION)
|
||||
}
|
||||
|
||||
#[get("/version")]
|
||||
|
@ -4,7 +4,7 @@ set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
base_url="https://av1.dodsorf.as"
|
||||
version="0.5.0"
|
||||
version="0.6.0"
|
||||
|
||||
while true; do
|
||||
sleep 30
|
||||
@ -88,20 +88,29 @@ while true; do
|
||||
elif [[ $pix_fmt = "I420" ]]; then
|
||||
ffpix="yuv420p"
|
||||
aompix="--i420"
|
||||
elif [[ $pix_fmt = I422 ]]; then
|
||||
elif [[ $pix_fmt = "I422" ]]; then
|
||||
ffpix="yuv422p"
|
||||
aompix="--i422"
|
||||
elif [[ $pix_fmt = I444 ]]; then
|
||||
elif [[ $pix_fmt = "I444" ]]; then
|
||||
ffpix="yuv444p"
|
||||
aompix="--i444"
|
||||
fi
|
||||
|
||||
fps=`echo $job | jq -r .description.options.fps`
|
||||
if [[ $fps = "null" ]]; then
|
||||
fpsoption=""
|
||||
else
|
||||
fpsrate=`echo $fps | jq -r '.[0]'`
|
||||
fpsscale=`echo $fps | jq -r '.[1]'`
|
||||
fpsoption="$fpsrate/$fpsscale"
|
||||
fi
|
||||
|
||||
two_pass=`echo $job | jq -r .description.options.two_pass`
|
||||
|
||||
if [[ $two_pass = true ]]; then
|
||||
set +e
|
||||
eval 'ffmpeg -nostats -hide_banner -loglevel warning \
|
||||
-i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt '$ffpix' -f yuv4mpegpipe - | aomenc - '$aompix' '$aomenco' \
|
||||
-i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt '$ffpix' -f yuv4mpegpipe - | aomenc - '$fpsoption' '$aompix' '$aomenco' \
|
||||
--pass=1 --passes=2 --fpf="'$input'.fpf" --webm -o "'$input'.out.webm"'
|
||||
|
||||
retval=$?
|
||||
@ -113,7 +122,7 @@ while true; do
|
||||
fi
|
||||
|
||||
eval 'ffmpeg -nostats -hide_banner -loglevel warning \
|
||||
-i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt '$ffpix' -f yuv4mpegpipe - | aomenc - '$aompix' '$aomenco' \
|
||||
-i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt '$ffpix' -f yuv4mpegpipe - | aomenc - '$fpsoption' '$aompix' '$aomenco' \
|
||||
--pass=2 --passes=2 --fpf="'$input'.fpf" --webm -o "'$input'.out.webm"'
|
||||
|
||||
retval=$?
|
||||
@ -131,7 +140,7 @@ while true; do
|
||||
else
|
||||
set +e
|
||||
eval 'ffmpeg -nostats -hide_banner -loglevel warning \
|
||||
-i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt '$ffpix' -f yuv4mpegpipe - | aomenc - '$aompix' '$aomenco' \
|
||||
-i "'$input'" '$ffmpego' -vf scale='$height':'$width' -pix_fmt '$ffpix' -f yuv4mpegpipe - | aomenc - '$fpsoption' '$aompix' '$aomenco' \
|
||||
--passes=1 --fpf="'$input'.fpf" --webm -o "'$input'.out.webm"'
|
||||
|
||||
retval=$?
|
||||
@ -166,6 +175,4 @@ while true; do
|
||||
echo "Upload finished, deleting result!"
|
||||
rm "$input".out.webm
|
||||
fi
|
||||
|
||||
|
||||
done
|
@ -47,7 +47,9 @@ pub struct EOptions {
|
||||
pub ffmpeg: String,
|
||||
pub aomenc: String,
|
||||
pub two_pass: bool,
|
||||
pub pix_fmt: EPixFmt
|
||||
pub pix_fmt: EPixFmt,
|
||||
#[serde(default)]
|
||||
pub fps: Option<(u16, u16)>
|
||||
}
|
||||
impl Default for EOptions {
|
||||
fn default() -> Self {
|
||||
@ -55,7 +57,8 @@ impl Default for EOptions {
|
||||
ffmpeg: String::default(),
|
||||
aomenc: "--lag-in-frames=25 --tile-columns=0 --tile-rows=0 --enable-fwd-kf=1 --bit-depth=10 --cpu-used=3 --cq-level=30 --end-usage=q".to_string(),
|
||||
two_pass: false,
|
||||
pix_fmt: EPixFmt::I422
|
||||
pix_fmt: EPixFmt::I422,
|
||||
fps: Option::None
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
test.sh
2
test.sh
@ -14,7 +14,7 @@ curl "$base_url"/add_job -X POST -H "Content-Type: application/json" -d \
|
||||
"file_url": "https://pomf.dodsorf.as/f/vz9dtl.mkv",
|
||||
"file_name": "014",
|
||||
"priority": 0,
|
||||
"length": 15,
|
||||
"length": 20,
|
||||
"resolution": [540, 960],
|
||||
"options": {
|
||||
"aomenc": "--lag-in-frames=25 --tile-columns=0 --tile-rows=0 --enable-fwd-kf=1 --bit-depth=10 --cpu-used=0 --end-usage=vbr --target-bitrate=60 --kf-min-dist=9999 --kf-max-dist=9999",
|
||||
|
Loading…
Reference in New Issue
Block a user