From 3ae90b87c0a776fe1949dcf34807c8e8f25a9fc5 Mon Sep 17 00:00:00 2001 From: derpeter Date: Fri, 3 May 2024 11:53:27 +0200 Subject: [PATCH 01/21] added osmodevcon24 --- osmodevcon24/__init__.py | 148 +++ osmodevcon24/artwork/background.svg | 946 +++++++++++++++++ osmodevcon24/artwork/intro.svg | 1372 +++++++++++++++++++++++++ osmodevcon24/artwork/outro.svg | 1479 +++++++++++++++++++++++++++ osmodevcon24/artwork/pause.svg | 1208 ++++++++++++++++++++++ 5 files changed, 5153 insertions(+) create mode 100644 osmodevcon24/__init__.py create mode 100644 osmodevcon24/artwork/background.svg create mode 100644 osmodevcon24/artwork/intro.svg create mode 100644 osmodevcon24/artwork/outro.svg create mode 100644 osmodevcon24/artwork/pause.svg diff --git a/osmodevcon24/__init__.py b/osmodevcon24/__init__.py new file mode 100644 index 0000000..4264294 --- /dev/null +++ b/osmodevcon24/__init__.py @@ -0,0 +1,148 @@ +#!/usr/bin/python3 + +from renderlib import * +from schedulelib import * +from easing import * + +# URL to Schedule-XML +scheduleUrl = 'https://pretalx.sysmocom.de/osmodevcon2024/schedule/export/schedule.xml' + +def introFrames(args): + #fade in title + frames = 3*fps + for i in range(0, frames): + yield( + ('title', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ) + # fade in subtitle and names + frames = 1*fps + for i in range(0, frames): + yield( + ('title', 'style', 'opacity', 1), + ('subtitle', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ('personnames', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ) + #show whole image for 2 seconds + frames = 2*fps + for i in range(0, frames): + yield( + ('title', 'style', 'opacity', 1), + ('personnames', 'style', 'opacity', 1), + ('subtitle', 'style', 'opacity', 1), + ) + +def backgroundFrames(parameters): + frames = 5*fps + for i in range(0, frames): + yield( + ('logo', 'style', 'opacity', 1), + ) + +def outroFrames(args): + frames = 2*fps + for i in range(0, frames): + yield( + ('logo', 'style', 'opacity', 1), + ('sublogo', 'style', 'opacity', 1), + ('cclogo', 'style', 'opacity', 1), + ) + # fade out + frames = 3*fps + for i in range(0, frames): + yield( + ('logo', 'style', 'opacity', "%.4f" % easeInCubic(i, 1, -1, frames)), + ('sublogo', 'style', 'opacity', "%.4f" % easeInCubic(i, 1, -1, frames)), + ('cclogo', 'style', 'opacity', "%.4f" % easeInCubic(i, 1, -1, frames)), + ) + +def pauseFrames(args): + #fade in pause + frames = 4*fps + for i in range(0, frames): + yield( + ('pause', 'style', 'opacity', "%.4f" % easeInCubic(i, 0.2, 1, frames)), + ) + + # fade out + frames = 4*fps + for i in range(0, frames): + yield( + ('pause', 'style', 'opacity', "%.4f" % easeInCubic(i, 1, -0.8, frames)), + ) + +def debug(): + render('intro.svg', + '../intro.ts', + introFrames, + { + '$id': 7776, + '$title': 'Configuring + running GPRS/EDGE data services with OsmoPCU, OsmoSGSN and OpenGGSN', + '$subtitle': 'With some subtitle!', + '$personnames': 'Alexander Chemeris + Harald Welte' + } + ) + + render('outro.svg', + '../outro.ts', + outroFrames + ) + + render( + 'background.svg', + '../background.ts', + backgroundFrames + ) + + render('pause.svg', + '../pause.ts', + pauseFrames + ) + + +def tasks(queue, args, idlist, skiplist): + # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl): + if not (idlist==[]): + if 000000 in idlist: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + if int(event['id']) not in idlist: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + + # generate a task description and put them into the queue + queue.put(Rendertask( + infile = 'intro.svg', + outfile = str(event['id'])+".ts", + sequence = introFrames, + parameters = { + '$id': event['id'], + '$title': event['title'], + '$subtitle': event['subtitle'], + '$personnames': event['personnames'] + } + )) + + # place a task for the outro into the queue + if not "out" in skiplist: + queue.put(Rendertask( + infile = 'outro.svg', + outfile = 'outro.ts', + sequence = outroFrames + )) + + # place the pause-sequence into the queue + if not "pause" in skiplist: + queue.put(Rendertask( + infile = 'pause.svg', + outfile = 'pause.ts', + sequence = pauseFrames + )) + + # place the background-sequence into the queue + if not "bg" in skiplist: + queue.put(Rendertask( + infile = 'background.svg', + outfile = 'background.ts', + sequence = backgroundFrames + )) diff --git a/osmodevcon24/artwork/background.svg b/osmodevcon24/artwork/background.svg new file mode 100644 index 0000000..3a87e75 --- /dev/null +++ b/osmodevcon24/artwork/background.svg @@ -0,0 +1,946 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Pause Pause + o + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/osmodevcon24/artwork/intro.svg b/osmodevcon24/artwork/intro.svg new file mode 100644 index 0000000..2a8b797 --- /dev/null +++ b/osmodevcon24/artwork/intro.svg @@ -0,0 +1,1372 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + Pause Pause $title $personnames $subtitle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/osmodevcon24/artwork/outro.svg b/osmodevcon24/artwork/outro.svg new file mode 100644 index 0000000..1fbdc0e --- /dev/null +++ b/osmodevcon24/artwork/outro.svg @@ -0,0 +1,1479 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + Pause Pause + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/osmodevcon24/artwork/pause.svg b/osmodevcon24/artwork/pause.svg new file mode 100644 index 0000000..e8d1e7b --- /dev/null +++ b/osmodevcon24/artwork/pause.svg @@ -0,0 +1,1208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + Pause Pause + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 893c0d94e66d3a82c610f3bddf1c37ea5658276c Mon Sep 17 00:00:00 2001 From: Sophie Schiller Date: Thu, 15 Aug 2024 20:32:03 +0200 Subject: [PATCH 02/21] froscon2024: init --- .gitignore | 1 + froscon2024/Exo-Medium.ttf | Bin 0 -> 91596 bytes froscon2024/OpenSans-Regular.ttf | Bin 0 -> 217360 bytes froscon2024/config.ini | 39 + froscon2024/intro-background.svg | 3400 ++++++++++++++++++++++++++++++ make-ffmpeg-fade.py | 3 +- 6 files changed, 3442 insertions(+), 1 deletion(-) create mode 100644 froscon2024/Exo-Medium.ttf create mode 100644 froscon2024/OpenSans-Regular.ttf create mode 100644 froscon2024/config.ini create mode 100644 froscon2024/intro-background.svg diff --git a/.gitignore b/.gitignore index b5f2439..c563548 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ schedule.de.xml snapshot-*.png env .DS_Store +.python-version diff --git a/froscon2024/Exo-Medium.ttf b/froscon2024/Exo-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0bbe398f1d8b04a2d3918deddb78cd27e971ae68 GIT binary patch literal 91596 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 literal 0 HcmV?d00001 diff --git a/froscon2024/OpenSans-Regular.ttf b/froscon2024/OpenSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..db433349b7047f72f40072630c1bc110620bf09e GIT binary patch literal 217360 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 !}#gv~NV!5|5YF|kE)J0y^zWbk4>=%|6F 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 literal 0 HcmV?d00001 diff --git a/froscon2024/config.ini b/froscon2024/config.ini new file mode 100644 index 0000000..41c7fe6 --- /dev/null +++ b/froscon2024/config.ini @@ -0,0 +1,39 @@ +[default] +schedule = https://programm.froscon.org/2024/schedule.xml +template = intro-background.ts +alpha = false +prores = false +fontfile = true +inout = t + +[title] +in = 1 +out = 9.5 +fontfamily = +font = Exo-Medium.ttf +fontsize = 67 +fontcolor = #493fa0 +x = 230 +y = 650 + +[speaker] +in = 2 +out = 9 +fontfamily = +font = OpenSans-Regular.ttf +fontsize = 50 +fontcolor = #493fa0 +x = 230 +y = 950 + + +[text] +in = 0 +out = 0 +fontfamily = +font = OpenSans-Regular.ttf +fontsize = 0 +fontcolor = #ffffff +x = 0 +y = 0 +text = '' diff --git a/froscon2024/intro-background.svg b/froscon2024/intro-background.svg new file mode 100644 index 0000000..fcd4792 --- /dev/null +++ b/froscon2024/intro-background.svg @@ -0,0 +1,3400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ieghahphen1aejeegha9axahzuloh5phee1chietai4Mohje5quee1iemaehee8auxuhougho5xiecheithiepai3oo4ohf3Quaethohcei9Yoohaidakoh9chee7AevaeYaeS8pi1oereeyaimiwut2ahf9iubah7rah3eo9deishaejeirahgoog1eot9Phe8ZeiBisoom5Tha6vu7aevei6aicun7eirahxupae8tiox2giem1PaeTheengie +go9iqu3seet9maiphahg2eikiz0tawah3ooL0eu4Oowovaehoophaxot8ohpaiviep4iaraicheing1thiew9OhRaen6Aequoh1eesh8eijeyi5aehu3aehai7Wepipai8Fie4AiDeig8haeneng7jaeleaLohXaog8EeYeishomo6beeloo3phuw4soeDeegahx6Phaipahc8AeMai4la2siel6kaikohm5im5Baih3ooNg0pe0ep2ZaiCh0wot +aebohph7wongeihohP7urooveib3eiL5eifahph5yei2ses0hievahc3ieb9ujohTai8aiquahb2oochoa8seej5ooph2baileeghohp4pokahch5aec6Thaecu0Shothohceigh6wohkahng4aYahPui7tei7ooPaeQueikeeyien7eeshah2aeThi2giecahN3phoo1ruu8giiLaikah1meewiengiig6euw6XooSah1eiLeeZoozah5vaekue +Ixe5fae0aev0chaipo4quoi1ohw2aiviv0vietohqu7XoFei0eetohthoibeeph8waisahfeesas9lunoh6Aef1Dieghae4eesuoji1FahYoxic6Shiejee0zeiquaerei5peiWe0il5fei8AiBu3ielaitahkoishiecoo5keich0la1biesheghien4cuphaKiWam2ahboNg3mi3aifuDa6aezieTahzuoSahh8nahYooth1ier7ei7beechac +Eiw1eemaiFahjaetiev2otharei3ooDaeGhax9peiyu2baiqu1aobuw4aiquoeHu4wu0MeZ8aevipauk0Eir9cashae0Ath2waecau4ohthie9ooheedahf4Eepu1chohHieQu2cho3Wia2Ovue1ZaereiL4oing2chook8ahWilooreishuitechahb2aeSaewohTo7viexeimiem1chiechouquoh9mieze4tahpah2zaereey4WahkeeRae6r +chee6shuyoh4puvui1ahr4faishohs2AFahng9obeinooV6futaetoomeeN2wai6gaesae6quiepai5eeng6muKeu1Ee4re3IPhie3vo7pae3ohGh0heekohsoa6iayuuF2shuu8ahpuo6chee6ohth9quooQuaidoo8cha1ies8nei4ohs3eipou7ushohxex7eitho7feeBohz8Xaighaezothaif1weexaiwohth7egasae7voh0ue4eitha4 +phae6ye9VeiVeisohmei8neeHoh6toosh6iloo9aij7Uap7zoo1Ohnga5jahb9fahshil2rooquahreizoo4OovohthaiChiophae9ahgoh5daiH9ud1cieng5eish8Miviuthi6uejah9pesunai7eer2Eis7aetah1Huraimalaedooniebia4Zuot4oec4ohzahfeuxecae2MepheetaeT2ein4woh6EiNoojoozee6ahghahru6aa2shoogo +ko5Piquo3ho4phuujeequ8OhKoaleePhir9Kaiy4uaPh6tah7ciekooXua0peeSushieb0hu1lac5ohF8sai8ieK1jaefaey8eeng4aix3aiw6queepu7ceeka1Oob0zor6uviNgaenie4ohPh6xiewaicou2nair0eyae3te6shoi1uj3mohWuphahl2te5iebieKoos9ugheiv8dohn0ook4xeeze1am3EBeeDuixuf4wejit5eibexahng6yi +naphoteimiRee1ang9taetahng7OhZa9ithoh5peimos7wu8vaec4aehoos9Liet7feetah9cahxu5eiy9ker6aiphohvoed1zeCh6oohathooPiezor4oochahc8aeKeivoh4aiv6IeS4so7eesheeshaireenuphae7ievoch3phaiqu8apheewiem1Oa2ievaimiuTh9Aivoi9wi7soohiobaadookiegh8heph5deShohae8iekus4ahYei7 +yiel5AMikionaniefiedahnaequaih8WaiGooth1Aht2noof0chooJiefoNgaiquaV1chau6ekohxoghoo9ii3yu3eexai3Bo6ieteMulie1aegh5iegheel8Wahr5eejah1Zaima8ainieko0eo3Eiqu0yaemu1aeHauv4be5haipeethee2fei9neequohh0Weingae4xaek4cae8ungeecushei2ecei8oe4chie2quiiquoh1uciet2raeWa +cheegaiph5airooDeeXae7eife6egh2Aeb3ahBaakeengo7eeteit5pee9lae8quae4photh6AeTh9Aquoh8wequ6Viehiumi3cusaemoo8ahngoochunioKaeziev0iefoh7lahshieK4iw7AiCaehie3ju6oof7mah6LohGe6Eifai3aix1yeeTaiG9aeXe7oj9auzo0uY2aefodeereegiuB7JeicooXec1vahshupoo8ahhoV6iex2vaiVoa +aejaicaezaim5ahsh7neloobochahroosh5ith6shePhu6jae1raijahneexouR1oh7uobuj9Iesh7fohp0Kuughiechiweecieth4iaToongee7emutughie1duy6voechueL6li0eingia1eef0ohQu5ohhoo8ko6ezeijohF5sahCh3eeruquaepuNgoomahQu5Jeeth5jaimie1Paed1Aik1xahr4vohph6xohRiem6luadieghahphen1aejeegha9axahzuloh5phee1chietai4Mohje5quee1iemaehee8auxuhougho5xiecheithiepai3oo4ohf3Quaethohcei9Yoohaidakoh9chee7AevaeYaeS8pi1oereeyaimiwut2ahf9iubah7rah3eo9deishaejeirahgoog1eot9Phe8ZeiBisoom5Tha6vu7aevei6aicun7eirahxupae8tiox2giem1PaeTheengie +go9iqu3seet9maiphahg2eikiz0tawah3ooL0eu4Oowovaehoophaxot8ohpaiviep4iaraicheing1thiew9OhRaen6Aequoh1eesh8eijeyi5aehu3aehai7Wepipai8Fie4AiDeig8haeneng7jaeleaLohXaog8EeYeishomo6beeloo3phuw4soeDeegahx6Phaipahc8AeMai4la2siel6kaikohm5im5Baih3ooNg0pe0ep2ZaiCh0wot +aebohph7wongeihohP7urooveib3eiL5eifahph5yei2ses0hievahc3ieb9ujohTai8aiquahb2oochoa8seej5ooph2baileeghohp4pokahch5aec6Thaecu0Shothohceigh6wohkahng4aYahPui7tei7ooPaeQueikeeyien7eeshah2aeThi2giecahN3phoo1ruu8giiLaikah1meewiengiig6euw6XooSah1eiLeeZoozah5vaekue +Ixe5fae0aev0chaipo4quoi1ohw2aiviv0vietohqu7XoFei0eetohthoibeeph8waisahfeesas9lunoh6Aef1Dieghae4eesuoji1FahYoxic6Shiejee0zeiquaerei5peiWe0il5fei8AiBu3ielaitahkoishiecoo5keich0la1biesheghien4cuphaKiWam2ahboNg3mi3aifuDa6aezieTahzuoSahh8nahYooth1ier7ei7beechac +Eiw1eemaiFahjaetiev2otharei3ooDaeGhax9peiyu2baiqu1aobuw4aiquoeHu4wu0MeZ8aevipauk0Eir9cashae0Ath2waecau4ohthie9ooheedahf4Eepu1chohHieQu2cho3Wia2Ovue1ZaereiL4oing2chook8ahWilooreishuitechahb2aeSaewohTo7viexeimiem1chiechouquoh9mieze4tahpah2zaereey4WahkeeRae6r +chee6shuyoh4puvui1ahr4faishohs2AFahng9obeinooV6futaetoomeeN2wai6gaesae6quiepai5eeng6muKeu1Ee4re3IPhie3vo7pae3ohGh0heekohsoa6iayuuF2shuu8ahpuo6chee6ohth9quooQuaidoo8cha1ies8nei4ohs3eipou7ushohxex7eitho7feeBohz8Xaighaezothaif1weexaiwohth7egasae7voh0ue4eitha4 +phae6ye9VeiVeisohmei8neeHoh6toosh6iloo9aij7Uap7zoo1Ohnga5jahb9fahshil2rooquahreizoo4OovohthaiChiophae9ahgoh5daiH9ud1cieng5eish8Miviuthi6uejah9pesunai7eer2Eis7aetah1Huraimalaedooniebia4Zuot4oec4ohzahfeuxecae2MepheetaeT2ein4woh6EiNoojoozee6ahghahru6aa2shoogo +ko5Piquo3ho4phuujeequ8OhKoaleePhir9Kaiy4uaPh6tah7ciekooXua0peeSushieb0hu1lac5ohF8sai8ieK1jaefaey8eeng4aix3aiw6queepu7ceeka1Oob0zor6uviNgaenie4ohPh6xiewaicou2nair0eyae3te6shoi1uj3mohWuphahl2te5iebieKoos9ugheiv8dohn0ook4xeeze1am3EBeeDuixuf4wejit5eibexahng6yi +naphoteimiRee1ang9taetahng7OhZa9ithoh5peimos7wu8vaec4aehoos9Liet7feetah9cahxu5eiy9ker6aiphohvoed1zeCh6oohathooPiezor4oochahc8aeKeivoh4aiv6IeS4so7eesheeshaireenuphae7ievoch3phaiqu8apheewiem1Oa2ievaimiuTh9Aivoi9wi7soohiobaadookiegh8heph5deShohae8iekus4ahYei7 +yiel5AMikionaniefiedahnaequaih8WaiGooth1Aht2noof0chooJiefoNgaiquaV1chau6ekohxoghoo9ii3yu3eexai3Bo6ieteMulie1aegh5iegheel8Wahr5eejah1Zaima8ainieko0eo3Eiqu0yaemu1aeHauv4be5haipeethee2fei9neequohh0Weingae4xaek4cae8ungeecushei2ecei8oe4chie2quiiquoh1uciet2raeWa +cheegaiph5airooDeeXae7eife6egh2Aeb3ahBaakeengo7eeteit5pee9lae8quae4photh6AeTh9Aquoh8wequ6Viehiumi3cusaemoo8ahngoochunioKaeziev0iefoh7lahshieK4iw7AiCaehie3ju6oof7mah6LohGe6Eifai3aix1yeeTaiG9aeXe7oj9auzo0uY2aefodeereegiuB7JeicooXec1vahshupoo8ahhoV6iex2vaiVoa +aejaicaezaim5ahsh7neloobochahroosh5ith6shePhu6jae1raijahneexouR1oh7uobuj9Iesh7fohp0Kuughiechiweecieth4iaToongee7emutughie1duy6voechueL6li0eingia1eef0ohQu5ohhoo8ko6ezeijohF5sahCh3eeruquaepuNgoomahQu5Jeeth5jaimie1Paed1Aik1xahr4vohph6xohRiem6luad4ohg5Choht8jo +aerohFai6due8ohl6pahrahmugh9eaziagh6Ya3naiy6ew5eim8shenusiew8ED8aewe1codiel1obeifeezahbahLeat5kei0zeeyohmiezeingeshai2uphiuj9chuifohh6eejedenoo1lain6riewee2eiB1Ahn2XaepoM4aesietiefehaimeephoh3ahfa3Goo0Ual2miS4iShiegh9eewah2shah9koogaogohZom2eeShe2heedaewei +fohGhei8ahsh6CohvahxeequibaeTohg8iuY8Eeb1ceiceiruashengeema0beiN9eidodohvauwi2caep2Ui4chohjoshoh2zaihahch4ahNee4eecokaowuk9Aesaexoh2quahch4ashaegheib9achohmu7shoh8aeCoQuac1eu0Shaiph9Dou1biya8nah4opheaLiyu1ahDuaquieGi6Ad9eeGh9geiyo0iwighie6iyogh6hoP7Shah2ca +phah3Aegat5Thuo8xaesi6iGhe2ahNie3eech5iedo6oebohng7Cah0Gorai0weeghaicu6thi2iethie7haequi3ooleemahNeequ0PhoonachahSha0ieNeel9aengeith2xeithainineefe1Ahghiek8phob8iegh4EepahghohYahyie1reiteile9Itohwop9Rai5ahkieg7ekaij7roohiobi0ja8aiN9ahbaiberae5xeinahdubeinu +eiloG5Caruopheetho9oohohzaph2yah3ahbai6gei6aeS4phood6Iegheeb2phairiegh7Ia1aidoxoceiQu6eibah6ooshiThuthahphohLoi4ohlaeng4iagiejuimooghaijaeg2eigh3aiw7sheip8yahnaePotaengamah4EeW0ohWosaiyaegh5thoama3eas5eizeitaewah5ohF1aeghafoi3Ahph3coosaehalooPh9Aecait3uTai +eegh7fahx8aighiexien4looNaeneY9ahh6cheShi6Ooxoh5yoo4bohsie1guchaPhaeNgeerai9aej3eenia2ahchieshiezotaikooshiTahPhee0eD3ThuZeefea0HiThai3GuXa9aoneec4eyae3eiguoy1kootaekeeFaiy8ooxuSiqu9oasohjohxooy7iivaiShe4at7Fa1ahyie2aethaefu7sequozoodi5ahgomaibiejerie8iath +xu9woiquoo7eeyu9Eiyaiceugaeheitooviewahgaiyaim3eed7thee1gei2Aephu4go0vae0baimie4eiCa9oow8yohth1feg3eeboeboo4ahReizeenieph7neinoh6Shen7taishuthihayiu4aushuseenoheivei0paBoi8gahWo6Oesifoo5Oa3aht1teithudohK7phohch5cieR4rah6eecheJ4viogae4lub5aich4SaireJu0quesh +aefoh5ahthieSaigohmaehah3oeng7siez2nahboaxaehaochun9ohYeikagohthaideequooPh7heiqu2uZoTai1eengoor1ua8Oong7zohz7muZ3oobohv9ohraet1pai2Roo8koo0eidoo5Uohaya1chu6loV4reiLieyocuc2ron0ohn2ieyi5iph1leiw8pe2uagh7Vie9thohcheeyoox6ooziez8Eir9AiLaethoom9sohW1BaVahgeSh +hee6chieth0gaiquai2eimae4pie2uyaiw2oofae0johveiquomeefoomo7axuphoopaixaesuyoh6ahDa2Puaquootohwu5oor4loopeih5koh3paeSa6eShas2ashahveiwai3oehook1fae3eerihoij9ChieCoobupheiCocaeth2Ya0Ohr0Duph1ji5aifiquoo7aChi2eek3ieW8eephich3fahxuxooghoGhaka3lea7eePh3ielee5Ae4ohg5Choht8jo +aerohFai6due8ohl6pahrahmugh9eaziagh6Ya3naiy6ew5eim8shenusiew8ED8aewe1codiel1obeifeezahbahLeat5kei0zeeyohmiezeingeshai2uphiuj9chuifohh6eejedenoo1lain6riewee2eiB1Ahn2XaepoM4aesietiefehaimeephoh3ahfa3Goo0Ual2miS4iShiegh9eewah2shah9koogaogohZom2eeShe2heedaewei +fohGhei8ahsh6CohvahxeequibaeTohg8iuY8Eeb1ceiceiruashengeema0beiN9eidodohvauwi2caep2Ui4chohjoshoh2zaihahch4ahNee4eecokaowuk9Aesaexoh2quahch4ashaegheib9achohmu7shoh8aeCoQuac1eu0Shaiph9Dou1biya8nah4opheaLiyu1ahDuaquieGi6Ad9eeGh9geiyo0iwighie6iyogh6hoP7Shah2ca +phah3Aegat5Thuo8xaesi6iGhe2ahNie3eech5iedo6oebohng7Cah0Gorai0weeghaicu6thi2iethie7haequi3ooleemahNeequ0PhoonachahSha0ieNeel9aengeith2xeithainineefe1Ahghiek8phob8iegh4EepahghohYahyie1reiteile9Itohwop9Rai5ahkieg7ekaij7roohiobi0ja8aiN9ahbaiberae5xeinahdubeinu +eiloG5Caruopheetho9oohohzaph2yah3ahbai6gei6aeS4phood6Iegheeb2phairiegh7Ia1aidoxoceiQu6eibah6ooshiThuthahphohLoi4ohlaeng4iagiejuimooghaijaeg2eigh3aiw7sheip8yahnaePotaengamah4EeW0ohWosaiyaegh5thoama3eas5eizeitaewah5ohF1aeghafoi3Ahph3coosaehalooPh9Aecait3uTai +eegh7fahx8aighiexien4looNaeneY9ahh6cheShi6Ooxoh5yoo4bohsie1guchaPhaeNgeerai9aej3eenia2ahchieshiezotaikooshiTahPhee0eD3ThuZeefea0HiThai3GuXa9aoneec4eyae3eiguoy1kootaekeeFaiy8ooxuSiqu9oasohjohxooy7iivaiShe4at7Fa1ahyie2aethaefu7sequozoodi5ahgomaibiejerie8iath +xu9woiquoo7eeyu9Eiyaiceugaeheitooviewahgaiyaim3eed7thee1gei2Aephu4go0vae0baimie4eiCa9oow8yohth1feg3eeboeboo4ahReizeenieph7neinoh6Shen7taishuthihayiu4aushuseenoheivei0paBoi8gahWo6Oesifoo5Oa3aht1teithudohK7phohch5cieR4rah6eecheJ4viogae4lub5aich4SaireJu0quesh +aefoh5ahthieSaigohmaehah3oeng7siez2nahboaxaehaochun9ohYeikagohthaideequooPh7heiqu2uZoTai1eengoor1ua8Oong7zohz7muZ3oobohv9ohraet1pai2Roo8koo0eidoo5Uohaya1chu6loV4reiLieyocuc2ron0ohn2ieyi5iph1leiw8pe2uagh7Vie9thohcheeyoox6ooziez8Eir9AiLaethoom9sohW1BaVahgeSh +hee6chieth0gaiquai2eimae4pie2uyaiw2oofae0johveiquomeefoomo7axuphoopaixaesuyoh6ahDa2Puaquootohwu5oor4loopeih5koh3paeSa6eShas2ashahveiwai3oehook1fae3eerihoij9ChieCoobupheiCocaeth2Ya0Ohr0Duph1ji5aifiquoo7aChi2eek3ieW8eephich3fahxuxooghoGhaka3lea7eePh3ielee5Ae + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/make-ffmpeg-fade.py b/make-ffmpeg-fade.py index 976c858..1c984ba 100755 --- a/make-ffmpeg-fade.py +++ b/make-ffmpeg-fade.py @@ -180,7 +180,7 @@ def fit_text(string: str, frame_width): line = [] for word in split_line: new_line = line + [word.rstrip(':')] - w, _ = translation_font.getsize(" ".join(new_line)) + w = translation_font.getlength(" ".join(new_line)) print(w, new_line) if w > frame_width: print("too wide, breaking", line) @@ -272,6 +272,7 @@ def enqueue_job(event): fade_out_end_time=speaker_in + fade_duration + speaker_duration + fade_duration, fade_duration=fade_duration ) + videofilter = videofilter.strip(',') if fileformat == '.mov': if alpha == 'true': From 848b72b1136d5159313ae1c97df50d157065a092 Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sun, 1 Sep 2024 16:36:15 +0200 Subject: [PATCH 03/21] schedulelib: Ignore missing track field According to the XML schema, the "track" field of an event is not mandatory. So we should replace it with an empty string if not existing like we do for other fields. --- schedulelib.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/schedulelib.py b/schedulelib.py index 340e4d8..a986498 100644 --- a/schedulelib.py +++ b/schedulelib.py @@ -100,6 +100,12 @@ def events(scheduleUrl, titlemap={}): url = event.find('url').text.strip() else: url = '' + + if event.find('track') is not None and event.find('track').text is not None: + track = event.find('track').text + else: + track = '' + # yield a tupel with the event-id, event-title and person-names yield { 'day': day.get('index'), @@ -109,7 +115,7 @@ def events(scheduleUrl, titlemap={}): 'persons': personnames, 'personnames': ', '.join(personnames), 'room': room.attrib['name'], - 'track': event.find('track').text, + 'track': track, 'url': url } From c94b840807af952210a23acd56a8641e34ff3189 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Sat, 19 Oct 2024 10:29:06 +0200 Subject: [PATCH 04/21] vcfb24 --- vcfb24/__init__.py | 148 + vcfb24/artwork/Computerfont.ttf | Bin 0 -> 39104 bytes vcfb24/artwork/intro.svg | 15584 ++++++++++++++++++++++++++++++ vcfb24/artwork/lower-third.svg | 6231 ++++++++++++ vcfb24/artwork/outro.svg | 1668 ++++ vcfb24/artwork/pause.svg | 6626 +++++++++++++ 6 files changed, 30257 insertions(+) create mode 100644 vcfb24/__init__.py create mode 100644 vcfb24/artwork/Computerfont.ttf create mode 100644 vcfb24/artwork/intro.svg create mode 100644 vcfb24/artwork/lower-third.svg create mode 100644 vcfb24/artwork/outro.svg create mode 100644 vcfb24/artwork/pause.svg diff --git a/vcfb24/__init__.py b/vcfb24/__init__.py new file mode 100644 index 0000000..1297300 --- /dev/null +++ b/vcfb24/__init__.py @@ -0,0 +1,148 @@ +#!/usr/bin/python3 + +from renderlib import * +from easing import * +import math + +# URL to Schedule-XML +scheduleUrl = 'http://vcfb.de/2024/schedule.xml' + +# For (really) too long titles +titlemap = { + #708: "Neue WEB-Anwendungen des LGRB Baden-Württemberg im Überblick" +} +personmap = { +} + +taglinemap = { +} + +def outroFrames(p): + frames = 2*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ('plate', 'style', 'opacity', 0), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', 1), + ('plate', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ) + + frames = 2*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', 1), + ('plate', 'style', 'opacity', 1), + ) + +def introFrames(p): + frames = math.floor(1.5*fps) + for i in range(0, frames): + yield ( + ('header', 'attr', 'y', 659), + ('text', 'style', 'opacity', 0), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('text', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ) + + frames = math.ceil(3.5*fps) + for i in range(0, frames): + yield ( + ('text', 'style', 'opacity', 1), + ) + +def pauseFrames(p): + pass + + +def debug(): + render( + 'intro.svg', + '../intro.ts', + introFrames, + { + '$id': 6526, + '$title': 'Besser steuern durch Daten? - Zur Performativität soziotechnischer Systeme und der Quantifizierung der sozialen Welt', + '$subtitle': '', + '$personnames': 'Judith Hartstein und Anne K. Krüger' + } + ) + + #render( + # 'outro.svg', + # '../outro.ts', + # outroFrames + #) + + # render('pause.svg', + # '../pause.ts', + # pauseFrames + # ) + +def tasks(queue, params, idlist, skiplist): +# # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl): + if not (idlist==[]): + if 000000 in idlist: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + if int(event['id']) not in idlist: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + + # generate a task description and put them into the queue + if int(event['id']) not in skiplist: + queue.put(Rendertask( + infile = 'intro.svg', + outfile = str(event['id'])+".ts", + sequence = introFrames, + parameters = { + '$id': event['id'], + '$title': event['title'], + '$subtitle': event['subtitle'], + '$personnames': event['personnames'] + } + )) + +# for person in persons(scheduleUrl, personmap, taglinemap, event['id']): +# queue.put(Rendertask( +# infile = 'lower-third.svg', +# outfile = 'event_{}_person_{}.png'.format(str(event['id']), str(person['id'])), +# parameters = { +# '$PERSON': person['person'], +# '$TAGLINE': person['tagline'], +# } +# )) +# +# queue.put(Rendertask( +# infile = 'lower-third.svg', +# outfile = 'event_{}_persons.png'.format(str(event['id'])), +# parameters = { +# '$PERSON': event['personnames'], +# '$TAGLINE': '', +# } +# )) +# + # place a task for the outro into the queue + if not "out" in skiplist: + queue.put(Rendertask( + infile = 'outro.svg', + outfile = 'outro.ts', + sequence = outroFrames + )) + + # place the pause-sequence into the queue + #if not "pause" in skiplist: +# queue.put(Rendertask( +# infile = 'pause.svg', +# outfile = 'pause.ts', +# sequence = pauseFrames +# )) diff --git a/vcfb24/artwork/Computerfont.ttf b/vcfb24/artwork/Computerfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..49f1c620b548e3abd34cf3bd8f0fd73b86b0199e GIT binary patch literal 39104 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 t$7M|iaL9Jihb8(a1-FAkt^f{5b~am)i + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + $subtitle $title  $personnames + diff --git a/vcfb24/artwork/lower-third.svg b/vcfb24/artwork/lower-third.svg new file mode 100644 index 0000000..a70d3b4 --- /dev/null +++ b/vcfb24/artwork/lower-third.svg @@ -0,0 +1,6231 @@ + + + +$PERSON diff --git a/vcfb24/artwork/outro.svg b/vcfb24/artwork/outro.svg new file mode 100644 index 0000000..45f706d --- /dev/null +++ b/vcfb24/artwork/outro.svg @@ -0,0 +1,1668 @@ + + + + + + + + + + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  +More Recordings available on media.ccc.de + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vcfb24/artwork/pause.svg b/vcfb24/artwork/pause.svg new file mode 100644 index 0000000..8ef961c --- /dev/null +++ b/vcfb24/artwork/pause.svg @@ -0,0 +1,6626 @@ + + + +image/svg+xmlPause + \ No newline at end of file From 367e8ea0949bb254bcea57b8425721678dd6de73 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Sat, 19 Oct 2024 10:33:17 +0200 Subject: [PATCH 05/21] re-add jugendhackt source gimp file --- jugendhackt/source.xcf | Bin 0 -> 1184118 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 jugendhackt/source.xcf diff --git a/jugendhackt/source.xcf b/jugendhackt/source.xcf new file mode 100644 index 0000000000000000000000000000000000000000..e01939dc62127939a660fe71c69b329289fafa57 GIT binary patch literal 1184118 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%0A-ISPTpWg|D29uDhFwT>*d;z=n}em< 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

