Difference between revisions of "Webcam"

From Baltimore Node Wiki
Jump to navigationJump to search
(Added a note that the Webcam is currently offline.)
Line 1: Line 1:
== Current Status ==
+
==Current Status==
Baltimore Node-Cam is currently offline.
+
Baltimore Node-Cam is currently offline.
  
== History ==
+
==History==
  
 
===Phase 1===
 
===Phase 1===

Revision as of 02:12, 20 January 2019

Current Status

Baltimore Node-Cam is currently offline. ♪

History

Phase 1

webcam.jpg

Phase 2

backup_images.sh :

#!/bin/sh

OLDFILE=`md5sum /home/bnode/webcam-backup/$(ls /home/bnode/webcam-backup | tail -n1) | cut -d ' ' -f1`

NEWFILE=`md5sum /home/bnode/baltimorenode.org/public/images/webcam.jpg | cut -d ' ' -f1`

if [ "$OLDFILE" == "$NEWFILE" ]; then
  echo "Still the same"
else
  echo "NEW!"
  cp /home/bnode/baltimorenode.org/public/images/webcam.jpg /home/bnode/webcam-backup/webcam-$(date +%Y%m%d%H%M%S).jpg
fi

makeimagepage.rb:

#!/usr/bin/env ruby

`touch /home/bnode/baltimorenode.org/public/webcam.html`
out = []
File.open("/home/bnode/baltimorenode.org/public/webcam.html", 'w') do |f|
  f.write("<html><head></head><body>")
  f.write("<img src='images/webcam.jpg'><br><br>")
  f.write("<ul><li>")
  Dir.entries("/home/bnode/webcam-backup").sort.each do |e|
    next if ['.', '..'].include? e
    out << "<a href='images/webcam-backup/#{e}'>#{e}</a>"
  end
  f.write out.join('</li><li>')
  f.write("</li></ul></body></html>")
end
puts "Linked to: \n* #{out.join("\n")}"

The directory /home/bnode/baltimorenode.org/public/images/webcam-backup is symbolically linked to /home/bnode/webcam-backup.

When executed from the directory containing the webcam still, this command will create a time lapse video.

mencoder -nosound mf://*.jpg -mf w=640:h=480:type=jpg:fps=5 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000000 -o time_lapse-test.avi

Phase 3

  • Haml for html templating.
  • Atom feed of stored photos.
  • Only store images for two days, archive the rest.

Phase 4

Write a Flex/Flash based image browser / replay tool.