Advertisement
Guest User

Phyrne's HD PVR Capture Script [Updated 30/10/12]

a guest
Oct 30th, 2012
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.28 KB | None | 0 0
  1. #! /bin/sh
  2.  
  3. ### Phyrne's HD PVR capture script ###
  4.  
  5. # Set an alias for the device
  6. HDPVR=/dev/video0
  7.  
  8. # Set an alias for the filename
  9. DT=$(date +"%d--%H:%M--%a")
  10.  
  11. # Check for the external drive
  12.  
  13. DRV=`lsusb | grep "JMicron"`
  14.     if [ "x${DRV}x" != "xx" ]; then
  15.         echo "Capture drive plugged in, mounting..."
  16.     else
  17.         echo "Please insert the capture drive and re-run the script" && exit
  18.     fi
  19.  
  20. # Check to see if the drive is already mounted
  21.  
  22. MNT=`ls ~/Captures | grep "Jan"`
  23.     if [ "x${MNT}x" != "xx" ]; then
  24.         echo "Drive already mounted ;)"
  25.     else
  26.         sudo mount /dev/sdb1 ~/Captures && echo "Drive mounted!"
  27.     fi
  28.  
  29. # Load the hdpvr module if necessary
  30.  
  31. PVR=`lsmod | grep "hdpvr"`
  32.     if [ "x${PVR}x" != "xx" ]; then
  33.         echo "HD PVR module is already loaded"
  34.     else
  35.         echo "Loading HD PVR module..." && sudo modprobe hdpvr && echo "Done!"
  36.     fi
  37.  
  38. # Set the HD PVR's video settings
  39. sudo /usr/bin/v4l2-ctl --verbose -d $HDPVR -c video_bitrate_mode=0
  40. sudo /usr/bin/v4l2-ctl --verbose -d $HDPVR -c video_bitrate=13500000
  41. sudo /usr/bin/v4l2-ctl --verbose -d $HDPVR -c video_peak_bitrate=20200000
  42. sudo /usr/bin/v4l2-ctl --verbose -d $HDPVR --set-ctrl brightness=125 --set-ctrl contrast=60 --set-ctrl hue=15 --set-ctrl saturation=85 --set-ctrl sharpness=130
  43.  
  44.  
  45. # Capture footage to the capture drive
  46.  
  47.     # Check the HD PVR is plugged in and active
  48.  
  49. ACT=`ls /dev/ | grep "video0"`
  50.     if [ "x${ACT}x" != "xx" ]; then
  51.         ffmpeg -i $HDPVR -vcodec copy -acodec ac3 -ab 128k -f matroska ~/capture.mkv
  52.     else
  53.         echo "The HD PVR is not active :( Make sure you're sending a video signal to it!" && sudo umount -l ~/Captures && sudo rmmod hdpvr
  54.     fi
  55.  
  56. # Move the captured video to it's applicable directory (depending on the current month)
  57.  
  58. JAN=`date +%b | grep "Jan"`
  59.     if [ "x${JAN}x" != "xx" ]; then
  60.         mv ~/capture.mkv ~/Captures/Jan/"$DT".mkv
  61.     fi
  62.  
  63. FEB=`date +%b | grep "Feb"`
  64.     if [ "x${FEB}x" != "xx" ]; then
  65.         mv ~/capture.mkv ~/Captures/Feb/"$DT".mkv
  66.     fi
  67.  
  68. MAR=`date +%b | grep "Mar"`
  69.     if [ "x${MAR}x" != "xx" ]; then
  70.         mv ~/capture.mkv ~/Captures/Mar/"$DT".mkv
  71.     fi
  72.  
  73. APR=`date +%b | grep "Apr"`
  74.     if [ "x${APR}x" != "xx" ]; then
  75.         mv ~/capture.mkv ~/Captures/Apr/"$DT".mkv
  76.     fi
  77.  
  78. MAY=`date +%b | grep "May"`
  79.     if [ "x${MAY}x" != "xx" ]; then
  80.         mv ~/capture.mkv ~/Captures/May/"$DT".mkv
  81.     fi
  82.  
  83. JUN=`date +%b | grep "Jun"`
  84.     if [ "x${JUN}x" != "xx" ]; then
  85.         mv ~/capture.mkv ~/Captures/Jun/"$DT".mkv
  86.     fi
  87.  
  88. JUL=`date +%b | grep "Jul"`
  89.     if [ "x${JUL}x" != "xx" ]; then
  90.         mv ~/capture.mkv ~/Captures/Jul/"$DT".mkv
  91.     fi
  92.  
  93. AUG=`date +%b | grep "Aug"`
  94.     if [ "x${AUG}x" != "xx" ]; then
  95.         mv ~/capture.mkv ~/Captures/Aug/"$DT".mkv
  96.     fi
  97.  
  98. SEP=`date +%b | grep "Sep"`
  99.     if [ "x${SEP}x" != "xx" ]; then
  100.         mv ~/capture.mkv ~/Captures/Sep/"$DT".mkv
  101.     fi
  102.  
  103. OCT=`date +%b | grep "Oct"`
  104.     if [ "x${OCT}x" != "xx" ]; then
  105.         mv ~/capture.mkv ~/Captures/Oct/"$DT".mkv
  106.     fi
  107.  
  108. NOV=`date +%b | grep "Nov"`
  109.     if [ "x${NOV}x" != "xx" ]; then
  110.         mv ~/capture.mkv ~/Captures/Nov/"$DT".mkv
  111.     fi
  112.  
  113. DEC=`date +%b | grep "Dec"`
  114.     if [ "x${DEC}x" != "xx" ]; then
  115.         mv ~/capture.mkv ~/Captures/Dec/"$DT".mkv
  116.     fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement