0

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 ) 

ありがとうございました。

4

1 に答える 1

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)

例外は発生しますか?

于 2013-09-28T15:17:53.253 に答える