Всем привет, у меня комплексный вопрос. Имеется следующий код
driver = webdriver.Chrome(executable_path=r"C:\Users\...\chromedriver")
driver.get("www.google.com/1")
print(driver.title)
driver.maximize_window()
driver.find_element_by_css_selector("Search").click()
P = subprocess.Popen("ffmpeg -f gdigrab -framerate ntsc -video_size 1920x1080 -i desktop -f dshow -i audio=""@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{9C18FEC6-11C8-4EA9-B1F1-0BD9A491C5F5}"" -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -t 00:00:05 Google1.mp4", text=True, shell=True)
P.wait()
P = subprocess.Popen("ffmpeg -i Google1.mp4 -vn -acodec copy Google1.aac", text=True, shell=True)
P.wait()
P = subprocess.Popen("ffmpeg -i Google1.mp4 -vf fps=1 Google1%d.png", text=True, shell=True)
P.wait()
driver.quit()
filename = os.listdir(os.getcwd())
frames=['.jpeg','.jpg','.svg','.png','.PNG']
framesLocation= "Frames"
for file in filename:
if os.path.splitext(file)[1] in frames:
if(path.exists(framesLocation)):
shutil.move(file,framesLocation)
else:
os.mkdir(framesLocation)
shutil.move(file,framesLocation)
Цель кода такая-
1. Зайти на google1
2. Снять видео при помощи ffmpeg
3. Отделить аудио
4. Разбить на кадры
5. Кадры закинуть в отдельную папку
Суть вопроса, как не перекопируя заставить код:
Научить скрипт выбирать google1, google2, google3 откуда либо, именно сам линк (их будет очень много)
Переименовывать каждый следующий файл в соответствии с линком, для google1 такой, для google2 такой и т.д.
Раскидывать фреймы в соответствующую папку, не просто Frames, а Google1-> Frames, Google2-> Frames
Для единого кейса это работает, как сделать большое кол-во кейсов без переписывания кода 100 раз (очень много кейсов будет) и чтобы имена генерировались в соответствием с кейсом.