The OpenNET Project / Index page

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

Каталог документации / Раздел "Документация для Linux" / Оглавление документа
Next Previous Contents

21. Multimedia

Для начала ссылка на некоторые ресурсы (присылайте ссылки и мы их включим):

Подробная документация по Mplayer

Неофициальный FAQ по MPlayer

Хорошо написано о многих опциях кодеков xvid и lavc в mencoder'е

FAQ из которого, в частности, можно узнать, как заставить работать DVD Shrink через wine

21.1 Как сделать, чтобы MPlayer использовал rtc, не ставя на него suid бит?

Для тех, у кого в системе есть /etc/sysctl.conf:

/etc/sysctl.conf:

dev/rtc/max-user-freq=1024

Для остальных:

/etc/rc.local:

echo 1024 > /proc/sys/dev/rtc/max-user-freq

21.2 При просмотре фильмов в MPlayer включается скринсейвер (или монитора "засыпает"), что делать?

user@linux$ man mplayer

на предмет опции stop-xscreensaver.

Если у вас просто mplayer, без графического интерфейса, берем ваш файл конфигурации ~/.mplayer/config и пишем в нем строчку

~/.mplayer/config:

stop-xscreensaver = 1

Для gmplayer мы пропишем строчку

~/.mplayer/gui.conf:

stop-xscreensaver = "yes"

Это можно сделать и средствами интерфейса.

Из командной строки можно добавить ключ -stop-xscreensaver

Важно: В руководстве ключ назван неверно -stop_xscreensaver (с подчеркиванием вместо тире).

21.3 Как настроить mplayer, чтобы с его помощью смотреть ТВ?

Формируется примерно такой файлик:

#!/bin/bash
DATE="`date +%H%M%d`"
PH=/mnt/dos/dvd/tv

mplayer tv://14 -tv device=/dev/video0:driver=v4l2:width=512:height=384:forcechan=1:normid=2:channels=R7-Culture,R10-Stolica,R6-Sport,R9-TVC,SR2-M1,SR4-TNT,SR3-MTV,SR12-MuzTv,R2-NTV,SR5-STS,R4-RTR,R12-ORT - vo sdl -fs -ao alsa -quiet

21.4 Как записать тв-программу, используя mencoder?

Для ядра 2.4 и ранних 2.6:

#!/bin/sh

DATE="`date +%H%M%d`"

nice -n 0 mencoder tv:// -tv driver=v4l:width=384:height=288:norm=SECAM: \
brightness=10:contrast=-20:hue=-70:saturation=-60: \
audiorate=22050:alsa:forcechan=1:adevice=hw.0: \
buffersize=32:fps=22 -ovc lavc -lavcopts vcodec=mpeg4: \
vbitrate=2100:vme=5:vqscale=3:vb_strategy=1: \
keyint=300 -oac pcm -o "output-"$DATE".avi"

Для ядер 2.6.6 и выше:

!/bin/sh
DATE="`date +%H%M%d`"
PH=/mnt/dos/dvd/tv

mencoder -tv driver=v4l2:width=512:height=384:device=/dev/video0:\
norm=SECAM:buffersize=128:fps=24:brightness=10:contrast=-20:hue=-70:\
saturation=-60:\
audiorate=22050:alsa:forcechan=1 \
-oac pcm \
tv:// \
-o $PH/$DATE".avi" \
-ovc lavc -lavcopts \
vcodec=mpeg4:vbitrate=1200:vme=4:vqscale=3:vb_strategy=1:keyint=300 \
-vf pp=lb

Первая строчка для Celeron 500, вторая для PIII-966. Подбирайте свои значения. Название файла формируется, используя время.Кодируем в MPlayer 1.0pre5. Параметр "on" больше не используется.

Важно что - указать во что кодируем и каким кодеком что для видео, что для аудио.

Аудио лучше пускать в pcm, это написано еще в рассылках MPlayer, а потом уже пережать такой строчкой:

#!/bin/sh

mencoder -ovc copy -oac mp3lame -lameopts aq=0:ratio=100 pcm_file.avi -o your_ready.avi

Если хочется почистить картинку от помех, это можно сделать примерно так:

#!/bin/sh

nice -n 15 mencoder -ovc lavc -lavcopts vcodec=mpeg4:vme=4:vbitrate=1800: \
keyint=300 -oac copy -vf scale=640:480,pp=hb/vb/dr/al/lb,hqdn3d,lavcdeint,eq=05: \
10 /mnt/dos/part2.avi -o ready2.avi

Естественно, можно и совместить. Читайте о постпроцессинге.

Есть еще момент - многие жалуются, что несмотря на сильные машины (piv 2600, например) через некоторое время идет framedrop. Лично я (jackill) боролся с этим, указав число кадров, получаемых с тюнера (опция fps, на более мощной машине можно поставить больше) и можно жестко задать буфер (чем больше разрешение, тем больше буфер), чтобы вся память не забилась (если будет framedrop при динамическом буфере, то сначала кончится память, затем пойдет framedrop). В рассылке говорили, что звук лучше забирать в pcm (мол, lame тоже может стать причиной сбоя).

Тем не менее при битрейте в 900 я записывал звук в mp3, получая меньшую нагрузку на винт и на процессор. Более того, за четыре часа у меня не было ни одной рассинхронизации звука или видео, а так же не заканчивалась память (правда у меня 640Мб RAM):

#!/bin/sh
DATE="`date +%H%M%d`"
PH=/mnt/dos/dvd/tv

mencoder -tv driver=v4l2:width=512:height=384:device=/dev/video0:\
normid=2:buffersize=128:fps=22:brightness=10:contrast=-20:hue=-70:\
saturation=-60:\
audiorate=22050:alsa:forcechan=1 \
-oac mp3lame -lameopts vbr=0:br=32:aq=9:mode=3 -o mult5.avi \
tv:// \
-o $PH/$DATE".avi" \
-ovc lavc -lavcopts \
vcodec=mpeg4:vbitrate=900:vme=4:vqscale=3:vb_strategy=1:keyint=300 \
-vf pp=lb

21.5 Возможно ли писать что нибудь с тюнера и смотреть в это время то что я пишу или другой канал?

Другой канал нельзя - приемник-то один. А смотреть и писать теперь можно, если воспользоваться программой xdtv (весьма удобная и быстрая, но иногда валится через пару часов использования, вешая систему намертво).

http://xawdecode.sourceforge.net/htmlpageUS/indexUS.shtml

21.6 Сделал все, как написано здесь, но при записи с mencoder картинка с тв-тюнера пишется, а звук - нет. Звуковая система - alsa. Что делать?

Запускаем alsamixer и в нем снимаем, если есть, mute с канала Line (клавиша m), далее ставим capture на каналы Line и Capture (клавиша пробел).

21.7 Что делать, если в alsamixer у меня нет больше регуляторов Line и Capture, а звук надо записывать?

Воспользоваться утилитой amixer. Регулятор Line называется line. Регулятор Capture называется cap.

21.8 Как посылать именно фильм на телевизор, а все остальное - на монитор?

При настроенном X-сервере - легко:

user@linux# alias mplayertv='export DISPLAY=:0.1 & qut;" mplayer -fs'

О настройках карточек nvidia через TwinView читайте в документации nvidia, если нужны более хитрые настройки, читайте здесь. О настройке карт ATI читайте здесь.

21.9 Как на Nvidia настроить TV-Out так, чтобы фильм из mplayer выводился на TV, а монитор оставался свободным? Как сделать так, чтобы разрешения менялись независимо?

A: Например, так. Приведены только интересующие нас разделы /etc/X11/xorg.conf (ранее /etc/X11/XF86Config)

Section "ServerLayout"
        Identifier "Default Layout"
        Screen 0 "Monitor" 0 0
        Screen 1 "TVout" RightOf "Monitor"
        InputDevice "Mouse1" "CorePointer"
        InputDevice "Keyboard1" "CoreKeyboard"
EndSection

Section "Monitor"
        Identifier "CRTmonitor"
        ModelName "LG 795FT"
        HorizSync 30.0 - 96.0
        VertRefresh 50.0 - 160.0
EndSection

Section "Monitor"
        Identifier "HomeTV"
        ModelName "TVset"
        HorizSync 30.0 - 50.0
        VertRefresh 50.0 - 60.0
EndSection

Section "Device"
        Identifier "NVGF4-1"
        Driver "nvidia"
        BoardName "Ti4800-VDT8X (MS-8900)"
        VideoRam 131072
        Option "NvAGP" "3"
        Option "NoLogo" "1"
        Option "RenderAccel" "1"
        Option "TwinView" "1"
        Option "DPMS" ""
        BusID "PCI:1:0:0"
EndSection

Section "Device"
        Identifer "NVGF4-2"
        Driver "nvidia"
        BoardName "Ti4800-VDT8X (MS-8900)"
        VideoRam 131072
        Option "NvAGP" "3"
        Option "NoLogo" "1"
        Option "RenderAccel" "1"
        Option "TVOutFormat" "COMPOSITE"
        Option "ConnectedMonitor" "TV"
        Option "TVStandard" "NTSC-M"
        BusID "PCI:1:0:0"
        Screen 1
EndSection

Section "Screen"
        Identifier "Monitor"
        Device "NVGF4-1"
        Monitor "CRTmonitor"
        DefaultDepth 16

        SubSection "Display"
                Depth 8
                Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection

        SubSection "Display"
                Depth 16
                Modes "1600x1200" "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection

        SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Section "Screen"
        Identifier "TVout"
        Device "NVGF4-2"
        Monitor "HomeTV"
        DefaultDepth 16

        SubSection "Display"
                Depth 8
                Modes "800x600" "640x480"
        EndSubSection

        SubSection "Display"
                Depth 16
                Modes "800x600" "640x480"
        EndSubSection

        SubSection "Display"
                Depth 24
                Modes "800x600" "640x480"
        EndSubSection
EndSection

Еще вариант, без TwinView.

#monitor

Section "Device"
        Identifier      "nvidia0"
                Driver          "nvidia"
                BusID           "PCI:1:0:0"
                Option          "NvAGP"                 "1"
                Option          "NoLogo"                "true"
                Option          "RenderAccel"           "true"
                Option          "CursorShadow"          "true"
                Option          "IgnoreEDID"            "true"
                Option          "IgnoreDisplayDevices"  "DFP"
                Option          "ConnectedMonitor"      "CRT"
                Screen 0
EndSection

#TV
Section "Device"
        Identifier      "nvidia1"
        Driver          "nvidia"
        BusID           "PCI:1:0:0"
        Option          "NvAGP"                 "1"
        Option          "NoLogo"                "true"
        Option          "RenderAccel"           "true"
        Option          "CursorShadow"          "true"
        Option          "IgnoreEDID"            "true"
        Option          "IgnoreDisplayDevices"  "DFP"
        Option          "ConnectedMonitor"      "TV"
        Option          "TVStandard"            "PAL-B"
        Option          "TVOutFormat"            "COMPOSITE"
        Screen 1
EndSection

#Monitor description
Section "Monitor"
        Identifier      "monitor"
        HorizSync       30-96
        VertRefresh     50-160
        Option          "DPMS"
EndSection

#TV description
Section "Monitor"
        Identifier      "tv"
        HorizSync       30-50
        VertRefresh     60
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "screen0"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
EndSection

Section "ServerLayout"
        Identifier      "crt-tv"
        Screen          "screen0"
        Screen          "screen1" RightOf "screen0"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
EndSection

Не забудьте прописать разрешения на оба устройства.

Когда нужен телевизор:

user@localhost$ startx -- -layout ctr-tv

Команда вывода кино на телевизор:

user@localhost$ DISPLAY=:0.1 mplayer -fs файл

21.10 Почему при попытке просмотра фильма в MPlayer в полноэкранном режиме фон только меняется на черный, а размер картинки остается прежним?

DiMoN отвечает:

Список того, какой вывод поддерживается:

user@linux# mplayer film.avi -vo help

Лучшие варианты:

user@linux# mplayer film.avi -vo xv -fs
user@linux# mplayer film.avi -vo xvidix -fs

Когда-то через SDL добился нормального воспроизведения на Celeron333/64Mb/S3Trio64V+:

user@linux# mplayer film.avi -vo sdl -fs

C остальными могут быть проблемы по скорости воспроизведения:

user@linux# mplayer film.avi -vo gl2 -fs
user@linux# mplayer film.avi -vo gl -fs
user@linux# mplayer film.avi -vo dga -fs

Консольные варианты:

user@linux# mplayer film.avi -vo vesa -fs
user@linux# mplayer film.avi -vo svga -fs
user@linux# mplayer film.avi -vo vidix -fs
user@linux# mplayer film.avi -vo cvidix -fs

Текстовыми символами:

user@linux# mplayer film.avi -vo aa -fs

На худой конец так (тормоза + потеря кадров):

user@linux# mplayer film.avi -vo x11 -fs -zoom -framedrop -hardframedrop

21.11 MPlayer - проблемы с интерфейсом: любой "скин" он показывает черным, элементов управления тоже не видно. Что делать?

Это проявляется на определенных картах. Попробуйте поменять битность цвета. Должно сработать.

21.12 Как в MPlayer просмотреть VCD?

