gpt4 book ai didi

python - 在 django 中使用 FFMPEG 在网络上上传后从视频中提取 WAV 音频文件

转载 作者:行者123 更新时间:2023-12-04 22:50:19 24 4
gpt4 key购买 nike

问题

我正在尝试找到一种方法来提取音频 wav 来自 的文件mp4 网络用户使用 ffmpeg 上传的视频文件使用 Django。

如果我会找到提取音频,那么我应该将它保存在我的项目中的哪里?

  • 我用“Django-ffmpeg”尝试过,但没有转换并且卡在“等待转换”消息中。
  • 然后我尝试了:
    import subprocess

    subprocess.call('ffmpeg -i filename.mp4 filename.wav')

  • 错误

    Error

    脚本

    def validate_file_extension(value): import os from django.core.exceptions import ValidationError ext = os.path.splitext(value.name)1 # [0] returns path+filename filename = os.path.splitext(value.name)1 # [0] returns path+filename valid_extensions = ['.mp4'] if not ext.lower() in valid_extensions: raise ValidationError(u'Unsupported file extension.') else: import subprocess subprocess.call('ffmpeg -i filename.mp4 filename.wav')

    最佳答案

    解决方案:
    - 您可以在 Django 中以这种方式提取 wav 音频文件:

    def extract_audio(videofile,channels=1, rate=16000):

    your_media_root = settings.MEDIA_ROOT
    path_to_user_folder = your_media_root + videofile.name

    inFile = path_to_user_folder

    temp = tempfile.NamedTemporaryFile(suffix='.wav', delete=False)
    command = ["ffmpeg", "-y", "-i", inFile,
    "-ac", str(channels), "-ar", str(rate),
    "-loglevel", "error", temp.name]
    subprocess.check_output(command)
    print(temp.name)
    return temp.name
  • 其次使用“import tempfile”库临时存储提取的文件。
  • 关于python - 在 django 中使用 FFMPEG 在网络上上传后从视频中提取 WAV 音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55079016/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com