Вобще даdно хотел разместить заметочку на тему как можно с помощью mplayer обрабатывать видео. Возник у меня вопрос как можно преобразовать vob-файл в avi? Пошел к своему другу спросил он мне и говорит надо mplayer-ом пользоваться, я ему ок попробую. А зачем мне это надо было, а вот зачем принесла мне теща пару dvd дисков на них записана тв-программа которая выходит на одном из наших местных каналов, вобщем попросила скопировать. На каждом диске по одной программе записано, я глянул размер а там из 4 Гб занято только 1 Гб. Я ей говорю давай я тебе все на один диск запишу только в avi-формате, будеш на компутере у себя смотреть она говорит хорошо давай только диски надо было отдать, сделал образы всех дисков и отдал ей. Сам начал разбираться как это дело можно провернуть.
И так пришлось загрузить mplayer с сайта разработчиков и откомпилить его. При компиляции выяснилось что надо еще кое какие библиотеки загрузит (lame-3.97, xvidcore-1.1.3).
Для того чтобы откомпилировать в Debian все это написал скрипты, естественно предварительно распаковав все исходники из архивов:
lame

1
2
3
4
#!/bin/sh
cd lame/
fakeroot debian/rules clean
fakeroot debian/rules binary

xvidcore

1
2
3
4
#!/bin/sh
cd xvidcore/
fakeroot debian/rules clean
fakeroot debian/rules binary

mplayer

1
2
3
4
#!/bin/sh
cd mplayer/
fakeroot debian/rules clean
DEB_BUILD_OPTIONS="--enable-largefiles --enable-menu --language=ru" fakeroot debian/rules binary

.

Получившиеся deb-ки установил. А теперь самое интересное. Почитав man и вникнув только в самое основное что мне надо было написал пару скриптов для преобразования из vob-ов в avi.
mpeg2avi (делает 2 прохода аудио поток преобразует в AC3 размер файла на выходе отличается от оригинала почти в 2 раза вместо 1 Гб получается примерно 450 Мб)

1
2
3
4
5
6
7
#!/bin/sh
echo "File $1 is in processing..."
origname=$1
aviname=$origname.avi
mpgname=output_$aviname.mpg
mencoder $1 -ovc lavc -lavcopts vcodec=mpeg2video:vpass=1 -oac copy -o /dev/null
mencoder $1 -ovc lavc -lavcopts vcodec=mpeg2video:mbd=2:trell:vpass=2:acodec=ac3 -oac lavc -o $mpgname

XVid (преобразует avi-файл тобы можно было смотреть в Windows):

1
2
3
4
#!/bin/sh
echo "File $1 is in processing..."
origname=$1
mencoder $1 -ovc copy -oac copy -o out_$1.avi -ffourcc XVID

mpeg4 (два прохода аудио поток копируется из оригинала на выходе avi-файл который Windows тоже понимает):

1
2
3
4
5
6
#!/bin/sh
echo "File $1 is in processing..."
origname=$1
mpgname=output_$origname.mpeg
mencoder $origname -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder $origname -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac copy -o $mpgname -ffourcc XVID

Маленькое отступление без ключа -ffourcc XVID в Windows файлы не проигрываются, вот такая блин засада.

Комментарии закрыты.

Теперь у меня есть персональная страница на Я.ру — theblackravan!

Я.ру - это новый сервис Яндекса, на котором делятся с друзьями самым интересным, знакомятся, дружат или ссорятся, вывешивают фотки, комментируют свои, чужие записи, обмениваются ссылками и рассказывают о своем настроении.