第一你需要下载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>

这样基本上就没有问题了,你按照上面的方法一步下来基本上是没有问题的

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