我是Python和Flask的新手。
我正在尝试运行一个esay ffmpeg命令,该命令应该创建一个持续时间为{name}.mp4.meta
的文件,所以我这样做了:
from flask import Flask
from flask import request
from flask import jsonify
from flask import make_response
import sys
import subprocess
app = Flask(__name__)
root_folder = "~/myfolder/"
@app.errorhandler(404)
def not_found(error):
return make_response(jsonify({'error': 'Not found'}), 404)
@app.route('/jolly/1.0/meta/<path:video>')
def jolly_metadata(video):
#video = request.form.get("video")
cmd = 'ffprobe -i '+root_folder+video+' -show_entries format=duration -sexagesimal -v quiet -print_format json > '+root_folder+video+'.meta'
dati = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, universal_newlines=True).communicate()
return "ok"+dati[0]
这将不返回错误,不输出并且不创建文件。如果我在外壳程序(以及Flask Shell程序)中运行相同的命令,则一切正常。
我想从POST请求中获得video
的名字,但首先我需要使它工作。