Last active
March 28, 2018 14:01
-
-
Save deadblue/97bf30669694b148b88aae9c5c7cefc0 to your computer and use it in GitHub Desktop.
Some useful bash script for me
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 characters
# Script fragment of cross-compiling for Synology NAS | |
# cross compile toolchain installed at /opt/i686-pc-linux-gnu/ | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-ar /usr/local/bin/i686-pc-linux-gnu-ar | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-c++ /usr/local/bin/i686-pc-linux-gnu-c++ | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-cpp /usr/local/bin/i686-pc-linux-gnu-cpp | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-g++ /usr/local/bin/i686-pc-linux-gnu-g++ | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-gcc /usr/local/bin/i686-pc-linux-gnu-gcc | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-gcc-ar /usr/local/bin/i686-pc-linux-gnu-gcc-ar | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-gcc-nm /usr/local/bin/i686-pc-linux-gnu-gcc-nm | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-gcc-ranlib /usr/local/bin/i686-pc-linux-gnu-gcc-ranlib | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-ld /usr/local/bin/i686-pc-linux-gnu-ld | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-ldd /usr/local/bin/i686-pc-linux-gnu-ldd | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-nm /usr/local/bin/i686-pc-linux-gnu-nm | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-objcopy /usr/local/bin/i686-pc-linux-gnu-objcopy | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-objdump /usr/local/bin/i686-pc-linux-gnu-objdump | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-ranlib /usr/local/bin/i686-pc-linux-gnu-ranlib | |
ln -s /opt/i686-pc-linux-gnu/bin/i686-pc-linux-gnu-strip /usr/local/bin/i686-pc-linux-gnu-strip | |
# set common environment | |
export AR=i686-pc-linux-gnu-ar | |
export CC=i686-pc-linux-gnu-gcc | |
export LD=i686-pc-linux-gnu-ld | |
export RANLIB=i686-pc-linux-gnu-ranlib | |
export CFLAGS="-I/opt/i686-pc-linux-gnu/i686-pc-linux-gnu/include" | |
export LDFLAGS="-L/opt/i686-pc-linux-gnu/i686-pc-linux-gnu/lib" | |
export PKG_CONFIG_PATH="/opt/i686-pc-linux-gnu/i686-pc-linux-gnu/lib/pkgconfig" | |
# compile zlib | |
./configure --prefix=/opt/i686-pc-linux-gnu/i686-pc-linux-gnu | |
make | |
make install | |
# compile openssl | |
./Configure --prefix=/opt/i686-pc-linux-gnu/i686-pc-linux-gnu os/compiler:i686-pc-linux-gnu-gcc | |
make | |
make install | |
# compile aria2 | |
./configure --host=i686-pc-linux-gnu --prefix=/root/synology/usr/local --with-openssl --with-libz --without-appletls --without-wintls --without-gnutls | |
make | |
make install | |
# compile pcre | |
./configure --host=i686-pc-linux-gnu --prefix=/opt/i686-pc-linux-gnu/i686-pc-linux-gnu | |
make | |
make install | |
# compile shadowsocks-libev | |
./configure --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --prefix=/root/synology/usr/local --disable-documentation --with-pcre=/opt/i686-pc-linux-gnu/i686-pc-linux-gnu --with-zlib=/opt/i686-pc-linux-gnu/i686-pc-linux-gnu --with-openssl=/opt/i686-pc-linux-gnu/i686-pc-linux-gnu | |
make | |
make install |
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 characters
#!/bin/sh | |
# Script for re-encoding videos in "[RefArain] A.I.C.O Incarnation (01-12) [GB_MKV][720p]" | |
# 1. Encode audio track from E-AC3 to AAC | |
# 2. Update mkv metadata | |
function _logging() | |
{ | |
timestamp=`date '+%Y-%m-%d %H:%M:%S'` | |
echo "[$timestamp] $1" | |
} | |
function _logging_debug() | |
{ | |
_logging "\x1B[94m$1\x1B[0m" | |
} | |
function _logging_info() | |
{ | |
_logging "\x1B[92m$1\x1B[0m" | |
} | |
function _convert_one() | |
{ | |
_logging_info "Processing file: $1" | |
# get episode number | |
episode=${1:29:2} | |
temp_file="aico_$episode.mkv" | |
# encoding audio | |
_logging_debug "Encoding file ..." | |
ffmpeg -i $1 -loglevel quiet -c:v copy -c:s copy -c:a libfdk_aac -profile:a aac_he -b:a 128k $temp_file | |
# edit properties | |
_logging_debug "Updating metadata ..." | |
mkvpropedit $temp_file --quiet --edit info --set "title=A.I.C.O Incarnation - $episode" --delete segment-uid --edit track:a1 --set "language=jpn" --edit track:s1 --set "language=chi" | |
# calculate checksum | |
_logging_debug "Calculating checksum ..." | |
checksum=`crc32 $temp_file | awk '{print toupper($0)}'` | |
# rename output file | |
output_file="[A.I.C.O_Incarnation][$episode][H264_AAC][720P][$checksum].mkv" | |
mv $temp_file $output_file | |
_logging_info "File saved to: $output_file" | |
} | |
if [ $# -gt 0 ]; then | |
for input_file in $*; do | |
_convert_one "$input_file" | |
done | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment