Автор Тема: Mencoder , ffmpeg - ограничаване  (Прочетена 3468 пъти)

sharo

  • Участници
  • ***
  • Публикации: 5
    • Профил
Mencoder , ffmpeg - ограничаване
« -: Mar 27, 2008, 22:33 »
Здравейте,
искам да попитам следното:
Смятам да стартирам уеб сайт на който могат да се качват видео клипчета. Сайта, ще бъде написан изцяло на php. За целта започнах тестове на система с: Intel Core 2 Duo E8200 @ 2.66GHz с Дебиан ; 2.6.18-6-amd64 ; и 4ГБ рам. Видео клипчетата ще се конвертират чрез mencoder. По време на тестването забелязах, че в процеса на конверирането, mencoder използва 100% от еднотo ядро на процесора като през това време сайта неможе да работи нормално (зарежда бавно и т.н.).
Пуснах изпълнението на mencoder чрез "nice -n 10 /usr/bin/mencoder" за да се изпълнява процеса с по-нисък приоритет, при което започна да се натоварва и второто ядро, но по време на конвертирането сайта оново зареждаше ексремно бавно.

Това което искам да попитам е, дали има начин и ако има какъв, да огранича mencoder да използва по-малко ресурси (CPU), дори това да ми коства повече време за конвертиране.
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Mencoder , ffmpeg - ограничаване
« Отговор #1 -: Mar 27, 2008, 23:22 »
Леко встрани от темата и все пак... Наскоро ми се наложи да пиша едно решение за качване и конвертиране на клипчета към flv формат и го изпълних с ffmpeg. Процесът на конвертиране наистина заема всички свободни ресурси, но заема само всички свободни ресурси. Т.е., когато някой друг процес поиска ресурси от процесора, ffmpeg-а му ги отстъпва. Не съм правил сравнение между натоварености между ffmpeg и mencoder, а не съм правил и нищо на самата машина, за да се заемат по-малко ресурси докато се извършва конверта, но при мен работи добре. Ето ти пакета, ако искаш да го пробваш. Да знаеш, че не съм изчистил проблема, когато има интервали в имената на файловете, защото задачата не го изискваше и не ми се занимаваше с излишни неща (то и затова не съм го публикувал никъде, освен там, където се използва), така че ако го пробваш, пробвай с файлове без интервали в имената. Иначе странно защо mencoder -а ти глътва така системата, дори и при зададен nice level, но ще се поразровя по въпроса и ако открия нещо, ще ти кажа '<img'>
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

sharo

  • Участници
  • ***
  • Публикации: 5
    • Профил
Mencoder , ffmpeg - ограничаване
« Отговор #2 -: Mar 28, 2008, 09:42 »
Здравей neter,
благодаря за файла който си предоставил. Веднага след като се прибера у дома ще го тествам на системата и ще проверя дали и с ffmpeg ползвайки твоите файлове ще имам същият проблем.
И все пак, ако се намери някой който да има решение на проблема ми, нека пише.

Благодаря предварително,
Милен
Активен

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Mencoder , ffmpeg - ограничаване
« Отговор #3 -: Mar 28, 2008, 10:14 »
Отговора е прост и се нарича MMX, SSE и т.н.

В когато Интел (да се свети името и) въведоха ММХ искаха да направят обратна съвместимост с съществуващите процесори. И вместо да направят нови регистри взеха че използваха регистрите на копроцесора (FPU). Но още тогава процеса на превключване между MMX и FPU беше бавен. В среда с много процеси където трябва да се превключва процесора между различни процеси (един с MMX, друг с FPU и т.н.) това ще използва много време. Отделно доста MMX/SSE инструкции използват много процесорно време и едва на следващата инструкция може да се превключи процесора към друг процес.

НАЙ-доброто решение е да намериш вариянт да пуснеш конверсията само на второто ядро докато сайта и PHP-то и MySQL-a да се клатят на първото. Това при сайт с един компютър.

Втори вариант - правиш distributed система. Сайта си е сайт, но конверторите ще бъде поне един компютър. По някакъв начин конвертора ще се свързва със сайта (XML-RPC или друг) и сайта ще му подава файлове за преработка. След преработката конвертора връща файла към сайта и гледа има ли друг в опашката за конверсия. Ако можеш да свържеш така 2-3 машини за конверсия ще е перфектно и ще намали драстично натоварването на сървъра.
Активен

mobilio - професионални мобилни приложения

sharo

  • Участници
  • ***
  • Публикации: 5
    • Профил
Mencoder , ffmpeg - ограничаване
« Отговор #4 -: Mar 28, 2008, 10:49 »
n00b,
пробвах твоята идея и чрез taskset пуснах конвертирането да се извършва само на 2рото ядро, с нисък приоритет. Ядрото, отново се натоварва на 100%, но най-важното е, че всичко останало си върви абсолютно нормално, апачето и дб-то си работят както трябва по време на конвертирането. Така, че за момента това все пак е някакво решение на проблема ми.
Искрено благодаря за идеята ти!

Поздрави,
Милен



Активен

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Mencoder , ffmpeg - ограничаване
« Отговор #5 -: Mar 28, 2008, 10:58 »
В момента разработвам подобна система. Не е с Флаш видеота и т.н. но има замесени няколко машини с Виндовс на които работи много специфична програма която трябва да се разработи уеб интерфейс.

Първата идея беше - Виндовс навсякъде. ГРУБА грешка.
Втората - Линукс, а Виндовс-а ще го виртуализираме. Нова грешка защото машината става неизползваема.
Трета - в момента която съм ти обяснил разпръскваме работата и с XML-RPC се прехвърлят данни наляво-надясно. Линукс е контролера - Виндовс клиентите. Мисля че е най-доброто решение в момента.
Активен

mobilio - професионални мобилни приложения

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Mencoder въпрос
Настройка на програми
D_meter 7 3550 Последна публикация May 05, 2005, 16:27
от D_meter
mencoder няма звук със 2.6.15
Настройка на програми
exabyte 0 1565 Последна публикация Jan 13, 2006, 18:28
от exabyte
Инсталиране на ffmpeg в ubuntu
Настройка на програми
Slevin_ 17 6522 Последна публикация May 29, 2009, 08:56
от dnsman
Mencoder и субтитривмъкване на субтитрите
Настройка на програми
kid 2 1903 Последна публикация Nov 24, 2006, 09:46
от kid
Ffmpeg -vhook watermark.so
Настройка на програми
nypd 12 4465 Последна публикация Jul 25, 2007, 20:44
от nypd