【发布时间】:2019-07-31 10:03:09
【问题描述】:
问题
我正在尝试找到一种方法来从 mp4 视频文件中提取音频 wav 文件,该文件由网络用户使用 Django 使用ffmpeg 上传。
如果我发现要提取音频,那么我应该将它保存在我的项目中的哪个位置?
- 我尝试使用“Django-ffmpeg”,但没有转换并卡在“等待转换”消息中。
-
然后我尝试了:
import subprocess subprocess.call('ffmpeg -i filename.mp4 filename.wav')
错误
脚本
def validate_file_extension(值): 导入操作系统 从 django.core.exceptions 导入 ValidationError ext = os.path.splitext(value.name)1 # [0] 返回路径+文件名 filename = os.path.splitext(value.name)1 # [0] 返回路径+文件名 valid_extensions = ['.mp4'] 如果在 valid_extensions 中没有 ext.lower(): raise ValidationError(u'不支持的文件扩展名。') 别的: 导入子流程 subprocess.call('ffmpeg -i filename.mp4 filename.wav')
【问题讨论】:
-
使用可执行文件的完整路径
-
@szatmary 如果您一步一步指导如何使用 ffmpeg 命令来处理由网络用户以 mp4 格式上传的可变文件名,我们想从中提取 wav 音频文件。
-
@szatmary 使用 "inFile = videofile outFile = videofile[:-3] + "wav" cmd = "ffmpeg -i {} {}".format(inFile, outFile) os.popen(cmd )”它给出一个错误“'FieldFile'对象不可下标”。你知道吗?
-
这行代码的错误“outFile = videofile[:-3] + "wav" ".
-
我只是用这个 "outFile = os.path.splitext(value.name)[0] + '.wav' " 错误替换 "outFile = videofile[:-3] + "wav" "解决了。
标签: python django video ffmpeg