forked from rDrama/rDrama
catch ffmpeg timeout for making poster
parent
e240c743ec
commit
feec6740d1
|
@ -649,14 +649,18 @@ def submit_post(v:User, sub=None):
|
||||||
elif file.content_type.startswith('video/'):
|
elif file.content_type.startswith('video/'):
|
||||||
p.url = process_video(file, v)
|
p.url = process_video(file, v)
|
||||||
name = f'/images/{time.time()}'.replace('.','') + '.webp'
|
name = f'/images/{time.time()}'.replace('.','') + '.webp'
|
||||||
subprocess.run(['ffmpeg', '-y', '-loglevel', 'warning',
|
try:
|
||||||
'-i', p.url, '-vf', "scale='iw':-2",
|
subprocess.run(['ffmpeg', '-y', '-loglevel', 'warning',
|
||||||
'-q:v', '3', '-frames:v', '1', name], check=True, timeout=SUBPROCESS_TIMEOUT_DURATION)
|
'-i', p.url, '-vf', "scale='iw':-2",
|
||||||
p.posterurl = name
|
'-q:v', '3', '-frames:v', '1', name], check=True, timeout=SUBPROCESS_TIMEOUT_DURATION)
|
||||||
|
except:
|
||||||
name2 = name.replace('.webp', 'r.webp')
|
if os.path.isfile(name):
|
||||||
copyfile(name, name2)
|
os.remove(name)
|
||||||
p.thumburl = process_image(name2, v, resize=99)
|
else:
|
||||||
|
p.posterurl = name
|
||||||
|
name2 = name.replace('.webp', 'r.webp')
|
||||||
|
copyfile(name, name2)
|
||||||
|
p.thumburl = process_image(name2, v, resize=99)
|
||||||
elif file.content_type.startswith('audio/'):
|
elif file.content_type.startswith('audio/'):
|
||||||
p.url = process_audio(file, v)
|
p.url = process_audio(file, v)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue