Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Видео и аудио: обработка и кодирование (http://forum.oszone.net/forumdisplay.php?f=45)
-   -   Использование четырёх ядер при кодировании (http://forum.oszone.net/showthread.php?t=130440)

Maikl7 30-01-2009 18:53 1024753

Использование четырёх ядер при кодировании
 
Имея четырёхъядерный процессор столкнулся с тем, что большинство кодеков не умеют использовать не то, что четыре ядра... даже два ядра не все используют. Выход мне подсказали в DivX есть галочка "Enchansed Multithreading", с помощью которой я достигаю скорости кодирования с Mpeg2 потока до 80 кадров в секунду, а с xVid - до 200 кадров в секунду. Но хотелось бы найти компиляции популярных кодеков, например xVid, которые могут использовать четыре ядра процессора. Посоветуйте пожалуйста, где найти такие кодеки?

DJ Mogarych 30-01-2009 21:45 1024884

Цитата:

Цитата Maikl7
в DivX есть галочка "Enchansed Multithreading", с помощью которой я достигаю скорости кодирования »

Цитата:

Цитата Maikl7
с xVid - до 200 кадров в секунду. »

Как это сочетается? Галочка ставится в DivX, а ускоряется ещё и XviD?

Вполне возможно, что подобные задачи, типа кодирования аудио и видео, распараллеливаются плохо или не распараллеливаются вообще. Во всяком случае, особенного прогресса в этом плане не видно, а многоядерным процессорам уже не один год. Так что за количеством ядер гнаться вряд ли следует...

Maikl7 30-01-2009 21:51 1024892

Прошу прощения, что непонятно выразился. Имеется ввиду скорость кодирования с xVid в DivX. При этом энкодером выступает DivX. И он единственный пока, кто смог задействовать все четыре ядра (это видно даже через диспетчер задач) при кодировании. Отсюда и потрясающие результаты...

DJ Mogarych 30-01-2009 22:01 1024902

Цитата:

Цитата Maikl7
кто смог задействовать все четыре ядра »

Все четыре ядра показывают 100% загрузки?

И — прошу прощения — каков смысл кодирования XviD в DivX?

Zetoke 30-01-2009 22:02 1024903

Цитата:

Цитата DJ Mogarych
И — прошу прощения — каков смысл кодирования XviD в DivX? »

встречал специфические плееры =) которые едят DivX, но не едят XviD.

Maikl7 30-01-2009 22:21 1024917

Цитата:

Цитата DJ Mogarych
100% »

Каждое из ядер показывает 100% нагрузки....

Смысла кодировать XviD в DivX мало... просто я удивился, что кодирование mpeg2 потока выполняется со скоростью 80fps, а xvid потока со скоростью 200fps.

dascon 30-01-2009 23:13 1024957

MPEG2->DivX - 80fps
Xvid->DivX - 200fps
для одного и того же материала (размер картинки/экрана, битрейт аудио и видео)?

Maikl7 31-01-2009 06:32 1025133

Ну в mpeg2 побольше битрейт, разрешение примерно одинаковое... Если бы разница была бы небольшая, я бы просто списал на погрешность...

DJ Mogarych 31-01-2009 10:20 1025177

Цитата:

Цитата Maikl7
удивился, что кодирование mpeg2 потока выполняется со скоростью 80fps, а xvid потока со скоростью 200fps. »

Возможно, что DivX настолько "поумнел", что не кодирует то, что и так соответствует его стандартам; он просто изменяет заголовок и просматривает весь файл. Это догадки, конечно, но почему бы и нет? Pinnacle Studio, например, при создании DVD тоже не кодирует материал, если он уже является стандартным MPEG-2.

brt 01-02-2009 21:53 1026619

Maikl7, Вот эта программа умеет работать с четырьмя ядрами -- TMPGEnc XPress 4.6!
А какой у тебя проц, как называется? Если не трудно, отпишись, как в действительности, эта программа грузит твой проц при кодировании видео, очень интересно ;) !Сам проверить не могу? сижу ещё на одном ядре ;( , но в бедующем тоже планирую взять 4 ядра!
Maikl7, Есть ещё такая хорошая программа - ConvertXtoDvd 3 не подскажешь она умеет грузить 4 ядра, а то пишут разное?

brt 12-02-2009 13:29 1036376

Какие программы для обработки видео умеют работать с 4 ядрами?
 
Наступает год 4 и более ядерных процессоров! В этом году я думаю, будет актуальней собирать комп на базе 4 или 3 ядерном процессоре для обработки видео, благо цены на них уже падают, и брать 2 ядерные уже нет смысла! Или я ошибаюсь?
Хватает ли мощности у современных процессоров для обработки HD видео?
Умеют ли современные программы полноценно использовать 4 ядра?
Например, такие как:
-Кодирование видео-
ConvertXtoDvd 3
Conopus procoder
MainConcept MPEG Encoder
TMPGEnc 4.0 XPress
Cinema Craft Encoder SP
и др.
-Видео редакторы-
Magix Movie Edit Pro 14
Sony Vegas Pro 8.0
Ulead Video Studio
Adobe Premiere
Pinnacle Studio
и др.
--------------------------

На пишите свои отзывы, кто юзает эти или другие программы для обработки видео:
-удаётся ли загрузить все 4 ядра и в какой программе?
-насколько % загружается у вас процессор?
-комфортно ли вам работать в редакторе с вашим процессором?
-сколько времени занимает кодирование видео и в какой программе (писать подробно)?
-на каком процессоре и в какой программе вы обрабатываете HD видео, комфортно ли вам на нём работать?
- и др.
Я думаю, всем будет интересно, как в реальных условиях ведут себя современные процессоры в программах для обработки видео!
И какую лучше выбрать программу для своего процессора!

DJ Mogarych 12-02-2009 13:59 1036395

brt, не надо плодить темы, посвящённые одному и тому же предмету. Объединил.

Sionnain 11-07-2009 18:53 1164916

Цитата:

Цитата DJ Mogarych
И — прошу прощения — каков смысл кодирования XviD в DivX? »

Xvid насколько знаю не на всех DVD-проигрывателях перематывается, то есть перейти к нужному моменту можно только по времени, если запомнил на каком моменте выключил, а если свет мигнул?

И опять же, если конвертировать родным конвертером DivX, то более высокое сжатие, можно задать, степень сжатия, битрейт звука и видео, а также конечный размер файла, естественно в ущерб качеству. А если у вас при воспроизведении записанный диск с Divx видео, немного царапанный, или загрязненный, то видеоизображение начинает естественно "сыпаться", но только уже не квадратиками на весь экран, а как-то мелкими помехами, что ли, больше похоже на аналоговый сигнал с наружней аннтены, но только с изумительным качеством.

Цитата:

Цитата Maikl7
Имея четырёхъядерный процессор столкнулся с тем, что большинство кодеков не умеют использовать не то, что четыре ядра... даже два ядра не все используют. »

Цитата:

Цитата brt
Наступает год 4 и более ядерных процессоров! В этом году я думаю, будет актуальней собирать комп на базе 4 или 3 ядерном процессоре для обработки видео, благо цены на них уже падают, и брать 2 ядерные уже нет смысла! Или я ошибаюсь?
Хватает ли мощности у современных процессоров для обработки HD видео?
Умеют ли современные программы полноценно использовать 4 ядра? »

Мой четырехядерный на все ядра грузится на 80% при конвертации.

А диспетчер задач вызывали, там если на вкладке "Процессы" найти вашу программу конвертации (кодек) и правой кнопкой выбрать "Задать соответствие..." и там уже на всех ядрах поставить галочки. Насколько я заметил, если программа не поддерживает четыре ядра, то галочки будут частично сняты (правда у меня такое бывало на двухядерном Athlon, программа конвертации не поддерживала два ядра), а если все галочки все стоят и ядра не все одинаково грузятся, значит так и надо, процессору видней. 2 Maikl7: Я не знаю, что у вас за процессор, но Phenom в этом плане очень гибкий, и конфликтов пока не встречал.

Цитата:

Цитата brt
Наступает год 4 и более ядерных процессоров! В этом году я думаю, будет актуальней собирать комп на базе 4 или 3 ядерном процессоре для обработки видео, благо цены на них уже падают, и брать 2 ядерные уже нет смысла! Или я ошибаюсь?
Хватает ли мощности у современных процессоров для обработки HD видео?
Умеют ли современные программы полноценно использовать 4 ядра?
Например, такие как:
-Кодирование видео-
ConvertXtoDvd 3
Conopus procoder
MainConcept MPEG Encoder
TMPGEnc 4.0 XPress
Cinema Craft Encoder SP
и др.
-Видео редакторы-
Magix Movie Edit Pro 14
Sony Vegas Pro 8.0
Ulead Video Studio
Adobe Premiere
Pinnacle Studio
и др. »

Nero 7.9.6, Nero 8, Ulead VideoStudio v10.0, VitualDub, DivX 6.2.5 (родной конвертер), DivX 6.4.0 (тоже), Color7 Video Studio v7.0 - все кроме Дуба - старые до эпохи четырехядерных процессоров сделаны.

DJ Mogarych 16-07-2009 11:19 1169209

Цитата:

Цитата Sionnain
если конвертировать родным конвертером DivX, то более высокое сжатие, можно задать, степень сжатия, битрейт звука и видео, а также конечный размер файла, естественно в ущерб качеству. »

Всё это делается и в XviD. Для проигрывателя всё равно, DivX или XviD. Плеер читает стандарт MPEG-4, а какая реализация там ему скормлена — ему всё равно, лишь бы совпадало со стандартом.

Sionnain 16-07-2009 12:06 1169249

Цитата:

Цитата DJ Mogarych
Всё это делается и в XviD. Для проигрывателя всё равно, DivX или XviD. »

У моего DVD неполная поддержка XviD:

Цитата:

Цитата Sionnain
Xvid насколько знаю не на всех DVD-проигрывателях перематывается, то есть перейти к нужному моменту можно только по времени, если запомнил на каком моменте выключил, а если свет мигнул? »


DJ Mogarych 16-07-2009 12:22 1169268

Скажу ещё раз: плеер поддерживает не конкретный кодек, а стандарт. И воспроизводит то, что соответствует стандарту. В конце концов можно XviD пометить как DivX с помощью настройки fourcc. Насчёт перемотки могу сказать, что вполне возможна зависимость от настроек того или иного кодека. Например, можно предположить, что перемотка зависит от включения или выключения b-frames; если момент останова попадает на такой кадр, то плеер не может переместиться в то же место, и наоборот. B-frames можно включить и в дивыксе, и в иксвиде. Может играть роль и какая-нибудь другая настройка, свойственная обоим кодекам.
Иными словами, я почти уверен, что дело в настройках конкретного кодека для конкретного фильма, и как один, так и другой кодек можно настроить для отображения соответствующих искажений и для невозможности запоминания места остановки воспроизведения.

Sionnain 16-07-2009 12:39 1169300

В любом случае DivX как то мне ближе:

Цитата:

Цитата Sionnain
А если у вас при воспроизведении записанный диск с Divx видео, немного царапанный, или загрязненный, то видеоизображение начинает естественно "сыпаться", но только уже не квадратиками на весь экран, а как-то мелкими помехами, что ли, больше похоже на аналоговый сигнал с наружней аннтены, но только с изумительным качеством. »


DJ Mogarych 16-07-2009 13:04 1169331

Дело вкуса, а спорить о вкусах — дело неблагодарное и совершенно бесполезное.

Nun-Nun 23-07-2009 15:17 1175622

Интересная тема! А на серваке с двумя четырёхядерными Xeon-ами какие проги будут все ядра использовать? Что до "любимого" VirtualDubMOD-а, так он их явно не использует. Одно могу сказать точно, что когда MKV с помощью XviD4PSP перегоняю в AVI (XviD), то в трее появляется целая россыпь иконок от ffdshow. Это оно?

DJ Mogarych 23-07-2009 15:50 1175663

VirtualDubMod — это оболочка. А ядра задействуют кодеки и фильтры. Например, x264 умеет задействовать многоядерные процессоры, так что даже в VirtualDubMod при кодировании в этот формат должны быть загружены все ядра.

Чтобы посмотреть, как загружены ядра: Диспетчер задач --> Быстродействие --> Хронология загрузки ЦП.

Nun-Nun 23-07-2009 16:28 1175695

DJ Mogarych ,
Цитата:

Чтобы посмотреть, как загружены ядра: Диспетчер задач --> Быстродействие --> Хронология загрузки ЦП.
Это я уже смотрел. Галочки проставлены у всех 8 ядер, но значков ffdshow только 7, :( да и fps как-то не радует всего лишь от 20 до 50.
А вот на энкодинге звука fps подскочил и колеблется от 130 до 200 !!!

Maikl7 23-07-2009 16:29 1175696

Мультиядерность спользуют не оболочки, а кодеки. Правильно говорит DJ Mogarych. Но вот для себя я выяснил, что максимально полно использует мультиядерность только кодек DivX. Если поставить в его настройках галочку "Enchanced Multithreading". X264 и Xvid могут максимум использовать 1,5 - 2 ядра :( Надеюсь, что когда-нибудь это поправят. Всё-таки Xvid более либеральный энкодер, чем DivX. Если я урезаю поля и меняю разрешение исходной картинки, то DivX при кодировании такого потока вылетает с ошибкой. В отличие от Xvid, который без проблем всё это переваривает... но медленно :(
В этом плане мне понравилась родная софтина от nVidia под названием "Badaboom". Она позволяет переложить всю нагрузку при кодировании на видеокарту (в моём случае это 8800GTS) и скорость кодирования довольно приличная. Но есть один косяк - не поддерживает большинство кодеков популярных :( Ни DivX ни Xvid ни x264 :(
Может быть nVidia всё-таки расширит функционал этой проги....

Nun-Nun 23-07-2009 16:39 1175703

Maikl7,
Цитата:

Мультиядерность спользуют не оболочки, а кодеки.
Ну так я об этом и говорю, что VirtualDubMOD их не использует!

Den47 23-07-2009 19:02 1175855

x264 лучше кодировать в программе MeGui. Там работает консольная версия кодера x264 и она должна хорошо использовать ядра. А кодировать x264 в VirtualDub не очень правильно. Во первый vfw x264 отстает в развитии, во вторых контейнер AVI с ним не очень совместим и не позволяет раскрыть все его возможности.

Maikl7 23-07-2009 19:14 1175864

Цитата:

x264 лучше кодировать в программе MeGui. Там работает консольная версия кодера x264 и она должна хорошо использовать ядра. А кодировать x264 в VirtualDub не очень правильно. Во первый vfw x264 отстает в развитии, во вторых контейнер AVI с ним не очень совместим и не позволяет раскрыть все его возможности.
Я не поленюсь поставить эксперимент. Я скачаю данную программу и запущу кодирование. ТОлько подскажи какие консольные команды прописать для двухпроходного кодирования с битрейтом в 1200.

Den47 23-07-2009 19:35 1175884

Там достаточно выбрать пресет и указать битрейт. MeGui это оболочка над консольным кодировщиком. В ней можно конвертировать и в AVI Xvid, используя mencoder, который тоже имеет настройку количества ядер.
MeGui скачать можно здесь http://sourceforge.net/projects/megui/
Он потом подгрузит обновленные кодеки из интернета сам.
Но в системе должен быть установлен Net Framework

Потом видео открываем так:
File-open-тип файлов all supported-открываем файл
настриваем фильтры, если нужно и нажимаем save
выбираем file format-avi или mkv
video output- куда сохраняется файл. Если на входе AVI и на выходе тоже хотим его получить, надо изменить имя файла, чтобы они не совпадали.
encoder settings-выбираем кодек-config threads число ядер. значение 0 запустит автоопределение.
нажимаем enqueue, переходим на закладку queue и нажимаем start

Maikl7 24-07-2009 19:12 1176826

Опробовал meGUI и результат меня впечатлил. Но для полноты картины надо сравнить с показаниями VirtualDub. Скачал самый свежий билд 1.8.8.
Все настройки x264 оставил по умолчанию, кроме битрейта в 1200.
http://img-samara.fotki.yandex.ru/ge..._13c39c02_orig
http://img-samara.fotki.yandex.ru/ge...a_75b7d40_orig
http://img-samara.fotki.yandex.ru/ge..._7def78b2_orig
Но когда запускаю кодирование первого прохода - вываливается следующаяя ошибка:
http://img-samara.fotki.yandex.ru/ge..._7c8d625e_orig

Подскажите пожалуйста, как преодолеть сиё препятствие.

Den47 24-07-2009 19:19 1176831

У меня такое было с Divx кодеком из-за того, что я работал под учетной записью с русским именем. Видимо с путями что-то. Ну и попробуйте нажать кнопочку load defaults.
А сколько ядер на тестируемой машине и на сколько процентов каждое из них загружал MeGui в x264?
Еще очень бы хотелось узнать при кодировании в AVI Xvid в MeGui как загружаются ядра?

DJ Mogarych 24-07-2009 19:25 1176838

Maikl7, судя по логу ошибки, проблема во вкладке Rate control & other. Попробуйте убрать галку с use command line.

Maikl7 24-07-2009 20:26 1176890

Спасибо DJ Mogarych - помогло!
Теперь подведём итоги. meGUI меня серьёзно впечатил :)
Вот это результат кодирования meGUI в mkv x264
http://img-samara.fotki.yandex.ru/ge..._2b71d09c_orig
Вот это результат кодирования meGUI в avi xvid (с выставленным параметром Threads:4)
http://img-samara.fotki.yandex.ru/ge...e_490ec59_orig
Вот это результат кодирования VirtualDub 1.8.8 в avi с кодеком x264
http://img-samara.fotki.yandex.ru/ge..._953419b2_orig

Хотел продемонстрировать торжество современных технологий, скачал новейший экспериментальный VirtualDub 1.9.3 с поддержкой кодирования через видеокарту, но не увидел увеличения производительности от включения 3D акселерации :( Отписал по этому поводу разработчикам VirtualDub... Может я не с теми кодеками использую...

Моя машина Core2Quad Q6600 2,4Ghz/2Gb DDR2-1066/MB Gigabyte P35-DS4/GeForce 8800GTS 512Mb.

Den47 24-07-2009 20:37 1176900

Maikl7, ну может настройки в x264 для VirtualDub были другими, вот и скорость меньше. А еще, если не применялись фильтры в VirtualDub, то включение в нем Video-Fast recompress, вместо Full processing должно увеличить скорость. Чтобы не было лишнего преобразования YV12-RGB32-YV12

Maikl7 24-07-2009 21:33 1176949

Цитата:

ну может настройки в x264 для VirtualDub были другими, вот и скорость меньше.
Я могу вывесить настройки x264 в VirtualDub и в meGUI, чтобы мы сравнили.
Цитата:

А еще, если не применялись фильтры в VirtualDub, то включение в нем Video-Fast recompress, вместо Full processing должно увеличить скорость. Чтобы не было лишнего преобразования YV12-RGB32-YV12
Кстати, всегда хотел спросить, что это за режимы Fast Recompress, Normal Recompress, Full Processing Mode ? Чем они отличаются? А то я всю жизнь работал с Full Processing Mode...

Den47 24-07-2009 22:13 1176982

Цитата:

Цитата Maikl7
Кстати, всегда хотел спросить, что это за режимы Fast Recompress, Normal Recompress, Full Processing Mode ? Чем они отличаются? А то я всю жизнь работал с Full Processing Mode... »

http://virtualdub.msk.ru/4.shtml
упрощенно:
Fast Recompress не производится преобразование цветового формата
Normal Recompress по умолчанию преобразование не производится, но можно выбрать на выходе другой цветовой формат
Full Processing Mode цветовой формат преобразуется в RGB32 (самый тяжеловесный), т.к. фильтры в дабе работают только в нем. Однако, если фильтры не используются последние версии даба преобразование не делают. Тогда режим аналогичен Normal Recompress


Время: 06:07.

Время: 06:07.
© OSzone.net 2001-