XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Ty3uK

offline
Опыт: 2,469
Активность:
Скрипт пакетного конвертирования видео / аудио в Линуксе
Итак, заинтересовавшись линуксом, а именно - замечательной системой Ubuntu (Убунту) я, как любитель просрать время, решил найти возможность конвертировать видео в линуксе. Но сразу же я столкнулся с одной проблемой - основные конвертеры работают из консоли, а для обычного пользователя это темный лес))) Поэтому, изучив некоторые материалы в интернете, я наткнулся на очень интересную реализацию пакетного (и не только) конвертирования файлов с использованием программы ffmpeg (порт этой программы был сделан и на винду, он на винде очень много программ, которые имеют интуитивно понятый графический интерфейс и не заставят вас копаться в консольных командах) в менеджере Midnight Commander. Итак, ходя вокруг да около, я, наверное, уже вас замучил ^_^ Приступим к практике! :D

Итак, для начала, нам надо установить сам коммандер, для этого открывает терминал (Программы -> Стандартные -> Терминал или Ctrl + Alt + T) и пишем в нем УЖАСНУЮ команду: sudo apt-get install mc
Терминал потребует от нас пароль суперпользователя, а после спросит, действительно ли мы хотим установить эту программу. Отвечаем да. Далее, нам нужно установить сам ffmpeg и некоторые кодеки для него. Ниже я приведу цитату на стороннюю статью и ссылку на нее:
Код:
1. Установим программу subversion из Synaptic'а или командой (если конечно она у вас ещё не стоит):

sudo apt-get install subversion

Она необходима для получения программы ffmpeg через svn.

2. Далее заходим в любой каталог вашей домашней папки, например:

cd /home/user/Documents

3. Получаем программу в эту директорию:

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

4. Далее было бы неплохо скачать программу checkinstall (если конечно у вас её тоже нету):

sudo apt-get install checkinstall

5. Следующий шаг - установка кодеков (вы должны обязательно подключить репозитории "universe" и "multiverse", это можно сделать в "Источниках Приложений"):

sudo apt-get install libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libvorbis-dev libogg-dev libdirac-dev libopenjpeg-dev libschroedinger-dev libspeex-dev libgsm1-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libdc1394-22-dev

! Для 10.04 вместо пакета libxvidcore4-dev надо вписать libxvidcore-dev

Отдельный разговор на счёт кодека "x264", его придётся собрать вручную, так как при установке его из пакета - "ffmpeg" начинает ругаться на несовместимость, сделаем это так:

sudo apt-get install git git-core

Перейдите в любую директорию, например ту же "~/Documents" и далее введите:

git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo make install

6. Наконец-то соберем программу ffmpeg (не забудьте только перейти в каталог с "ffmpeg"):

sudo ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libdirac --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libgsm --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-version3

Если по какой-либо причине ffmpeg не хочет компилироваться с определённой опцией - просто стерите эту опцию, например: "--enable-libfaad".

7. Выполняем команду:

sudo make

8. Если на предыдущих этапах команда ./configure и make не выдавали ошибок, значит можно перейти к сборке программы:

sudo make install
ссылка на оригинал

Итак, мы установили ffmpeg и кодек x264, далее переходим к конфигурации менеждера mc (Midnight Commander):

Открываем терминал и пишем ужасное sudo gedit /etc/mc/mc.menu и смотрим ужасными квадратными глазами на все эти буковки. Все не так страшно! ^_^ Из приведенных мною ниже вставок копируем код (для англ и рус версии соответственный код) и вставляем его в любое место документа, главное не в конец и после любого слова done.
Код:
V       Пак. конв. видео
       set %t
       if [ "%d" = "%D" ]; then
           echo "Входная и выходная папки должны быть разными"
       exit 1
       fi
       format=%{Формат выходного файла (3gp, mp4, avi и т.д.)}
       vcodec=%{Видео кодек (mpeg4, libx264, libxvid и т.д..)}
       size=%{Размер изображения (320x240, 480x320, 640x480 и т.д.)}
       rate=%{Кадров в секунду (15, 24, 25, 30 и т.д.)}
       acodec=%{Аудио кодек (libfaac, ac3, libmp3lame и т.д.)}
       vbitrate=%{Битрейт видео (300k, 800k и т.д.)}
       abitrate=%{Битрейт аудио (64k, 96k, 128k и т.д.)}
       channels=%{Число аудио каналов (моно: 1, стерео: 2, 5.1: 6)}
       while [ -n "$1" ]; do
           ext=`basename "$1"`
           ext="${ext##*.}"
           newname=`basename "$1" .$ext`.$format
           ffmpeg -y -i %d/"$1" -f $format -vcodec $vcodec -s $size -r $rate -b $vbitrate -acodec $acodec -ac 1 -ar 44100 -ab $abitrate %D/"$newname"
       shift
       done

Код:
V       Batch video files conversion
       set %t
       if [ "%d" = "%D" ]; then
           echo "The two directories must be different."
       exit 1
       fi
       format=%{Force format (3gp, mp4, avi and etc.)}
       vcodec=%{Video codec (mpeg4, libx264, libxvid and etc.)}
       size=%{Frame size (320x240, 480x320, 640x480 and etc.)}
       rate=%{Frame rate (15, 24, 25, 30 and etc)}
       acodec=%{Audio codec (libfaac, ac3, libmp3lame and etc.)}
       vbitrate=%{Video bitrate (300k, 800k and etc)}
       abitrate=%{Audio bitrate (64k, 96k, 128k and etc)}
       channels=%{Number of audio channels (mono: 1, stereo: 2, 5.1: 6 and etc.)}
       while [ -n "$1" ]; do
           ext=`basename "$1"`
           ext="${ext##*.}"
           newname=`basename "$1" .$ext`.$format
           ffmpeg -y -i %d/"$1" -f $format -vcodec $vcodec -s $size -r $rate -b $vbitrate -acodec $acodec -ac 1 -ar 44100 -ab $abitrate %D/"$newname"
       shift
       done

Сохраняем документ и запускаем коммандер короткой командой mc. Идем в интересующую нас директорию, выбираем нужные нам файлы нажатием клавиши 0 на num-клавиатуре справа при выключенном Num Lock, нажимаем F2 и выбираем из списка Пакетное конвертирование видео (Batch video files conversion). Далее, следуя подсказакам скрипта, отвечаем на все вопросы и радуемся сконвертированному фалу (или файлам).
ОБЯЗАТЕЛЬНО НАДО ВЫДЕЛИТЬ ФАЙЛЫ, ДАЖЕ ЕСЛИ ОН ОДИН, В ПРОТИВНОМ СЛУЧАЕ ПУНКТ В МЕНЮ F2 НЕ ПОЯВИТСЯ!!!


Большое спасибо за внимание, надеюсь найдутся люди, которым эта статья поможет! Права на статью частично принадлежат мне, поэтому при копировании уажите ссылку на оригинал! Всего Вам хорошего и удачного конвертирования файлов!
Старый 07.09.2011, 17:19
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 00:57.