Created
March 27, 2014 14:19
-
-
Save geta6/9808582 to your computer and use it in GitHub Desktop.
Revisions
-
geta6 renamed this gist
Mar 27, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
geta6 created this gist
Mar 27, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,52 @@ #!/usr/bin/env python #coding:utf-8 import os import sys import time import datetime from mutagen.mp4 import MP4 reload(sys) sys.setdefaultencoding('utf-8') if __name__ == '__main__': # 1 trkn # 2 disk # 3 titl / genr if len(sys.argv) < 2: print 'tagfix [target]' sys.exit() orig = os.path.basename(sys.argv[1]).split(' ') nums = orig[0] try: disk = int(nums.split('-')[0]) except: disk = 99 try: trkn = int(nums.split('-')[1]) except: trkn = 0 titl = unicode(' '.join(orig[1:]).replace('.mp4', ''), 'utf-8', 'ignore') mpeg = MP4(sys.argv[1]) for field in mpeg.keys(): if field in mpeg: del mpeg[field] mpeg['\xa9alb'] = titl mpeg['\xa9ART'] = titl mpeg['\xa9gen'] = titl mpeg['aART'] = titl mpeg['trkn'] = [(trkn, 0)] mpeg['disk'] = [(disk, 0)] mtime = datetime.datetime.fromtimestamp(int(os.path.getmtime(sys.argv[1]))).strftime('%Y%m%d%H%M') mpeg.save() os.system('touch -t "%s" "%s"' % (mtime, sys.argv[1])) sys.exit(sys.argv[1]) This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,94 @@ #!/bin/zsh USER='nouser' GROUP='nogroup' TARGET='require to set' function source { find $TARGET -type f \( ! -iname '.*' \) | sed -E 's/ */ /g' | grep -vE 'mp4$' | sort -t'/' -k 5nr -k 6n } function findproc { ps ax | grep -v grep | grep $1 | wc -l } function target { echo ${1} | while read LINE; do echo ${LINE} | sed -E 's/\.[^.]*$/\.mp4/g' | sed -E 's/\.mp4\.mp4/\.mp4/g' done } function encode { HandBrakeCLI -i ${1} -o ${2} \ -e x264 -r 24 -X 1280 --denoise="weak" -5 -O -m -2 -T \ -E faac -B 128 -R Auto -6 dpl2 \ -x level=31:bframes=0:cabac=0:keyint=250:min-keyint=25:\ merange=24:subq=6:ref=8:mixed-refs=1:qcomp=0.6:vbv-maxrate=1500:vbv-bufsize=2000:\ analyse=all:threads=0:me=umh:no-fast-pskip=1:deblock=-2,-2:no-dct-decimate=1:\ non-deterministic=1:weightb=0:8x8dct=0:cqm=flat:aq-strength=0:psy-rd=0,0 touch -mr ${1} ${2} chown $USER:$GROUP ${2} python tagfix.py ${2} rm ${1} } if [[ ${1} = '-h' ]]; then echo "Usage: handbrake [options]" echo " NoOpt Encode head of queued movie." echo " -a Display all queued movie." echo " 'handbrake -a'" echo " -x Execute encode manually." echo " 'handbrake -x SRC DST'" exit 0 fi SRCS=`source` DSTS=`target ${SRCS}` if [[ ${1} = '-a' ]]; then if [[ $DSTS = '' ]]; then echo "Remaining 0" else WORKS=0 echo $DSTS | while read DST; do if [[ 1 -eq `findproc $DST` ]]; then WORKS=1 echo -e "> $DST" else echo -e " $DST" fi done echo echo "Remaining `echo ${DSTS} | wc -l`" if [[ 0 -eq $WORKS ]]; then echo "Not working." else ps alx | grep -v grep | grep HandBrakeCLI | awk '{printf ("PID:%d\tRSS:%s\tTIME:%s\n", $3,$8,$12)}' fi fi exit 0 fi if [[ ${1} = '-x' ]]; then SRC=$2 DST=$3 else SRC=`echo ${SRCS} | head -1` DST=`echo ${DSTS} | head -1` fi [[ -z ${SRC} ]] && exit 1 [[ -z ${DST} ]] && exit 1 [[ ! 0 = `ps ax | grep HandBrake | grep -v grep | wc -l` ]] && exit 0 [[ -f ${DST} ]] && rm ${DST} TIME=`date '+%s'` encode ${SRC} ${DST} > /dev/null 2>&1 exit 0