The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Скрипт для кодирования видео с помо..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Скрипт для кодирования видео с помо..."  
Сообщение от auto_tips (??) on 05-Апр-06, 10:08 
Ниже скрипт, который делает двухпроходное видио.

Как пользовать:

Для начала скатываем фильм с DVD

   mencoder dvd:// -oac copy -ovc copy -o name.vob

Заметьте что имя файла имеет разширение vob (маленькими буками),
скрипт сам переделает его потом в avi. 2. Считаем переменную CROP вот так

   mplayer -vf cropdetect name.vob

Должны появиться строки что-то вроде этого

   crop area: X: 10..711  Y: 73..497  (-vf crop=688:416:18:78).6% 0 0              
   crop area: X: 10..711  Y: 73..497  (-vf crop=688:416:18:78).6% 0 0              
   crop area: X: 10..711  Y: 73..497  (-vf crop=688:416:18:78).6% 0 0              

В данном случае нас интерисует "688:416:18:78", именно это и ставим в значение переменной
ТОЛЬКО ОБЯЗАТЕЛЬНО ПРОВЕРЬТЕ ПРАВИЛЬНО ЛИ ПОЛУЧЕНЫ ЗНАЧЕНИЯ.
Иногда mencoder ошибается. Поправте значение ABITRATE (битрейд аудио потока) усли нужно.

Далее запускам:

   ./coder -a

Это заставит mencoder выдать битрейд для видео.
После того как поправили значение VBITRATE (битрейд видео потока), запускаем

   ./coder

Текст скрипта:

#!/bin/sh

IN_FILE="`ls -1|grep *.vob`"
OUT_FILE="`echo ${IN_FILE}|sed s/vob/avi/`"
VBITRATE=""
ABITRATE="128"
CROP=""
ASPECT=""
EQ="eq=0:0"
XY="640"
PASS1="pass=1"
PASS2="pass=2"
PP="pp=hb/vb/dr/ci"
#/al - авто яркость
OVC="-ovc xvid -xvidencopts bitrate=${VBITRATE}:vhq=4"
OAC="-oac mp3lame -lameopts br=${ABITRATE}:vbr=3 -alang ru"
CODER="mencoder"
VFILTER="${ASPECT} -vf ${EQ},${PP},crop=${CROP},scale -zoom -xy ${XY} -ofps 24"
AFILTER="-af volnorm,volume=0:1"
MAIL="stress@stress.volot.net"
WD="${PWD}"
DATA="`date`"
clean ()
{
    rm -fr frameno.avi
}

audio_convert ()
{
    clean;
    ${CODER} ${IN_FILE} \
    -ovc frameno \
    ${OAC} \
    ${AFILTER} \
    ${VFILTER} \
    -o /dev/null
    clean;
}

video_convert ()
{
    clean
    if [ -z "${VBITRATE}" ]
    then
    {
        echo "Битрейд видео потока не установлен!"
    }
    fi
    
    if [ "${1}" != "d" ]
    then
    {
        OUT_FILE_1="/dev/null"
    }
    else
    {
        OUT_FILE_1="${OUT_FILE}"
    }
    fi
    
    nice -n 19 ${CODER} ${IN_FILE} \
    ${OVC}:${PASS1} \
    -oac copy \
    ${VFILTER} \
    -o ${OUT_FILE_1} && \
    nice -n 19 ${CODER} ${IN_FILE} \
    ${OVC}:${PASS2} \
    ${OAC} \
    ${AFILTER} \
    ${VFILTER} \
    -o ${OUT_FILE}
}

#send_mail [a,v]
#a - аудио обработка; v - видео обработка
send_mail ()
{
    MSG="/tmp/coder"
    A="аудио"
    V="видео"
    
    if [ $1 = "a" ]
    then
    {
        WORK=${A}
    }
    fi
    if [ $1 = "v" ]
    then
    {
        WORK=${V}
    }
    fi
    

    echo "" >> ${MSG}
    echo "Закончена ${WORK} обратотка файла"  >> ${MSG}
    echo "Директория ${WD}" >> ${MSG}
    echo "Входящий файл ${IN_FILE}" >> ${MSG}
    echo "Исходящий файл ${OUT_FILE}" >> ${MSG}
    echo "Обработка файла начата ${DATA}"
    echo "Обработка закончена `date`"
    cat $MSG | mail -s "coder in ${WD}" ${MAIL} \
        -a "Content-Type: text/plain; charset=\"koi8-r\"" -a "Content-Transfer-Encoding: 7bit"
    rm -f ${MSG}
}

if [ "${1}" = "-a" ]
    then
    {
    audio_convert && \
    send_mail a
    }
fi
if [ "${1}" = "-d" ]
    then
    {
        video_convert d && \
    send_mail v

    }
fi

if [ "${1}" = "" ]
    then
    {
        video_convert && \
    send_mail v

    }
    
fi


URL:
Обсуждается: http://www.opennet.dev/tips/info/1001.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт для кодирования видео с помощью Mencoder"  
Сообщение от Vs (??) on 05-Апр-06, 10:08 
непонятно, нахреня надо копировать диск на винт (типа, дуром свободного места?), да и вообще я больше привык без скриптов. Что там скриптовать-то? ;)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Скрипт для кодирования видео с помощью Mencoder"  
Сообщение от Глобалист on 05-Апр-06, 10:32 
Поправьте, опечатку "Ниже скрипт, который делает двухпроходное вид_е_о"

2 Vs: когда цифруем с винта, а не с DVD скорость прилично увелииться может.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Скрипт для кодирования видео с помощью Mencoder"  
Сообщение от Глобалист on 05-Апр-06, 10:34 
s/цифруем/транскодируем/
:-)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Скрипт для кодирования видео с помощью Mencoder"  
Сообщение от StreSS on 05-Апр-06, 13:09 
2 VS мне диски принося и тутуже забируют
И меня ломает каждый раз писать в консоли.
А тогда нафига нужен вообще шелл :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Скрипт для кодирования видео с помощью Mencoder"  
Сообщение от petr999 email(ok) on 28-Июн-06, 15:30 
помогите мне пожалуйста! скажите, с такими настройками на каком языке сохранится звук и титры, если они на нескольких языках? хочется двухслойный лицензионный двд сбекапить с отключаемыми субтитрами, а получается фигня какая-то...  может, этим скриптом можно сразу все языки скопировать?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Скрипт для кодирования видео с помощью Mencoder"  
Сообщение от blzz on 20-Мрт-08, 18:10 
-alang ru  звук
-slang ru  сабы
привычно звук бывает на en/ru
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру