LINUX.ORG.RU

Помогите написать скрипт для mencoder


0

0

Есть н-ное количество мультфильмов в некоем каталоге, но к несчастью все они в формате real media:( Надо их все перекодировать в xvid для просмотра на бытовом плеере. Набросал команды для mencoder:

mencoder The_Simpsons-s17e03.rm -ffourcc div3 -ovc xvid -xvidencopts chroma_opt:vhq=4:bvhq=1:quant_type=h263:cartoon:pass=1:bitrate=512:threads=2 -oac mp3lame -lameopts abr:br=32 -o /dev/null

mencoder The_Simpsons-s17e02.rm -ffourcc div3 -ovc xvid -xvidencopts chroma_opt:vhq=4:bvhq=1:quant_type=h263:cartoon:pass=2:bitrate=512:threads=2 -oac mp3lame -lameopts abr:br=32 -o The_Simpsons-s17e03.avi

Как автоматизировать этот процесс?


1.
В самом скрипте использовать $1
Запуск примерно так:
find -name "*.rm" -exec yor_script.sh {} \;


2.
Либо цикл заделать:

for file
do
#твой код здесь:
mencoder $file
#конец цикла
done

Затем запустить:
your_script.sh *.rm

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

Забыл, что б не было скучно и циферки бегали:


i=0

for file
do
i=$((i + 1))
clear

echo "=~=~=~==~=~=~==~=~=~==~=~=~=~=~=~=~==~=~=~=~=~=~=~==~=~=~=~=
{$i/$#} $file
=~=~=~==~=~=~==~=~=~==~=~=~=~=~=~=~==~=~=~=~=~=~=~==~=~=~=~="

mencoder $file ...
rm $file #делитовать то??

done


Вообщем - все ограничивается фантазией, как всегда.

CtrlAltBs
()
Ответ на: комментарий от Igron

Дык кодирование же в 2 прохода. Плюс после каждого мульта надо удалять divx2pass.log

LokiAs2
() автор топика
Ответ на: комментарий от Igron

Скрипт с именем файла в качестве параметра:

$> vi ~/bin/имяскрипта -------------

#!/bin/bash

mencoder "$@" params-for-step1

mencoder "$@" params-for-step2

--------------

$> chmod +x ~/bin/имяскрипта

дальше:

find /dir/with/mults/ -type f -iregex ".*\.rm" -exec имяскрипта {} \;

vinni_puh
()
Ответ на: комментарий от LokiAs2

>А поподробнее можно? Я ман баш не осилю:)

У меня подобная задачка была. Только не видео, а аудио. Вот, почти
без купюр (удалил мусор всякий, пропись тэгов):

#! /bin/bash
#
# Converts a Real Audio file to a mono MP3 and adds an ID3 tag.
#
#

i=0

for file
do
i=$((i + 1))
clear

echo "=~=~=~==~=~=~==~=~=~==~=~=~=~=~=~=~==~=~=~=~=~=~=~==~=~=~=~=
{$i/$#} $file
=~=~=~==~=~=~==~=~=~==~=~=~=~=~=~=~==~=~=~=~=~=~=~==~=~=~=~=
DeCode Start (1)..."

if [ ${file##*.} = "mp3" ];
then
	echo "THIS IS MP3 alredy!!"
	sleep 1
	continue
fi

fname=${file%.*}

mplayer "$file" -ao pcm:file=/tmp/2mp3.wav -af pan=1:0.5:0.5 \
	-vc dummy -vo null -nojoystick -nolirc | tee /tmp/2mp3.log

clear

echo "=~=~=~==~=~=~==~=~=~==~=~=~=~=~=~=~==~=~=~=~=~=~=~==~=~=~=~~
{$i/$#} $file
decode completed:
=~=~=~==~=~=~==~=~=~==~=~=~=~=~=~=~==~=~=~=~=~=~=~==~=~=~=~~
START LAME (2)..."

time lame /tmp/2mp3.wav "$fname".mp3 --abr 40 -q 0

rm /tmp/2mp3.wav

#rm "$file"

done


Многое ещё можно выкинуть. Ман курить придется.
Да - не сумел осилить регулярки здесь - методом тыка кое как.

CtrlAltBs
()
Ответ на: комментарий от vinni_puh

вернее нужно то наверное так...

-------------

#!/bin/bash

src_file="$@" trg_file="${src_file%.[rR][mM]}.avi

mencoder "$src_file" params-for-step1

mencoder "$src_file" params-for-step2 -o "$trg_file

--------------

vinni_puh
()
Ответ на: комментарий от CtrlAltBs

Если уж тема о видео, скажите как узнать длительность ролика, есть необходимость нарезать исходные ролики на куски по 15 мин.

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

Да и еще поменял опции. Выбрал xvid профайл для портабл (все равно качество плохое, тв-рип) и добавил опцию cartoon:)

LokiAs2
() автор топика
Ответ на: комментарий от LokiAs2

> Для портабла Для PSP ? Подскажи скрипт для кодирования видео для PSP, плиз.

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