Преобразование файлов mkv в mp4 с помощью ffmpeg-python

#python-3.x #ffmpeg #converters #file-conversion

#python-3.x #ffmpeg #конвертеры #преобразование файлов

Вопрос:

У меня много файлов .mkv, которые я пытаюсь конвертировать в .mp4, поэтому я решил попробовать запрограммировать решение на python. Через несколько часов, пытаясь выяснить, как скопировать и вложенные папки, я отказался от этого и решил придерживаться преобразования отдельных вложенных папок, а затем скопировать их в другой каталог.

Я создал простой скрипт, который должен конвертировать файлы .mkv, находящиеся в той же папке, что и скрипт. Тем не менее, я продолжаю получать эту ошибку:

Ошибка FileNotFoundError: [Ошибка 2] Системе не удается найти указанный файл

Вот мой код:

 import os
import ffmpeg

start_dir = os.getcwd()

def convert_to_mp4(mkv_file):
    no_extension = str(os.path.splitext(mkv_file))
    with_mp4 = no_extension   ".mp4"
    ffmpeg.input(mkv_file).output(with_mp4).run()
    print("Finished converting {}".format(no_extension))

for path, folder, files in os.walk(start_dir):
    for file in files:
        if file.endswith('.mkv'):
            print("Found file: %s" % file)
            convert_to_mp4(file)
        else:
            pass

  

Ответ №1:

Ну, ответ всегда проще, чем вы ожидаете.

Дело дошло до этого:

 def convert_to_mp4(mkv_file):
    name, ext = os.path.splitext(mkv_file)
    out_name = name   ".mp4"
    ffmpeg.input(mkv_file).output(out_name).run()
    print("Finished converting {}".format(mkv_file))

for path, folder, files in os.walk(start_dir):
    for file in files:
        if file.endswith('.mkv'):
            print("Found file: %s" % file)
            convert_to_mp4(os.path.join(start_dir, file))
        else:
            pass
  

Убедитесь, что ffmpeg.exe находится в том же каталоге, что и скрипт.

Комментарии:

1. и убедитесь, что вы устанавливаете с помощью этого «pip install ffmpeg-python» вместо «pip install ffmpeg»