// https://www.webcamtaxi.com/en/map.html good source of cameras
// https://www.google.com/search?q=security+cams+list+live&sca_esv=196de8ea19e6cdb1&sca_upv=1&sxsrf=ACQVn0863pjl1rEkAdW7qGn3G8NzuYOqIw%3A1712272483973&ei=YzQPZvn8Ou-p5NoPho2P8AQ&ved=0ahUKEwi5uqmJ2KmFAxXvFFkFHYbGA04Q4dUDCBA&uact=5&oq=security+cams+list+live&gs_lp=Egxnd3Mtd2l6LXNlcnAiF3NlY3VyaXR5IGNhbXMgbGlzdCBsaXZlSNkKUMsEWNUJcAF4AZABAJgBeaABmASqAQMxLjS4AQPIAQD4AQGYAgKgAoMBwgIKEAAYRxjWBBiwA8ICBhAAGBYYHsICCBAAGAUYHhgNwgIIEAAYCBgeGA3CAgoQABgIGB4YDRgPwgILEAAYgAQYigUYhgOYAwDiAwUSATEgQIgGAZAGCJIHAzEuMaAHyQ4&sclient=gws-wiz-serp#ip=1
// http://www.insecam.org/en/byrating
// https://camstreamer.com/live
// numbers to right of URL Start Time, End Time, Start Month, End Month Times are UTC
let CameraList = [
["Amsterdam 1", "https://www.youtube.com/embed/1phWWCgzXgM?&autoplay=1", 08, 18, 1, 12],
["Amsterdam 2", "https://www.youtube.com/embed/Gd9d4q6WvUY?&autoplay=1", 08, 18, 1, 12],
["Australia 1", "https://www.youtube.com/embed/5uZa3-RMFos?&autoplay=1", 20, 12, 4, 9],
["Australia 2", "https://www.youtube.com/embed/0OtVlfDj2w8?&autoplay=1", 20, 10, 4, 9],
["Austria", "http://93.83.116.226:8880/axis-cgi/mjpg/video.cgi?resolution=800x600&dummy=garb", 09, 16, 2, 5],
["Alaska Bear Cam 1", "https://www.youtube.com/embed/z7_GhJeFxQI?&autoplay=1", 14, 04, 6, 10],
["Alaska Bear Cam 2", "https://www.youtube.com/embed/J7ZrIDvqlic?&autoplay=1", 14, 04, 6, 10],
["Bonaire", "https://www.youtube.com/embed/EcumU_n6fTY?&autoplay=1", 12, 06, 1, 12],
["BVI - Soggy Dollar Bar", "https://www.youtube.com/embed/V_I168MM-ik?&autoplay=1", 12, 04, 1, 12],
["Utopia Village Underwater, ", "https://www.youtube.com/embed/jzx_n25g3kA&autoplay=1", 13, 23, 1, 12],
["Canada", "https://www.youtube.com/embed/OSKgIDnBwwQ?&autoplay=1", 13, 24, 10, 4],
["Canary Islands", "https://www.youtube.com/embed/AfD16cDYBbE?&autoplay=1", 6, 18, 1, 12],
//["Canary Islands, La Palma","https://www.youtube.com/embed/OYf-T-SDJIs?&autoplay=1", 6, 18, 1, 12],
["Charleston", "http://50.252.151.161:8050/axis-cgi/mjpg/video.cgi", 14, 23, 1, 12],
["Curaçao - Mambo Beach", "https://www.youtube.com/embed/loHbMM9JfCs?&autoplay=1", 12, 06, 1, 12],
["Curaçao, Harbor", "https://www.youtube.com/embed/28U-t3fA9ks?&autoplay=1", 12, 06, 1, 12],
["Czechia 1", "https://www.youtube.com/embed/0FvTdT3EJY4?&autoplay=1", 09, 19, 1, 12],
["Czechia - Stork Nest", "https://www.youtube.com/embed/S46DdA8Mc4I?&autoplay=1", 09, 19, 1, 12],
["Dania, Florida", "https://www.youtube.com/embed/o1eTLR7Degs?&autoplay=1", 13, 23, 1, 12],
["Eagle Cam, Big Bear CA", "https://www.youtube.com/embed/B4-L2nfGcuE?&autoplay=1", 0, 24, 2, 6],
["Eagle Cam, Channel Islands CA", "https://www.youtube.com/embed/rnTsOesC6hE?&autoplay=1", 0, 24, 2, 6],
["Eagle Cam, Decorah Iowa", "https://www.youtube.com/embed/GGIE1E-kaMQ?&autoplay=1", 15, 24, 2,6],
["Eagle Cam, Fraser Pt. CA", "https://www.youtube.com/embed/OY4V_AppZ6s?&autoplay=1", 0, 24, 2, 6],
["Eagle Cam, Miami", "https://www.youtube.com/embed/Fr87Y-v7zjo?&autoplay=1", 13, 23, 2,6],
["Eagle Cam, NJ", "https://www.youtube.com/embed/nZGfr_IYl4?&autoplay=1", 13, 23, 2,6],
["Eagle Cam, Tennessee", "https://www.youtube.com/embed/XfbrK3RcrAQ?&autoplay=1", 12, 22, 2,6],
["Eagle Cam, Trempealeau WI", "https://www.youtube.com/embed/8bMrSm0Ap20?&autoplay=1", 13, 23, 2,6],
["Eagle Cam, Two Harbors CA", "https://www.youtube.com/embed/E5T2eHM8tcI?&autoplay=1", 0, 24, 2, 6],
["Eagle Cam, WV", "https://www.youtube.com/embed/AndubnPNA64?&autoplay=1", 13, 23, 2,6],
["Eagle Cam, West End CA", "https://www.youtube.com/embed/wfuqjSNXZ14?&autoplay=1", 0, 24, 2, 6],
["Egypt", "http://webcam-dahab.harry-nass.com/axis-cgi/mjpg/video.cgi?resolution=1280x720&dummy=1541513798638", 10, 15, 2, 5],
["Elephants, Australia", "https://www.youtube.com/embed/vK0ZicUhdBg?&autoplay=1", 22, 12, 1, 12],
//["England, Barber Shop", "https://open.ivideon.com/embed/v3/?server=100-0AQMERGvG47pQTRAfTzWRu&camera=0&width=&height=&lang=en", 08, 17, 1, 12],
["Farallon Islands", "https://www.youtube.com/embed/fHb0eB9RUgA?&autoplay=1", 15, 24, 2, 6],
["Fareo Islands 1", "https://g2.ipcamlive.com/player/player.php?alias=645a5ceb2131f&skin=white&autoplay=1", 10, 19, 1, 12],
["Fareo Islands 2", "https://g2.ipcamlive.com/player/player.php?alias=644bc048d92c7&skin=white&autoplay=1", 10, 19, 1, 12],
["Finland", "http://128.214.194.71/axis-cgi/mjpg/video.cgi", 10, 13, 10, 2],
["French Quarter 1", "https://www.youtube.com/embed/Ksrleaxxxhw?&autoplay=1", 12, 06, 1, 12],
["Fruit Feeder, Panama", "https://www.youtube.com/embed/WtoxxHADnGk?&autoplay=1", 13, 23, 1, 12],
["Germany 1", "http://24.134.3.9/axis-cgi/mjpg/video.cgi?resolution=704x480", 10, 15, 1, 12],
["Germany 2", "http://remote.open9.de/axis-cgi/mjpg/video.cgi?resolution=1280x800", 10, 15, 1, 12],
["Hummingbirds, Ecuador", "https://www.youtube.com/embed/c3KfiiBTIvA?&autoplay=1", 13, 23, 1, 12],
["Italy, Venice 1", "https://www.youtube.com/embed/r8N6IsoIkTk?&autoplay=1", 10, 15, 1, 12],
["Italy, Venice 2", "https://www.youtube.com/embed/mt7uE-n0YPI?&autoplay=1", 10, 15, 1, 12],
["Japan 1", "http://nasukashi.aa0.netvolante.jp:8192/axis-cgi/mjpg/video.cgi?resolution=3840x2160&fps=1", 23, 10, 1, 12],
["Japan 2", "https://www.youtube.com/embed/1ksmiy6EsDo?&autoplay=1", 23, 11, 1, 12],
["Japan 3", "https://www.youtube.com/embed/lsxYH2XQQCg?&autoplay=1", 23, 11, 1, 12],
["Japan 4", "http://153.156.82.99/nphMotionJpeg?Resolution=640x480&Quality=Standard", 23, 10, 1, 12],
["Kalahari 1", "https://www.youtube.com/embed/ME0dPuBtzug?&autoplay=1", 06, 19, 1, 12],
["Kalahari 2", "https://www.youtube.com/embed/ydYDqZQpim8?&autoplay=1", 06, 19, 1, 12],
["Key West", "https://www.youtube.com/embed/HDlmUp4JBLg?&autoplay=1", 12, 06, 1, 12],
["Kenya Wildlife", "https://www.youtube.com/embed/xXZqU5vnEug?&autoplay=1", 00, 24, 1, 12],
["Klein Curacao", "https://www.youtube.com/embed/0ImA9IcyQwA", 13, 23, 1, 12],
["Lapland", "https://www.youtube.com/embed/Cp4RRAEgpeU?&autoplay=1", 12, 23, 10, 4],
["Launch Pad Live", "https://www.youtube.com/embed/thfYPsRqxmw?&autoplay=1", 13, 23, 1, 12],
["Lion Cubs, Australia", "https://www.youtube.com/embed/gTz_7tKUfYM?&autoplay=1", 20, 12, 1, 12],
["London bus", "https://www.youtube.com/embed/wDaV8EkYHmk?&autoplay=1", 08, 18, 1, 12],
["Lucerne", "https://www.youtube.com/embed/QIt1FaDMnQc?&autoplay=1", 10, 19, 1, 12],
["Maine - Night Sky", "https://www.youtube.com/embed/lzHbycN2CmY?&autoplay=1", 14, 22, 2, 9],
["Maryland Zoo", "http://g1.ipcamlive.com/player/player.php?alias=5d093f79dd5a4&autoplay=1", 13, 23, 1, 12],
["Maryland Beach", "http://96.91.239.26:1024/axis-cgi/mjpg/video.cgi?resolution=4CIF&compression=50&dummy=1475765215950", 13, 23, 4, 10],
["Massachusetts boat", "http://btpsm.org/axis-cgi/mjpg/video.cgi", 13, 23, 1, 12],
["Mexico", "http://201.174.12.243:1024/mjpg/video.mjpg", 10, 15, 1, 12],
//["Moscow", "https://www.youtube.com/embed/gld1uwkj2Ls?&autoplay=1", 09, 19, 4, 09],
["Myrtle Beach", "https://www.youtube.com/embed/yTfNMKMnK2Y?&autoplay=1", 13, 23, 1, 12],
["Namiba Desert Cam", "https://www.youtube.com/embed/ydYDqZQpim8?&autoplay=1", 10, 17, 1, 12],
["Nat. Aquarium", "https://public.earthcam.net/tJ90CoLmq7TzrY396Yd88IyNkZovC7VvK3MKrO-H1OY!.tJ90CoLmq7TzrY396Yd88DhBq-PM9mSzO72u8xJpxJU!.tJ90CoLmq7TzrY396Yd88IRf4I9_XLm7uyXg77PHHV", 0, 24, 1, 12],
["Netherlands 1", "https://g0.ipcamlive.com/player/player.php?alias=jhbentrance&skin=white&autoplay=1", 08, 20, 1, 12],
["Netherlands 2, Stork Cam","https://webcam.hetnetwerkcentrum.nl:8081/axis-cgi/mjpg/video.cgi", 08, 18, 2, 7],
["North Carolina", "http://eastcam.carteret.edu/axis-cgi/mjpg/video.cgi?resolution=1280x720", 13, 23, 1, 12],
["Northern Lights", "https://www.youtube.com/embed/a0i1Kg6fROg?&autoplay=1", 20, 04, 1, 12],
["Norway 1", "http://193.213.211.188/axis-cgi/mjpg/video.cgi", 09, 17, 1, 12],
//["Norway 2", "http://193.90.139.222:33450/axis-cgi/mjpg/video.cgi?resolution=800x450", 08, 19, 10, 4],
//["Norway 3", "http://77.222.181.11:8080/mjpg/video.mjpg", 10, 17, 10, 4],
["Norway 4", "http://www.thorheim.no:81/axis-cgi/mjpg/video.cgi?resolution=800x600", 10, 17, 1, 12],
["Norway 5", "https://www.youtube.com/embed/iXLaEkB3J0I?&autoplay=1", 09, 18, 1, 12],
["Osaka, Piano Repair", "http://takemotopiano.aa1.netvolante.jp:8190/nphMotionJpeg?Resolution=640x480&Quality=Standard&Framerate=30", 23, 07, 1, 12],
["Panda Cam 1", "https://www.youtube.com/embed/3szkFHfr6sA?&autoplay=1", 0, 10, 1, 12],
["Panda Cam 2", "https://www.youtube.com/embed/vWl74Ea_wmk?&autoplay=1", 0, 10, 1, 12],
["Park City, Utah", "https://www.youtube.com/embed/Y2VfyLoTO0c?&autoplay=1", 15, 23, 10, 3],
["Pipeline - Hawaii", "https://www.youtube.com/embed/VI8Wj5EwoRM?&autoplay=1", 19, 04, 1, 12],
["Pool - Czechia", "https://www.youtube.com/embed/VmGrd3VlA2Y?&autoplay=1", 09, 17, 1, 12],
["Port of Miami 1", "https://www.youtube.com/embed/DxZziUUr6CY?&autoplay=1", 13, 23, 1, 12],
["Port of Miami 2", "https://www.youtube.com/embed/00cAn1M6ZAsautoplay=1", 13, 23, 1, 12],
["Rolling US Cams", "https://www.youtube.com/embed/pisk_b_LjBU?&autoplay=1", 0, 24, 1, 12],
["Rolling World Cams", "https://www.youtube.com/embed/i10aOLMK76k?&autoplay=1", 0, 24, 1, 12],
["Rustic Inn, Jackson Hole","https://www.youtube.com/embed/L6vwrxDc3TA?&autoplay=1", 15, 24, 10, 3],
["S Africa Wildlife", "https://www.youtube.com/embed/Cq2qCph6Lx8?&autoplay=1", 00, 24, 1, 12],
["San Francisco", "https://www.youtube.com/embed/ZEuT7E8orjw?&autoplay=1", 15, 24, 2, 6],
["Sapporo", "http://shiretoko.miemasu.net/nphMotionJpeg?Resolution=640x480&Quality=Standard", 23, 07, 1, 12],
["Scotland, Linlithgow Canal", "https://www.youtube.com/embed/bNHCJhP6WCs?&autoplay=1", 08, 17, 1, 12],
["Snow King Mountain, Wy", "https://www.youtube.com/embed/bEhJMnsPD5I?&autoplay=1", 15, 24,, 10, 3],
["Solitude, Utah", "https://www.youtube.com/embed/l2X9DlRzX54?&autoplay=1", 15, 24, 10, 3],
["South Carolina", "http://media5.tripsmarter.com/includes/dead-dog-saloon-cam-responsive.php", 12, 06, 1, 12],
["Space Station 1", "https://www.youtube.com/embed/awQzjn72bI0?&autoplay=1", 0, 24, 1, 12],
["Spain", "http://212.170.100.189/axis-cgi/mjpg/video.cgi", 10, 15, 1, 12],
["Sint Maarten planes", "https://www.youtube.com/embed/iSeH45R-8R0?&autoplay=1", 11, 03, 1, 12],
["St. John's, Beach Bar", "https://www.youtube.com/embed/2wqpy036z24?&autoplay=1", 10, 21, 1, 12],
["St. Petersburg", "https://www.youtube.com/embed/VhGdKCs5KIA?&autoplay=1", 08, 16, 1, 12],
["Steamboat Springs", "https://www.youtube.com/embed/0GKH_DSg_v0?&autoplay=1", 15, 24, 10, 3],
["Sweden Rolling Cams", "https://www.youtube.com/embed/YlMYlOjhF9U?&autoplay=1", 10, 17, 10, 4],
["Switzerland 1", "http://80.75.114.19/axis-cgi/mjpg/video.cgi?COUNTER", 10, 17, 1, 12],
["Switzerland Rolling Cams","https://www.youtube.com/embed/8eQOB7BPzvE?&autoplay=1", 10, 17, 1, 12],
["Teton Village, Wyoming", "https://www.youtube.com/embed/k3Lt_Het7uw?&autoplay=1", 15, 24, 10, 3],
["Thailand", "https://www.youtube.com/embed/Fw9hgttWzIg?&autoplay=1", 0, 24, 1, 12],
["Thailand Beach", "https://www.youtube.com/embed/Jj0-yolPcKc?&autoplay=1", 0, 24, 1, 12],
["Thailand Street 1", "https://www.youtube.com/embed/DwKCna1mumk?&autoplay=1", 00, 24, 1, 12],
["Thailand Street 2", "https://www.youtube.com/embed/yFgVmioYkys?&autoplay=1", 00, 24, 1, 12],
["Thailand Street 3", "https://www.youtube.com/embed/FyFAqPHBKiQ?&autoplay=1", 00, 24, 1, 12],
["Turks & Caicos", "https://www.youtube.com/embed/qbAC7ob7t-8?&autoplay=1", 12, 20, 1, 12],
["Under Water, Miami", "https://www.youtube.com/embed/7i8ARjIeM2k?&autoplay=1", 13, 23, 1, 12],
["Under Water, Channel Islands", "https://www.youtube.com/embed/OAJF1Ie1m_Q?&autoplay=1", 13, 23, 1, 12],
["Under Water, Honduras 1", "https://www.youtube.com/embed/Sq-X4Ga1oyc?&autoplay=1", 13, 23, 1, 12],
["Under Water, Honduras 2", "https://www.youtube.com/embed/jzx_n25g3kA?&autoplay=1", 13, 23, 1, 12],
["Under Water, Key West", "https://www.youtube.com/embed/qi0mY6zVQnY?&autoplay=1", 13, 23, 1, 12],
["Under Water, Nautilus ROV", "https://www.youtube.com/embed/F4xfnxOg2xo?&autoplay=1", 0, 24, 1, 12],
["NOAA Under Water ROV", "https://www.youtube.com/embed/fZdc34Fa4IQ?&autoplay=1", 0, 24, 1, 12],
["UK", "http://192.171.163.3/axis-cgi/mjpg/video.cgi?resolution=704x576&dummy=1551225600030", 08, 20, 1, 12],
["Venice Beach,CA", "https://www.youtube.com/embed/EO_1LWqsCNE?&autoplay=1", 12, 8, 1, 12],
["Vermont", "https://www.youtube.com/embed/SW8uNfI43E4?&autoplay=1", 10, 23, 1, 12],
["Waikoloa, Hawaii", "https://www.youtube.com/embed/u0mQwqG3xGk?&autoplay=1", 20, 06, 1, 12],
["Waimea, Hawaii", "https://www.youtube.com/embed/eBNyINb-Be4?&autoplay=1", 20, 06, 1, 12],
["Yellowstone", "https://www.youtube.com/embed/REm2Ouujuso?&autoplay=1", 15, 24, 10, 3],
["Wellington, NZ", "https://www.youtube.com/embed/0gmIZN1Ho74", 20, 06, 1, 12],
];
let CameraURL = ", ";
let CameraLocation = ", ";
let LastLocation = ", ";
let RecentCams = [];
function show_cam()
{
window.open ( CamURL , 'seccam', 'width=640px,height=480px, toolbar=no, scrollbars=yes,menubar=no,location=no');
let ID = document.getElementById("LAST");
ID.innerHTML = CamLocation;
pick_cam();
}
function show_cam2( ThisCamURL)
{
//console.log("show_cam2 " + ThisCamURL );
window.open ( ThisCamURL , 'seccam', 'width=640px,height=480px, toolbar=no, scrollbars=yes,menubar=no,location=no');
}
function show_hide_cam_list()
{
var x = document.getElementById("CamList");
if (x.style.display === "none")
{
x.style.display = "block";
}
else
{
x.style.display = "none";
}
}
function pick_cam()
{
let Time = new Date().getUTCHours() ;
let Month = new Date().getMonth() + 1;
let StartHour = 0;
let EndHour = 0;
//console.log("ServerTime " + Time) ;
//Time += 5;
//if(Time > 24) Time -= 24;
console.log("UTC Time " + Time) ;
let Size = CameraList.length;
let Done = 0;
let Count = 0;
while ( ! Done && Count < Size)
{
Count++;
let Random = Math.floor( Math.random() * Size);
CamLocation = CameraList[Random][0];
CamURL = CameraList[Random][1];
StartHour = CameraList[Random][2];
EndHour = CameraList[Random][3];
let StartMonth = CameraList[Random][4];
let EndMonth = CameraList[Random][5];
let Index = RecentCams.indexOf(CamLocation);
// console.log("Recent iNDEX: " + Index);
if(Index >= 0)
{
//console.log("Skipping " + CamLocation + " for Recent");
continue;
}
let MonthOK = 0;
let TimeOK = 0;
// console.log("Location " + CamLocation);
if(EndMonth < StartMonth)
{
if(Month >= StartMonth ) MonthOK = 1;
else if(Month <= EndMonth) MonthOK = 1;
}
else if(Month >= StartMonth && Month <= EndMonth) MonthOK = 1;
if(! MonthOK)
{
// console.log("Skipping " + CamLocation + " for Month");
continue;
}
if(EndHour < StartHour)
{
if(Time >= StartHour ) TimeOK = 1;
else if(Time <= EndHour) TimeOK = 1;
}
else if(Time >= StartHour && Time <= EndHour) TimeOK = 1;
if(! TimeOK)
{
//console.log("Skipping " + CamLocation + " for Time");
continue;
}
Done = 1;
}
console.log("Pick: " + CamLocation + " Time: " + Time + " " +StartHour + " " + EndHour);
LastLocation = CamLocation;
RecentCams.push(CamLocation);
LastCam = CamLocation;
if(RecentCams.length > 6) RecentCams.shift();
let ID = document.getElementById("LOC");
ID.innerHTML = CamLocation;
}
document.write=function(s){
var scripts = document.getElementsByTagName('script');
var lastScript = scripts[scripts.length-1];
lastScript.insertAdjacentHTML("beforebegin", s);
}
function show_list()
{
let Time = new Date().getUTCHours() ;
let Month = new Date().getMonth() + 1;
let StartHour = 0;
let EndHour = 0;
console.log("ShowList ============ " + Time) ;
//Time += 5;
//if(Time > 24) Time -= 24;
//console.log("UTC Time " + Time) ;
let Size = CameraList.length;
let Done = 0;
let Count = 0;
let Index = 0;
//console.log("Size: " + Size) ;
let TableRowCount=0;
for (Index=0; Index < Size; Index++)
{
CamLocation = CameraList[Index][0];
CamURL = CameraList[Index][1];
StartHour = CameraList[Index][2];
EndHour = CameraList[Index][3];
let StartMonth = CameraList[Index][4];
let EndMonth = CameraList[Index][5];
let MonthOK = 0;
let TimeOK = 0;
// console.log("Location " + CamLocation);
if(EndMonth < StartMonth)
{
if(Month >= StartMonth ) MonthOK = 1;
else if(Month <= EndMonth) MonthOK = 1;
}
else if(Month >= StartMonth && Month <= EndMonth) MonthOK = 1;
if(! MonthOK)
{
console.log("Skipping " + CamLocation + " for Month " + StartMonth + " " + EndMonth);
continue;
}
if(EndHour < StartHour)
{
if(Time >= StartHour ) TimeOK = 1;
else if(Time <= EndHour) TimeOK = 1;
}
else if(Time >= StartHour && Time <= EndHour) TimeOK = 1;
if(! TimeOK)
{
console.log("Skipping " + CamLocation + " for Time "+ StartHour + " " + EndHour);
continue;
}
console.log("Including " + CamLocation);
// console.log("Done:" + Done);
let text = ", ";
// document.write( '
' + CamLocation);
if(TableRowCount == 0)
{
TableRowCount ++;
document.write("
");
}
if(TableRowCount < 4)
{
//console.log("TableRowCount 1:" +TableRowCount);
text = " ";
document.write( text);
TableRowCount++;
}
else
{
//console.log("TableRowCount 2:" +TableRowCount);
TableRowCount = 1
text = "";
document.write( text);
document.write( "
");
}
}
}