tiOQ+g zCsR#kZ4J_DIAd5Vr`9H|vRaq4B5O_3>g`KCg`(zK>JUpM8s@sXtrM+CCxTvr6Ykd$`ppLP z8zd(!ZdJJ7znhZsOvhnrTe@9~IBG`3D@)WP`bv-C&zjp_>JnN zu=FnK9XeCrLhVCZnXZaDh(1}rq78kCN6BF6A{393&q*1PuA^Pj&XtkgN>5Tot}My$ z*g+k^?Ts|lQg$ysD@W)%512CYaH%ILBkRkup>O58q@_o=v@#5EiGUff>d+6;X(ZZ~la zhQ1uPpSadSpO4#7TvMTM$n7bvozRCQy#z#vrO-``%2uXl=rE) zamh6t`d-|~e>RiRI8v`Y98V za*{b+o}tI&Oqm<&dnqCC$ipN>2LKjm0+$APKSB5o+_IMUF}Q^-?~8CtTi$2k7Pq`_ z!!2)lABbDv^1c$c#N~Y|Zjp0MhrSoL%(-?$AB|h+T%(~c$1QcP#n9*D7CYBm=o@m& zoog%fAxTdG>0%|clzs}*q@-j{muKiPIa4W0Ng>g#&KZs5ztsk#k;FLJ5#>FZbh4Wq zC=(^o*yKVP7x8V|hf=+=Bp=FXX|oEE$&Ei*dcoY2kR_Wh7=9AQWc>vbP(qvRz+enY zxRXT~%tCDf$TkcHqBaX;C5n_mrlK|#WG@DzQJW949E16&O$ynN!I0EuhO9}EGRUOV zribiGkuu1*)aHmROp!9k%+w}|Y)x&f$l#PyiL6d-z{vEJ(+Rwmj1&rLM#dFw1sb_tC!`_1ur@g4rX`>I9hXe7GTIir#Mx7uJdk{Bn;pqxjOPIi<3 zXd3A^&YbHg1IMgNj6_F{3KS%`U@tY#4p)_!5Ea7 zCW|nbg%amv8wLYWVxO!;(JRPQ)b@bv#b7jQ8$p(1FdwzuAR96mlG>J#H7R-pnUvbT zkXT8;nL0<7DfT?`+b^ZgQVZ zWRy2K(8fi4+xDQXZLG+HHd@(SgBYXQN0weN_aykp=93wZ3_l4-vi^bzC_zegU@!(H zaLFPJW}yT#*@nSDlmI6yQA7zc6(#7&UJOQ~HUwlj2J=xH2eKi9A*l@pS(744kV&bH z2-%e)N|14>4GUSAB1({%sf`WUn%eA;!6}y_S)JMxk?ARyBe*6RDHL>xj4Rp-G;VjY z1!%%hGti`=CLkH>8iA&5tO01oP(9EELnN`z8X|-Bq9Kx3=M0gyddUf^^BGl@JO+?d z7kI`;KxkaKW(W1N7yaDrH^=A2clh`2TT3woDW-rt#XR3%o2?X6KyF1|a)mSt2^Uf? zBwkN#}T`b*qKOaPca24 zrhvPK6jP953Q|mg2ujkcQ%u3fvy!Kn0#hJUOhJk%$lIaAHZ4_|_Uf=3%GN0w3Mfqg54SDoMH-S zT1+todn3R(#T4X}krY$#JS!t9reH-(45wSlOT(kgNlvfih|?;GolZ&YCMaSzQ4u?B zlGy2z#7>hWPB8_x958x0@+GC10=p?;gQ=l{xDW)LB z6fm$L#T2AE1y`0*or3k{RHuOXEb}{r6jR^

