Django + apache + moviepy - Ошибка MoviePy: FFMPEG столкнулся со следующей ошибкой при записи файла
Я пытаюсь извлечь звук из видео, загруженного с помощью moviepy. Код хорошо работает во время разработки, но я продолжаю получать ошибку после развертывания приложения django.
def extract_audio(object_id): """Эта функция извлекает аудио из видео"""" # Получить объект translator_object = Translator.objects.get(pk=object_id) old_audio_file_path = '' if translator_object.source_audio: old_audio_file_path = translator_object.source_audio.path
# raise exceptions
if not translator_object:
raise Exception("Object not found")
if not translator_object.source_video:
raise Exception(
"Video file not available, try again!")
if not os.path.isfile(translator_object.source_video.path):
raise Exception(
"Video file not available, try again!")
video_clip = VideoFileClip(translator_object.source_video.path)
new_audio_file_path = str(uuid4())+'.wav'
video_clip.audio.write_audiofile(new_audio_file_path)
translator_object.source_audio = File(open(new_audio_file_path, "rb"))
translator_object.save()
try:
os.unlink(new_audio_file_path)
if os.path.isfile(old_audio_file_path):
os.unlink(old_audio_file_path)
except:
print('Deleting error..')
error:
OSError at /admin/translator/translator/
[Errno 32] Сломанная труба
Ошибка MoviePy: FFMPEG столкнулся со следующей ошибкой при записи файла 162f5850-943b-483b-b97d-2440cc84a2ef.wav:
b'162f5850-943b-483b-b97d-2440cc84a2ef.wav: Permission denied\n'
Если это поможет, убедитесь, что вы используете последнюю версию FFMPEG (версии в репозиториях Ubuntu/Debian являются устаревшими).
Метод запроса: POST
URL запроса: https://felix-projects.eastus.cloudapp.azure.com/admin/translator/translator/.
Версия Django: 3.2.10
Тип исключения: OSError
Значение исключения:
[Errno 32] Сломанная труба
Ошибка MoviePy: FFMPEG столкнулся со следующей ошибкой при записи файла 162f5850-943b-483b-b97d-2440cc84a2ef.wav:
b'162f5850-943b-483b-b97d-2440cc84a2ef.wav: Permission denied\n'
Если это поможет, убедитесь, что вы используете последнюю версию FFMPEG (версии в репозиториях Ubuntu/Debian устарели). Расположение исключения: /home/felix/ai-video-translator/venv/lib/python3.8/site-packages/moviepy/audio/io/ffmpeg_audiowriter.py, строка 117, in write_frames Исполняемый файл Python: /home/felix/ai-video-translator/venv/bin/python Версия Python: 3.8.10