ffmpeg / python скрипт – действительно ли он что-нибудь делает?

Я скачал следующий скрипт – это не моя работа; он поставлялся с другим скриптом Python, который просматривает папку с видео игрового процесса Rocket League, выискивая моменты, когда был забит гол (с помощью tesseract-OCR), а затем записывает имя файла и кадр клипа в файл csv под названием «detect.csv» “.

Эта часть сработала, теперь я все понял! Это вторая часть, этот скрипт должен читать список файлов и номеров кадров «detect.csv», затем обрезать и создавать новые видеоклипы и выводить их в папку. Код выглядит так:

import ntpath
import os

detectedGoalList = []
f = open("detected.csv", "r")
for x in f:
    tup = x.replace(""[", "").replace("]"", "").split(", ")
    print(x)
    detectedGoalList.append([tup[0], tup[1]])


for dg in detectedGoalList:
    print(dg[0])
    input_file = ""{}"".format(dg[0].replace("'", ""))
    output_path = "../clips/" + ntpath.basename(dg[0]).replace("'", "").replace(
    ".mp4", "").replace("Rocket League®_", "").replace("Rocket League™_", "").replace("Rocket 
    League_", "") + ".clipped.mp4"
    start = (int(dg[1]) - int(30 * 10)) / 30
    if start < 0:
       start = 0
    end = (int(dg[1]) / 30) - 3
    duration = end - start

    os.system("ffmpeg -ss {} -i {} -t {} -c copy {}".format(start, input_file,
                                                        duration, output_path))

Скрипт запускается мгновенно и не возвращает ошибок. Он ничего не записывает в терминал. Новые клипы не выводятся. У меня есть 5 файлов mp4 в каталоге “клипов”, которые точно совпадают с файлом csv. Файл Detected.csv содержит следующее:

"['K:/Gameplay Videos/Rocket League/goals/clips\goal(2).mp4', 1750]"
"['K:/Gameplay Videos/Rocket League/goals/clips\goal(28).mp4', 1200]"
"['K:/Gameplay Videos/Rocket League/goals/clips\goal(3).mp4', 3350]"
"['K:/Gameplay Videos/Rocket League/goals/clips\goal(4).mp4', 3050]"
"['K:/Gameplay Videos/Rocket League/goals/clips\goal(5).mp4', 3500]"

Так что я почти уверен, что виновата последняя строка ffmpeg. Я понимаю базовый синтаксис командной строки ffmpeg, но когда он является частью кода Python и переменных, я просто не могу этого понять. Я часто вижу упоминание числа «30» – может быть, у парня, который это написал, в качестве источника были видео со скоростью 30 кадров в секунду (в конце концов, это были повторы Playstation), у меня есть видео со скоростью 60 кадров в секунду. Я безуспешно пытался изменить эти числа на 60.

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *