Skip to content

Instantly share code, notes, and snippets.

@enjalot
Forked from ejfox/alex4.js
Created August 4, 2020 23:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enjalot/6020dc2b9765df8f2cf42420c40ac71d to your computer and use it in GitHub Desktop.
Save enjalot/6020dc2b9765df8f2cf42420c40ac71d to your computer and use it in GitHub Desktop.
const { load } = require("@alex.garcia/observable-prerender");
const puppeteer = require("puppeteer");
async function main() {
let mapWidth = 1920
let mapHeight = 1080
// let startDate = "20200301"
let startDate = "20200420"
const browser = await puppeteer.launch({
defaultViewport: {
width: mapWidth,
height: mapHeight,
deviceScaleFactor: 2
},
// args: [`--window-size=${mapWidth},${mapHeight}`],
});
const notebook = await load(
"@codingwithfire/cmu-covidcast-api-map-maker-bubbles-ii",
["map"],
{ browser }
);
await notebook.redefine("date", startDate);
const days = await notebook.value("days");
console.log("going to work on", days.length, "days")
const outputFolder = 'output6'
const signals = await notebook.value("sensors");
const signalMap = await notebook.value("signalMap")
const signalID = await notebook.value("signal")
const signal = signalMap[signalID]
for await (let signal of signals) {
// // console.log("rendering signal", signal.name)
let dayNum = 0
for await (let day of days) {
// console.log("rendering", dayNum, day)
// await notebook.redefine("mapWidth", mapWidth);
// await notebook.redefine("mapHeight", mapHeight);
await notebook.redefine("date", day);
await notebook.redefine("signal", signal.key);
await notebook.screenshot("map", `${outputFolder}/${signal.key}_${("000" + dayNum).slice(-3)}.png`);
// await notebook.svg("map", `${county.name}.svg`);
dayNum++
}
console.log(`ffmpeg -framerate 12 -i ${outputFolder}/${signal.key}_%03d.png -c:v libx264 -pix_fmt yuv420p ${outputFolder}/${signal.key}.mp4; `)
//console.log(`ffmpeg -framerate 15 -i output/${signal.key}/${signal.id}_%03d.png -vf "minterpolate=fps=25:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1" -c:v libx264 -pix_fmt yuv420p output/${signal.key}/${signal.id}.mp4`)
}
//ffmpeg -framerate 2 -i output3/doctor-visits_%03d.png -c:v libx264 -pix_fmt yuv420p output3/doctor-visits.mp4
await notebook.browser.close();
}
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment