Отправляет email-рассылки с помощью сервиса Sendsay

DVD: mencoder...

Я сдираю titles с DVD (насколько вычитал, параметры не слабые) так:

$ mencoder dvd://3 -sws 2 -oac copy -ovc lavc -lavcopts
vcodec=mpeg4:mbd=2:vbitrate=1800:vpass=1 -vf crop=854:355:0:62,scale=854
-o movie.avi

Но возникают, как минимум 3 проблемы:
. mplayer показывает картинку с шириной=854, в то время, как mencoder
(если не использовать насильственно scale=854), жмёт с шириной=720.
Почему?
при сценах обильного движения наблюдается огромный "квадратизм", на
спокойных сценах - всё гладко.
. при попытке сделать 2ой проход (таже команда, лишь vpass=2), - как я
понял, для повышения качества (чем больше проходов, тем лучше), качество
наоборот хуже, чем после первого.

Есть идеи как исправить ситуацию?
mplayer-1.0-0.16.pre7.2.fc4 собран мною из src.rpm.
Или поделитесь своим успешным опытом. Спасибо.

Ответить   Strong Thu, 03 Nov 2005 16:27:02 +0600 (#468366)

 

Ответы:

Тут у меня скриптик написан для кодирования видео, правда не идеален, но
свою работу (под меня) он делал. Да, он берёт уже скопированные файлы на
винчестер с расширением avi. Для этого можно тем же mencoder-ом просто везде

copy поставить и привод меньше крутиться будет.

Что он делает. Вначале показывает фильм и показывает на сколько можно края
обрезать. Далее предлагает воспользоваться фильтрами для того, чтобы убрасть

черзстросность, которой богаты DVD с 2-мя и более фильмами на одной стороне
двд. Далее предлагает выбрать битрейт (ограничить по CD или выбрать свой).
Кстати, здесь написано для русифицированного mplayer-a!!! Если английский,
то надо исправить строки "Рекомендуемый битпоток для 700MB CD " и т.д. на
аналогичные английские. Да, все данный хранит в текстовых файлах. Думаю
разберётесь. Кстати, если у кого есть желание можно этот скрипт доработать.

Да, вопрос ко всем, может кто смог запустить скодированные фильмы менкодером

по офтопиковой финдой?
И ещё, есть ли возможность фильмы, скодированные таким образом перекинуть
обратно на DVD, для того, чтобы можно было бы проигрывать их на бытовом
проигрывателе?

С уважением, Косарев Дмитрий

#!/bin/sh

# проверяем правильность каталога с исходными файлами
IN_PATH=$1
if [ -z $IN_PATH ]
then
echo "Запуск команды encoding.sh inc_path [out_path]"
exit
fi
if ! `test -d $IN_PATH`
then
echo -e "\nКаталог \"$IN_PATH\" с исходными файлами не существует!
\n\nЗапуск команды encoding.sh inc_path [out_path]\n"
exit
fi

OUT_PATH=$2

if [ -z $OUT_PATH ]
then
OUT_PATH=/files/video/encoding/

fi

if ! `test -d $OUT_PATH`
then
echo -e "\nКаталог \"$OUT_PATH\" для окончательных файлов не существует!

\n\nЗапуск команды encoding.sh inc_path [out_path]\n"
exit
fi

echo -e "\nСохраняем файлы в $OUT_PATH\n"

#проверяем свободное место и показываем сколько занимает существующие файлы,

если место мало, то спрашиваем...

OUT_FREE=`df $OUT_PATH | awk '{if($1 ~ "/") print $4}'`
IN_FREE=`du -s $IN_PATH | awk '{print $1}'`
H_OUT_FREE=`df -h $OUT_PATH | awk '{if($1 ~ "/") print $4}'`
H_IN_FREE=`du -sh $IN_PATH | awk '{print $1}'`

if [ $OUT_FREE -le $IN_FREE ]
then
echo -n "Внимание! Места ($H_OUT_FREE) под готовые файлы ($H_IN_FREE)
может не хватить! Продолжить? (y/n)"
read F
if [ "$F" != "y" ]
then
echo "Прервано пользователем!"
exit 0
fi
echo -e "Продолжаем! \n"
fi

#Удаляем временные файлы

cd $IN_PATH
rm frameno.avi
rm *.frameno
rm *.bitrate
rm *.crop
rm *.txt

#Делаем обрезание черных сторон и вычисляем битрейт

echo `date` start encoding
for loop in *.avi
do
rm $loop.txt
mplayer -identify $loop -vf cropdetect
echo $ID_LENGTH
echo -n "Введите необходимое кадрирование (только значение):"
read CROP
echo $CROP > $loop.crop

#фильтры
echo -ne "Включить фильтр чрезстрочности? (y/n):\n"
read FILTER
if [ "$FILTER" = "y" ]
then
echo ",lavcdeint" > $loop.filter
else
echo "" > $loop.filter
fi

while :
do
echo -n -e "Введите битрейт \n1 - 700MB \n2 - 2x650MB\nили значение
битрейта (от 800):"
read BITRATE
if [ "$BITRATE" = "1" ]
then
echo "Битрейт будет вычислен для 700MB"
echo "Рекомендуемый битпоток для 700MB CD: ">
$IN_PATH$loop.frameno
break 1
elif [ "$BITRATE" = "2" ]
then
echo "Битрейт будет вычислен для 2 x 650MB"
echo "Рекомендуемый битпоток для 2 x 650MB CD: ">
$IN_PATH$loop.frameno
break 1
elif [ $BITRATE -gt 799 ]
then
echo "Битрейт выбран вручную: $BITRATE"
echo $BITRATE > $IN_PATH$loop.bitrate
break 1
else
echo "неверное значение!"
fi
done
done

#что делаем
for loop in *.avi
do
echo -ne "\nФайл $loop\n Битрейт: "
if `test -f $IN_PATH$loop.bitrate `
then
cat < $IN_PATH$loop.bitrate
else
echo "будет подсчитан для "
echo -ne | awk '$0 {print substr($0,27)}' < $IN_PATH$loop.frameno
fi
done

echo -n "Всё верно? Продолжить? (y/n)"
read F
if [ "$F" != "y" ]
then
echo "Прервано пользователем!"
rm *.frameno
rm *.bitrate
rm *.crop
exit 0
fi

for loop in *.avi
do
if `test -f $IN_PATH$loop.frameno`
then
mencoder $IN_PATH$loop -ovc frameno -oac copy -o frameno.avi >
$IN_PATH$loop.txt
FRAMENO=`cat < $IN_PATH$loop.frameno`
echo `grep "$FRAMENO" $IN_PATH$loop.txt | awk
'gsub("'"$FRAMENO"'","") {print $0}' > $IN_PATH$loop.bitrate`
rm frameno.avi
fi
BITRATE=`cat < $IN_PATH$loop.bitrate`
CROP=`cat < $IN_PATH$loop.crop`
FILTER=`cat < $IN_PATH$loop.filter`
if [ "$BITRATE" == "" ]
then
BITRATE="1500"
fi
mencoder $IN_PATH$loop -vf crop=$CROP,hqdn3d=2:1:2$FILTER -ovc
lavc -lavcopts
vcodec=mpeg4:vbitrate=$BITRATE:vme=5:vqcomp=0.8:vqblur=0.1:v4mv:trell:cbp:m
mencoder $IN_PATH$loop -vf crop=$CROP,hqdn3d=2:1:2$FILTER -ovc
lavc -lavcopts
vcodec=mpeg4:vbitrate=$BITRATE:vme=5:vqcomp=0.8:vqblur=0.1:v4mv:trell:cbp:m
rm divx2pass.log
#mencoder $IN_PATH$loop -vf crop=$CROP,hqdn3d=2:1:2 -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=$BITRATE:vme=5:vqcomp=0.8:vqblur=0.1:v4mv:trell:cbp:mv0:mpe

done

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22416; Возраст листа: 832; Участников: 1451
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/468492

Ответить   Косарев Дмитрий Thu, 3 Nov 2005 14:44:27 +0300 (#468492)

 

Косарев Дмитрий пишет:

Я обсолютно не понимаю в видео кодировании, да и в форматах тоже.
Напишите мне строчку, как уменьшить файл в таком виде :

Формат: XviD
Качество: DVDRip
Видео: 640x272; 25 fps; 1610 kbps avg
Звук: 48 kHz; AC3 Dolby Digital,2/0 (L,R) ch; 256.00 kbps
Размер в среднем 360 мб

Это одна серия 11 серийного сериала. Очень жалко тратить 11 дисков из-за
этого качества, mpeg4 мне вполне подойдет.

Ответить   Oleg Ponomarev Thu, 03 Nov 2005 18:44:51 +0200 (#468553)

 

Для такого случая подойдет avidemux2
http://fixounet.free.fr/avidemux/

С поставленной Вами в таком виде задачей он справится :)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22423; Возраст листа: 832; Участников: 1454
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/468612

Ответить   Thu, 3 Nov 2005 20:28:03 +0300 (#468612)

 

Michael Krylov пишет:

Спасибо за ссылку, но он у меня отказался собиратся :(. Я скачал все
библиотеки, всех их установил. А avidemux после make выдает ошибку:

In file included from i386/dsputil_mmx.c:137:
i386/dsputil_mmx_rnd.h: In function `put_no_rnd_pixels8_l2_mmx':
i386/dsputil_mmx_rnd.h:61: can't find a register in class `BREG' while reloading
`asm'
i386/dsputil_mmx.c: In function `dsputil_init_mmx':
i386/dsputil_mmx.c:3076: warning: assignment from incompatible pointer type
i386/dsputil_mmx.c:3077: warning: assignment from incompatible pointer type
make[3]: *** [dsputil_mmx.o] Ошибка 1
make[3]: Leaving directory `/usr/src/avidemux-2.0.42/adm_lavcodec'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/usr/src/avidemux-2.0.42/adm_lavcodec'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/usr/src/avidemux-2.0.42'
make: *** [all] Ошибка 2

Может кто-нить подскажет опции mencoder для моей задачи?

Ответить   Oleg Ponomarev Fri, 04 Nov 2005 09:12:42 +0200 (#468958)

 

У меня версия 2.0.42 тоже не собралась. Пришлось с 2.0.40 переходить сразу на
2.1.0_step2.

P.S. Сейчас глянул - уже 2.1.0_step3 выложили.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22430; Возраст листа: 833; Участников: 1454
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/468979

Ответить   Fri, 4 Nov 2005 10:52:59 +0300 (#468979)

 

Michael Krylov пишет:

2.1 не катит, у меня gtk старое, а обновлять нет желания.

Ответить   Oleg Ponomarev Fri, 04 Nov 2005 10:29:32 +0200 (#469000)

 

Тогда попробуйте 2.0.38 или 2.0.40 - должно получиться.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22432; Возраст листа: 833; Участников: 1454
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/469008

Ответить   Fri, 4 Nov 2005 11:49:16 +0300 (#469008)

 

On Fri, 2005-11-04 at 10:52 +0300, Michael Krylov wrote:

У меня avidemux при открытии файла (.avi) говорит, что нет valid audio
codec. Где его взять? И ещё. Можно ли им оставлять нетронутым
(неперекодированным) видео/аудио при резке/клейке?

Ответить   Strong Tue, 08 Nov 2005 00:01:14 +0600 (#470888)

 

1. http://fixounet.free.fr/avidemux/doc/ru/index.html
Страничка с русской документацией (см. пункт "Поддерживаемые входные форматы
и кодеки").
2. Если не нажать кнопку "Process" для аудио/видео - соответственно и перекодирования
не будет - это для версии 2.0
Для 2.1 - выбрать режим "Copy"
Есть один нюанс - если используется внешний звуковой файл - то при резке видео
соответствующих пропусков аудио не будет. Т.е. сначала собираем видео с новой
звуковой дорожкой, а только потом режем.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22501; Возраст листа: 836; Участников: 1454
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/470919

Ответить   Mon, 7 Nov 2005 20:50:06 +0300 (#470919)

 

Доброе время суток!
Thu, 3 Nov 2005 14:44:27 +0300 Косарев Дмитрий писал(а):

Opensource можно юзать и под оффтопиком :)

Ответить   Терновых Илья Thu, 3 Nov 2005 21:45:44 +0300 (#468808)

 

В сообщении от 3 Ноябрь 2005 21:45 Терновых Илья написал(a):

менкодером ТИ> > по офтопиковой финдой?

Можно, что я и успешно делаю. Но как объяснить всем, кто в винде кроме
офтопикового плеера больше ничего не знает...

Ответить   Dmitry Kosarev Sun, 6 Nov 2005 13:29:07 +0300 (#470377)

 

Доброе время суток!
Sun, 6 Nov 2005 13:29:07 +0300 Dmitry Kosarev писал(а):

Ну, как вариант, что кодеки устанавливать не надо...

Ответить   Терновых Илья Mon, 7 Nov 2005 18:21:32 +0300 (#470817)