1. Не надо монтировать диск.

2. mplayer -vcd://номер_трека [остальные ключи].

21.13 Как в сграбить audio-CD в mp3 (в том числе из консоли)?

Можно воспользоваться либо грабберами или программами для записи компакт-дисков с поддержкой таких функций.

user@linux:~$ mpg123 --cdr file.cdr file.mp3
user@linux:~$ cdrecord -v speed=4 dev=0,0,0 -pad -audio *.cdr

Для группы файлов:

 
user@linux:~$ find . -name "*.mp3" -exec mpg123 --cdr {}.cdr {} \;

Если полученный wav файл не в формате "16 bit, stereo, 44100 Hz" (проверить можно: "file file.wav", обычно mpg123 осуществляет преобразование автоматически):

 
user@linux:~$ mpg123 -w file.wav file.mp3
user@linux:~$ sox file.wav -r 44100 file_new.wav

Для нормализации громкости удобно использовать:

 
normalize -m *.wav

Можно воспользоваться этим скриптом (автор мне, увы, неизвестен):

#!/bin/bash
rm -v track*.wav
disc-cover -e -o tracks -t txt &&
mv tracks.txt tracks.cddb &&
disc-cover -o cover -t ps &&
ARTIST=`cat tracks.cddb | grep -E '^Artist\:'| gawk -F\: '{print $2}' | sed -e's/^ *//' -e's/ *$//'`
ALBUM=`cat tracks.cddb | grep -E '^Title\:'| gawk -F\: '{print $2}' | sed -e's/^ *//' -e's/ *$//'`
echo "$ARTIST/$ALBUM"
#echo $ALBUM
mkdir -p "$ARTIST/$ALBUM"

cdparanoia -sQ 2>&1 | tee toc &&
cdparanoia -w -z5 -B 2>&1 | tee cdparanoia.log || exit
#grep -E '^( )+([0-9])+\.' toc | gawk -F. '{print $1}'
for i in track*.cdda.wav; do
num=`echo $i | sed -e's/^track\([0-9]*\)\.cdda\.wav/\1/'`
#echo -n $num " - "
num1=`echo $num | sed -e's/^0//'`
#echo $num1
title=`grep -E "^([0])*$num1\ " tracks.cddb | \
        gawk 'BEGIN {ORS=" "} {for(n=2;n<NF-1;n++) print $n;}' | sed -e's/^ *//' -e's/ *$//'`
        #echo $title
        nice oggenc -b 192 -N $num -a "$ARTIST" -l "$ALBUM" -t "$title" -n "$ARTIST/$ALBUM/$num - %t.ogg" $i || exit
        #mv -v $i $ii
        done;

21.14 Как записать audio-CD из mp3 (wav)?

Пользователи KDE скорее всего записывают диски программой k3b, поэтому могут воспользоваться ею. Очень удобно.

Многие пользуются программой xcdroast. Поскольку интерфейс слегка запутан, пара слов о процессе. В каталог для cd-образов копируются wav, сделанные из mp3. Далее делаем "Создать диск" -> "Записать дорожки". В закладке "Раскладка дорожек в правом окне выделяем все wav-файлы и нажимаем кнопку "Добавить". Переходим в закладку "Записать дорожки" и нажимаем на кнопку "Записать дорожки".

Примечание: в старой локализации xcdroast дорожки называются треками.

Также, можно чудесно записать все из консоли

user@linux:~$ cdrecord -audio -pad -dev=0,0,0 1.wav 2.wav 3.wav

Подробнее смотрите man cdrecord.

21.15 Чем под Linux сделать DVD-диск из avi-файла? Как сделать DVD с помощью mencoder, или transcode?

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

Можно прочитать вот эту статью или же сделать все скриптами как показано ниже.

Алгоритм кодирования в dvd такой:

  1. Звук конвертируете в pcm, ac3, mp2 (mpeg 1 layer2).
  2. Видео конвертируете в mpeg2video. Это можно сделать с помощью mplex из комплекта mjpegtools, или с помощью mencoder (output format: -of mpeg), но лучше первым. К тому же mencoder не умеет делать звук mp2.
  3. Далее можно пропустить это через dvdauthor, чтобы сформировать структуру каталогов.
  4. Затем делается image.
  5. Запись.

Все прочитали? Можно автоматизировать процесс с помощью mkdvd. Или скрипта Obidos'а:

1-й случай. PAL (в исходном avi 25fps).

#!/bin/sh