wz|3JPT{1f`2ZeS}n}0MTm^)hF9? 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�?8Uk7~M7GbWp-Vt3hK7Nb4UGUT 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ⅈ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 Date: Sat, 19 Oct 2024 10:45:29 +0200 Subject: [PATCH 06/21] vcfb24 fix imports --- vcfb24/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/vcfb24/__init__.py b/vcfb24/__init__.py index 1297300..d085b33 100644 --- a/vcfb24/__init__.py +++ b/vcfb24/__init__.py @@ -1,5 +1,6 @@ #!/usr/bin/python3 +from schedulelib import events from renderlib import * from easing import * import math From 26c660a1358334ee935d8ca59b68b84a07f8d96e Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Sat, 19 Oct 2024 11:00:23 +0200 Subject: [PATCH 07/21] vcfb24 switch to make-ffmpeg-fade --- vcfb24/{artwork => }/Computerfont.ttf | Bin vcfb24/SourceSansPro-Semibold.ttf | Bin 0 -> 289916 bytes vcfb24/__init__.py | 149 -------------------------- vcfb24/config.ini | 37 +++++++ vcfb24/{artwork => }/intro.svg | 0 vcfb24/{artwork => }/lower-third.svg | 0 vcfb24/{artwork => }/outro.svg | 0 vcfb24/{artwork => }/pause.svg | 0 8 files changed, 37 insertions(+), 149 deletions(-) rename vcfb24/{artwork => }/Computerfont.ttf (100%) create mode 100644 vcfb24/SourceSansPro-Semibold.ttf delete mode 100644 vcfb24/__init__.py create mode 100644 vcfb24/config.ini rename vcfb24/{artwork => }/intro.svg (100%) rename vcfb24/{artwork => }/lower-third.svg (100%) rename vcfb24/{artwork => }/outro.svg (100%) rename vcfb24/{artwork => }/pause.svg (100%) diff --git a/vcfb24/artwork/Computerfont.ttf b/vcfb24/Computerfont.ttf similarity index 100% rename from vcfb24/artwork/Computerfont.ttf rename to vcfb24/Computerfont.ttf diff --git a/vcfb24/SourceSansPro-Semibold.ttf b/vcfb24/SourceSansPro-Semibold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bf69cc2d854a05855b0f3adae7c37e3802ea1af0 GIT binary patch literal 289916 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

adsO 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⋙I-QI4uyW8vQa=W{H&YBvhqo!tSWw+PcT`Bx-4!bKup-Oic*w`c= zV-9w?gj3L}u`$`l5()HHELmV7b|c_Q^oEFE7lM+Cnf*6+-nqa`iQhKdM|4)AcAR~l z)=UH*D78j;o9woa$yj;f4`@)j_!qRY23aGr$c}XJ5{{rt^Hteb6aRDH*n*68C!UbS zK8uztk}VkB-MpouV3sD!B4_%%0qfYs%^Eg2j?vd`Vd>Tlb`%4M>|A2?S1!0JY^EndPEv48HXXhS-7Uq9aL?gYuM_F;=byasb+)Y0;B8lWl*3IHH zOCb!1bw7E<6$Do;9%g@9e3sx^z*X!QS9EuS>r{!q5nSrb($IRL--`M}>Ug1n{vp;OX_tCB-~cb* zhnkOA*8Ob9&Y!Nc@Vcn8dT}!|OTR@ts3rF%epY{b`}Uhe^(<^wNZ6uP914`s`V;rEq+f!XKeaUGR0IMQ zIgKrm(uy)UdG_UH6{R;f421{%hHBQsstx|Z@Ng_{_f@T^4Fz-LIl)lviYlKyi5YVO zGwN5oLV^B7D~xm}oe5I6L^lm5A3oS!rFNa%Vz*o5I(unk35lD}(@ktR1C^l$fhT5J zoAf!(69}kKy*m8I&&oFb>sI=1)uKXjuk>~P9gb#J4gN#+r+<~vH>HcSY(T7qu$+Ir zI{d0wOPW>-^PomOihWr%h$pmb*r`P8nU~oM36do>>mLrMg;PH&vgvf!aAY+>j%*BmPAzvvTn( z*mpmOsQq@%CE_~3166XGGtT04ek8c7H67p zC=)c`$cc=&SmZL6zfN%Z>rBPr@B+*1umYX(H#z)G_Niof>D?SIlz)?M8KWJPmmWzg z|2mZi#u~JL2jE89eMVq!X_RN3&R}W4)=M`jzgUnxn^kBk3H$8zhBoJhXlzx`>i1hK zlSbwD*R^dlcx#N6bw+zrO|`q%U(;S!8>%?Ru6!JJCGQy$0U8*#Y*4F3JY#x@K)P}H zKVnaV1v%>!g=Sz-!7&JkJwKi5>ig?jHyeC4#;Tyv)>u=WVPUQY+nS}1kY3`4HARqR z(nsQFPJsVipvr5>?;sh9uHXJ`>7MwRL43D*@dea7LiHd8Nd~Uk9+p0G=0u#j*Da$|W=ZRvZz&-5F1e@G(KM zqeS|cZf0LjTqlkRQeFHuIi{QAY$vLM$7>K#kNh9FJz}TKA6fhj61vYt;V%VJXjRfK zv^gQ!O6L(tD=W2tlRF4@pzXj^UES1ywzmEB@BX&_Lp?o*`uh&|^c)@wuk?o|{N5IA zO`$^@h(&8mt`c{7JhyuC!sW{kkNbS%hnFwEaI!kob@ABBBb}W`R*qfVHCi*?*f?2Z z(*=r3xmfu7xa(+ z8=OtLNKr|9w64Pu&|9l%0JU_oo=)jnN%Y@i?MmLuRM_nr=r^wCJ`~@`316=VZ#jj1 zV_vuK!_i#Jw(G*ankLi6FLYasz|X)MkU8Q7ZWFulUM|mGm2Od|TUZENC4H;pmnM_A zy%JhgSGOt@o~)~z47ZGqw&15=)K*>L4O?y6ib8c6YY486HLMN>S2x5~2R-9m-Q(lk zUE>YkG1*;(L-F_qQ+^?>G#T3tNp}xy71-x$L`U=Z{UQh!%DscLALKj2JwvT#cADj^ z`S`S_Os=b1)0-oY$KvuFw*8IX-ZxluYfsPC#CP}XdgPH^d#Ke?Hj7rjgcG-V8lAur zWWgYYj?9-drG)SXu909JpVQ|xt)Z%-Dy_4m#8>8M4w}MhC+@qci#2MG$=0%PHZrrd zfkKUOS$?i2ugc*Lmlg%{ii`79h1n&lN{6FSbuONI;CUPHRP&p{=fOZYgULi#*v9ME zAca*~)pTEuyrqFiaXP-*(_Lu^7FOozi_A6E=92P)$||-!vscy1q0oT4thiQ{9}Lt5 z3k#}ivC8zAg_D>CHN0OHTrQnM3*67=b{FN{;rw|H0`aZ=W23#svY|?6+1cH)=)m&j zBaQ3*Ua_|?^4_fcO!hqEPWG0@c8Cu?d&u$Q{!WvwbF$u55sg-y+h=9a;m<#`b?fK+ zRm2t5i)&=f((5Fx5(xPv`A5@VfQOn=aa(xxkvN1RXcQo}C>FVv6D1%Wf<=;|l6|)S zij57Ohwfap^|qC+)&ZxdAzQ9#v)1>ULOmXXrjD(Sc*jD_5A! zlLyq!QoYt{uF+fWsh+-SYSX<3;}f@S?A+98cUPDlL%rUK9#5Ix{gavM(R$p-t6O`; z=*-2frG zWBYqnZVfD3)~8Y9J-H*rh1G2)s}&=&Kv};ky$aF+Cz3%*k;H$3NQj0X1YOXN9YR8l zFUHCS#tMg5mkyV1(GF{eCJV==@$Z&0%htlJPmdoQzYqW6pQoRGnw1;`-6*3TPH$E4 zsKf43FGVV2Qx2h{{8r)7!n{(tGx6fXS3i8T;z0+?i$>iO?#gi_gHoM&`{+^9tcV~- zE>ac0O$fsh)`Z}hNS^YYeajw6`JRle!G+oS=K8tjk$9-u?{Do1H(byoRh88T?5*gr zF%;^suuz5BYDj#};p!rrg-%?4FD;|94ADD%KEc2OJ^MO)4)uga^(`f}rk0WAaeG+P z(yMAZv}*Fgwkl(1iDu2n$~F4Z_95aOihs`r_PJR7OSof8CGZE3y=~>iU0oNBc&Y{l z2M4O8s_@>asr}J4W0T`6fEA7Yany&UggegS?W>?>l&$*hGtayxRn6|4IW{Yn`x2*h zTDeiS`gh;_rc^a|*{ajx2;apBDUR~|_D2LNB8Yt-YwADT-FsvpHfm_m)K+w?931lM z*S%nz6Nl+CcdARL$5+ghY#e)|yh7+-x-5w&qLR6tX4i}^oL*QsEmghn!kM>!{&S%m z@-C?`uS5-`BB6-}oT45N0uC<(>|dx9q7Mon{N}mXcv+tzWOpn$hg8ApI={oq)+at2 z7z>E~>QN6n0koG4X;z|R*~6FI|E-Iz>5{5`_Ollg-~R8x+h~@Fp7)_VY&_~8lw5d4 zs!EK{iEVXD^Z5NANKJSbgQ+Y3lo=4JQi#zTy?9N|GKE}Ky!ztJSqholHxe81;pN3F zY2F*9fwJ1#H_p8CyuPhXcl`9}s{ZDgcUZQ*)l7eauPCdA2Xo0iZ)vkhoA;%c`AEpr^zUhH z-P7Nl)le(L! z!QWgnjXu}3E*6_>9O~T>j$%!jd*e-mj>njC-0PqgY8I!F!>J4$>&(oSO!JzudI?V< z`ieVte2v}RjZIx$uTAYSPHqFb{d?kD#!K4VYGZzBp?_%o_{h}M$oTrVCc28R-8D|A zkMF!j?I_QZk7ehH>r4*3#cZ8P8Nux;U{10aYwcSN>*`}QmmJ-_ydxZ`54B5GrtaqG zK*@`cS%n@~C2ocC^Y7x_0rU%8E)yp=sLH<#dEWNE1|&xVBqIKzlsuvfMFIPN69 zJk;Dg#3~cNIKCT^;P6wkpQA3F+GSj_`@#c9y7D#9Hzlghh5Mzd_dFwB?}+C;zA}q3 zsSki}t!LE|)(0&RnUD$sA#=)$ckJ;h^A)&y~SqmAP^-c6OsQ z@9$NkKHpg7-~aAj>GQ30|NYE6@0;38`2YK$0B~b314p{)NYT1{5%Nx;Gm_Wu@;`Ik zrJGZD^F|8G05i zL&5~lx?_0veHVrDwE1#XnX2x{y-%^>L&m7t95o(FJVgFTI$?bRHFKz@nx;i&)wmO{ zvi%7r?PBwD-HFev!!0hZ?_>-f&Q1yZ6WL7i&f+J|1DB`6rT-^YUYP-ZB?ZsPfPXIq z*JQvSOTqIp;J--0m!-pH$`o9e0pFg2A4-Qyf1QGxlJG?*>Gu@8PVx@M1?^i7fjE=0jUF7_ll$3A0O{*G9sPg^c_6`4NAVEa{|+S_Mv7CY5qXY9}C zSaAH7q4e_@w}Ntf;m&3VH#ituGG-{fC6l}M%8M(osPfr$|MkctuOz;BdlNGa{@%Gf zaZ0M1J}`0l^x?zAU65kZ&+}Ebz*m`^{U={#94@6*Ai(no4m$(Zjud(nQFkVaALIAf zlX~rgZAiN1zNNqa32sS7TVP3!t*CK%JS)1IS}*Fl;DW=;vsg=MxYpJPbFw`~=46ir zH!l;{Re4spN61@=vA!dH8Ti1w1Q)28f$)SEbCT@Y6ug~bMgaFOYRUctyqlMgF`o#B zUCPHRz~!u(wgWit8)oZg3MC!PSRO`Yck-(mjXO515VOH zfG^8{6Ws;4Ithn#!A>9rucP-DiS9HmDM?$QyjCo~9PsZ*Ns9>ZoMbzI|BFju0lrFv zTR444It%cLwDNDsND2$^b!qU&Wh8|K_*4?k@g%+^IHWMaNec4!A}NQWm0^2Fdrwgg z+0!;QqJvZvN^G;gGiZE6*zDwLs*J`Gl6u8a5Kx}`QeI!uRZ(hZ`rEp%O?&@pLrYY(t3WE^JhP=FJ}#@b^b2rLjkVLfD``+@MRfr z;vWI7PQkSdyT24X!eS};@-AQhLU~iFJn-T2RDkED!Qbb6CBSnCj&ahC#0US6KXZ3k zcdkniYgsto#0|Q$Hk_)mTo#Y$tofzN+-!B(vb@&wZ9k<_xl&%;s>~Xd%1YGB%2izj zYH>IEX1QIMBkV?r2M0JUmCT=9>wwc572ujA95M~N*A%>tVH9Y`xv0&6$LLj9YX2;F zTr3aSo>9J?;E-(w{MrH?B<7Za-<7Ud(+@0sO1e=5rr6Zqzwf1eJw5wgdg�U_jB1 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 TdYR6yNE*I|K37M1_?iC(?LmA) literal 0 HcmV?d00001 diff --git a/vcfb24/__init__.py b/vcfb24/__init__.py deleted file mode 100644 index d085b33..0000000 --- a/vcfb24/__init__.py +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/python3 - -from schedulelib import events -from renderlib import * -from easing import * -import math - -# URL to Schedule-XML -scheduleUrl = 'http://vcfb.de/2024/schedule.xml' - -# For (really) too long titles -titlemap = { - #708: "Neue WEB-Anwendungen des LGRB Baden-Württemberg im Überblick" -} -personmap = { -} - -taglinemap = { -} - -def outroFrames(p): - frames = 2*fps - for i in range(0, frames): - yield ( - ('logo', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), - ('plate', 'style', 'opacity', 0), - ) - - frames = 1*fps - for i in range(0, frames): - yield ( - ('logo', 'style', 'opacity', 1), - ('plate', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), - ) - - frames = 2*fps - for i in range(0, frames): - yield ( - ('logo', 'style', 'opacity', 1), - ('plate', 'style', 'opacity', 1), - ) - -def introFrames(p): - frames = math.floor(1.5*fps) - for i in range(0, frames): - yield ( - ('header', 'attr', 'y', 659), - ('text', 'style', 'opacity', 0), - ) - - frames = 1*fps - for i in range(0, frames): - yield ( - ('text', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), - ) - - frames = math.ceil(3.5*fps) - for i in range(0, frames): - yield ( - ('text', 'style', 'opacity', 1), - ) - -def pauseFrames(p): - pass - - -def debug(): - render( - 'intro.svg', - '../intro.ts', - introFrames, - { - '$id': 6526, - '$title': 'Besser steuern durch Daten? - Zur Performativität soziotechnischer Systeme und der Quantifizierung der sozialen Welt', - '$subtitle': '', - '$personnames': 'Judith Hartstein und Anne K. Krüger' - } - ) - - #render( - # 'outro.svg', - # '../outro.ts', - # outroFrames - #) - - # render('pause.svg', - # '../pause.ts', - # pauseFrames - # ) - -def tasks(queue, params, idlist, skiplist): -# # iterate over all events extracted from the schedule xml-export - for event in events(scheduleUrl): - if not (idlist==[]): - if 000000 in idlist: - print("skipping id (%s [%s])" % (event['title'], event['id'])) - continue - if int(event['id']) not in idlist: - print("skipping id (%s [%s])" % (event['title'], event['id'])) - continue - - # generate a task description and put them into the queue - if int(event['id']) not in skiplist: - queue.put(Rendertask( - infile = 'intro.svg', - outfile = str(event['id'])+".ts", - sequence = introFrames, - parameters = { - '$id': event['id'], - '$title': event['title'], - '$subtitle': event['subtitle'], - '$personnames': event['personnames'] - } - )) - -# for person in persons(scheduleUrl, personmap, taglinemap, event['id']): -# queue.put(Rendertask( -# infile = 'lower-third.svg', -# outfile = 'event_{}_person_{}.png'.format(str(event['id']), str(person['id'])), -# parameters = { -# '$PERSON': person['person'], -# '$TAGLINE': person['tagline'], -# } -# )) -# -# queue.put(Rendertask( -# infile = 'lower-third.svg', -# outfile = 'event_{}_persons.png'.format(str(event['id'])), -# parameters = { -# '$PERSON': event['personnames'], -# '$TAGLINE': '', -# } -# )) -# - # place a task for the outro into the queue - if not "out" in skiplist: - queue.put(Rendertask( - infile = 'outro.svg', - outfile = 'outro.ts', - sequence = outroFrames - )) - - # place the pause-sequence into the queue - #if not "pause" in skiplist: -# queue.put(Rendertask( -# infile = 'pause.svg', -# outfile = 'pause.ts', -# sequence = pauseFrames -# )) diff --git a/vcfb24/config.ini b/vcfb24/config.ini new file mode 100644 index 0000000..0fb3ad3 --- /dev/null +++ b/vcfb24/config.ini @@ -0,0 +1,37 @@ +[default] +schedule = http://vcfb.de/2024/schedule.xml +# ffmpeg -loop 1 -i intro.png -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -c:v libx264 -tune stillimage -pix_fmt yuv420p -c:a aac -r 25 -t 10 intro.mp4 +template = intro.mp4 +alpha = false +prores = false +fontfile = true +inout = t + +[title] +in = 1 +out = 9.5 +font = Computerfont.ttf +fontsize = 100 +fontcolor = #ffffff +x = 85 +y = 122 + +[speaker] +in = 2 +out = 9 +font = SourceSansPro-Semibold.ttf +fontsize = 65 +fontcolor = #ffffff +x = 85 +y = 861 + + +[text] +in = 0 +out = 0 +font = Computerfont.ttf +fontsize = 0 +fontcolor = #ffffff +x = 0 +y = 0 +text = '' diff --git a/vcfb24/artwork/intro.svg b/vcfb24/intro.svg similarity index 100% rename from vcfb24/artwork/intro.svg rename to vcfb24/intro.svg diff --git a/vcfb24/artwork/lower-third.svg b/vcfb24/lower-third.svg similarity index 100% rename from vcfb24/artwork/lower-third.svg rename to vcfb24/lower-third.svg diff --git a/vcfb24/artwork/outro.svg b/vcfb24/outro.svg similarity index 100% rename from vcfb24/artwork/outro.svg rename to vcfb24/outro.svg diff --git a/vcfb24/artwork/pause.svg b/vcfb24/pause.svg similarity index 100% rename from vcfb24/artwork/pause.svg rename to vcfb24/pause.svg From 0bb26d6b253580bdf488c68c45751acfcae09545 Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 21 Sep 2024 21:54:15 +0200 Subject: [PATCH 08/21] make-ffmpeg: Refactor code --- make-ffmpeg.py | 455 ++++++++++++++++++++++++------------------------- 1 file changed, 227 insertions(+), 228 deletions(-) diff --git a/make-ffmpeg.py b/make-ffmpeg.py index fe4b745..51b9653 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -4,152 +4,143 @@ import os import sys import subprocess -import schedulelib import argparse -import shlex -from PIL import ImageFont -from configparser import ConfigParser -import json -import platform import ssl +from configparser import ConfigParser +from pathlib import PurePath +import platform + +from PIL import ImageFont +import schedulelib ssl._create_default_https_context = ssl._create_unverified_context -# Parse arguments -parser = argparse.ArgumentParser( - description='C3VOC Intro-Outro-Generator - Variant which renders only using video filters in ffmpeg', - usage="./make-ffmpeg.py yourproject/", - formatter_class=argparse.RawTextHelpFormatter) -parser.add_argument('project', action="store", metavar='Project folder', type=str, help=''' - Path to your project folder - ''') +class TextConfig: + inpoint: float + outpoint: float + x: int + y: int -parser.add_argument('--debug', action="store_true", default=False, help=''' - Run script in debug mode and render with placeholder texts, - not parsing or accessing a schedule. - This argument must not be used together with --id - Usage: ./make-ffmpeg.py yourproject/ --debug - ''') + use_fontfile: bool + fontfile: str + fontfile_path: str + fontfamily: str -parser.add_argument('--id', dest='ids', nargs='+', action="store", type=int, help=''' - Only render the given ID(s) from your projects schedule. - This argument must not be used together with --debug - Usage: ./make-adobe-after-effects.py yourproject/ --id 4711 0815 4223 1337 - ''') + fontsize: int + fontcolor: str = "#ffffff" -parser.add_argument('--room', dest='rooms', nargs='+', action="store", type=str, help=''' - Only render the given room(s) from your projects schedule. - This argument must not be used together with --debug - Usage: ./make-adobe-after-effects.py yourproject/ --room "HfG_Studio" "ZKM_Vortragssaal" - ''') + def parse(self, cparser_sect, use_fontfile: bool): + self.inpoint = cparser_sect.getfloat('in') + self.outpoint = cparser_sect.getfloat('out') + self.x = cparser_sect.getint('x') + self.y = cparser_sect.getint('y') -parser.add_argument('--skip', nargs='+', action="store", type=str, help=''' - Skip ID(s) not needed to be rendered. - Usage: ./make-ffmpeg.py yourproject/ --skip 4711 0815 4223 1337 - ''') + self.use_fontfile = use_fontfile + if use_fontfile: + self.fontfile = cparser_sect.get('fontfile') + self.fontfile_path = str(PurePath(args.project, self.fontfile).as_posix()) -parser.add_argument('--force', action="store_true", default=False, help=''' - Force render if file exists. - ''') + if not os.path.exists(self.fontfile_path): + error("Font file {} in Project Path is missing".format(self.fontfile_path)) + else: + self.fontfamily = cparser_sect.get('fontfamily') -args = parser.parse_args() + self.fontsize = cparser_sect.getint('fontsize') + self.fontcolor = cparser_sect.get('fontcolor', self.fontcolor) -if (args.skip is None): - args.skip = [] + def fit_text(self, text: str): + global translation_font + translation_font = ImageFont.truetype( + self.fontfile_path, size=self.fontsize, encoding="unic") + + # TODO: Make this work with font family as well! + + return fit_text(text, (1920-self.x-100)) + + def get_ffmpeg_filter(self, inout_type: str, text: str): + filter_str = "drawtext=enable='between({},{},{})'".format( + inout_type, self.inpoint, self.outpoint) + + if self.use_fontfile: + filter_str += ":fontfile='{}'".format(self.fontfile_path) + else: + filter_str += ":font='{}'".format(self.fontfamily) + + filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text='{4}'".format( + self.fontsize, self.fontcolor, self.x, self.y, text) + + return filter_str -def headline(str): +class Config: + schedule: str + template_file: str # video background + alpha: bool = False + prores: bool = False + use_fontfile: bool = False + inout_type: str = "t" # in and out time format: t for seconds, n for frame number + + fileext: str + + title: TextConfig + speaker: TextConfig + text: TextConfig + text_text: str = "" # additional text + + +def parse_config(filename) -> Config: + if not os.path.exists(filename): + error("config.ini file in Project Path is missing") + + conf = Config() + + cparser = ConfigParser() + cparser.read(filename) + + defaults = cparser['default'] + conf.schedule = defaults.get('schedule') + infile = PurePath(args.project, defaults.get('template')) + conf.template_file = str(infile) + conf.alpha = defaults.getboolean('alpha', conf.alpha) + conf.prores = defaults.getboolean('prores', conf.prores) + conf.use_fontfile = defaults.get('fontfile', conf.use_fontfile) + conf.inout_type = defaults.get('inout', conf.inout_type) + + conf.title = TextConfig() + conf.title.parse(cparser['title'], conf.use_fontfile) + conf.speaker = TextConfig() + conf.speaker.parse(cparser['speaker'], conf.use_fontfile) + conf.text = TextConfig() + conf.text.parse(cparser['text'], conf.use_fontfile) + + conf.text_text = cparser['text'].get('text', '') + + conf.fileext = infile.suffix + + if not os.path.exists(conf.template_file): + error("Template file {} in Project Path is missing".format(conf.template_file)) + + if conf.alpha and conf.fileext != '.mov': + error("Alpha can only be rendered with .mov source files") + + if not args.project: + error("The Project Path is a required argument") + + if not args.debug and not conf.schedule: + error("Either specify --debug or supply a schedule in config.ini") + + return conf + + +def error(err_str): print("##################################################") - print(str) + print(err_str) print("##################################################") print() - - -def error(str): - headline(str) parser.print_help() sys.exit(1) -cparser = ConfigParser() -cparser.read(os.path.join(os.path.dirname(args.project), 'config.ini')) -template = cparser['default']['template'] -alpha = cparser['default']['alpha'] -prores = cparser['default']['prores'] -fontfile = cparser['default']['fontfile'] # use a font file instead of a font family -inout = cparser['default']['inout'] # in and out time format: t for seconds, n for frame number - -title_in = cparser['title']['in'] -title_out = cparser['title']['out'] -title_fontfamily = cparser['title']['fontfamily'] -title_fontfile = cparser['title']['fontfile'] -title_fontsize = cparser['title']['fontsize'] -title_fontcolor = cparser['title']['fontcolor'] -title_x = cparser['title']['x'] -title_y = cparser['title']['y'] - -speaker_in = cparser['speaker']['in'] -speaker_out = cparser['speaker']['out'] -speaker_fontfamily = cparser['speaker']['fontfamily'] -speaker_fontfile = cparser['speaker']['fontfile'] -speaker_fontsize = cparser['speaker']['fontsize'] -speaker_fontcolor = cparser['speaker']['fontcolor'] -speaker_x = cparser['speaker']['x'] -speaker_y = cparser['speaker']['y'] - -text_in = cparser['text']['in'] -text_out = cparser['text']['out'] -text_fontfamily = cparser['text']['fontfamily'] -text_fontfile = cparser['text']['fontfile'] -text_fontsize = cparser['text']['fontsize'] -text_fontcolor = cparser['text']['fontcolor'] -text_x = cparser['text']['x'] -text_y = cparser['text']['y'] -text_text = cparser['text']['text'] - -font_t = os.path.join(os.path.dirname(args.project), title_fontfile) -font_s = os.path.join(os.path.dirname(args.project), speaker_fontfile) -font_tt = os.path.join(os.path.dirname(args.project), text_fontfile) - -fileformat = os.path.splitext(template)[1] -infile = os.path.join(os.path.dirname(args.project), template) - -schedule = cparser['default']['schedule'] - -if not (os.path.exists(os.path.join(args.project, template))): - error("Template file {} in Project Path is missing".format(template)) - -for ffile in (title_fontfile, speaker_fontfile, text_fontfile): - if not (os.path.exists(os.path.join(args.project, ffile))): - error("Font file {} in Project Path is missing".format(ffile)) - -if not (os.path.exists(os.path.join(args.project, 'config.ini'))): - error("config.ini file in Project Path is missing") - -if alpha == 'true' and not fileformat == '.mov': - error("Alpha can only be rendered with .mov source files") - -if not args.project: - error("The Project Path is a required argument") - -if not args.debug and not schedule: - error("Either specify --debug or supply a schedule in config.ini") - -if args.debug: - persons = ['Thomas Roth', 'Dmitry Nedospasov', 'Josh Datko',] - events = [{ - 'id': 'debug', - 'title': 'wallet.fail', - 'subtitle': 'Hacking the most popular cryptocurrency hardware wallets', - 'persons': persons, - 'personnames': ', '.join(persons), - 'room': 'Borg', - }] - -else: - events = list(schedulelib.events(schedule)) - - def describe_event(event): return "#{}: {}".format(event['id'], event['title']) @@ -158,27 +149,9 @@ def event_print(event, message): print("{} – {}".format(describe_event(event), message)) -def fmt_command(command, **kwargs): - args = {} - for key, value in kwargs.items(): - args[key] = shlex.quote(value) - - command = command.format(**args) - return shlex.split(command) - - -def run(command, **kwargs): - return subprocess.check_call( - fmt_command(command, **kwargs), - stderr=subprocess.STDOUT, - stdout=subprocess.DEVNULL) - - def fit_text(string: str, frame_width): split_line = [x.strip() for x in string.split()] lines = "" - w = 0 - line_num = 0 line = "" for word in split_line: left, top, right, bottom = translation_font.getbbox(" ".join([line, word])) @@ -193,30 +166,21 @@ def fit_text(string: str, frame_width): return lines -def fit_title(string: str, fontsize: int, x_offset: int): - global translation_font - translation_font = ImageFont.truetype( - font_t, size=fontsize, encoding="unic") - title = fit_text(string, (1920-x_offset-100)) - - return title +def ffmpeg_escape_str(text: str) -> str: + text = text.replace(':', "\:") # the ffmpeg command needs colons to be escaped + return text -def fit_speaker(string: str, fontsize: int, x_offset: int): - global translation_font - translation_font = ImageFont.truetype( - font_s, size=fontsize, encoding="unic") - speaker = fit_text(string, (1920-x_offset-100)) - - return speaker - - -def enqueue_job(event): +def enqueue_job(conf: Config, event): event_id = str(event['id']) + + outfile = str(PurePath(args.project, event_id + '.ts')) + outfile_mov = str(PurePath(args.project, event_id + '.mov')) + if event_id in args.skip: event_print(event, "skipping " + str(event['id'])) return - if (os.path.exists(os.path.join(args.project, event_id + '.ts')) or os.path.exists(os.path.join(args.project, event_id + '.mov'))) and not args.force: + if (os.path.exists(outfile) or os.path.exists(outfile_mov)) and not args.force: event_print(event, "file exist, skipping " + str(event['id'])) return @@ -226,96 +190,131 @@ def enqueue_job(event): event_title = event_title.replace('\'', '') event_personnames = event_personnames.replace('"', '\\"') - t = fit_title(event_title, int(title_fontsize), int(title_x)) - t = t.replace(':', "\:") # the ffmpeg command needs colons to be escaped - s = fit_speaker(event_personnames, int(speaker_fontsize), int(speaker_x)) + title = ffmpeg_escape_str(conf.title.fit_text(event_title)) + speakers = ffmpeg_escape_str(conf.speaker.fit_text(event_personnames)) + text = ffmpeg_escape_str(conf.text_text) if args.debug: - print('Title: ', t) - print('Speaker: ', s) - - outfile = os.path.join(os.path.dirname(args.project), event_id + '.ts') + print('Title: ', title) + print('Speaker: ', speakers) if platform.system() == 'Windows': ffmpeg_path = './ffmpeg.exe' - font_t_win = "/".join(font_t.split("\\")) - font_s_win = "/".join(font_s.split("\\")) - font_tt_win = "/".join(font_tt.split("\\")) else: ffmpeg_path = 'ffmpeg' - if fontfile == 'true': - if platform.system() == 'Windows': - videofilter = "drawtext=enable='between({8},{0},{1})':fontfile='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}',".format( - title_in, title_out, font_t_win, title_fontsize, title_fontcolor, title_x, title_y, t, inout) - videofilter += "drawtext=enable='between({8},{0},{1})':fontfile='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}',".format( - speaker_in, speaker_out, font_s_win, speaker_fontsize, speaker_fontcolor, speaker_x, speaker_y, s, inout) - videofilter += "drawtext=enable='between({8},{0},{1})':fontfile='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}'".format( - text_in, text_out, font_tt_win, text_fontsize, text_fontcolor, text_x, text_y, text_text, inout) - else: - videofilter = "drawtext=enable='between({8},{0},{1})':fontfile='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}',".format( - title_in, title_out, font_t, title_fontsize, title_fontcolor, title_x, title_y, t, inout) - videofilter += "drawtext=enable='between({8},{0},{1})':fontfile='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}',".format( - speaker_in, speaker_out, font_s, speaker_fontsize, speaker_fontcolor, speaker_x, speaker_y, s, inout) - videofilter += "drawtext=enable='between({8},{0},{1})':fontfile='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}'".format( - text_in, text_out, font_tt, text_fontsize, text_fontcolor, text_x, text_y, text_text, inout) - else: - videofilter = "drawtext=enable='between({8},{0},{1})':font='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}',".format( - title_in, title_out, title_fontfamily, title_fontsize, title_fontcolor, title_x, title_y, t, inout) - videofilter += "drawtext=enable='between({8},{0},{1})':font='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}',".format( - speaker_in, speaker_out, speaker_fontfamily, speaker_fontsize, speaker_fontcolor, speaker_x, speaker_y, s, inout) - videofilter += "drawtext=enable='between({8},{0},{1})':font='{2}':fontsize={3}:fontcolor={4}:x={5}:y={6}:text='{7}'".format( - text_in, text_out, text_fontfamily, text_fontsize, text_fontcolor, text_x, text_y, text_text, inout) + videofilter = conf.title.get_ffmpeg_filter(conf.inout_type, title) + "," + videofilter += conf.speaker.get_ffmpeg_filter(conf.inout_type, speakers) + "," + videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, text) - if fileformat == '.mov': - if alpha == 'true': - if prores == 'true': - cmd = '{3} -y -i "{0}" -vf "{1}" -vcodec prores_ks -pix_fmt yuva444p10le -profile:v 4444 -shortest -movflags faststart -f mov "{2}"'.format( - infile, videofilter, outfile, ffmpeg_path) - else: - cmd = '{3} -y -i "{0}" -vf "{1}" -shortest -c:v qtrle -movflags faststart -f mov "{2}"'.format( - infile, videofilter, outfile, ffmpeg_path) + cmd = [ffmpeg_path, '-y', '-i', conf.template_file, '-vf', videofilter] + + if conf.fileext == '.mov' and conf.alpha: + if conf.prores: + cmd += ['-vcodec', 'prores_ks', '-pix_fmt', 'yuva444p10le', '-profile:v', + '4444', '-shortest', '-movflags', 'faststart', '-f', 'mov', outfile_mov] else: - cmd = '{3} -y -i "{0}" -vf "{1}" -map 0:0 -c:v mpeg2video -q:v 2 -aspect 16:9 -map 0:1 -c:a mp2 -b:a 384k -shortest -f mpegts "{2}"'.format( - infile, videofilter, outfile, ffmpeg_path) + cmd += ['-shortest', '-c:v', 'qtrle', '-movflags', + 'faststart', '-f', 'mov', outfile_mov] else: - cmd = '{3} -y -i "{0}" -vf "{1}" -map 0:0 -c:v mpeg2video -q:v 2 -aspect 16:9 -map 0:1 -c:a mp2 -b:a 384k -shortest -f mpegts "{2}"'.format( - infile, videofilter, outfile, ffmpeg_path) + cmd += ['-map', '0:0', '-c:v', 'mpeg2video', '-q:v', '2', '-aspect', '16:9', '-map', + '0:1', '-c:a', 'mp2', '-b:a', '384k', '-shortest', '-f', 'mpegts', outfile] if args.debug: print(cmd) - run(cmd) + subprocess.check_call(cmd, + stderr=subprocess.STDOUT, + stdout=subprocess.DEVNULL + ) return event_id -if args.ids: - if len(args.ids) == 1: - print("enqueuing {} job".format(len(args.ids))) +if __name__ == "__main__": + # Parse arguments + parser = argparse.ArgumentParser( + description='C3VOC Intro-Outro-Generator - Variant which renders only using video filters in ffmpeg', + usage="./make-ffmpeg.py yourproject/", + formatter_class=argparse.RawTextHelpFormatter) + + parser.add_argument('project', action="store", metavar='Project folder', type=str, help=''' + Path to your project folder + ''') + + parser.add_argument('--debug', action="store_true", default=False, help=''' + Run script in debug mode and render with placeholder texts, + not parsing or accessing a schedule. + This argument must not be used together with --id + Usage: ./make-ffmpeg.py yourproject/ --debug + ''') + + parser.add_argument('--id', dest='ids', nargs='+', action="store", type=int, help=''' + Only render the given ID(s) from your projects schedule. + This argument must not be used together with --debug + Usage: ./make-adobe-after-effects.py yourproject/ --id 4711 0815 4223 1337 + ''') + + parser.add_argument('--room', dest='rooms', nargs='+', action="store", type=str, help=''' + Only render the given room(s) from your projects schedule. + This argument must not be used together with --debug + Usage: ./make-adobe-after-effects.py yourproject/ --room "HfG_Studio" "ZKM_Vortragssaal" + ''') + + parser.add_argument('--skip', nargs='+', action="store", type=str, help=''' + Skip ID(s) not needed to be rendered. + Usage: ./make-ffmpeg.py yourproject/ --skip 4711 0815 4223 1337 + ''') + + parser.add_argument('--force', action="store_true", default=False, help=''' + Force render if file exists. + ''') + + args = parser.parse_args() + + if (args.skip is None): + args.skip = [] + + config = parse_config(PurePath(args.project, 'config.ini')) + + if args.debug: + persons = ['Thomas Roth', 'Dmitry Nedospasov', 'Josh Datko',] + events = [{ + 'id': 'debug', + 'title': 'wallet.fail', + 'subtitle': 'Hacking the most popular cryptocurrency hardware wallets', + 'persons': persons, + 'personnames': ', '.join(persons), + 'room': 'Borg', + }] + else: - print("enqueuing {} jobs".format(len(args.ids))) -else: - if len(events) == 1: - print("enqueuing {} job".format(len(events))) + events = list(schedulelib.events(config.schedule)) + + if args.ids: + if len(args.ids) == 1: + print("enqueuing {} job".format(len(args.ids))) + else: + print("enqueuing {} jobs".format(len(args.ids))) else: - print("enqueuing {} jobs".format(len(events))) + if len(events) == 1: + print("enqueuing {} job".format(len(events))) + else: + print("enqueuing {} jobs".format(len(events))) + for event in events: + if args.ids and event['id'] not in args.ids: + continue -for event in events: - if args.ids and event['id'] not in args.ids: - continue + if args.rooms and event['room'] not in args.rooms: + print("skipping room %s (%s)" % (event['room'], event['title'])) + continue - if args.rooms and event['room'] not in args.rooms: - print("skipping room %s (%s)" % (event['room'], event['title'])) - continue + event_print(event, "enqueued as " + str(event['id'])) - event_print(event, "enqueued as " + str(event['id'])) + job_id = enqueue_job(config, event) + if not job_id: + event_print(event, "job was not enqueued successfully, skipping postprocessing") + continue - job_id = enqueue_job(event) - if not job_id: - event_print(event, "job was not enqueued successfully, skipping postprocessing") - continue - - -print('all done') + print('all done') From 9210d362480ba3bb9888202c6961f15292f622f4 Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sun, 6 Oct 2024 21:49:08 +0200 Subject: [PATCH 09/21] make-ffmpeg: Properly escape special characters --- make-ffmpeg.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/make-ffmpeg.py b/make-ffmpeg.py index 51b9653..b341907 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -66,8 +66,8 @@ class TextConfig: else: filter_str += ":font='{}'".format(self.fontfamily) - filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text='{4}'".format( - self.fontsize, self.fontcolor, self.x, self.y, text) + filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text={4}".format( + self.fontsize, self.fontcolor, self.x, self.y, ffmpeg_escape_str(text)) return filter_str @@ -167,7 +167,12 @@ def fit_text(string: str, frame_width): def ffmpeg_escape_str(text: str) -> str: - text = text.replace(':', "\:") # the ffmpeg command needs colons to be escaped + # Escape according to https://ffmpeg.org/ffmpeg-filters.html#Notes-on-filtergraph-escaping + # and don't put the string in quotes afterwards! + text = text.replace(",", r"\,") + text = text.replace(':', r"\\:") + text = text.replace("'", r"\\\'") + return text @@ -186,13 +191,9 @@ def enqueue_job(conf: Config, event): event_title = str(event['title']) event_personnames = str(event['personnames']) - event_title = event_title.replace('"', '\\"') - event_title = event_title.replace('\'', '') - event_personnames = event_personnames.replace('"', '\\"') - title = ffmpeg_escape_str(conf.title.fit_text(event_title)) - speakers = ffmpeg_escape_str(conf.speaker.fit_text(event_personnames)) - text = ffmpeg_escape_str(conf.text_text) + title = conf.title.fit_text(event_title) + speakers = conf.speaker.fit_text(event_personnames) if args.debug: print('Title: ', title) @@ -205,7 +206,7 @@ def enqueue_job(conf: Config, event): videofilter = conf.title.get_ffmpeg_filter(conf.inout_type, title) + "," videofilter += conf.speaker.get_ffmpeg_filter(conf.inout_type, speakers) + "," - videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, text) + videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, conf.text_text) cmd = [ffmpeg_path, '-y', '-i', conf.template_file, '-vf', videofilter] From 526ef6231a46807c226ea50dba1e2d684cc8ca38 Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 21 Sep 2024 22:03:56 +0200 Subject: [PATCH 10/21] make-ffmpeg: add border option --- make-ffmpeg.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/make-ffmpeg.py b/make-ffmpeg.py index b341907..0fbc353 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -28,6 +28,7 @@ class TextConfig: fontsize: int fontcolor: str = "#ffffff" + bordercolor: str = None # border is added, if a color is set def parse(self, cparser_sect, use_fontfile: bool): self.inpoint = cparser_sect.getfloat('in') @@ -47,6 +48,7 @@ class TextConfig: self.fontsize = cparser_sect.getint('fontsize') self.fontcolor = cparser_sect.get('fontcolor', self.fontcolor) + self.bordercolor = cparser_sect.get('bordercolor', None) def fit_text(self, text: str): global translation_font @@ -66,6 +68,9 @@ class TextConfig: else: filter_str += ":font='{}'".format(self.fontfamily) + if self.bordercolor is not None: + filter_str += ":borderw={}:bordercolor={}".format(self.fontsize / 30, self.bordercolor) + filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text={4}".format( self.fontsize, self.fontcolor, self.x, self.y, ffmpeg_escape_str(text)) From 6876f2cf44e302f272fc15bdc45743d23c30955a Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 2 Nov 2024 14:23:34 +0100 Subject: [PATCH 11/21] make-ffmpeg: Rework config file --- camp2023/config.ini | 8 ++---- cccamp19/config.ini | 8 ++---- denog11/config.ini | 8 ++---- jh19-berlin/config.ini | 8 ++---- jh20-jue/config.ini | 7 +----- jh21-rn/config.ini | 8 ++---- jugendhackt/config.ini | 39 ++++++++++++++++++++---------- make-ffmpeg.py | 55 +++++++++++++++++++++++++----------------- mrmcd2019/config.ini | 8 ++---- vcfb24/config.ini | 2 +- 10 files changed, 73 insertions(+), 78 deletions(-) diff --git a/camp2023/config.ini b/camp2023/config.ini index 2072250..5dbefd6 100644 --- a/camp2023/config.ini +++ b/camp2023/config.ini @@ -1,15 +1,13 @@ -[default] +[meta] schedule = https://pretalx.c3voc.de/camp2023/schedule/export/schedule.xml template = intro.mp4 alpha = false prores = false -fontfile = true -inout = t +inout_type = t [title] in = 16 out = 24 -fontfamily = BeonRegular fontfile = saira.ttf fontsize = 100 fontcolor = #FB48C4 @@ -19,7 +17,6 @@ y = 100 [speaker] in = 16 out = 24 -fontfamily = BeonRegular fontfile = saira.ttf fontsize = 70 fontcolor = #3FFF21 @@ -29,7 +26,6 @@ y = 800 [text] in = 16 out = 24 -fontfamily = BeonRegular fontfile = saira.ttf fontsize = 45 fontcolor = #FB48C4 diff --git a/cccamp19/config.ini b/cccamp19/config.ini index 181caed..0316909 100644 --- a/cccamp19/config.ini +++ b/cccamp19/config.ini @@ -1,15 +1,13 @@ -[default] +[meta] schedule = https://fahrplan.events.ccc.de/camp/2019/Fahrplan/schedule.xml template = cccamp19_talks_intro_1080p.mov alpha = true prores = true -fontfile = true -inout = n +inout_type = n [title] in = 193 out = 324 -fontfamily = fontfile = Marvel-Bold.ttf fontsize = 120 fontcolor = #c68100 @@ -19,7 +17,6 @@ y = 480 [speaker] in = 233 out = 324 -fontfamily = fontfile = Marvel-Regular.ttf fontsize = 70 fontcolor = #c68100 @@ -29,7 +26,6 @@ y = 845 [text] in = 242 out = 324 -fontfamily = fontfile = Marvel-Regular.ttf fontsize = 45 fontcolor = #c68100 diff --git a/denog11/config.ini b/denog11/config.ini index 6f403b5..0716e7e 100644 --- a/denog11/config.ini +++ b/denog11/config.ini @@ -1,15 +1,13 @@ -[default] +[meta] schedule = https://pretalx.denog.de/denog11/schedule/export/schedule.xml template = denog11_intro_template.ts alpha = false prores = false -fontfile = true -inout = n +inout_type = n [title] in = 1 out = 6.5 -fontfamily = fontfile = DejaVuSans.ttf fontsize = 100 fontcolor = #f9cc12 @@ -19,7 +17,6 @@ y = 200 [speaker] in = 2 out = 6.5 -fontfamily = fontfile = DejaVuSans.ttf fontsize = 60 fontcolor = #ffffff @@ -29,7 +26,6 @@ y = 900 [text] in = 3 out = 6.5 -fontfamily = fontfile = DejaVuSans.ttf fontsize = 45 fontcolor = #ffffff diff --git a/jh19-berlin/config.ini b/jh19-berlin/config.ini index 6a8740d..171ea67 100644 --- a/jh19-berlin/config.ini +++ b/jh19-berlin/config.ini @@ -1,15 +1,13 @@ -[default] +[meta] schedule = https://projects.alpaka.space/media/jhber19-schedule.xml template = intro-alpha.mov alpha = true prores = true -fontfile = true -inout = n +inout_type = n [title] in = 175 out = 260 -fontfamily = fontfile = SourceSansPro-Bold.otf fontsize = 90 fontcolor = #ffffff @@ -19,7 +17,6 @@ y = 450 [speaker] in = 175 out = 260 -fontfamily = fontfile = SourceSansPro-Regular.otf fontsize = 36 fontcolor = #ffffff @@ -29,7 +26,6 @@ y = 900 [text] in = 200 out = 250 -fontfamily = fontfile = SourceSansPro-Regular.otf fontsize = 45 fontcolor = #c68100 diff --git a/jh20-jue/config.ini b/jh20-jue/config.ini index 163ca71..7f65b89 100644 --- a/jh20-jue/config.ini +++ b/jh20-jue/config.ini @@ -1,12 +1,10 @@ -[default] +[meta] schedule = https://releasing.c3voc.de/releases/jhjue2020/schedule-jhjue20.xml ; intro_template.ts was derived from a png which was derived from jhjue-20-intro.svg ; ffmpeg -loop 1 -i jh20-jue/jh20-jue-intro.png -ar 48000 -ac 2 -f s16le -i /dev/zero -c:v mpeg2video -pix_fmt:v yuv420p -qscale:v 2 -qmin:v 2 -qmax:v 7 -keyint_min 0 -bf 0 -g 0 -intra:0 -maxrate:0 90M -c:a mp2 -b:a 384k -t 5 jh20-jue/jh20-jue_intro_template.ts template = jh20-jue_intro_template.ts alpha = false prores = false -; enable using a font file -fontfile = true ; in and out time format: t for seconds, n for frame number inout = n @@ -17,7 +15,6 @@ in = 20 ; outframe for totle out = 225 ; title font (either font family or file, see default setting above) -fontfamily = fontfile = ebisu.ttf ; title font size fontsize = 70 @@ -30,7 +27,6 @@ y = 865 [speaker] in = 40 out = 225 -fontfamily = fontfile = ebisu.ttf fontsize = 40 fontcolor = #eeeeee @@ -41,7 +37,6 @@ y = 950 [text] in = 3 out = 4 -fontfamily = fontfile = ebisu.ttf fontsize = 45 fontcolor = #ffffff diff --git a/jh21-rn/config.ini b/jh21-rn/config.ini index a7870db..8c25d4d 100644 --- a/jh21-rn/config.ini +++ b/jh21-rn/config.ini @@ -1,15 +1,13 @@ -[default] +[meta] schedule = https://pretalx.c3voc.de/jugend-hackt-rhein-neckar-2021/schedule/export/schedule.xml template = jh21-rn-template.ts alpha = false prores = false -fontfile = true -inout = t +inout_type = t [title] in = 1 out = 6.5 -fontfamily = fontfile = SourceSansPro-Semibold.ttf fontsize = 85 fontcolor = #ffffff @@ -19,7 +17,6 @@ y = 877 [speaker] in = 2 out = 6.5 -fontfamily = fontfile = SourceSansPro-Semibold.ttf fontsize = 45 fontcolor = #ffffff @@ -29,7 +26,6 @@ y = 954 [text] in = 3 out = 6.5 -fontfamily = fontfile = SourceSansPro-Semibold.ttf fontsize = 45 fontcolor = #ffffff diff --git a/jugendhackt/config.ini b/jugendhackt/config.ini index 2400940..da1b7bd 100644 --- a/jugendhackt/config.ini +++ b/jugendhackt/config.ini @@ -1,39 +1,52 @@ -[default] +[meta] schedule = https://pretalx.c3voc.de/jhhh23/schedule/export/schedule.xml +;; path to background video template = intro-background.ts +;; whether background video uses transparency (needs to be .mov) alpha = false +;; whether background video is prores 4444 prores = false -fontfile = true -inout = t +;; in and out time format: t for seconds, n for frame number +inout_type = t +;; Some font settings can have defaults, which can be overridden in the +;; 'title', 'speaker' and 'text' sections below. +[default] +;; default font (either use 'fontfamily' or 'fontfile') +; fontfamily = arial +fontfile = SourceSansPro-Semibold.ttf +;; default font color +fontcolor = #ffffff + +;; fields for title and speaker names are empty in the template.ts, so we'll render them in via ffmpeg +;; parameters are: +;; - in: start frame/ time +;; - out: end frame/ time +;; - fontfamily: font family +;; - fontfile: font file +;; - fontcolor: font color +;; - fontsize: font size (pixel) +;; - x: horizontal position (top left corner) +;; - y: vertical position (top left corner) [title] in = 1 out = 9.5 -fontfamily = -fontfile = SourceSansPro-Semibold.ttf fontsize = 67 -fontcolor = #ffffff x = 400 y = 870 [speaker] in = 2 out = 9 -fontfamily = -fontfile = SourceSansPro-Semibold.ttf fontsize = 50 -fontcolor = #ffffff x = 400 y = 950 - +;; optional extra text [text] in = 0 out = 0 -fontfamily = -fontfile = SourceSansPro-Semibold.ttf fontsize = 0 -fontcolor = #ffffff x = 0 y = 0 text = '' diff --git a/make-ffmpeg.py b/make-ffmpeg.py index 0fbc353..3b69978 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -1,6 +1,8 @@ #!/usr/bin/env python3 # vim: tabstop=4 shiftwidth=4 expandtab +"""See jugendhackt/config.ini for some config file documentation.""" + import os import sys import subprocess @@ -21,33 +23,39 @@ class TextConfig: x: int y: int - use_fontfile: bool - fontfile: str fontfile_path: str fontfamily: str fontsize: int - fontcolor: str = "#ffffff" + fontcolor: str bordercolor: str = None # border is added, if a color is set - def parse(self, cparser_sect, use_fontfile: bool): + def uses_fontfile(self): + return self.fontfile_path is not None + + def parse(self, cparser_sect, default_fontfile, default_fontfamily, default_fontcolor): self.inpoint = cparser_sect.getfloat('in') self.outpoint = cparser_sect.getfloat('out') self.x = cparser_sect.getint('x') self.y = cparser_sect.getint('y') - self.use_fontfile = use_fontfile - if use_fontfile: - self.fontfile = cparser_sect.get('fontfile') - self.fontfile_path = str(PurePath(args.project, self.fontfile).as_posix()) + self.fontcolor = cparser_sect.get('fontcolor', default_fontcolor) + + fontfile = cparser_sect.get('fontfile', default_fontfile) + fontfamily = cparser_sect.get('fontfamily', default_fontfamily) + if fontfile != None and fontfamily is None: + self.fontfile_path = str(PurePath(args.project, fontfile).as_posix()) if not os.path.exists(self.fontfile_path): error("Font file {} in Project Path is missing".format(self.fontfile_path)) + + elif fontfamily != None and fontfile is None: + self.fontfamily = fontfamily + else: - self.fontfamily = cparser_sect.get('fontfamily') + error("Either provide a 'fontfamily' or 'fontfile', not both") self.fontsize = cparser_sect.getint('fontsize') - self.fontcolor = cparser_sect.get('fontcolor', self.fontcolor) self.bordercolor = cparser_sect.get('bordercolor', None) def fit_text(self, text: str): @@ -63,7 +71,7 @@ class TextConfig: filter_str = "drawtext=enable='between({},{},{})'".format( inout_type, self.inpoint, self.outpoint) - if self.use_fontfile: + if self.uses_fontfile(): filter_str += ":fontfile='{}'".format(self.fontfile_path) else: filter_str += ":font='{}'".format(self.fontfamily) @@ -82,7 +90,6 @@ class Config: template_file: str # video background alpha: bool = False prores: bool = False - use_fontfile: bool = False inout_type: str = "t" # in and out time format: t for seconds, n for frame number fileext: str @@ -102,21 +109,25 @@ def parse_config(filename) -> Config: cparser = ConfigParser() cparser.read(filename) - defaults = cparser['default'] - conf.schedule = defaults.get('schedule') - infile = PurePath(args.project, defaults.get('template')) + meta = cparser['meta'] + conf.schedule = meta.get('schedule') + infile = PurePath(args.project, meta.get('template')) conf.template_file = str(infile) - conf.alpha = defaults.getboolean('alpha', conf.alpha) - conf.prores = defaults.getboolean('prores', conf.prores) - conf.use_fontfile = defaults.get('fontfile', conf.use_fontfile) - conf.inout_type = defaults.get('inout', conf.inout_type) + conf.alpha = meta.getboolean('alpha', conf.alpha) + conf.prores = meta.getboolean('prores', conf.prores) + conf.inout_type = meta.get('inout_type', conf.inout_type) + + defaults = cparser['default'] + default_fontfile = defaults.get('fontfile', None) + default_fontfamily = defaults.get('fontfamily', None) + default_fontcolor = defaults.get('fontcolor', "#ffffff") conf.title = TextConfig() - conf.title.parse(cparser['title'], conf.use_fontfile) + conf.title.parse(cparser['title'], default_fontfile, default_fontfamily, default_fontcolor) conf.speaker = TextConfig() - conf.speaker.parse(cparser['speaker'], conf.use_fontfile) + conf.speaker.parse(cparser['speaker'], default_fontfile, default_fontfamily, default_fontcolor) conf.text = TextConfig() - conf.text.parse(cparser['text'], conf.use_fontfile) + conf.text.parse(cparser['text'], default_fontfile, default_fontfamily, default_fontcolor) conf.text_text = cparser['text'].get('text', '') diff --git a/mrmcd2019/config.ini b/mrmcd2019/config.ini index 165753c..30da816 100755 --- a/mrmcd2019/config.ini +++ b/mrmcd2019/config.ini @@ -1,16 +1,14 @@ -[default] +[meta] #schedule = https://talks.mrmcd.net/2019/schedule/export/schedule.xml schedule = file:///home/thorti/git/c3voc/intro-outro-generator/mrmcd2019/schedule.xml template = mrmcd2019.mov alpha = false prores = false -fontfile = true -inout = n +inout_type = n [title] in = 50 out = 225 -fontfamily = fontfile = Jura-Bold.ttf fontsize = 80 fontcolor = #47acda @@ -20,7 +18,6 @@ y = 540 [speaker] in = 75 out = 225 -fontfamily = fontfile = Jura-Regular.ttf fontsize = 50 fontcolor = #094762 @@ -30,7 +27,6 @@ y = 950 [text] in = 242 out = 324 -fontfamily = fontfile = Jura-Regular.ttf fontsize = 45 fontcolor = #c68100 diff --git a/vcfb24/config.ini b/vcfb24/config.ini index 0fb3ad3..fff89ad 100644 --- a/vcfb24/config.ini +++ b/vcfb24/config.ini @@ -1,4 +1,4 @@ -[default] +[meta] schedule = http://vcfb.de/2024/schedule.xml # ffmpeg -loop 1 -i intro.png -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -c:v libx264 -tune stillimage -pix_fmt yuv420p -c:a aac -r 25 -t 10 intro.mp4 template = intro.mp4 From 31f01ca3861bbbb42a231587f7f1a4d287575270 Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 2 Nov 2024 17:21:47 +0100 Subject: [PATCH 12/21] make-ffmpeg: Use fit_text from make-ffmpeg-fade (break into lines array) --- camp2023/config.ini | 2 +- cccamp19/config.ini | 2 +- denog11/config.ini | 2 +- jh19-berlin/config.ini | 2 +- jh20-jue/config.ini | 2 +- jh21-rn/config.ini | 2 +- jugendhackt/config.ini | 4 +- make-ffmpeg.py | 84 ++++++++++++++++++++++++++---------------- mrmcd2019/config.ini | 2 +- vcfb24/config.ini | 2 +- 10 files changed, 63 insertions(+), 41 deletions(-) diff --git a/camp2023/config.ini b/camp2023/config.ini index 5dbefd6..e8c7ab6 100644 --- a/camp2023/config.ini +++ b/camp2023/config.ini @@ -31,5 +31,5 @@ fontsize = 45 fontcolor = #FB48C4 x = (w-text_w)/2 y = 1000 -text = 'Chaos Communication Camp 2023' +text = Chaos Communication Camp 2023 diff --git a/cccamp19/config.ini b/cccamp19/config.ini index 0316909..d723d7d 100644 --- a/cccamp19/config.ini +++ b/cccamp19/config.ini @@ -31,5 +31,5 @@ fontsize = 45 fontcolor = #c68100 x = (w-text_w)/2 y = 927 -text = 'chaos communication camp 2019' +text = chaos communication camp 2019 diff --git a/denog11/config.ini b/denog11/config.ini index 0716e7e..89c8096 100644 --- a/denog11/config.ini +++ b/denog11/config.ini @@ -31,5 +31,5 @@ fontsize = 45 fontcolor = #ffffff x = 640 y = 1000 -text = '' +; text = diff --git a/jh19-berlin/config.ini b/jh19-berlin/config.ini index 171ea67..73365a8 100644 --- a/jh19-berlin/config.ini +++ b/jh19-berlin/config.ini @@ -31,5 +31,5 @@ fontsize = 45 fontcolor = #c68100 x = (w-text_w)/2 y = 927 -text = '' +; text = diff --git a/jh20-jue/config.ini b/jh20-jue/config.ini index 7f65b89..d48087f 100644 --- a/jh20-jue/config.ini +++ b/jh20-jue/config.ini @@ -42,7 +42,7 @@ fontsize = 45 fontcolor = #ffffff x = 640 y = 1000 -text = '' +; text = ; build intros via diff --git a/jh21-rn/config.ini b/jh21-rn/config.ini index 8c25d4d..626db55 100644 --- a/jh21-rn/config.ini +++ b/jh21-rn/config.ini @@ -31,5 +31,5 @@ fontsize = 45 fontcolor = #ffffff x = 1920 y = 1080 -text = '' +; text = diff --git a/jugendhackt/config.ini b/jugendhackt/config.ini index da1b7bd..8af8ab6 100644 --- a/jugendhackt/config.ini +++ b/jugendhackt/config.ini @@ -42,11 +42,11 @@ fontsize = 50 x = 400 y = 950 -;; optional extra text +;; optional extra text, comment out "text" field to disable [text] in = 0 out = 0 fontsize = 0 x = 0 y = 0 -text = '' +;text = some additional text diff --git a/make-ffmpeg.py b/make-ffmpeg.py index 3b69978..aa67320 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -16,6 +16,8 @@ from PIL import ImageFont import schedulelib ssl._create_default_https_context = ssl._create_unverified_context +FRAME_WIDTH = 1920 + class TextConfig: inpoint: float @@ -58,31 +60,41 @@ class TextConfig: self.fontsize = cparser_sect.getint('fontsize') self.bordercolor = cparser_sect.get('bordercolor', None) - def fit_text(self, text: str): - global translation_font - translation_font = ImageFont.truetype( + def fit_text(self, text: str) -> list[str]: + if not text: + return [""] + + font = ImageFont.truetype( self.fontfile_path, size=self.fontsize, encoding="unic") # TODO: Make this work with font family as well! - return fit_text(text, (1920-self.x-100)) + return fit_text(text, (FRAME_WIDTH-self.x-100), font) - def get_ffmpeg_filter(self, inout_type: str, text: str): - filter_str = "drawtext=enable='between({},{},{})'".format( - inout_type, self.inpoint, self.outpoint) + def get_ffmpeg_filter(self, inout_type: str, text: list[str]): + if not text: + return "" - if self.uses_fontfile(): - filter_str += ":fontfile='{}'".format(self.fontfile_path) - else: - filter_str += ":font='{}'".format(self.fontfamily) + filter_str = "" + for idx, line in enumerate(text): + filter_str += "drawtext=enable='between({},{},{})'".format( + inout_type, self.inpoint, self.outpoint) - if self.bordercolor is not None: - filter_str += ":borderw={}:bordercolor={}".format(self.fontsize / 30, self.bordercolor) + if self.uses_fontfile(): + filter_str += ":fontfile='{}'".format(self.fontfile_path) + else: + filter_str += ":font='{}'".format(self.fontfamily) - filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text={4}".format( - self.fontsize, self.fontcolor, self.x, self.y, ffmpeg_escape_str(text)) + if self.bordercolor is not None: + filter_str += ":borderw={}:bordercolor={}".format( + self.fontsize / 30, self.bordercolor) - return filter_str + filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text={4}".format( + self.fontsize, self.fontcolor, self.x, self.y + (idx*self.fontsize), ffmpeg_escape_str(line)) + + filter_str += "," + + return filter_str[:-1] class Config: @@ -97,7 +109,7 @@ class Config: title: TextConfig speaker: TextConfig text: TextConfig - text_text: str = "" # additional text + extra_text: str = "" # additional text def parse_config(filename) -> Config: @@ -129,7 +141,7 @@ def parse_config(filename) -> Config: conf.text = TextConfig() conf.text.parse(cparser['text'], default_fontfile, default_fontfamily, default_fontcolor) - conf.text_text = cparser['text'].get('text', '') + conf.extra_text = cparser['text'].get('text', '') conf.fileext = infile.suffix @@ -165,20 +177,29 @@ def event_print(event, message): print("{} – {}".format(describe_event(event), message)) -def fit_text(string: str, frame_width): +def fit_text(string: str, max_width: int, font: ImageFont) -> list[str]: + """Break text into array of strings which fit certain a width (in pixels) for the specified font.""" + split_line = [x.strip() for x in string.split()] - lines = "" - line = "" + lines = [] + w = 0 + line = [] for word in split_line: - left, top, right, bottom = translation_font.getbbox(" ".join([line, word])) - width, height = right - left, bottom - top - if width > (frame_width - (2 * 6)): - lines += line.strip() + "\n" - line = "" + new_line = line + [word.rstrip(':')] + w = font.getlength(" ".join(new_line)) + if w > max_width: + lines.append(' '.join(line)) + line = [] - line += word + " " + line.append(word.rstrip(':')) + + if word.endswith(':'): + lines.append(' '.join(line)) + line = [] + + if line: + lines.append(' '.join(line)) - lines += line.strip() return lines @@ -210,9 +231,10 @@ def enqueue_job(conf: Config, event): title = conf.title.fit_text(event_title) speakers = conf.speaker.fit_text(event_personnames) + extra_text = conf.text.fit_text(conf.extra_text) if args.debug: - print('Title: ', title) + print('Title: ', title) print('Speaker: ', speakers) if platform.system() == 'Windows': @@ -222,7 +244,7 @@ def enqueue_job(conf: Config, event): videofilter = conf.title.get_ffmpeg_filter(conf.inout_type, title) + "," videofilter += conf.speaker.get_ffmpeg_filter(conf.inout_type, speakers) + "," - videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, conf.text_text) + videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, extra_text) cmd = [ffmpeg_path, '-y', '-i', conf.template_file, '-vf', videofilter] @@ -298,7 +320,7 @@ if __name__ == "__main__": persons = ['Thomas Roth', 'Dmitry Nedospasov', 'Josh Datko',] events = [{ 'id': 'debug', - 'title': 'wallet.fail', + 'title': 'wallet.fail and the longest talk title to test if the template is big enough', 'subtitle': 'Hacking the most popular cryptocurrency hardware wallets', 'persons': persons, 'personnames': ', '.join(persons), diff --git a/mrmcd2019/config.ini b/mrmcd2019/config.ini index 30da816..fb74efc 100755 --- a/mrmcd2019/config.ini +++ b/mrmcd2019/config.ini @@ -32,4 +32,4 @@ fontsize = 45 fontcolor = #c68100 x = (w-text_w)/2 y = 927 -text = '' +; text = diff --git a/vcfb24/config.ini b/vcfb24/config.ini index fff89ad..b363273 100644 --- a/vcfb24/config.ini +++ b/vcfb24/config.ini @@ -34,4 +34,4 @@ fontsize = 0 fontcolor = #ffffff x = 0 y = 0 -text = '' +; text = From 8933550f31688ffeb56c1d2ce83a824b0104fcdd Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 2 Nov 2024 17:23:10 +0100 Subject: [PATCH 13/21] make-ffmpeg: Combine with make-ffmpeg-fade --- jugendhackt/config.ini | 2 + make-ffmpeg-fade.py | 326 +---------------------------------------- make-ffmpeg.py | 20 ++- requirements.txt | 2 +- vcfb24/config.ini | 10 +- 5 files changed, 26 insertions(+), 334 deletions(-) diff --git a/jugendhackt/config.ini b/jugendhackt/config.ini index 8af8ab6..4f507cd 100644 --- a/jugendhackt/config.ini +++ b/jugendhackt/config.ini @@ -8,6 +8,8 @@ alpha = false prores = false ;; in and out time format: t for seconds, n for frame number inout_type = t +;; fade-in duration (seconds), leave out or set to zero to disable +;fade_duration = 0.5 ;; Some font settings can have defaults, which can be overridden in the ;; 'title', 'speaker' and 'text' sections below. diff --git a/make-ffmpeg-fade.py b/make-ffmpeg-fade.py index 976c858..3c1eecd 100755 --- a/make-ffmpeg-fade.py +++ b/make-ffmpeg-fade.py @@ -1,327 +1,5 @@ #!/usr/bin/env python3 # vim: tabstop=4 shiftwidth=4 expandtab -import os -import sys -import subprocess -import renderlib -import schedulelib -import argparse -import shlex -from PIL import ImageFont -from configparser import ConfigParser -import json - -# Parse arguments -parser = argparse.ArgumentParser( - description='C3VOC Intro-Outro-Generator - Variant which renders only using video filters in ffmpeg', - usage="./make-ffmpeg.py yourproject/", - formatter_class=argparse.RawTextHelpFormatter) - -parser.add_argument('project', action="store", metavar='Project folder', type=str, help=''' - Path to your project folder - ''') - -parser.add_argument('--debug', action="store_true", default=False, help=''' - Run script in debug mode and render with placeholder texts, - not parsing or accessing a schedule. - This argument must not be used together with --id - Usage: ./make-ffmpeg.py yourproject/ --debug - ''') - -parser.add_argument('--id', dest='ids', nargs='+', action="store", type=int, help=''' - Only render the given ID(s) from your projects schedule. - This argument must not be used together with --debug - Usage: ./make-adobe-after-effects.py yourproject/ --id 4711 0815 4223 1337 - ''') - -parser.add_argument('--room', dest='rooms', nargs='+', action="store", type=str, help=''' - Only render the given room(s) from your projects schedule. - This argument must not be used together with --debug - Usage: ./make-adobe-after-effects.py yourproject/ --room "HfG_Studio" "ZKM_Vortragssaal" - ''') - -parser.add_argument('--skip', nargs='+', action="store", type=str, help=''' - Skip ID(s) not needed to be rendered. - Usage: ./make-ffmpeg.py yourproject/ --skip 4711 0815 4223 1337 - ''') - -parser.add_argument('--force', action="store_true", default=False, help=''' - Force render if file exists. - ''') - -args = parser.parse_args() - -if (args.skip is None): - args.skip = [] - - -def headline(str): - print("##################################################") - print(str) - print("##################################################") - print() - - -def error(str): - headline(str) - parser.print_help() - sys.exit(1) - - -cparser = ConfigParser() -cparser.read(os.path.join(os.path.dirname(args.project), 'config.ini')) -template = cparser['default']['template'] -alpha = cparser['default']['alpha'] -prores = cparser['default']['prores'] - -fade_duration = 0.5 - -title_in = float(cparser['title']['in']) -title_out = float(cparser['title']['out']) -title_duration = title_out - title_in -title_font = cparser['title']['font'] -title_fontsize = int(cparser['title']['fontsize']) -title_fontcolor = cparser['title']['fontcolor'] -title_x = int(cparser['title']['x']) -title_y = int(cparser['title']['y']) - -speaker_in = float(cparser['speaker']['in']) -speaker_out = float(cparser['speaker']['out']) -speaker_duration = speaker_out - speaker_in -speaker_font = cparser['speaker']['font'] -speaker_fontsize = int(cparser['speaker']['fontsize']) -speaker_fontcolor = cparser['speaker']['fontcolor'] -speaker_x = int(cparser['speaker']['x']) -speaker_y = int(cparser['speaker']['y']) - -text_in = float(cparser['text']['in']) -text_out = float(cparser['text']['out']) -text_duration = text_out - text_in -text_font = cparser['text']['font'] -text_fontsize = int(cparser['text']['fontsize']) -text_fontcolor = cparser['text']['fontcolor'] -text_x = int(cparser['text']['x']) -text_y = int(cparser['text']['y']) -text_text = cparser['text']['text'] - -font_t = os.path.join(os.path.dirname(args.project), title_font) -font_s = os.path.join(os.path.dirname(args.project), speaker_font) -font_tt = os.path.join(os.path.dirname(args.project), text_font) - -fileformat = os.path.splitext(template)[1] -infile = os.path.join(os.path.dirname(args.project), template) - -schedule = cparser['default']['schedule'] - -if not (os.path.exists(os.path.join(args.project, template))): - error("Template file {} in Project Path is missing".format(template)) - -for ffile in (title_font, speaker_font, text_font): - if not (os.path.exists(os.path.join(args.project, ffile))): - error("Font file {} in Project Path is missing".format(ffile)) - -if not (os.path.exists(os.path.join(args.project, 'config.ini'))): - error("config.ini file in Project Path is missing") - -if alpha == 'true' and not fileformat == '.mov': - error("Alpha can only be rendered with .mov source files") - -if not args.project: - error("The Project Path is a required argument") - -if not args.debug and not schedule: - error("Either specify --debug or supply a schedule in config.ini") - -if args.debug: - persons = ['Thomas Roth', 'Dmitry Nedospasov', 'Josh Datko'] - events = [{ - 'id': 'debug', - 'title': 'wallet.fail', - 'subtitle': 'Hacking the most popular cryptocurrency hardware wallets', - 'persons': persons, - 'personnames': ', '.join(persons), - 'room': 'Borg', - }] - -else: - events = list(schedulelib.events(schedule)) - - -def describe_event(event): - return "#{}: {}".format(event['id'], event['title']) - - -def event_print(event, message): - print("{} – {}".format(describe_event(event), message)) - - -def fmt_command(command, **kwargs): - args = {} - for key, value in kwargs.items(): - args[key] = shlex.quote(value) - - command = command.format(**args) - return shlex.split(command) - - -def run(command, **kwargs): - return subprocess.check_call( - fmt_command(command, **kwargs), - stderr=subprocess.STDOUT, - stdout=subprocess.DEVNULL) - - -def fit_text(string: str, frame_width): - split_line = [x.strip() for x in string.split()] - lines = [] - w = 0 - line_num = 0 - line = [] - for word in split_line: - new_line = line + [word.rstrip(':')] - w, _ = translation_font.getsize(" ".join(new_line)) - print(w, new_line) - if w > frame_width: - print("too wide, breaking", line) - lines.append(' '.join(line)) - line = [] - - line.append(word.rstrip(':')) - - if word.endswith(':'): - print(':, breaking', line) - lines.append(' '.join(line)) - line = [] - - if line: - lines.append(' '.join(line)) - return lines - - -def fit_title(string: str): - global translation_font - translation_font = ImageFont.truetype(font_t, size=title_fontsize-10, encoding="unic") - title = fit_text(string, 1080) - - return title - - -def fit_speaker(string: str): - global translation_font - translation_font = ImageFont.truetype(font_s, size=speaker_fontsize-10, encoding="unic") - speaker = fit_text(string, 1080) - - return speaker - - -def enqueue_job(event): - event_id = str(event['id']) - if event_id in args.skip: - event_print(event, "skipping " + str(event['id'])) - return - if (os.path.exists(os.path.join(args.project, event_id + '.ts')) or os.path.exists(os.path.join(args.project, event_id + '.mov'))) and not args.force: - event_print(event, "file exist, skipping " + str(event['id'])) - return - - event_title = str(event['title']) - event_personnames = str(event['personnames']) - event_title = event_title.replace('"', '') - event_title = event_title.replace('\'', '') - event_personnames = event_personnames.replace('"', '') - - t = fit_title(event_title) - s = fit_speaker(event_personnames) - print(s) - - if args.debug: - print('Title: ', t) - print('Speaker: ', s) - - outfile = os.path.join(os.path.dirname(args.project), event_id + '.ts') - - videofilter = "" - for idx, line in enumerate(t): - videofilter += "drawtext=fontfile={fontfile}:fontsize={fontsize}:fontcolor={fontcolor}:x={x}:y={y}:text='{text}':".format( - fontfile=font_t, - fontsize=title_fontsize, - fontcolor=title_fontcolor, - x=title_x, - y=title_y + (idx * title_fontsize), - text=line) - videofilter += "alpha='if(lt(t,{fade_in_start_time}),0,if(lt(t,{fade_in_end_time}),(t-{fade_in_start_time})/{fade_duration},if(lt(t,{fade_out_start_time}),1,if(lt(t,{fade_out_end_time}),({fade_duration}-(t-{fade_out_start_time}))/{fade_duration},0))))',".format( - fade_in_start_time=title_in, - fade_in_end_time=title_in + fade_duration, - fade_out_start_time=title_in + fade_duration + title_duration, - fade_out_end_time=title_in + fade_duration + title_duration + fade_duration, - fade_duration=fade_duration - ) - - for idx, line in enumerate(s): - videofilter += "drawtext=fontfile={fontfile}:fontsize={fontsize}:fontcolor={fontcolor}:x={x}:y={y}:text='{text}':".format( - fontfile=font_s, - fontsize=speaker_fontsize, - fontcolor=speaker_fontcolor, - x=speaker_x, - y=speaker_y + (idx * speaker_fontsize), - text=line) - videofilter += "alpha='if(lt(t,{fade_in_start_time}),0,if(lt(t,{fade_in_end_time}),(t-{fade_in_start_time})/{fade_duration},if(lt(t,{fade_out_start_time}),1,if(lt(t,{fade_out_end_time}),({fade_duration}-(t-{fade_out_start_time}))/{fade_duration},0))))',".format( - fade_in_start_time=speaker_in, - fade_in_end_time=speaker_in + fade_duration, - fade_out_start_time=speaker_in + fade_duration + speaker_duration, - fade_out_end_time=speaker_in + fade_duration + speaker_duration + fade_duration, - fade_duration=fade_duration - ) - - if fileformat == '.mov': - if alpha == 'true': - if prores == 'true': - cmd = 'ffmpeg -y -i "{0}" -vf "{1}" -vcodec prores_ks -pix_fmt yuva444p10le -profile:v 4444 -shortest -movflags faststart -f mov "{2}"'.format( - infile, videofilter, outfile) - else: - cmd = 'ffmpeg -y -i "{0}" -vf "{1}" -shortest -c:v qtrle -movflags faststart -f mov "{2}"'.format( - infile, videofilter, outfile) - else: - cmd = 'ffmpeg -y -i "{0}" -vf "{1}" -map 0:0 -c:v mpeg2video -q:v 2 -aspect 16:9 -map 0:1 -c:a mp2 -b:a 384k -shortest -f mpegts "{2}"'.format( - infile, videofilter, outfile) - else: - cmd = 'ffmpeg -y -i "{0}" -vf "{1}" -map 0:0 -c:v mpeg2video -pix_fmt:v yuv420p -qscale:v 2 -qmin:v 2 -qmax:v 7 -keyint_min 0 -bf 0 -g 0 -maxrate:0 90M -aspect 16:9 -map 0:1 -c:a mp2 -b:a 384k -shortest -f mpegts "{2}"'.format( - infile, videofilter, outfile) - - if args.debug: - print(cmd) - - run(cmd) - - return event_id - - -if args.ids: - if len(args.ids) == 1: - print("enqueuing {} job".format(len(args.ids))) - else: - print("enqueuing {} jobs".format(len(args.ids))) -else: - if len(events) == 1: - print("enqueuing {} job".format(len(events))) - else: - print("enqueuing {} jobs".format(len(events))) - - -for event in events: - if args.ids and event['id'] not in args.ids: - continue - - if args.rooms and event['room'] not in args.rooms: - print("skipping room %s (%s)" % (event['room'], event['title'])) - continue - - event_print(event, "enqueued as " + str(event['id'])) - - job_id = enqueue_job(event) - if not job_id: - event_print(event, "job was not enqueued successfully, skipping postprocessing") - continue - - -print('all done') +print("ERROR: The functionality of this script was added to 'make-ffmpeg.py'!") +print("Specify meta.fade_duration = 0.5 in the config.ini for the same effect.") diff --git a/make-ffmpeg.py b/make-ffmpeg.py index aa67320..68d2bf2 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -71,10 +71,11 @@ class TextConfig: return fit_text(text, (FRAME_WIDTH-self.x-100), font) - def get_ffmpeg_filter(self, inout_type: str, text: list[str]): + def get_ffmpeg_filter(self, inout_type: str, fade_time: float, text: list[str]): if not text: return "" + text_duration = self.outpoint - self.inpoint filter_str = "" for idx, line in enumerate(text): filter_str += "drawtext=enable='between({},{},{})'".format( @@ -92,6 +93,14 @@ class TextConfig: filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text={4}".format( self.fontsize, self.fontcolor, self.x, self.y + (idx*self.fontsize), ffmpeg_escape_str(line)) + if fade_time > 0: + filter_str += ":alpha='if(lt(t,{fade_in_start_time}),0,if(lt(t,{fade_in_end_time}),(t-{fade_in_start_time})/{fade_duration},if(lt(t,{fade_out_start_time}),1,if(lt(t,{fade_out_end_time}),({fade_duration}-(t-{fade_out_start_time}))/{fade_duration},0))))'".format( + fade_in_start_time=self.inpoint, + fade_in_end_time=self.inpoint + fade_time, + fade_out_start_time=self.inpoint + fade_time + text_duration, + fade_out_end_time=self.inpoint + fade_time + text_duration + fade_time, + fade_duration=fade_time) + filter_str += "," return filter_str[:-1] @@ -103,6 +112,7 @@ class Config: alpha: bool = False prores: bool = False inout_type: str = "t" # in and out time format: t for seconds, n for frame number + fade_duration: float = 0 # fade duration in seconds, 0 to disable fileext: str @@ -128,6 +138,7 @@ def parse_config(filename) -> Config: conf.alpha = meta.getboolean('alpha', conf.alpha) conf.prores = meta.getboolean('prores', conf.prores) conf.inout_type = meta.get('inout_type', conf.inout_type) + conf.fade_duration = meta.getfloat('fade_duration', conf.fade_duration) defaults = cparser['default'] default_fontfile = defaults.get('fontfile', None) @@ -242,9 +253,10 @@ def enqueue_job(conf: Config, event): else: ffmpeg_path = 'ffmpeg' - videofilter = conf.title.get_ffmpeg_filter(conf.inout_type, title) + "," - videofilter += conf.speaker.get_ffmpeg_filter(conf.inout_type, speakers) + "," - videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, extra_text) + videofilter = conf.title.get_ffmpeg_filter(conf.inout_type, conf.fade_duration, title) + "," + videofilter += conf.speaker.get_ffmpeg_filter(conf.inout_type, + conf.fade_duration, speakers) + "," + videofilter += conf.text.get_ffmpeg_filter(conf.inout_type, conf.fade_duration, extra_text) cmd = [ffmpeg_path, '-y', '-i', conf.template_file, '-vf', videofilter] diff --git a/requirements.txt b/requirements.txt index 181482a..f8a9b74 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -pillow +pillow>=8.0.0 cssutils==1.0.2 lxml==4.9.1 svg.path==4.0.2 diff --git a/vcfb24/config.ini b/vcfb24/config.ini index b363273..712eff6 100644 --- a/vcfb24/config.ini +++ b/vcfb24/config.ini @@ -4,13 +4,13 @@ schedule = http://vcfb.de/2024/schedule.xml template = intro.mp4 alpha = false prores = false -fontfile = true -inout = t +inout_type = t +fade_duration = 0.5 [title] in = 1 out = 9.5 -font = Computerfont.ttf +fontfile = Computerfont.ttf fontsize = 100 fontcolor = #ffffff x = 85 @@ -19,7 +19,7 @@ y = 122 [speaker] in = 2 out = 9 -font = SourceSansPro-Semibold.ttf +fontfile = SourceSansPro-Semibold.ttf fontsize = 65 fontcolor = #ffffff x = 85 @@ -29,7 +29,7 @@ y = 861 [text] in = 0 out = 0 -font = Computerfont.ttf +fontfile = Computerfont.ttf fontsize = 0 fontcolor = #ffffff x = 0 From ca224b9d84ac376149a009aaa30304a9ec9c0fb3 Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 2 Nov 2024 20:16:06 +0100 Subject: [PATCH 14/21] make-ffmpeg: Remove fontfamily option as it doesn't work --- jh20-jue/config.ini | 20 ++++++++++---------- jugendhackt/config.ini | 4 +--- make-ffmpeg.py | 40 +++++++++++----------------------------- 3 files changed, 22 insertions(+), 42 deletions(-) diff --git a/jh20-jue/config.ini b/jh20-jue/config.ini index d48087f..05878cf 100644 --- a/jh20-jue/config.ini +++ b/jh20-jue/config.ini @@ -8,26 +8,28 @@ prores = false ; in and out time format: t for seconds, n for frame number inout = n -; fields for title and speaker names are empty in the template.ts, so we'll render them in via ffmpeg +;; Some font settings can have defaults, which can be overridden in the +;; 'title', 'speaker' and 'text' sections below. +[default] +;; default font +fontfile = ebisu.ttf +;; default font color +fontcolor = #ffffff + +;; fields for title and speaker names are empty in the template.ts, so we'll render them in via ffmpeg [title] ; inframe for title in = 20 -; outframe for totle +; outframe for title out = 225 -; title font (either font family or file, see default setting above) -fontfile = ebisu.ttf ; title font size fontsize = 70 -; title color -fontcolor = #ffffff -; title position from upper left corner x = 600 y = 865 [speaker] in = 40 out = 225 -fontfile = ebisu.ttf fontsize = 40 fontcolor = #eeeeee x = 600 @@ -37,9 +39,7 @@ y = 950 [text] in = 3 out = 4 -fontfile = ebisu.ttf fontsize = 45 -fontcolor = #ffffff x = 640 y = 1000 ; text = diff --git a/jugendhackt/config.ini b/jugendhackt/config.ini index 4f507cd..94180a5 100644 --- a/jugendhackt/config.ini +++ b/jugendhackt/config.ini @@ -14,8 +14,7 @@ inout_type = t ;; Some font settings can have defaults, which can be overridden in the ;; 'title', 'speaker' and 'text' sections below. [default] -;; default font (either use 'fontfamily' or 'fontfile') -; fontfamily = arial +;; default font fontfile = SourceSansPro-Semibold.ttf ;; default font color fontcolor = #ffffff @@ -24,7 +23,6 @@ fontcolor = #ffffff ;; parameters are: ;; - in: start frame/ time ;; - out: end frame/ time -;; - fontfamily: font family ;; - fontfile: font file ;; - fontcolor: font color ;; - fontsize: font size (pixel) diff --git a/make-ffmpeg.py b/make-ffmpeg.py index 68d2bf2..94d1514 100755 --- a/make-ffmpeg.py +++ b/make-ffmpeg.py @@ -26,8 +26,6 @@ class TextConfig: y: int fontfile_path: str - fontfamily: str - fontsize: int fontcolor: str bordercolor: str = None # border is added, if a color is set @@ -35,7 +33,7 @@ class TextConfig: def uses_fontfile(self): return self.fontfile_path is not None - def parse(self, cparser_sect, default_fontfile, default_fontfamily, default_fontcolor): + def parse(self, cparser_sect, default_fontfile, default_fontcolor): self.inpoint = cparser_sect.getfloat('in') self.outpoint = cparser_sect.getfloat('out') self.x = cparser_sect.getint('x') @@ -44,18 +42,10 @@ class TextConfig: self.fontcolor = cparser_sect.get('fontcolor', default_fontcolor) fontfile = cparser_sect.get('fontfile', default_fontfile) - fontfamily = cparser_sect.get('fontfamily', default_fontfamily) - if fontfile != None and fontfamily is None: - self.fontfile_path = str(PurePath(args.project, fontfile).as_posix()) + self.fontfile_path = str(PurePath(args.project, fontfile).as_posix()) - if not os.path.exists(self.fontfile_path): - error("Font file {} in Project Path is missing".format(self.fontfile_path)) - - elif fontfamily != None and fontfile is None: - self.fontfamily = fontfamily - - else: - error("Either provide a 'fontfamily' or 'fontfile', not both") + if not os.path.exists(self.fontfile_path): + error("Font file {} in Project Path is missing".format(self.fontfile_path)) self.fontsize = cparser_sect.getint('fontsize') self.bordercolor = cparser_sect.get('bordercolor', None) @@ -67,8 +57,6 @@ class TextConfig: font = ImageFont.truetype( self.fontfile_path, size=self.fontsize, encoding="unic") - # TODO: Make this work with font family as well! - return fit_text(text, (FRAME_WIDTH-self.x-100), font) def get_ffmpeg_filter(self, inout_type: str, fade_time: float, text: list[str]): @@ -78,21 +66,16 @@ class TextConfig: text_duration = self.outpoint - self.inpoint filter_str = "" for idx, line in enumerate(text): - filter_str += "drawtext=enable='between({},{},{})'".format( - inout_type, self.inpoint, self.outpoint) + filter_str += "drawtext=enable='between({},{},{})':x={}:y={}".format( + inout_type, self.inpoint, self.outpoint, self.x, self.y + (idx*self.fontsize)) - if self.uses_fontfile(): - filter_str += ":fontfile='{}'".format(self.fontfile_path) - else: - filter_str += ":font='{}'".format(self.fontfamily) + filter_str += ":fontfile='{}':fontsize={}:fontcolor={}:text={}".format( + self.fontfile_path, self.fontsize, self.fontcolor, ffmpeg_escape_str(line)) if self.bordercolor is not None: filter_str += ":borderw={}:bordercolor={}".format( self.fontsize / 30, self.bordercolor) - filter_str += ":fontsize={0}:fontcolor={1}:x={2}:y={3}:text={4}".format( - self.fontsize, self.fontcolor, self.x, self.y + (idx*self.fontsize), ffmpeg_escape_str(line)) - if fade_time > 0: filter_str += ":alpha='if(lt(t,{fade_in_start_time}),0,if(lt(t,{fade_in_end_time}),(t-{fade_in_start_time})/{fade_duration},if(lt(t,{fade_out_start_time}),1,if(lt(t,{fade_out_end_time}),({fade_duration}-(t-{fade_out_start_time}))/{fade_duration},0))))'".format( fade_in_start_time=self.inpoint, @@ -142,15 +125,14 @@ def parse_config(filename) -> Config: defaults = cparser['default'] default_fontfile = defaults.get('fontfile', None) - default_fontfamily = defaults.get('fontfamily', None) default_fontcolor = defaults.get('fontcolor', "#ffffff") conf.title = TextConfig() - conf.title.parse(cparser['title'], default_fontfile, default_fontfamily, default_fontcolor) + conf.title.parse(cparser['title'], default_fontfile, default_fontcolor) conf.speaker = TextConfig() - conf.speaker.parse(cparser['speaker'], default_fontfile, default_fontfamily, default_fontcolor) + conf.speaker.parse(cparser['speaker'], default_fontfile, default_fontcolor) conf.text = TextConfig() - conf.text.parse(cparser['text'], default_fontfile, default_fontfamily, default_fontcolor) + conf.text.parse(cparser['text'], default_fontfile, default_fontcolor) conf.extra_text = cparser['text'].get('text', '') From 2451c0f25f66662ee5b17d1d17247b7cd0c31afc Mon Sep 17 00:00:00 2001 From: Jannik Beyerstedt Date: Sat, 2 Nov 2024 21:49:30 +0100 Subject: [PATCH 15/21] bump some versions in requirements.txt - lxml 5 works - svg.path has no breaking changes according to change log - cssutils has a v2, but didn't find a changelog --- requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index f8a9b74..efa6214 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ pillow>=8.0.0 cssutils==1.0.2 -lxml==4.9.1 -svg.path==4.0.2 -Wand==0.6.5 +lxml~=5.3 +svg.path~=6.0 +Wand~=0.6.5 From d8c198f98496bb910b4c872ef888acf3d687e0e0 Mon Sep 17 00:00:00 2001 From: Lukas Schauer Date: Tue, 12 Nov 2024 11:38:27 +0100 Subject: [PATCH 16/21] god2024 --- god2024/__init__.py | 145 ++++++++++++++++++++++++++++++++++++++ god2024/artwork/intro.svg | 101 ++++++++++++++++++++++++++ god2024/artwork/outro.svg | 131 ++++++++++++++++++++++++++++++++++ god2024/artwork/pause.svg | 78 ++++++++++++++++++++ 4 files changed, 455 insertions(+) create mode 100644 god2024/__init__.py create mode 100644 god2024/artwork/intro.svg create mode 100644 god2024/artwork/outro.svg create mode 100644 god2024/artwork/pause.svg diff --git a/god2024/__init__.py b/god2024/__init__.py new file mode 100644 index 0000000..c04c938 --- /dev/null +++ b/god2024/__init__.py @@ -0,0 +1,145 @@ +#!/usr/bin/python3 + +from renderlib import * +from schedulelib import * +from easing import * + +# URL to Schedule-XML +scheduleUrl = 'https://import.c3voc.de/schedule/god2024.xml?showall=yes' + +titlemap = { + +} + +def introFrames(p): + givenFrame = 0 + + nr = p['$id']; + + # 1 Sekunden nix + frames = 1*fps + for i in range(0, frames): + givenFrame += 1 + yield ( + ('bg', 'attr', '{http://www.w3.org/1999/xlink}href', "given-frames/frame%04d.png" % (givenFrame)), + ('layer1', 'style', 'opacity', "%.4f" % 0), # nix + # ('text', 'attr', 'transform', 'translate(%.4f, 0)' % easeOutQuad(i, move, -move, frames)), + ) + + # 1 Sekunde Text Fadein + frames = 1*fps + for i in range(0, frames): + givenFrame += 1 + yield ( + ('bg', 'attr', '{http://www.w3.org/1999/xlink}href', "given-frames/frame%04d.png" % (givenFrame)), + ('layer1', 'style', 'opacity', "%.4f" % easeLinear(i, 0, 1, frames)), + # ('text', 'attr', 'transform', 'translate(%.4f, 0)' % easeOutQuad(i, move, -move, frames)), + ) + + # 5 Sekunden Text + frames = 5*fps + for i in range(0, frames): + givenFrame += 1 + yield ( + ('bg', 'attr', '{http://www.w3.org/1999/xlink}href', "given-frames/frame%04d.png" % (givenFrame)), + ('layer1', 'style', 'opacity', "%.4f" %1), + # ('text', 'attr', 'transform', 'translate(%.4f, 0)' % easeOutQuad(i, move, -move, frames)), + ) + +def outroFrames(p): + xml = etree.parse('god2024/artwork/outro.svg').getroot() + + frames = int(5*fps) + for i in range(0, frames): + yield () + +def pauseFrames(p): + # 1 sekunden fade in + frames = 1*fps + for i in range(0, frames): + yield ( + ('text1', 'style', 'opacity', "%.4f" % easeLinear(i, 0, 1, frames)), + ) + + # 1 sekunde sehen + for i in range(0, frames): + yield ( + ('text1', 'style', 'opacity', "%.4f" % 1), + ) + + # 1 sekunde fadeout + for i in range(0, frames): + yield ( + ('text1', 'style', 'opacity', "%.4f" % easeLinear(i, 1, -1, frames)), + ) + + # 1 sekunde bild + for i in range(0, frames): + yield ( + ('text1', 'style', 'opacity', "%.4f" % 0), + ) + +def debug(): + render( + 'intro.svg', + '../intro.ts', + introFrames, + { + '$id': 65, + '$title': 'OWASP Juice Shop 10th anniversary: Is it still fresh?'.upper(), + '$subtitle': '', + '$personnames': 'Jannik Hollenbach'.upper(), + #'only_render_frame': 353 + 'only_rerender_frames_after': 225 + } + ) + + # render( + # 'pause.svg', + # '../pause.ts', + # pauseFrames + # ) + +def tasks(queue, args, id_list, skip_list): + if not 'outro' in skip_list: + # place a task for the outro into the queue + queue.put(Rendertask( + infile = 'outro.svg', + outfile = 'outro.ts', + sequence = outroFrames + )) + + if not 'pause' in skip_list: + # place the pause-sequence into the queue + queue.put(Rendertask( + infile = 'pause.svg', + outfile = 'pause.ts', + sequence = pauseFrames + )) + + # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl, titlemap): + + # skip events which will not be recorded + if event['room'] not in ('Da Capo',) or event['track'] == 'Nomnom': + print("skipping room %s (%s [%s])" % (event['room'], event['title'], event['id'])) + continue + + # when id_list is not empty, only render events which are in id_list + if id_list and int(event['id']) not in id_list: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + + # generate a task description and put them into the queue + queue.put(Rendertask( + infile = 'intro.svg', + outfile = str(event['id']) + ".ts", + sequence = introFrames, + parameters = { + '$id': event['id'], + '$title': event['title'].upper(), + '$subtitle': event['subtitle'], + '$personnames': event['personnames'].upper(), + } + )) + diff --git a/god2024/artwork/intro.svg b/god2024/artwork/intro.svg new file mode 100644 index 0000000..3767d64 --- /dev/null +++ b/god2024/artwork/intro.svg @@ -0,0 +1,101 @@ + + + +image/svg+xml$title$personnames diff --git a/god2024/artwork/outro.svg b/god2024/artwork/outro.svg new file mode 100644 index 0000000..44344e4 --- /dev/null +++ b/god2024/artwork/outro.svg @@ -0,0 +1,131 @@ + + + +image/svg+xmlCreative Commons Attribution 4.0 International http://creativecommons.org/licenses/by/4.0/ diff --git a/god2024/artwork/pause.svg b/god2024/artwork/pause.svg new file mode 100644 index 0000000..6dd0f4e --- /dev/null +++ b/god2024/artwork/pause.svg @@ -0,0 +1,78 @@ + + + +image/svg+xmlPAUSE From 5661e690de70e2f1ad12e00eb5dffbdcaba00daf Mon Sep 17 00:00:00 2001 From: Lukas Schauer Date: Tue, 12 Nov 2024 12:43:11 +0100 Subject: [PATCH 17/21] god2024 changes --- god2024/artwork/intro.svg | 26 +++++++++++++------------- god2024/artwork/outro.svg | 12 ++++++------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/god2024/artwork/intro.svg b/god2024/artwork/intro.svg index 3767d64..4a79ff0 100644 --- a/god2024/artwork/intro.svg +++ b/god2024/artwork/intro.svg @@ -33,13 +33,13 @@ guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:window-width="1202" + inkscape:window-width="2211" inkscape:window-height="1330" id="namedview25" showgrid="false" - inkscape:zoom="0.6364738" - inkscape:cx="1139.0885" - inkscape:cy="1055.0316" + inkscape:zoom="1.8226104" + inkscape:cx="1088.823" + inkscape:cy="624.10487" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" @@ -68,29 +68,29 @@ style="opacity:1;display:inline">$title$title$personnames Date: Thu, 21 Nov 2024 19:08:46 +0100 Subject: [PATCH 18/21] make-apple-motion: add --no-cleanup flag --- make-apple-motion.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/make-apple-motion.py b/make-apple-motion.py index 1d4c631..079908a 100755 --- a/make-apple-motion.py +++ b/make-apple-motion.py @@ -57,6 +57,10 @@ parser.add_argument('--num-audio-streams', dest='naudio', type=int, default=1, h number of audio-streams to generate. defaults to 1 ''') +parser.add_argument('--no-cleanup', action='store_true', help=''' + keep temp-dir for debugging purposes + ''') + args = parser.parse_args() @@ -250,5 +254,9 @@ while len(active_jobs) > 0: finalize_job(job_id, event) -print('all done, cleaning up ' + tempdir.name) -tempdir.cleanup() +if args.no_cleanup: + print('all done, *NOT* cleaning up, *TEMPFILES REMAIN* in ' + tempdir.name) + +else: + print('all done, cleaning up ' + tempdir.name) + tempdir.cleanup() From 41db29d24b1c694a00ae3dcd3083b2b18bef2c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=B6rner?= Date: Thu, 21 Nov 2024 19:19:58 +0100 Subject: [PATCH 19/21] make-apple-motion: add --setting-path flag and auto-detect absolute path to default .compressorsetting file --- make-apple-motion.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/make-apple-motion.py b/make-apple-motion.py index 079908a..4262030 100755 --- a/make-apple-motion.py +++ b/make-apple-motion.py @@ -61,6 +61,12 @@ parser.add_argument('--no-cleanup', action='store_true', help=''' keep temp-dir for debugging purposes ''') +parser.add_argument('--setting-path', default='hd1080p.compressorsetting', help=''' + filename in the script-dir (where this python script resides), + the work-dir (where the .motn-file resides) or absolute path to + a .compressorsetting file + ''') + args = parser.parse_args() @@ -105,9 +111,22 @@ def describe_event(event): def event_print(event, message): print("{} – {}".format(describe_event(event), message)) +def find_settingpath(): + artwork_dir = os.path.dirname(args.motn) + setting_path = os.path.join(artwork_dir, args.setting_path) + if os.path.exists(setting_path): + return setting_path + + setting_path = os.path.join(os.path.dirname(__file__), args.setting_path) + if os.path.exists(setting_path): + return setting_path + + return args.setting_path + tempdir = tempfile.TemporaryDirectory() print('working in ' + tempdir.name) +settingpath = find_settingpath() def fmt_command(command, **kwargs): @@ -148,10 +167,11 @@ def enqueue_job(event): fp.write(xmlstr) compressor_info = run_output( - '/Applications/Compressor.app/Contents/MacOS/Compressor -batchname {batchname} -jobpath {jobpath} -settingpath hd1080p.compressorsetting -locationpath {locationpath}', + '/Applications/Compressor.app/Contents/MacOS/Compressor -batchname {batchname} -jobpath {jobpath} -settingpath {settingpath} -locationpath {locationpath}', batchname=describe_event(event), jobpath=work_doc, - locationpath=intermediate_clip) + locationpath=intermediate_clip, + settingpath=settingpath) match = re.search(r"", compressor_info) if not match: From a9cbfc5eb3b0eaedf997e70bd9c3820ad93eedb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=B6rner?= Date: Thu, 21 Nov 2024 19:26:10 +0100 Subject: [PATCH 20/21] make-apple-motion: add --snapshot-sec to automatically generate a snapshot of the final clip for inspection or as thumbnail --- make-apple-motion.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/make-apple-motion.py b/make-apple-motion.py index 4262030..f4317c4 100755 --- a/make-apple-motion.py +++ b/make-apple-motion.py @@ -61,6 +61,10 @@ parser.add_argument('--no-cleanup', action='store_true', help=''' keep temp-dir for debugging purposes ''') +parser.add_argument('--snapshot-sec', type=int, default=3, help=''' + number of seconds into the final clip when to take a snapshot (for inspection purposes or as thumbnail) + ''') + parser.add_argument('--setting-path', default='hd1080p.compressorsetting', help=''' filename in the script-dir (where this python script resides), the work-dir (where the .motn-file resides) or absolute path to @@ -226,6 +230,7 @@ def finalize_job(job_id, event): intermediate_clip = os.path.join(tempdir.name, event_id + '.mov') final_clip = os.path.join(os.path.dirname(args.motn), event_id + '.ts') copy_clip = os.path.join(os.path.dirname(args.motn), event_id + '.mov') + snapshot_file = os.path.join(os.path.dirname(args.motn), event_id + '.png') shutil.copy(intermediate_clip, copy_clip) @@ -235,6 +240,11 @@ def finalize_job(job_id, event): vcodec=args.vcodec, acodec=args.acodec) + run('ffmpeg -y -hide_banner -loglevel error -i {input} -ss {snapshot_sec} -frames:v 1 -vf scale="iw*sar:ih" -f image2 -y -c png {output}', + input=intermediate_clip, + output=snapshot_file, + snapshot_sec=str(args.snapshot_sec)) + event_print(event, "finalized intro to " + final_clip) From 21a8e014ef3911201f017833cc8fc2fa9f3b288b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=B6rner?= Date: Thu, 21 Nov 2024 19:32:20 +0100 Subject: [PATCH 21/21] make-apple-motion: replace xml.sax.saxutils.xmlescape with custom routine, which also escapes quotes xml.sax.saxutils.xmlescape is only a str.replace in a trencoat anyways. --- make-apple-motion.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/make-apple-motion.py b/make-apple-motion.py index f4317c4..c2940e9 100755 --- a/make-apple-motion.py +++ b/make-apple-motion.py @@ -11,8 +11,6 @@ import sys import os import re -from xml.sax.saxutils import escape as xmlescape - # Parse arguments parser = argparse.ArgumentParser( description='C3VOC Intro-Outro-Generator - Variant to use with apple Motion Files', @@ -155,6 +153,13 @@ def run_output(command, **kwargs): os.system(f'{cmd} >{t.name} 2>&1') return t.read().decode('utf-8') +def xmlescape(xml): + xml = xml.replace("&", "&") + xml = xml.replace("<", "<") + xml = xml.replace(">", ">") + xml = xml.replace("\"", """) + xml = xml.replace("'", "'") + return xml def enqueue_job(event): event_id = str(event['id'])