#! /bin/sh

#отрезаем лишнее
echo "сколько студий озвучек?"
read dubbing_count
if [[ "$dubbing_count" = "2" ]]
then
    echo "название первой студии"
    read dub_01
    dubbing_01=${dub_01// /_}
    echo "название второй студии"
    read dub_02
    dubbing_02=${dub_02// /_}
    echo "укажите начальный таймкод. например, 00:02:00"
    read tc_start
    echo "укажите конечный таймкод. например, 00:45:50"
    read tc_end
    start_timecode=`echo "$tc_start" | nawk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}'`
    end_timecode=`echo "$tc_end" | nawk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}'`
    end_timecode_calc=`expr ${end_timecode} - ${start_timecode}`
    tc_end_final=`date -d @${end_timecode_calc} -u +%H:%M:%S`

    if [[ -z "$tc_end" ]]
    then
        for f in *.mov *.mp4 *.mxf; do mkdir -p DONE;

        ffmpeg -ss "$tc_start" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 25 -map_metadata -1 -metadata:s:v:0 language=rus -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor_expr='ffffff%{eif\:max(80,min(180,255*(between(mod(t,10),6,5)+((mod(t,10)-1)/4.8)*between(mod(t,10),1,6)+(-(mod(t,10)-10)/5)*between(mod(t,10),5,10))))\:x\:2}':fontsize=30:text='КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ

        UNAUTHORIZED FOR PUBLIC SCREENING

        "$dubbing_01"':x=(w-tw)/2:y=(h-th)/6,scale=-1:360,setsar=1" -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:a:0 language=eng -map_chapters -1 DONE/"${f%.*}"_proxy_01.mp4;

        ffmpeg -ss "$tc_start" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 25 -map_metadata -1 -metadata:s:v:0 language=rus -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor_expr='ffffff%{eif\:max(80,min(180,255*(between(mod(t,10),6,5)+((mod(t,10)-1)/4.8)*between(mod(t,10),1,6)+(-(mod(t,10)-10)/5)*between(mod(t,10),5,10))))\:x\:2}':fontsize=30:text='КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ

        UNAUTHORIZED FOR PUBLIC SCREENING

        "$dubbing_02"':x=(w-tw)/2:y=(h-th)/6,scale=-1:360,setsar=1" -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:a:0 language=eng -map_chapters -1 DONE/"${f%.*}"_proxy_02.mp4;
        ffmpeg -ss "$tc_start" -i "$f" -acodec flac -ar 48000 -ab 256K -map_metadata -1 -metadata:s:a:0 language=eng -map 0:1:0 DONE/"${f%.*}"_ch01.flac -map 0:2:0 DONE/"${f%.*}"_ch02.flac -map 0:3:0 DONE/"${f%.*}"_ch03.flac -map 0:4:0 DONE/"${f%.*}"_ch04.flac -map 0:5:0 DONE/"${f%.*}"_ch05.flac -map 0:6:0 DONE/"${f%.*}"_ch06.flac -map 0:7:0 DONE/"${f%.*}"_ch07.flac -map 0:8:0 DONE/"${f%.*}"_ch08.flac -map 0:9:0 DONE/"${f%.*}"_ch09.flac -map 0:10:0 DONE/"${f%.*}"_ch10.flac -map 0:11:0 DONE/"${f%.*}"_ch11.flac -map 0:12:0 DONE/"${f%.*}"_ch12.flac;

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -profile:v high -preset slow -level 5.1 -pix_fmt yuv420p -crf 15 -y temp.mp4;
        cdresult=$(ffmpeg -i temp.mp4 -vf cropdetect=24:2:0 -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1);

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/test_"${f%.*}"_master.mp4;

        ffmpeg -ss "$tc_start" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/"${f%.*}"_master.mp4; rm temp.mp4; done
    else
        for f in *.mov *.mp4 *.mxf; do mkdir -p DONE;

        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 25 -map_metadata -1 -metadata:s:v:0 language=rus -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor_expr='ffffff%{eif\:max(80,min(180,255*(between(mod(t,10),6,5)+((mod(t,10)-1)/4.8)*between(mod(t,10),1,6)+(-(mod(t,10)-10)/5)*between(mod(t,10),5,10))))\:x\:2}':fontsize=30:text='КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ

        UNAUTHORIZED FOR PUBLIC SCREENING

        "$dubbing_01"':x=(w-tw)/2:y=(h-th)/6,scale=-1:360,setsar=1" -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:a:0 language=eng -map_chapters -1 DONE/"${f%.*}"_proxy_01.mp4;
        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 25 -map_metadata -1 -metadata:s:v:0 language=rus -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor_expr='ffffff%{eif\:max(80,min(180,255*(between(mod(t,10),6,5)+((mod(t,10)-1)/4.8)*between(mod(t,10),1,6)+(-(mod(t,10)-10)/5)*between(mod(t,10),5,10))))\:x\:2}':fontsize=30:text='КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ

        UNAUTHORIZED FOR PUBLIC SCREENING

        "$dubbing_02"':x=(w-tw)/2:y=(h-th)/6,scale=-1:360,setsar=1" -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:a:0 language=eng -map_chapters -1 DONE/"${f%.*}"_proxy_02.mp4;

        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -acodec flac -ar 48000 -ab 256K -map_metadata -1 -metadata:s:a:0 language=eng -map 0:1:0 DONE/"${f%.*}"_ch01.flac -map 0:2:0 DONE/"${f%.*}"_ch02.flac -map 0:3:0 DONE/"${f%.*}"_ch03.flac -map 0:4:0 DONE/"${f%.*}"_ch04.flac -map 0:5:0 DONE/"${f%.*}"_ch05.flac -map 0:6:0 DONE/"${f%.*}"_ch06.flac -map 0:7:0 DONE/"${f%.*}"_ch07.flac -map 0:8:0 DONE/"${f%.*}"_ch08.flac -map 0:9:0 DONE/"${f%.*}"_ch09.flac -map 0:10:0 DONE/"${f%.*}"_ch10.flac -map 0:11:0 DONE/"${f%.*}"_ch11.flac -map 0:12:0 DONE/"${f%.*}"_ch12.flac;

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -profile:v high -preset slow -level 5.1 -pix_fmt yuv420p -crf 15 -y temp.mp4;
        cdresult=$(ffmpeg -i temp.mp4 -vf cropdetect=24:2:0 -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1);

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/test_"${f%.*}"_master.mp4;
        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/"${f%.*}"_master.mp4; rm temp.mp4; done
        fi
else
    echo "название студии"
    read dubbing
    dubbing_only=${dubbing// /_}
    echo "укажите начальный таймкод. например, 00:02:00"
    read tc_start
    echo "укажите конечный таймкод. например, 00:45:50"
    read tc_end
    start_timecode=`echo "$tc_start" | nawk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}'`
    end_timecode=`echo "$tc_end" | nawk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}'`
    end_timecode_calc=`expr ${end_timecode} - ${start_timecode}`
    tc_end_final=`date -d @${end_timecode_calc} -u +%H:%M:%S`

    if [[ -z "$tc_end" ]]
    then
        for f in *.mov *.mp4 *.mxf; do mkdir -p DONE;

        ffmpeg -ss "$tc_start" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 25 -map_metadata -1 -metadata:s:v:0 language=rus -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor_expr='ffffff%{eif\:max(80,min(180,255*(between(mod(t,10),6,5)+((mod(t,10)-1)/4.8)*between(mod(t,10),1,6)+(-(mod(t,10)-10)/5)*between(mod(t,10),5,10))))\:x\:2}':fontsize=30:text='КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ

        UNAUTHORIZED FOR PUBLIC SCREENING

        "$dubbing_only"':x=(w-tw)/2:y=(h-th)/6,scale=-1:360,setsar=1" -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:a:0 language=eng -map_chapters -1 DONE/"${f%.*}"_proxy.mp4;

        ffmpeg -ss "$tc_start" -i "$f" -acodec flac -ar 48000 -ab 256K -map_metadata -1 -metadata:s:a:0 language=eng -map 0:1:0 DONE/"${f%.*}"_ch01.flac -map 0:2:0 DONE/"${f%.*}"_ch02.flac -map 0:3:0 DONE/"${f%.*}"_ch03.flac -map 0:4:0 DONE/"${f%.*}"_ch04.flac -map 0:5:0 DONE/"${f%.*}"_ch05.flac -map 0:6:0 DONE/"${f%.*}"_ch06.flac -map 0:7:0 DONE/"${f%.*}"_ch07.flac -map 0:8:0 DONE/"${f%.*}"_ch08.flac -map 0:9:0 DONE/"${f%.*}"_ch09.flac -map 0:10:0 DONE/"${f%.*}"_ch10.flac -map 0:11:0 DONE/"${f%.*}"_ch11.flac -map 0:12:0 DONE/"${f%.*}"_ch12.flac;

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -profile:v high -preset slow -level 5.1 -pix_fmt yuv420p -crf 15 -y temp.mp4;
        cdresult=$(ffmpeg -i temp.mp4 -vf cropdetect=24:2:0 -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1);

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/test_"${f%.*}"_master.mp4;

        ffmpeg -ss "$tc_start" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/"${f%.*}"_master.mp4; rm temp.mp4; done
    else
        for f in *.mov *.mp4 *.mxf; do mkdir -p DONE;

        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 25 -map_metadata -1 -metadata:s:v:0 language=rus -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor_expr='ffffff%{eif\:max(80,min(180,255*(between(mod(t,10),6,5)+((mod(t,10)-1)/4.8)*between(mod(t,10),1,6)+(-(mod(t,10)-10)/5)*between(mod(t,10),5,10))))\:x\:2}':fontsize=30:text='КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ

        UNAUTHORIZED FOR PUBLIC SCREENING

        "$dubbing_only"':x=(w-tw)/2:y=(h-th)/6,scale=-1:360,setsar=1" -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:a:0 language=eng -map_chapters -1 DONE/"${f%.*}"_proxy.mp4;

        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -acodec flac -ar 48000 -ab 256K -map_metadata -1 -metadata:s:a:0 language=eng -map 0:1:0 DONE/"${f%.*}"_ch01.flac -map 0:2:0 DONE/"${f%.*}"_ch02.flac -map 0:3:0 DONE/"${f%.*}"_ch03.flac -map 0:4:0 DONE/"${f%.*}"_ch04.flac -map 0:5:0 DONE/"${f%.*}"_ch05.flac -map 0:6:0 DONE/"${f%.*}"_ch06.flac -map 0:7:0 DONE/"${f%.*}"_ch07.flac -map 0:8:0 DONE/"${f%.*}"_ch08.flac -map 0:9:0 DONE/"${f%.*}"_ch09.flac -map 0:10:0 DONE/"${f%.*}"_ch10.flac -map 0:11:0 DONE/"${f%.*}"_ch11.flac -map 0:12:0 DONE/"${f%.*}"_ch12.flac;

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -profile:v high -preset slow -level 5.1 -pix_fmt yuv420p -crf 15 -y temp.mp4;
        cdresult=$(ffmpeg -i temp.mp4 -vf cropdetect=24:2:0 -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1);

        ffmpeg -ss 00:05:00 -t 30 -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/test_"${f%.*}"_master.mp4;

        ffmpeg -ss "$tc_start" -t "$tc_end_final" -i "$f" -map 0:v -vcodec h264 -preset slow -profile:v high -level 5.1 -pix_fmt yuv420p -crf 15 -vf "$cdresult"  -filter_complex "[0:1] [0:2] [0:3] [0:4] [0:5] [0:6] amerge=inputs=6 [aout]" -map [aout]:0.1 -acodec aac -ar 48000 -ab 256K -ac 2 -clev 1.414 -slev .5 -metadata:s:v:0 language=rus -metadata:s:a:0 language=rus -map_metadata -1 -map_chapters -1 DONE/"${f%.*}"_master.mp4; rm temp.mp4; done
    fi
fi
