В настоящее время я работаю с автоматическим скриптом Python для индексации и конвертации всех моих фильмов и эпизодов с помощью ffmpeg
. Я использую subprocess.call()
для запуска команды ffmpeg
и проверил эту команду с некоторыми фильмами. Как и ожидалось, большие h264
файлы были преобразованы в одну треть от того, что они имели.
Но теперь, когда я тестировал метод, я обнаружил, что конвертированный эпизод (около 400 МБ в h264) имеет более 1,6 ГБ в hevc. Я понятия не имею, почему новый файл будет гораздо больше в hevc.
Это мой код:
def convert(path):
outvid = path.strip(".mkv") + "h265.mkv"
cmd = ["ffmpeg", "-i", path, "-map", "0", "-map_metadata", "0", "-map_chapters", "0", "-c:v", "libx265",
"-c:a", "copy", "-c:s", "copy", "-preset", "ultrafast", "-x265-params", "lossless=1", outvid]
subprocess.call(cmd)
convert("/Volumes/2TB/Black Butler/Season 1/Black Butler S01E01.mkv")
У меня нет такого большого опыта ни с ffmpeg
, ни с subprocess
. Это один из моих первых больших проектов. Я надеюсь, что кто-то может сказать мне, в чем может быть проблема.
UPDATE
Проблема касается только небольших видеофайлов. Теперь я просто проверяю размер файла и пропускаю небольшие файлы. В любом случае это не имело бы большого значения.