第一你需要下载Flask、moviepy这个库来完成我们下面的东西废话不多说直接上代码
创建一个test.py这个文件夹
from flask import Flask, render_template, request, send_from_directory
from moviepy.editor import *
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads/'
@app.route("/")
def index():
return render_template('index.html')
@app.route("/upload", methods=['POST'])
def upload_video():
if request.method == 'POST':
video = request.files['video']
video_save_path = os.path.join(app.config['UPLOAD_FOLDER'], video.filename)
video.save(video_save_path)
# 分离音频并移除原始视频中的声音和背景音乐
video_clip = VideoFileClip(video_save_path)
audio = video_clip.audio
audio_save_path = os.path.join(app.config['UPLOAD_FOLDER'], 'audio_' + video.filename.split('.')[0] + '.mp3')
audio.write_audiofile(audio_save_path)
video_without_audio = video_clip.without_audio()
video_without_audio_save_path = os.path.join(app.config['UPLOAD_FOLDER'], 'video_without_audio_' + video.filename)
video_without_audio.write_videofile(video_without_audio_save_path)
return {
'audio_url': '/uploads/audio_' + video.filename.split('.')[0] + '.mp3',
'video_without_audio_url': '/uploads/video_without_audio_' + video.filename
}
@app.route('/uploads/<filename>')
def uploaded_file(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
if __name__ == "__main__":
app.run(host='127.0.0.1',port=32140,debug=True)
然后再下面写一个index.html
<h1>Upload your video</h1>
<form action="http://127.0.0.1:32140/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="video" accept="video/*">
<input type="submit" value="Upload">
</form>
这样基本上就没有问题了,你按照上面的方法一步下来基本上是没有问题的