Divers/Video/Recording

From LunaSys
Jump to navigation Jump to search

Recording

#!/bin/sh

RECORDPATH='/data/digitalization/name'

ARATE=48000

CARD=0
amixer -c ${CARD} set Capture cap
amixer -c ${CARD} set Line cap

#NORM=SECAM-B
NORM=PAL-BG

while [ 1 ]
do
  read -p "Nom: " VIDEO1;
  read -p "Duration: " DURATION;
  if [ "$DURATION" -eq "3" ]; then
    ENDPOS=03:05:00
  elif [ "$DURATION" -eq "2" ]; then
    ENDPOS=02:05:00
  elif [ "$DURATION" -eq "1" ]; then
    ENDPOS=01:35:00
  elif [ "$DURATION" -eq "30" ]; then
    ENDPOS=00:35:00
  else
    ENDPOS=01:05:00
  fi
  echo "ENDPOS: "$ENDPOS
  if [ $VIDEO1 ]; then
    nice -10 mencoder -tv norm=$NORM:device=/dev/video0:driver=v4l2:width=768:height=576:input=1:fps=25:alsa:adevice=hw.0,2:audiorate=$ARATE tv:// -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf pp=lb/ha/va/dr,hqdn3d,harddup -srate $ARATE -af lavcresample=$ARATE -lavcopts vcodec=mpeg2video:vrc_buf_size=1500:vrc_maxrate=8000:vbitrate=7000:keyint=15:acodec=mp2:abitrate=128:aspect=4/3 -endpos $ENDPOS -o $RECORDPATH/$VIDEO1.mpg
  else
    break
  fi
  sleep 1
done

Encoding

for MPEG in $(ls *.mpg)
do
  AVI=avi/$MPEG.avi
  # MPEG4
  if [ ! -f $AVI ]; then
    echo $AVI
    nice -10 ffmpeg -i $MPEG -vcodec mpeg4 -b 2000k -mbd rd -flags +mv4+aic+ilme+ildct -trellis 2 -cmp 2 -subcmp 2 -g 300 $AVI
  fi
done

for MPEG in $(ls *.mpg)
do
  WEBM=webm/$MPEG.webm
  # WEBM (very slow)
  if [ ! -f $WEBM ]; then
    echo $WEBM
    ffmpeg -i $MPEG -s 768x576 -vpre libvpx-720p -b 2000k -pass 1 -an -f webm -y $WEBM
    ffmpeg -i $MPEG -s 768x576 -vpre libvpx-720p -b 2000k -pass 2 -acodec libvorbis -ab 100k -f webm -y $WEBM
  fi
done