Конвертация видеофайлов

Довольно часто на просторах интернета попадаются ролики в форматах mov, wma, flv и прочих. Я, как и многие пингвиноводы, несколько недолюбливаю проприетарные форматы. Соответственно, будем бороться. Для конвертации подобных роликов удобно использовать утилиту fmpeg2theora (имеется в стандартных репозиториях).

Устанавливаем её
sudo aptitude install fmpeg2theora
и натравливаем на файл
ffmpeg2theora /home/user/video.flv
Если запустить ffmpeg2theora без опций, то на выходе получим файл вида video.ogg среднего качества обработки, с тем количеством аудиоканалов, разрешением, пропорциями и прочим, упакованный в контейнер ogg с видео oggtheora и аудио oggvorbis в той же директории, где находился исходный файл. Однако меня не устроило расширение выходного файла в виде .ogg - немного дезориентирует. Да и настраивать ассоциации программ было лень.
Более логично указать ffmpeg2theora выдавать файл с расширением .ogm (тот же .ogg, вид сбоку), на который мои система и мозги реагируют как на видеофайл. Для этого использутся опция -o, позволяющая указать куда "покласть" и как назвать выходной файл:
ffmpeg2theora -o /home/user/out-video.ogm /home/user/in-video.flv
В приведённом примере из исходного файла in-video.flv будет получен ролик out-video.ogm.
Внимание! Желаемое название и местоположение конечного файла указывается после опции -o и перед путём к исходному.
В принципе, для конвертации роликов вроде flv этого достаточно, причём на выходе получается файл меньшего размера. Если же в наличии имеется что-то вроде wmv приличного качества, то стоит поиграться со следующими опциями:
-v [от 0 до 10] - коэффициент качества видео, по умолчанию 5;
-V [от 1 до 16778] - битрейт видео в kb/s;
-- optimize - оптимизация (сюрприз!). По умолчанию не используется (я тоже не использовал ни разу);
-a [от -2 до 10] - коэффициент качества аудио, по умолчанию 1;
-A [от 32 до 500] - битрейт аудио в kb/s.

Более подробно - man ffmpeg2theora.

Комментарии (22)

0
Гость - 13 Август, 2008 - 09:26

Тоже самое но через ГУЙ есть в репах, называется OggConvert

0
snakedo - 15 Август, 2008 - 03:13

Не знал, гляну.
Хотя, консоль таки универсальнее.
Кстати, надо бы уточнить - опцию -о я использую исключительно для собственного удобства (указываю "расширение" ogm, фактически же файл пакуется в контейнер ogg)

0
Гость - 16 Август, 2008 - 10:50

еще есть WinFF, умеет много форматов =)

0
snakedo - 18 Август, 2008 - 17:05

winff... В стандартных репах нет такого. Хотел бы пошшупать - подскажите репозиторий?
Есть предположение, что это пакет (простите, программа) под вынь, использующий тот же ffmpeg... Речь же шла о конвертации файлов под линем, в свободный формат. Фактически, это просто один из множества способов конвертации, можно использовать и другие способы и форматы (ffmpeg, например, или гуёвый avidemux).

0
Soi-Fong - 18 Август, 2008 - 19:37
Изображение пользователя Soi-Fong.

winff - это кроссплатформенный гуй для ffmpeg, у него есть плюс, которого очень не хватает у других - это пакетное конвертирование.

0
snakedo - 19 Август, 2008 - 02:25

Ага, уже нашёл - это действительно просто шкурка к ffmpeg. Сайт - www.winff.org
Скачаю, посмотрю удобство гуя, отпишусь.

0
ASGAlex - 31 Август, 2008 - 22:04
Изображение пользователя ASGAlex.

ffmpeg, блин, разный бывает. Под гентой был самый полный, в *бунте он порядком кастрирован... Так что перешел я на avidemux.
А вообще вроде как это проблема не острая, хвала Аллаху, линь практически всё играет, в отличии от выня.

0
picaro - 1 Сентябрь, 2008 - 13:56
Изображение пользователя picaro.

В генте ты его поди со всеми юсами собирал, а тут...
На одном форуме было написано, что для функционала его надо ручками собирать. У меня получилось.

0
ASGAlex - 2 Сентябрь, 2008 - 17:09
Изображение пользователя ASGAlex.

С дефолтными. На удивление, в генте оказалось включено больше.

0
Гость - 4 Сентябрь, 2008 - 20:47

ffmpeg лучше всего из svn собирать. Доказано Занусси. Так ты хоть видишь что у тебя поддерживается, а что нет(и какие либы добрать), еще на этапе .configure...

0
Demimurych - 17 Сентябрь, 2008 - 18:42

С чем собрано видно и так. сматри ман ffmpeg
из свн у вас никогда не будет например amr.

0
snakedo - 7 Сентябрь, 2008 - 11:47

Есть один нюанс - ffmpeg2theora - ставиться сам по себе, один, ничего за собой не тянет.
У меня две машинки - ноут и стационар. Так вот, на втором стоит убунта - бо частенько работаю с avidemux, inkscape, gimp, прочими GTK-шными приложениями, и в основном не я. Самое забавное, что девушка моя, оценив GNOME, после активного юзания моего ноута с кубунту, заявила буквально следующее - "почти как винда" про гнома... Подумав, я с ней согласился. Тот же набор приложений, что у стоящей в дуалбуте винде, то же отсутствие нтегрированности (в отличие от кед - именно набор мало связанных друг с другом программ), прочее.
А вот на ноуте мне ненужные кучи пакетов не нужны. Фактически, активно юзаются интернет- и мультимедиа-приложения, и тут связка konqueror+kontact+kopete+krusader+kdewebdev РУЛИТ не по-детски. Из GTK-шных - едва ли не один огнелис, на всякий. А один маленький пакетик, позволяющий на лету конвертнуть корявый выньдовз медиа видяо+аудяо или flv в удобоваримый иногда нужон.
Фу, чего-то расписался...

0
Z - 18 Сентябрь, 2008 - 23:23
Изображение пользователя Z.

Один вопрос. Какая разница между -v и -V, а также -a -A? Ведь битрейт определяет качество...

0
snakedo - 19 Сентябрь, 2008 - 03:24

Разница? Допустим, есть фильма, зажатая divx5, с качественной картинкой. Есть возможность поиграться с выходным качеством - дать, к примеру, битрейт как в оригинале или подогнать под желаемый "стандарт". То же касается и звука. В общем, учтены все пожелания, ибо это в том числе свобода выбора.

0
Z - 20 Сентябрь, 2008 - 14:08
Изображение пользователя Z.

То есть это независимые параметры? Можно так, а можно этак?

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

0
snakedo - 20 Сентябрь, 2008 - 14:30

Полагаю, man ffmpeg2theora более информативно, чем форум.

0
Гость - 22 Сентябрь, 2008 - 23:17

Для примитивненькой обработки сойдет.
Однако ,возможно захочется подойти к вопросу более
пофессионально. Тогда ставим из репов avidemux ,и работаем серьезно.
Можно скмпилировать самому, на сайте более свежая версия.
XviD, x264, mpeg1/2, flv ...,crop scale denoise...
mp3,ogg,mp2,ac3,aac ... - дохрена в общем.
Программа мощнейшая, думаю и в мастдае такую трудно найти, хотя
есть и для нее (сделали и для винды, и для мака кстати).
Для любителей консоли - mencoder, но скажу сразу, не функциональней он
в плане обработки и кодирования.

0
snakedo - 23 Сентябрь, 2008 - 16:09

Да, avidemux - весчь. Пробовал OGMRip - тоже неплохая штука, однако только для DVD.
Лично у меня в avidemux иногда бывают проблемы с некоторыми файлами - то зелёный цвет один, то исчо что. Да и влом иногда мелкий файло с ютуба, например, в нём ковырять.

0
Arago - 13 Декабрь, 2008 - 01:44
Изображение пользователя Arago.

Приветствую, знатоки!
Как можно сконвертить для плеера видео (аниме) 16х9 с сабами перемещая видео на экране вверх а под ним на чёрном поле размещая сабы? Под виндой я юзал скрипт с ависинтом и менкодером:
@echo off
cd /d "%~dp0"
if not exist ..\Recoded (md Recoded & set r="Recoded") else set r="..\Recoded"
for %%v in (*.avi) do call :dowork "%%v"
pause
goto :EOF
:dowork
title "%~n1.avi"
set BITRATE=400
if exist "%~dpn1.srt" set SUB="%~dpn1.srt"
if exist "%~dpn1.ssa" set SUB="%~dpn1.ssa"
if exist "%~dpn1.ass" set SUB="%~dpn1.ass"
if exist "%~dpn1.smi" set SUB="%~dpn1.smi"
if exist "%~dpn1.sub" set SUB="%~dpn1.sub"
chcp 1251>nul
echo clip=directshowsource ("%~f1")>"%~dpn1.avs"
echo h=(Height (clip)*320/(Width (clip))%%2==1) ? Height (clip)*320/(Width (clip))+1 : Height (clip)*320/(Width (clip))>>"%~dpn1.avs"
echo borderbottom=240-h>>"%~dpn1.avs"
echo lanczos4resize (clip, 320, h)>>"%~dpn1.avs"
echo AddBorders (0, 0, 0, borderbottom, 0)>>"%~dpn1.avs"
chcp 866>nul
title "%~n1.avi" Pass1
C:\Programs\Multimedia\Hardsub\mencoder.exe "%~dpn1.avs" -subfont-text-scale 3 -subcp "cp1251" -font "C:\Programs\Multimedia\PocketDivXEncoder\tahoma.ttf" -sub %SUB% -noodml -nosound -vf pp=ac,scale=320:240,crop=320:240,dsize=-1,harddup -sws 9 -ovc xvid -xvidencopts vhq=4:max_bframes=0:bitrate=%BITRATE%:pass=1 -ffourcc XVID -o "%~dpn1_PocketPC.avi"
title "%~n1.avi" Pass2
C:\Programs\Multimedia\Hardsub\mencoder.exe "%~dpn1.avs" -af volnorm -srate 44100 -oac mp3lame -lameopts mode=0:cbr:br=128 -subfont-text-scale 3 -subcp "cp1251" -font "C:\Programs\Multimedia\PocketDivXEncoder\tahoma.ttf" -sub %SUB% -noodml -vf pp=ac,scale=320:240,crop=320:240,dsize=-1,harddup -sws 9 -ovc xvid -xvidencopts vhq=4:max_bframes=0:bitrate=%BITRATE%:pass=2 -ffourcc XVID -o "%~dpn1_PocketPC.avi"
move "%~dpn1_PocketPC.avi" %r%
del "%~dpn1.avs"
move "%~dpn1_PocketPC.avi" %r%
echo 

Но под линукс ависинта нет((
Пытался поднять под вайном JetAudio и конвертить в нем (родная для плеера прога), но при попытке конвертить вылазит ошибка инициализации фильтров directshow((
Повторюсь, надо не просто сконвертить а ещё и малость поправить видео в процессе. Помогите плз новичку))

0
snakedo - 18 Декабрь, 2008 - 11:08

Я боюсь удивить Вас, но mencoder - это никсовая утилитка, да... Юзайте её в kubuntu, кто Вам мешает?

0
Arago - 21 Декабрь, 2008 - 09:56
Изображение пользователя Arago.

Я в курсе. Но дело не в кодере.

Повторюсь, надо не просто сконвертить а ещё и малость поправить видео в процессе.

0
UncleV - 31 Декабрь, 2008 - 15:40
Изображение пользователя UncleV.

Первой ссылкой по запросу avisynth linux Google мне вывалил Avisynth 3.0 - frameserver for Windows and Linux.
Честно говоря я полагал, что нет ависинта под Линукс. А ему уже несколько лет!
А directshow придётся, наверно, чем-то заменять. Пока что не разбирался - не знаю.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры