Compare commits
2 commits
31b98d0707
...
7e8f3c4e50
| Author | SHA1 | Date | |
|---|---|---|---|
| 7e8f3c4e50 | |||
| bc4e715ce4 |
2 changed files with 31 additions and 11 deletions
|
|
@ -308,6 +308,7 @@ def stream(video, target, profile, info, audio_track=0, flags={}):
|
|||
cmds = []
|
||||
|
||||
base = [settings.FFMPEG,
|
||||
'-hide_banner',
|
||||
'-nostats', '-loglevel', 'error',
|
||||
'-y', '-i', video, '-threads', '4', '-map_metadata', '-1', '-sn']
|
||||
|
||||
|
|
@ -413,7 +414,9 @@ def frame(video, frame, position, height=128, redo=False, info=None):
|
|||
|
||||
def ffmpeg_frame_cmd(video, frame, position, height=128):
|
||||
cmd = [
|
||||
settings.FFMPEG, '-y',
|
||||
settings.FFMPEG,
|
||||
'-hide_banner',
|
||||
'-y',
|
||||
'-ss', str(position),
|
||||
'-i', video,
|
||||
'-an', '-frames:v', '1',
|
||||
|
|
@ -696,6 +699,7 @@ def chop(video, start, end, subtitles=None, dest=None, encode=False):
|
|||
]
|
||||
cmd = [
|
||||
settings.FFMPEG,
|
||||
'-hide_banner',
|
||||
'-y',
|
||||
'-i', video,
|
||||
'-ss', '%.3f' % start,
|
||||
|
|
@ -721,7 +725,11 @@ def chop(video, start, end, subtitles=None, dest=None, encode=False):
|
|||
return None
|
||||
|
||||
def has_faststart(path):
|
||||
cmd = [settings.FFPROBE, '-v', 'trace', '-i', path]
|
||||
cmd = [
|
||||
settings.FFPROBE,
|
||||
'-hide_banner',
|
||||
'-v', 'trace', '-i', path
|
||||
]
|
||||
p = subprocess.Popen(cmd, stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.STDOUT,
|
||||
|
|
@ -746,6 +754,7 @@ def remux_stream(src, dst):
|
|||
video = []
|
||||
cmd = [
|
||||
settings.FFMPEG,
|
||||
'-hide_banner',
|
||||
'-nostats', '-loglevel', 'error',
|
||||
'-i', src,
|
||||
'-map_metadata', '-1', '-sn',
|
||||
|
|
@ -768,7 +777,11 @@ def remux_stream(src, dst):
|
|||
|
||||
|
||||
def ffprobe(path, *args):
|
||||
cmd = [settings.FFPROBE, '-loglevel', 'error', '-print_format', 'json', '-i', path] + list(args)
|
||||
cmd = [
|
||||
settings.FFPROBE,
|
||||
'-hide_banner',
|
||||
'-loglevel', 'error', '-print_format', 'json', '-i', path
|
||||
] + list(args)
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
|
||||
stdout, stderr = p.communicate()
|
||||
return json.loads(stdout.decode())
|
||||
|
|
@ -816,7 +829,11 @@ def extract_subtitles(path, language=None):
|
|||
extra = ['-map', '0:%s' % track[0]['index']]
|
||||
else:
|
||||
raise Exception("unknown language: %s" % language)
|
||||
cmd = ['ffmpeg', '-loglevel', 'error', '-i', path] + extra + ['-f', 'srt', '-']
|
||||
cmd = [
|
||||
settings.FFMPEG,
|
||||
'-hide_banner',
|
||||
'-loglevel', 'error', '-i', path
|
||||
] + extra + ['-f', 'srt', '-']
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
|
||||
stdout, stderr = p.communicate()
|
||||
return ox.srt.loads(stdout.decode())
|
||||
|
|
|
|||
|
|
@ -150,14 +150,17 @@ def extract_clip(public_id, in_, out, resolution, format, track=None):
|
|||
def clear_cache(days=60):
|
||||
import subprocess
|
||||
path = os.path.join(settings.MEDIA_ROOT, 'media')
|
||||
cmd = ['find', path, '-iregex', '.*/frames/.*', '-atime', '+%s' % days, '-type', 'f', '-exec', 'rm', '{}', ';']
|
||||
subprocess.check_output(cmd)
|
||||
path = os.path.join(settings.MEDIA_ROOT, 'items')
|
||||
cmd = ['find', path, '-iregex', '.*/cache/.*', '-atime', '+%s' % days, '-type', 'f', '-exec', 'rm', '{}', ';']
|
||||
subprocess.check_output(cmd)
|
||||
if os.path.exists(path):
|
||||
cmd = ['find', path, '-iregex', '.*/frames/.*', '-atime', '+%s' % days, '-type', 'f', '-exec', 'rm', '{}', ';']
|
||||
subprocess.check_output(cmd)
|
||||
if os.path.exists(path):
|
||||
path = os.path.join(settings.MEDIA_ROOT, 'items')
|
||||
cmd = ['find', path, '-iregex', '.*/cache/.*', '-atime', '+%s' % days, '-type', 'f', '-exec', 'rm', '{}', ';']
|
||||
subprocess.check_output(cmd)
|
||||
path = settings.MEDIA_ROOT
|
||||
cmd = ['find', path, '-type', 'd', '-size', '0', '-prune', '-exec', 'rmdir', '{}', ';']
|
||||
subprocess.check_output(cmd)
|
||||
if os.path.exists(path):
|
||||
cmd = ['find', path, '-type', 'd', '-size', '0', '-prune', '-exec', 'rmdir', '{}', ';']
|
||||
subprocess.check_output(cmd)
|
||||
|
||||
|
||||
@app.task(ignore_results=True, queue='default')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue