1. Если источник DVD
Copy Source | Copy HTML- #!/bin/bash
- ABITRATE=128 #Битрейт звуковой дорожки
- VOLUME=5 #Во сколько раз будет увеличиваться звук
- VBITRATE=800 #Битрейт видео дорожки
- OUT=DVD-N810.avi #Выходной файл
- SCALE=400:-2 #Масштабирование
- INPUT="$1" #Путь к DVD
- TITLES=5 #Заголовок с фильмом
- AID=128 #Номер звуковой дорожки
- CHAPTER=1 #Chapter c которого надо начать рипать
- #Фильтры:VD
- FILTER="" #1)Самое правильное видео - progressive
- #FILTER=pullup,softskip, #2)Чуток сложнее - telecined
- #FILTER=pp=lb, #3)Interlaced - самая пакость.
- crop1=1
- crop2=2
- while [ "$crop1" != "$crop2" ]
- do
- ss1=$(expr $RANDOM % 1000)
- crop1=$(mplayer dvd://${TITLES} -dvd-device ${INPUT} -chapter ${CHAPTER} \
- -benchmark -vo null -nosound -ss $ss1 -frames 70 -vf scale=${SCALE},cropdetect \
- 2>/dev/null | grep CROP | sed -n 50p | sed 's/.*crop=//g'| sed 's/).*//g')
- ss2=$(expr $RANDOM % 1000)
- crop2=$(mplayer dvd://${TITLES} -dvd-device ${INPUT} -chapter ${CHAPTER} \
- -benchmark -vo null -nosound -ss $ss2 -frames 70 -vf scale=${SCALE},cropdetect \
- 2>/dev/null | grep CROP | sed -n 50p | sed 's/.*crop=//g'| sed 's/).*//g')
- done
- CROP=$crop1
- echo "$CROP"
- echo "Pass 1"
- mencoder dvd://${TITLES} -dvd-device ${INPUT} -chapter ${CHAPTER} -nosound \
- -vf ${FILTER}scale=${SCALE},crop=${CROP} -ovc xvid -xvidencopts chroma_opt:gmc:\
- max_bframes=1:vhq=4:bvhq=1:quant_type=mpeg:pass=1 -o /dev/null
- echo "Pass 2"
- mencoder dvd://${TITLES} -dvd-device ${INPUT} -chapter ${CHAPTER} -oac mp3lame -aid ${AID} \
- -lameopts vbr=0:br=${ABITRATE}:mode=0:vol=${VOLUME} -vf ${FILTER}scale=${SCALE},crop=${CROP} \
- -ovc xvid -xvidencopts bitrate=${VBITRATE}:gmc:chroma_opt:max_bframes=1:vhq=4:bvhq=1:\
- quant_type=mpeg:pass=2 -o ${OUT}
- rm divx2pass.log
- echo "Happy End"
Использование:
$ ./n810_dvd /path/to/DVD
2. Если источник видео файл
Copy Source | Copy HTML- #!/bin/bash
- ABITRATE=128 #Битрейт звуковой дорожки
- VOLUME=1 #Во сколько раз будет увеличиваться звук
- VBITRATE=800 #Битрейт видео дорожки
- OUT="$1"_n810.avi #Выходной файл
- #SCALE=480:-2 #Масштабирование
- SCALE=400:-2 #Масштабирование
- INPUT=$1 #Путь к DVD
- #Фильтры:VD
- FILTER="" #1)Самое правильное видео - progressive
- #FILTER=pullup,softskip, #2)Чуток сложнее - telecined
- #FILTER=pp=lb, #3)Interlaced - самая пакость.
- crop1=1
- crop2=2
- while [ "$crop1" != "$crop2" ]
- do
- ss1=$(expr $RANDOM % 1000)
- crop1=$(mplayer ${INPUT} -benchmark -vo null -nosound -ss $ss1 -frames 70 \
- -vf scale=${SCALE},cropdetect 2>/dev/null | grep CROP | sed -n 50p | \
- sed 's/.*crop=//g'| sed 's/).*//g')
- ss2=$(expr $RANDOM % 1000)
- crop2=$(mplayer ${INPUT} -benchmark -vo null -nosound -ss $ss2 -frames 70 \
- -vf scale=${SCALE},cropdetect 2>/dev/null | grep CROP | sed -n 50p | \
- sed 's/.*crop=//g'| sed 's/).*//g')
- done
- CROP=$crop1
- echo "Pass 1"
- mencoder ${INPUT} -nosound -vf ${FILTER}scale=${SCALE},crop=${CROP} -ovc xvid \
- -xvidencopts chroma_opt:gmc:max_bframes=1:vhq=4:bvhq=1:quant_type=mpeg:pass=1 -o /dev/null
- echo "Pass 2"
- mencoder ${INPUT} -oac mp3lame -lameopts vbr=0:br=${ABITRATE}:mode=0:vol=${VOLUME} \
- -vf ${FILTER}scale=${SCALE},crop=${CROP} -ovc xvid -xvidencopts bitrate=${VBITRATE}:gmc:\
- chroma_opt:max_bframes=1:vhq=4:bvhq=1:quant_type=mpeg:pass=2 -o ${OUT}
- rm divx2pass.log
- echo "Happy End"
-
Использование:
$ ./n810_file /path/to/file