LINUX.ORG.RU

xvid mencoder


0

0

Ребята, подскажите пожалуйста! Мне нужно перекодировать фильм кодеком XVID. Как это сделать с помощью Mencodera ?

anonymous

Я делаю так:

1 - определяю границы обрезания (необходимо в 95% случаев):
mencoder -dvd-device /dev/hdd \
dvd://1 -ss 630 \
-vf cropdetect=100 \
-ovc lavc -oac copy -o /dev/null

2 - использую script, который когда-то для этого написал:

#!/bin/bash

# making global variables

chapter=1
from="-dvd-device /dev/hdd dvd://$chapter"

brate=966
tocrop="704:544:10:16"
filter2="scale -zoom -xy 608 "
filter1="crop=${tocrop}"
ofname="American_story_X.avi"
START=0
END=6636

# descrybing the functions:

first-pass()
                        {
                        # the firts pass starts here
                        echo "starting first pass..." > coding.txt
                        date >> coding.txt
                        echo >> coding.txt

                         mencoder -mc 1 $from -vf ${filter1},${filter2} -ss $START -endpos $END \
                        -ovc xvid -xvidencopts vhq=4:bitrate=${brate}:pass=1:gmc:max_bframes=1 -sws 10 -ofps 23.976 \
                        -oac mp3lame \
                        -o /dev/null 2> /dev/null

                        echo "*--------------------------*" >> coding.txt
                        echo " processing is finished at:" >> coding.txt
                        date >> coding.txt
                        }

# ok, lets go on --------------------------------------------------------------------------------
-------

second-pass()
                        {
                        # the second pass function starts here

                        echo >> coding.txt
                        echo "starting second pass" >> coding.txt

                        echo "start of the processing:" >> coding.txt
                        date >> coding.txt

                        mencoder -mc 1 $from -vf ${filter1},$filter2 -ss $START -endpos $END \
                        -ovc xvid -xvidencopts vhq=4:bitrate=${brate}:pass=2:gmc:max_bframes=1 -sws 10 -ofps 23.976 \
                        -oac mp3lame -lameopts br=112:vbr=3:aq=2 \
                        -o ${ofname}

                        echo "*--------------------------*" >> coding.txt
                        echo " processing is finished at:" >> coding.txt
                        date >> coding.txt

                        }

# some checkings and quations
if [ -f xvid-twopass.stats ]; then echo "stats file already exist, overvrite starting first pass?(y/N)"
        read answ1
        if [ "$answ1" == "y" ]; then first-pass && second-pass
        else echo "should i start second pass(y/N)?"
                read answ2
                if [ "$answ2" == "y" ]; then second-pass
                else echo "you didn't anythyng =( You should be shame."
                        sleep 6
                        exit
                fi
        fi
else first-pass && second-pass
fi

AA
()
Ответ на: комментарий от anonymous

Незашто. Только вот опция "-ofps 23.976" у меня не реализуется =( На выходе всё те-же 29 с кусочком кадров. Никто не знает почему?

AA
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.