[ATTACH=CONFIG]15005[/ATTACH]
ConvertMovieToMP4.sh
filename=$1 echo "$filename" >> ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.txt fileinfo=$(~/Inne/Aplikacje\ i\ skrypty/ffmpeg/ffmpeg -i "$filename" 2>&1 > /dev/null) # Pobieranie informacji o Video videoinfo=$(echo "$fileinfo" | grep Stream.*Video:.*) h264=$(echo $videoinfo | grep h264) if [ ! -z "$h264" ] then if echo $videoinfo | grep "High 10" then unset h264 fi fi videolang=${videoinfo:16:3} videostreamid=$(echo $videoinfo | cut -d ":" -f 2 | cut -d "(" -f 1) # Pobieranie informacji o Audio audioinfo=$(echo "$fileinfo" | grep Stream.*Audio:.*) audios=() if [ ! -z "$audioinfo" ] then while read audio do aac=$(echo $audio | grep aac) if [ ! -z "$aac" ] then aac="aac" else aac="other" fi chs=1 stereo=$(echo $audio | grep stereo) a51=$(echo $audio | grep "5.1") if [ ! -z "$a51" ] then chs=6 elif [ ! -z "$stereo" ] then chs=2 fi audiolang=${audio:12:3} streamid=$(echo $audio | cut -d ":" -f 2 | cut -d "(" -f 1) audios+=("$streamid|$aac|$chs|$audiolang") done <<< "$audioinfo" fi # Pobieranie informacji o Napisach subtitleinfo=$(echo "$fileinfo" | grep Stream.*Subtitle:.*) subtitles=() if [ ! -z "$subtitleinfo" ] then while read subtitle do movtext=$(echo $subtitle | grep mov_text) if [ ! -z "$movtext" ] then movtext="mov_text" else movtext="other" fi subtitlelang=${subtitle:12:3} streamid=$(echo $subtitle | cut -d ":" -f 2 | cut -d "(" -f 1) subtitles+=("$streamid|$movtext|$subtitlelang") done <<< "$subtitleinfo" fi # Utwórz komendę do wykonania if [ ! -z "$h264" ] then videocommand="-map 0:$videostreamid -codec:v copy" else videocommand="-map 0:$videostreamid -codec:v libx264 -qmax 25" fi i=0 k="k" for audio in "${audios[@]}" do streamid=$(echo $audio | cut -d "|" -f 1) aac=$(echo $audio | cut -d "|" -f 2) chs=$(echo $audio | cut -d "|" -f 3) lang=$(echo $audio | cut -d "|" -f 4) if [ aac=="aac" ] then audiocommand="$audiocommand -map 0:$streamid -codec:a:$i copy" else br=$((chs*256)) audiocommand="$audiocommand -map 0:$streamid -codec:a:$i aac -b:a:$i $br$k" fi i=$((i+1)) done i=0 for subtitle in "${subtitles[@]}" do streamid=$(echo $subtitle | cut -d "|" -f 1) movtext=$(echo $subtitle | cut -d "|" -f 2) lang=$(echo $subtitle | cut -d "|" -f 3) if [ movtext=="mov_text" ] then subtitlescommand="$subtitlescommand -map 0:$streamid -codec:s:$i copy" else subtitlescommand="$subtitlescommand -map 0:$streamid -codec:s:$i mov_text" fi i=$((i+1)) done command="-movflags faststart $videocommand $audiocommand $subtitlescommand" echo $command # Wykonaj date >> ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.txt echo "$1" >> ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.txt echo "~/Inne/Aplikacje\ i\ skrypty/ffmpeg/ffmpeg -i \"$filename\" $command \"$filename.mp4\"" >> ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.txt ~/Inne/Aplikacje\ i\ skrypty/ffmpeg/ffmpeg -i "$filename" $command "$filename.mp4" 2>> ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.txt echo "------------------------------------------------" >> ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.txt
AutoConvertMovieToMP4.sh
i=1 while true do if [ $i -gt 1000 ] then break fi wait=`lsof -f -- "$1"|wc -l` if [ $wait -lt 1 ] then ~/Inne/Aplikacje\ i\ skrypty/ConvertMovieToMP4.sh "$1" break else sleep 6 i=$((i+1)) fi done