我正在尝试使用服务器上的ffmpeg
进行视频裁剪,一旦用户上传的视频文件被保存,我就会在其上运行ffmpeg
命令来裁剪视频并进一步替换使用mv
命令上传带有裁剪文件的文件。虽然这段代码在manage.py
控制台中逐步运行时效果很好,但上传的文件在测试时不会被裁剪。
new_video.save()
url=new_video.video_file.url
real_path = "/home/chanceapp/webapps/chanceapp/chanceapp"+url
fake_crop_path = "/home/chanceapp/webapps/chanceapp/chanceapp/fake1"+url
rotate_crop = "ffmpeg -i %s -vf "%(real_path)+r'"transpose=2 , crop=480:480:0:0" '+\
"-vcodec libx264 -strict -2 -crf 18 %s"%(fake_crop_path)
move_cropped = "mv"+" %s"%(fake_crop_path)+" %s"%(real_path)
commands = [rotate_crop,move_cropped]
for command in commands:
subprocess.call(command,shell=True )
三江源。
答案 0 :(得分:0)
您应该更多地调试它:
from subprocess import Popen, PIPE
for command in commands:
result = Popen(command, shell=True, stdout=PIPE).stdout.read()
if len(result) > 0:
raise Exception(result)
是否引发任何异常?