#!/bin/bash

CAM=camera.hostname
USERNAME=admin
PASSWORD=default
MXG=/usr/bin/mxgconv_linux
PREFIX="${CAM}"
OUTDIR="/data/camera/archives"
OUT=
VIDTIME=3610

old=0;
seq=0;
while (:); do

  DAY=`date "+%d"`
  MONTH=`date "+%m"`
  YEAR=`date "+%Y"`
  HOUR=`date "+%H"`

  if [ $HOUR -ne $old -a $seq -ne 0 ]; then
    seq=0;
  fi

  DIR="${OUTDIR}/${YEAR}/${MONTH}/${DAY}";
  mkdir -p $DIR
  OUT="${DIR}/${PREFIX}-${HOUR}.${seq}.avi"

  curl -m ${VIDTIME} -N -s --basic --user ${USERNAME}:${PASSWORD} \
   "http://${CAM}/control/faststream.jpg?stream=MxPEG&fps=0&error=picture&noaudio&quality=100"| ${MXG} \
  | ffmpeg -f mjpeg -r 1 -i - ${OUT} -vcodec mpeg4 -mbd rd -flags \
  +4mv+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -pass 1/2

  ((seq++))
  old=${HOUR}
done;