1
Fork 0
mirror of https://github.com/Steffo99/bbbdl.git synced 2024-11-25 17:14:21 +00:00

🧹 Apply PyCharm's PEP8 autoformatter

This commit is contained in:
Steffo 2020-10-11 15:30:31 +02:00
parent 4880902cc3
commit 970557d720

View file

@ -2,19 +2,18 @@ import os
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
import urllib import urllib
# Base link to the lessons page
#Base link to the lessons page
edunovaLink = "https://davy04.edunova.it/presentation/" edunovaLink = "https://davy04.edunova.it/presentation/"
#Relative path to the slides video # Relative path to the slides video
videoSuffix = "/deskshare/deskshare.webm" videoSuffix = "/deskshare/deskshare.webm"
#Relative path to the presentation audio # Relative path to the presentation audio
audioSuffix = "/video/webcams.mp4" audioSuffix = "/video/webcams.mp4"
#slides = "https://davy04.edunova.it/presentation/17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1601024050226/shapes.svg" # slides = "https://davy04.edunova.it/presentation/17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1601024050226/shapes.svg"
os.makedirs("VideoLezioni", exist_ok=True) os.makedirs("VideoLezioni", exist_ok=True)
os.chdir("VideoLezioni") os.chdir("VideoLezioni")
#Dictionary containing the id of the saved lessons # Dictionary containing the id of the saved lessons
meetingsID = { meetingsID = {
'021020': '17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1601628738707', '021020': '17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1601628738707',
'290920': '17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1601380547311', '290920': '17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1601380547311',
@ -23,14 +22,12 @@ meetingsID = {
'091020': '17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1602232967548', '091020': '17d59e4eb742c498e605406fd441c1a2d7eb4bf0-1602232967548',
} }
for (date, meetId) in meetingsID.items(): for (date, meetId) in meetingsID.items():
if(os.path.exists(f"Gestione{date}joinedWithSlide.mp4")): if os.path.exists(f"Gestione{date}joinedWithSlide.mp4"):
print("Il video e' gia' stato scaricato") print("Il video e' gia' stato scaricato")
continue continue
#Assemblo il comando ffmpeg con i riferimenti web a video e audio della presentazione con id {meetId} # Assemblo il comando ffmpeg con i riferimenti web a video e audio della presentazione con id {meetId}
downloadAndJoin = f"ffmpeg -i {edunovaLink}{meetId}{videoSuffix} -i {edunovaLink}{meetId}{audioSuffix} -map 0:v -map 1:a -c:v copy -shortest Gestione{date}joined.mp4" downloadAndJoin = f"ffmpeg -i {edunovaLink}{meetId}{videoSuffix} -i {edunovaLink}{meetId}{audioSuffix} -map 0:v -map 1:a -c:v copy -shortest Gestione{date}joined.mp4"
os.system(downloadAndJoin) os.system(downloadAndJoin)
svgSlide = urllib.request.urlopen(f"{edunovaLink}{meetId}/shapes.svg").read() svgSlide = urllib.request.urlopen(f"{edunovaLink}{meetId}/shapes.svg").read()
@ -42,12 +39,12 @@ for (date, meetId) in meetingsID.items():
start = img.get('in') start = img.get('in')
end = img.get('out') end = img.get('out')
imgLink = img.get('xlink:href') imgLink = img.get('xlink:href')
if(not imgLink.endswith("deskshare.png")): if not imgLink.endswith("deskshare.png"):
usefulImg.append([float(start), float(end), imgLink]) usefulImg.append([float(start), float(end), imgLink])
imgSorted = sorted(usefulImg) imgSorted = sorted(usefulImg)
print(imgSorted) print(imgSorted)
if(len(imgSorted)==0): if len(imgSorted) == 0:
os.rename(f"Gestione{date}joined.mp4", f"Gestione{date}joinedWithSlide.mp4") os.rename(f"Gestione{date}joined.mp4", f"Gestione{date}joinedWithSlide.mp4")
continue continue
@ -59,25 +56,25 @@ for (date, meetId) in meetingsID.items():
imgLinkList += f"-i \"{slideBase}{l[2]}\" " imgLinkList += f"-i \"{slideBase}{l[2]}\" "
for i in range(len(imgSorted)): for i in range(len(imgSorted)):
imgScaleList += f"[{i+1}:v] scale=1280:720 [ol{i}]; " imgScaleList += f"[{i + 1}:v] scale=1280:720 [ol{i}]; "
imgOverlayList = f"[0:v] [ol0] overlay=0:0:enable='between(t,{int(imgSorted[0][0])},{int(imgSorted[0][1])})' [olo0]; " imgOverlayList = f"[0:v] [ol0] overlay=0:0:enable='between(t,{int(imgSorted[0][0])},{int(imgSorted[0][1])})' [olo0]; "
for i in range(1, len(imgSorted)-1): for i in range(1, len(imgSorted) - 1):
imgOverlayList += f"[olo{i-1}] [ol{i}] overlay=0:0:enable='between(t,{int(imgSorted[i][0])},{int(imgSorted[i][1])})' [olo{i}]; " imgOverlayList += f"[olo{i - 1}] [ol{i}] overlay=0:0:enable='between(t,{int(imgSorted[i][0])},{int(imgSorted[i][1])})' [olo{i}]; "
imgOverlayList += f"[olo{len(imgSorted)-1-1}] [ol{len(imgSorted)-1}] overlay=0:0:enable='between(t,{int(imgSorted[len(imgSorted)-1][0])},{int(imgSorted[len(imgSorted)-1][1])})'" imgOverlayList += f"[olo{len(imgSorted) - 1 - 1}] [ol{len(imgSorted) - 1}] overlay=0:0:enable='between(t,{int(imgSorted[len(imgSorted) - 1][0])},{int(imgSorted[len(imgSorted) - 1][1])})'"
#Informazioni di debug sulle immagini e sui momenti nei quali inserirle nel video # Informazioni di debug sulle immagini e sui momenti nei quali inserirle nel video
print(imgLinkList) print(imgLinkList)
print(imgScaleList) print(imgScaleList)
print(imgOverlayList) print(imgOverlayList)
#Comando di esempio di utilizzo di ffmpeg per incollare diverse immagini in diversi momenti su un video # Comando di esempio di utilizzo di ffmpeg per incollare diverse immagini in diversi momenti su un video
#ffmpeg -i Untitled.mp4 -i slide-1.png -i slide-2.png -filter_complex "[1:v] scale=640:480 [ol]; [2:v] scale=640:480 [ol2]; [0:v] [ol] overlay=0:0:enable='between(t,0,20)' [ol1]; [ol1] [ol2] overlay=0:0:enable='between(t, 30,40)'" -codec:a copy example_marked.mp4 # ffmpeg -i Untitled.mp4 -i slide-1.png -i slide-2.png -filter_complex "[1:v] scale=640:480 [ol]; [2:v] scale=640:480 [ol2]; [0:v] [ol] overlay=0:0:enable='between(t,0,20)' [ol1]; [ol1] [ol2] overlay=0:0:enable='between(t, 30,40)'" -codec:a copy example_marked.mp4
ffmpegCommand = f'ffmpeg -i Gestione{date}joined.mp4 {imgLinkList} -filter_complex "{imgScaleList}{imgOverlayList}" -codec:a copy Gestione{date}joinedWithSlide.mp4' ffmpegCommand = f'ffmpeg -i Gestione{date}joined.mp4 {imgLinkList} -filter_complex "{imgScaleList}{imgOverlayList}" -codec:a copy Gestione{date}joinedWithSlide.mp4'
os.system(ffmpegCommand) os.system(ffmpegCommand)
#Rimuovo il file intermedio senza slide # Rimuovo il file intermedio senza slide
os.remove(f"Gestione{date}joined.mp4") os.remove(f"Gestione{date}joined.mp4")