rssViedos mostly
This commit is contained in:
parent
ceb1e40964
commit
709239dfca
17 changed files with 479 additions and 111 deletions
55
config/scripts/videoQuota
Executable file
55
config/scripts/videoQuota
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import logging
|
||||
|
||||
import coloredlogs
|
||||
|
||||
coloredlogs.install(level="DEBUG", fmt="%(levelname)s %(message)s")
|
||||
log = logging.getLogger()
|
||||
|
||||
|
||||
def duration_file(path: str) -> float:
|
||||
cmd = [
|
||||
"ffprobe",
|
||||
"-v",
|
||||
"error",
|
||||
"-show_entries",
|
||||
"format=duration",
|
||||
"-of",
|
||||
"default=noprint_wrappers=1:nokey=1",
|
||||
path,
|
||||
]
|
||||
run = subprocess.run(cmd, stdout=subprocess.PIPE, check=True)
|
||||
ret = run.stdout.decode().strip()
|
||||
return float(ret)
|
||||
|
||||
|
||||
# Constants
|
||||
audio_br_bi = 128000
|
||||
|
||||
# TODO Arguments if you feel like it
|
||||
quota_by = int(sys.argv[1])
|
||||
in_file = sys.argv[2]
|
||||
out_file = sys.argv[3]
|
||||
|
||||
quota_bi = quota_by * 8
|
||||
duration = duration_file(in_file)
|
||||
tot_br_bi = quota_bi / duration
|
||||
video_br_bi = int(tot_br_bi - audio_br_bi)
|
||||
assert video_br_bi > 0, "Not even enough space for audio"
|
||||
|
||||
cmd = [
|
||||
"ffmpeg",
|
||||
"-i",
|
||||
in_file,
|
||||
"-b:v",
|
||||
str(video_br_bi),
|
||||
"-b:a",
|
||||
str(audio_br_bi),
|
||||
out_file,
|
||||
]
|
||||
|
||||
subprocess.run(cmd, check=True)
|
Loading…
Add table
Add a link
Reference in a new issue