mkdir tmp
ORIG=tmp/`basename $1 .avi`
echo "Doing transcode..."
transcode -i $1 -V -y mpeg2enc,mp2enc -F "5,-S 800" -E 44100 -b 128  -o $ORIG -Z 480x576
echo "Doing mplex..."
mplex -f 4 -S 800 -o $ORIG%d.mpg $ORIG.m2v $ORIG.mpa

2-й случай. NTSC (в исходном avi 29.97fps либо 23.976fps).

#!/bin/sh

mkdir tmp
ORIG=tmp/`basename $1 .avi`
echo "Doing transcode..."
transcode -i $1 -V -y mpeg2enc,mp2enc -F "5,-S 800" -E 44100 -b 128  -o $ORIG -j -92 -Z 480x480
echo "Doing mplex..."
mplex -f 4 -S 800 -o $ORIG%d.mpg $ORIG.m2v $ORIG.mpa
#end

3. Скрипт сборки образа диска для прожига

#!/bin/sh

TITLE=`basename $1 .mpg`
echo "Doing VCDImager..."
vcdimager -p -t svcd -b $TITLE.bin -c $TITLE.cue $@

4. Скрипт прожига

#!/bin/sh
# первый параметр -- имя .cue-файла, второй -- скорость.

cdrdao write -v 2 --speed $2 $1

Замечания.

  1. Для NTSC материала нужно правильно подобрать значение параметра -j. Указанное значение (-92) корректно для фильмов им. тов. Гоблина (тех, что я кодировал).
  2. Максимальный размер диска -- 800Мб, что отлично влезает на 700Мб болванку из-за того, что пишется "полный" сектор. Грубо можно считать "800Мб == 80 мин".

Где взять: mkdvd http://fredrik.hubbe.net/hacks/ mjpegtools http://mjpeg.sourceforge.net/ dvdauthor http://dvdauthor.sourceforge.net mencoder http://www.mplayerhq.hu transcode http://www.transcoding.org/cgi-bin/transcode

Дополнительное инфо по сборке DVD и редактированию видео с помощью kino: http://www.linuxmafia.com/faq/Apps/AV/consumer-video-to-dvd.html

Дополнительное инфо по правам файловой структуры на получаемом DVD: http://dvd.chevelless230.com/

Дополнительное инфо о том, как писать: http://www.freesoftware.fsf.org/dvdrtools/

21.16 Как пережать DVD9 в DVD5?

Взято отсюда. Автор Vladimir Kurtukov. Переписано в FAQ, дабы не потерялось.

Hеобходимые программы: 1. dvdauthor, dvdunauthor - http://dvdauthor.sourceforge.net/

2. mplex mjpegtools не ниже 1.6.2 - http://mjpeg.sourceforge.net/

3. extract_mpeg2 libmpeg2 - http://libmpeg2.sourceforge.net/

4. extract_a52 liba52 - http://liba52.sourceforge.net/

5. tcprobe - http://www.transcoding.org/cgi-bin/transcode

6. M2VRequantizer - http://metakine.com/files/M2VRequantiser.tgz

7. growisofs, mkisofs

Сам процесс: 1. dvdunauthor-ом делаем с dvd проект. он его делает не совсем правильно и надо либо выкинуть vmgm и menus секции, либо как-то дописать недостающее. для компьютерных dvd можно выкинуть.

2. Надо посмотреть, что собой представляет vob.

        # tcprobe -i vob_01_001t.vob
        [tcprobe] MPEG program stream (PS)
        [tcprobe] summary for vob_01_001t.vob, (*) = not default, 0 = not detected
        import frame size: -g 720x576 [720x576]
             aspect ratio: 16:9 (*)
               frame rate: -f 25.000 [25.000] frc=3
                           PTS=0.2873, frame_time=40 ms, bitrate=9800 kbps
              audio track: -a 1 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
                           PTS=0.2873, bitrate=384 kbps
        detected (2) subtitle(s)

3. затем большой vob расчленяем на video и audio потоки

        extract_mpeg2 <vob_01_001t.vob >vob_01_001t.m2v
        extract_a52 -s 1 <vob_01_001t.vob >vob_01_001t.ac3

В ключик -s подставить номер нужной дорожки, см. -a в выводе tcprobe

Проверить, какая же именно дорожка нам нужна, можно задав mplayer-у ключик -aid 128+<номер нужной дорожки>

4. Берем софтину M2VRequantizer.

