summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core-testing/linhes-scripts/PKGBUILD30
-rwxr-xr-xabs/core-testing/linhes-scripts/limit-mythcommflag.sh95
-rwxr-xr-xabs/core-testing/linhes-scripts/removecommercials.sh (renamed from abs/extra-testing/removecommercials/removecommercials)28
-rw-r--r--abs/core-testing/tweaker/PKGBUILD4
-rwxr-xr-xabs/core-testing/tweaker/bin/twk_general.pl2
-rwxr-xr-xabs/extra-testing/removecommercials/PKGBUILD11
6 files changed, 122 insertions, 48 deletions
diff --git a/abs/core-testing/linhes-scripts/PKGBUILD b/abs/core-testing/linhes-scripts/PKGBUILD
index f671142..02fba0e 100644
--- a/abs/core-testing/linhes-scripts/PKGBUILD
+++ b/abs/core-testing/linhes-scripts/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=linhes-scripts
pkgver=1
-pkgrel=57
+pkgrel=58
pkgdesc="Various scripts that help to make LinHES, LinHES."
arch=('i686' 'x86_64')
license=('GPL2')
@@ -37,6 +37,7 @@ install_hulu.sh
update_schema_021_to_022.sh
upgrade_to_0.22.sh
remove_php_mythvideo.sh
+removecommercials.sh
)
build() {
@@ -102,3 +103,30 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
'65629302a4d2c3adf88cdf0ebc10d493'
'ea5492d4dab8271db20cb84416c001dc'
'd7c7914225ec86bf3ea46104a364f977')
+md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
+ '623b6e9ba6cc4a19771005e750f337a7'
+ '9ae2cd7a0c42d57ad8b5f515d7d60196'
+ '1274bad3fb7296f00acd2d44804bad14'
+ 'b4f858834ea92418208ab496ca39ad32'
+ '6b6e7d34a4bda6d608d150039adefd07'
+ '3fe554dbbf7d09e1f9925032ba888bf5'
+ '18263972b6326e140bbef0bb7dfa2da9'
+ '410795ef9039e4c6c0484e706ecfd567'
+ '0750d7c65109d12aa536f312a38410d1'
+ 'ac2a4a6b4100f4d7bfb9ecd9356c8c6e'
+ 'd2b475821f902c5e081e7da43a35e6ac'
+ '95c092f67036a361ef7a57436f44332e'
+ '3b776bbff68906ddc2f62b7e0dde3fe4'
+ '15f3143d2b1369da431e4268029aba40'
+ '3d0adf26280cde55a0c47188fff34826'
+ '93aaa2940e33ec9ebb305b839ac46a3e'
+ '972e42e02a11575da91f5e051d4de1d2'
+ 'b527b01d119d3bc33b8fa69bdf1082bb'
+ 'c537c44156d8404016cc4b405b092d45'
+ '4e66f302a77f1a857476e7f289d0c157'
+ 'be324dba44ae96676973a74421944853'
+ 'c9dc0dd07369622879a000247ac55074'
+ '65629302a4d2c3adf88cdf0ebc10d493'
+ 'ea5492d4dab8271db20cb84416c001dc'
+ 'd7c7914225ec86bf3ea46104a364f977'
+ '25c1baeb97a49656456ae33f7e7a9f06')
diff --git a/abs/core-testing/linhes-scripts/limit-mythcommflag.sh b/abs/core-testing/linhes-scripts/limit-mythcommflag.sh
index 8ca61c7..5cd81bb 100755
--- a/abs/core-testing/linhes-scripts/limit-mythcommflag.sh
+++ b/abs/core-testing/linhes-scripts/limit-mythcommflag.sh
@@ -1,6 +1,7 @@
#!/bin/bash
-# limit-mythcommflag.sh v0.1 05/17/09
-# Utility to automatically limit mythcommflag if CPU usage is above a certain level.
+# limit-mythcommflag.sh v0.2 03/2/10
+# Utility to automatically limit mythcommflag if CPU system load is above a certain level
+# and if backend usage is above a certain level
# Uses cpulimit from http://cpulimit.sourceforge.net/
# Free for any use.
# Installation:
@@ -8,47 +9,83 @@
# chmod +x /usr/LH/bin/limit-mythcommflag.sh
# Usage: Executed from runit limit-mythcommflag at boot
-# Threshold for when mythcommflag will be paused
-CPUTHRESHOLD=43
-
-# Limit mythcommflag to percentage
-LIMITCPU=20
-
-# Log file to write (use /dev/null for no log)
-#LOG=/var/log/mythtv/limit-mythcommflag.log
-LOG=/dev/null
-
+#-----OPTIONS______
# Number of seconds to wait between checking for mythcommflag process
SLEEP=5
+# Backend and Frontend thresholds above which mythcommflag is stopped
+BETHRESHOLD=30
+FETHRESHOLD=55
-#sleep $SLEEP
+# FUNCTIONS
+limit_cpu()
+# Arg_1 = LimitedRangeNum; Arg_2 = CPULimitPercent; Arg_3 = Commflag PID
+{
+if [ $ALREADYLIMITED -ne $1 ] ; then
+ if [ $cpulimit_pid -ne 0 ]; then
+ kill $cpulimit_pid
+ fi
+ cpulimit -p $3 -l $2 &
+ cpulimit_pid=$!
+ ALREADYLIMITED=$1
+fi
+}
-touch $LOG
+stop_limit()
+{
+if [ $ALREADYLIMITED -ne 0 ]; then
+ if [ $cpulimit_pid -ne 0 ]; then
+ kill $cpulimit_pid
+ cpulimit_pid=0
+ fi
+ ALREADYLIMITED=0
+fi
+}
ALREADYLIMITED=0
+STOPPED=0
+cpulimit_pid=0
while true; do
PROCCOMMFLAG=`pidof mythcommflag`
- if [ -n "${PROCCOMMFLAG}" ]
- then
- FRONTENDCPU=`top -bn1u mythtv | grep mythfrontend | awk '{ print $9 }'`
- if [ "$FRONTENDCPU" -ge "$CPUTHRESHOLD" ]
- then
- echo "$(date) FE CPU $FRONTENDCPU% is greater than $CPUTHRESHOLD%, LIMIT Commflagging" # >> $LOG
- if [ $ALREADYLIMITED -eq 0 ]; then
- cpulimit -e mythcommflag -l $LIMITCPU &
- cpulimit_pid=$!
- ALREADYLIMITED=1
+ if [ -n "${PROCCOMMFLAG}" ]; then
+ BACKENDCPU=`top -bn1u mythtv | grep -m 1 mythbackend | awk '{ print $9 }'`
+ FRONTENDCPU=`top -bn1u mythtv | grep -m 1 mythfrontend | awk '{ print $9 }'`
+ if [ "$FRONTENDCPU" = "" ]; then
+ FRONTENDCPU=0
+ fi
+ if [ "$BACKENDCPU" -ge "$BETHRESHOLD" ]; then
+ if [ "$FRONTENDCPU" -ge $FETHRESHOLD ]; then
+ if [ $STOPPED -eq 0 ]; then
+ kill -s STOP $PROCCOMMFLAG
+ STOPPED=1
+ fi
+ else
+ if [ $STOPPED -eq 1 ]; then
+ kill -s CONT $PROCCOMMFLAG
+ STOPPED=0
+ fi
+ stop_limit
fi
else
- echo "$(date) FE CPU $FRONTENDCPU% is less than $CPUTHRESHOLD%, UNLIMIT Commflagging" #>> $LOG
- if [ $ALREADYLIMITED -eq 1 ]; then
- kill $cpulimit_pid
- ALREADYLIMITED=0
+ if [ $STOPPED -eq 1 ]; then
+ kill -s CONT $PROCCOMMFLAG
+ STOPPED=0
fi
+ case $FRONTENDCPU in
+ [0-9]|[0-3][0-9] )
+ stop_limit;;
+ [4-5][0-9] )
+ limit_cpu "1" "70" $PROCCOMMFLAG;;
+ [6-7][0-9] )
+ limit_cpu "2" "50" $PROCCOMMFLAG;;
+ [8-9][0-9] )
+ limit_cpu "3" "20" $PROCCOMMFLAG;;
+ [1][0-9][0-9] )
+ limit_cpu "4" "10" $PROCCOMMFLAG;;
+ esac
fi
# else
-# echo "No COMMFLAG Process Active" >> $LOG
+# echo "No COMMFLAG Process Active"
fi
sleep $SLEEP
done
diff --git a/abs/extra-testing/removecommercials/removecommercials b/abs/core-testing/linhes-scripts/removecommercials.sh
index d7b910f..70e2e52 100755
--- a/abs/extra-testing/removecommercials/removecommercials
+++ b/abs/core-testing/linhes-scripts/removecommercials.sh
@@ -1,6 +1,7 @@
#!/bin/sh
-# remove commercials from recording
-# version 0.1
+# remove commercials from recordings using the user generated cutlist or
+# optionally using the mythcommflag generated cutlist.
+# version 0.2 3/24/2010
# usage:
# first parameter must be %DIR% of the recording
@@ -10,7 +11,14 @@
# fifth parameter must be %JOBID% for the User Job status to be updated in MythTV
# in the mythtv setup screen invoke this script like this:
# MYTHTV User Job Command:
-# /usr/LH/bin/removecommercials "%DIR%" "%FILE%" "%CHANID%" "%STARTTIME%" "%JOBID%"
+# /usr/LH/bin/removecommercials.sh "%DIR%" "%FILE%" "%CHANID%" "%STARTTIME%" "%JOBID%"
+
+#-------OPTIONS----------------
+# If no cutlist is found USE_MYTHCOMMFLAG_CUTLIST=YES will use mythcommflag
+# to generate a cutlist.
+# WARNING: Using this option could result in part of the recording being cut if
+# mythcommflag incorrectly flagged the commercial.
+USE_MYTHCOMMFLAG_CUTLIST=NO
# Auguments passed from command line
VIDEODIR=$1
@@ -25,6 +33,8 @@ DBUSERNAME=${DBUSERNAME:-"mythtv"}
DBPASSWORD=${DBPASSWORD:-"mythtv"}
SQLCMD="mysql -u $DBUSERNAME --password=$DBPASSWORD -h $BACKEND_HOSTNAME mythconverg -e"
+LOG="/var/log/mythtv/removecommercials.log"
+
#------FUNCTIONS---------------
update_comment()
# Arg_1 = COMMENT
@@ -141,8 +151,16 @@ check_myth_jobcmds
# check for cutlist
MYTHCOMMFRAMES=`mythcommflag --getcutlist -f $VIDEODIR/$FILENAME | grep 'Cutlist:' | cut -d \ -f 2`
+
+if [ $USE_MYTHCOMMFLAG_CUTLIST=YES ] && [ -z "$MYTHCOMMFRAMES" ]; then
+ echo "Generating cutlist..."
+ update_comment "Generating cutlist..."
+ /usr/bin/nice -n19 /usr/bin/mythcommflag --gencutlist -f $VIDEODIR/$FILENAME
+ MYTHCOMMFRAMES=`mythcommflag --getcutlist -f $VIDEODIR/$FILENAME | grep 'Cutlist:' | cut -d \ -f 2`
+fi
+
if [ -n "$MYTHCOMMFRAMES" ]; then
- echo "Extracting cutlist..."
+ echo "Removing Commercials..."
update_comment "Removing Commercials..."
( /usr/bin/nice -n19 /usr/bin/mythtranscode -c $CHANID -s $STARTTIME -o $TMPFILE $MPEG --honorcutlist --showprogress > $STATUSFILE 2>&1 ; echo "Done" >> $STATUSFILE ) &
TPID=$!
@@ -159,7 +177,7 @@ if [ -n "$MYTHCOMMFRAMES" ]; then
echo "Moving file..."
update_comment "Moving file..."
if [ `$SQLCMD "select data from settings where value='SaveTranscoding';" | sed '/[0-9]/!d'` = 1 ]; then
- echo "DB is set to save transcodeing"
+ echo "DB is set to save transcoding"
mv $VIDEODIR/$FILENAME $VIDEODIR/$FILENAME.old
fi
mv $TMPFILE $VIDEODIR/$FILENAME
diff --git a/abs/core-testing/tweaker/PKGBUILD b/abs/core-testing/tweaker/PKGBUILD
index 79fc20d..85df000 100644
--- a/abs/core-testing/tweaker/PKGBUILD
+++ b/abs/core-testing/tweaker/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=tweaker
pkgver=1
-pkgrel=55
+pkgrel=56
pkgdesc="applies tweaks to the baseline configuration and attempts to optimize settings for the hardware it finds"
arch=('i686' 'x86_64')
@@ -41,3 +41,5 @@ build() {
# Copy our tweaker Perl modules for general use
install -m0555 lib/Tweaker/* $startdir/pkg/usr/lib/perl5/vendor_perl/Tweaker/
}
+md5sums=('77fab526e866b273091e6816135ef25f'
+ 'e897b87dd308f9562d0867de9fab2de0')
diff --git a/abs/core-testing/tweaker/bin/twk_general.pl b/abs/core-testing/tweaker/bin/twk_general.pl
index 23572bc..f89912c 100755
--- a/abs/core-testing/tweaker/bin/twk_general.pl
+++ b/abs/core-testing/tweaker/bin/twk_general.pl
@@ -410,7 +410,7 @@ sub implement_option {
change_or_make_setting('UserJob1', 'myth2ipod \"%DIR%\" \"%FILE%\"');
change_or_make_setting('UserJob2', 'myt2xvid3 \"%DIR%\" \"%FILE%\"');
change_or_make_setting('UserJob3', 'myth2x264 \"%DIR%/%FILE%\" \"%TITLE% - %SUBTITLE%\" \"%CHANID%\" \"%STARTTIME%\" \"%JOBID%\"');
- change_or_make_setting('UserJob4', 'removecommercials \"%DIR%\" \"%FILE%\" \"%CHANID%\" \"%STARTTIME%\" \"%JOBID%\"');
+ change_or_make_setting('UserJob4', 'removecommercials.sh \"%DIR%\" \"%FILE%\" \"%CHANID%\" \"%STARTTIME%\" \"%JOBID%\"');
change_or_make_setting('UserJobDesc1', 'Transcode for iPod');
change_or_make_setting('UserJobDesc2', 'Transcode to xvid');
change_or_make_setting('UserJobDesc3', 'Transcode to h264');
diff --git a/abs/extra-testing/removecommercials/PKGBUILD b/abs/extra-testing/removecommercials/PKGBUILD
deleted file mode 100755
index 312f965..0000000
--- a/abs/extra-testing/removecommercials/PKGBUILD
+++ /dev/null
@@ -1,11 +0,0 @@
-pkgname=removecommercials
-pkgver=0.1
-pkgrel=1
-arch=("i686")
-pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
-source=( removecommercials )
-
-build() {
- cd $startdir
- install -D -m 755 removecommercials $startdir/pkg/usr/bin/removecommercials
-}