user@localhost~ $ ls -l vob_01_001t.m2v

        -rw-r--r--  1 root  wheel  1833868872 Mar  5 22:58 vob_01_001t.m2v

        # ./M2VReqiantizer 1.2 3 1833868872 <vob_01_001t.m2v >vob_01_001t-out.m2v
        M2VRequantiser by Makira.
        Using 1.200000 as factor, 1833868872 as m2v size.

factor - число, во сколько раз будет уменьшен размер файла

user@localhost~ $ ls -l vob_01_001t-out.m2v
        -rw-r--r--  1 root  wheel  1525283645 Mar  5 23:36 vob_01_001t-out.m2v

5. Собираем обратно vob.

user@localhost~ $ mplex -f 8 -o vob_01_001t.vob vob_01_001t-out.m2v vob_01_001t.ac3

где -f 8 - формат DVD

6. Остается запустить dvdauthor.

        # dvdauthor -o dvd -x dvdauthor.xml
        # dvdauthor -T -o dvd

и в каталоге dvd будет результат

7. Запись на болванку.

user@localhost~ $ growisofs -Z /dev/cd0c -speed=4 -dvd-video -V LABEL dvd

21.17 Как перекодировать DVD в mpeg4 (dvd2mpeg)?

Пришлось отдельно выносить этот вопрос, потому что предыдущий вопрос-ответ никто не читает.

Перекодировать ваш DVD в mpeg4 можно с помощью консольных утилит mencoder и transcode.

Посчитать битрейт можно с помощью калькулятора DivXcalc.

Кодирование в 2 прохода с двумя звуковыми дорожками на два cd можно сделать таким скриптом (в mpeg4):

#!/bin/bash

PH=/mnt/dos/dvd
READYPH=/mnt/dos/dvd/ready
BITRATE=1600
NICE=15
ENG=129
RUS=128
FPS=25
DATE="`date +%H%M%d`"

cp divx2pass.log "divx2pass-"$DATE".log"

cat $PH/*vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $RUS \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$RUS".avi"

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $ENG \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$ENG".avi"

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS \
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=640:360,pp=hb/vb/dr -sws 2 \
-nosound \
-o /dev/null

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS \
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=640:360,pp=hb/vb/dr -sws 2 \
-nosound \
-o $READYPH/final-f1.avi

rm -f $PH/*.vob

nice -n $NICE avimerge -i $READYPH/final-rc1.avi -p $READYPH/"sound-"$RUS".avi" -o $READYPH/final-rc2.avi
nice -n $NICE avimerge -i $READYPH/final-rc2.avi -p $READYPH/"sound-"$ENG".avi" -o $READYPH/final.avi

Для кодирования в три прохода понадобится mplayer версии не ниже 1.0pre7 и кодек lavc.

Или в этом скрипте можно поменять несколько строчек и кодировать в xvid:

меняем строчку с cp:

cp xvid-twopass.stats "xvid-twopass-"$DATE".stats"

и меняем строчки с кодированием видео

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -ni \
-ovc xvid -xvidencopts pass=1:vhq=1:qpel:trellis \
-nosound \
-vf crop=718:422:2:66,scale=640:356,pp=hb/vb/dr -sws 2 \
-o /dev/null

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -aid $RUS -ni \
-ovc xvid -xvidencopts bitrate=$BITRATE:pass=2:vhq=1:qpel:trellis \
-nosound \
-vf crop=718:422:2:66,scale=640:356,pp=hb/vb/dr -sws 2 \
-o $READYPH/final-rc1.avi

Если вы хотите оставить звук в ac3 (как он идет в dvd), то вместо строчек перекодирования в mp3 поставьте

-oac copy

21.18 Как работать с MiniDV видеокамерой?

Для начала нужно включить аппаратную поддержку.

Потом надо установить libiec61883, libraw1394 с сайта http://www.linux1394.org, а также CLI утилиту dvgrab, с помощью которой можно будет копировать raw dv видео с камеры.

Для работы с MiniDV камерой и несложного редактирования видео существует программа Kino, в состав которой входит набор плагинов и скриптов, например: dv->mpeg4, dv->dvd и т.д.

21.19 Как изображение с DV-пленки перенести на DVD?

Статья о том, как это делается в Alt Linux. Подойдет и для использования в других дистрибутивах.

http://rad.xtalk.msk.su/dv-dvd/index.html

21.20 В mplayer при быстрой смене кадров вылазят горизонтальные полосы. В xine их нет. Что делать?

Использовать параметр -double или прописать его в свой файл конфигурации double = 1


Next Previous Contents


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

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