Quantcast
Channel: Всички форуми
Viewing all articles
Browse latest Browse all 5785

Ръководство: записване на видео от игри с помощта хардуерно ускорение

$
0
0

Записване на видео от игри с помощта хардуерно ускорение

 
В тази тема ще си поговорим за нещо, за което обикновено не се говори много из нашия форум - игри, и по-конкретно за видео запис на игри. Считам, че е добра идея да се разнообрази обстановката с нещо малко по-забавно, а понеже никой не ме пита, аз ще направя първата крачка и ще заговоря за това. 'Щот съм пич!

Важно уточнение: в текущата тема става въпрос за съвременния запис на игри - с хардуерно ускорение, т.е. за онези от вас, които разполагат с хардуер, който може да извърши компресирането в H.264 видео формата:
- някои от съвременните процесори на AMD от поколението;
- процесор „Intel Core i“ (+ още някои);
- видео карта на AMD от сериите 77xx нагоре и следващите поколения;
- видео карта на NVIDIA от сериите 600, 700 или 800 (при лаптопите).


Ако възнамерявате да използвате вашия хардуер за запис на игри или ускорено видео конвертиране, силно ви препоръчвам да прочетете информацията, която съм поместил по-долу. Това важи с още по-голяма сила, ако все още нямате нужния хардуер, но планирате ъпгрейд/нов компютър и записът на игри/ускореното видео конвертиране ви интересува. Знам, че информацията може да е малко суха на моменти, но може да ви е от голяма полза.

Какво е това хардуерно ускорение и как мога се уверя, че се поддържа при мен?

Когато говорим за хардуерно ускорение при запис от игри всъщност говорим за хардуерно ускорение при компресирането на видео потока, защото точно това е най-трудната част от записа на игри. Колкото по-висока е разделителната способност, толкова по-голям е и обемът на видео потока, който трябва да се компресира. По принцип компресирането се извършва от процесора, да обаче по време на игра той и доста други задължения и не може да отделя много от своето ценно време да се занимава с кодиране на видео поток. Затова повечето кодеци, които се използват за тази цел са такива без загуби (lossless), които са проектирани да са леки и бързи. За жалост обаче тази скорост и лекота се заплаща с доста голям размер на крайните файлове. Стандартният видео формат за добра компресия в днешно време е H.264 (още известен като AVC). Той се използва в 99% от всичките MP4 и MKV файлове, които се свалят от торент тракерите, както и от всички сайтове за видео клипове, които използват Adobe Flash платформата. Въпросният формат може да предложи отлични компресия и качество при правилни настройки. За сметка на това обаче е доста сложен и компресирането в него изисква доста изчисления, което го прави доста неподходящ за компресиране в реално време (докато се играе дадената игра), освен ако процесорът не е наистина много бърз, за да насмогне.
На помощ идва хардуерното ускорение, при което видео компресията се поема от специализиран компонент, който е проектиран за точно тази цел - да компресира видео в H.264. По този начин отпада около 97-98% от товара, което значи, че ще можете да записвате директно в H.264 (и да получите значително по-малки файлове), без да има спад в кадрите в секунда по време на игра (или ако има, той да е минимален).
Трите големи компании на пазара за процесори и графични чипове/карти имат свои такива технологии.
Решението на Intel се нарича Quick Sync Video (още известна само като Quick Sync), което ще съкращвам понякога на Intel QSV или само QSV. Този хардуерен енкодер се намира във всички съвременни процесори от Core семейството, както и някои конкретни модели на Pentium и Celeron семействата.
Алтернативата от страна на AMD се нарича Video Coding Engine (която ще съкращвам понякога на AMD VCE). Тази екстра се намира във всички графични чипове, базирани на Graphics Core Next (GCN) архитектурата. От серията 7000 това са моделите 7700, 7800 и 7900 (и техните разновидност), както и цялото следващо поколение карти — Rx 200.
NVIDIA също вземат участие в купона. Техният енкодер носи името NVENC и присъства във всички графични чипове, базирани на ядрата Kepler и Maxwell. От серията 600 това са: някои 630, 640, 650, 660, 670, 680 и 690, както и абсолютно всички от серия 700.
Разбира се, записването директно в H.264 има и своите минуси. Единият е качеството. То не е лошо по принцип, но нито един хардуерен енкодер не може да достигне качеството на добър софтуерен такъв (и особено x264, който е най-разпространеният и най-добрият). Тези компромиси в качеството се дължат от части на това, че самите хардуерни енкодери оптимизирани повече за скорост, и от части на това, че графичните процесори (GPU) са коренно различни от стандартните (централни) процесори (CPU), което означава по-различни алгоритми при компресирането, при което пък страда качеството. Отново да кажа, че хардуерните енкодери не са лоши, просто не са на същото ниво със софтуерните. Казано иначе: хардуерно ускореноето видео компресиране определено не е подходящо за архивни записи на филми и сериали, които да си съхранявате на твърдия диск, но е отличен избор за компресиране на филми и сериали, които ще се гледат на малки дисплеи (нетбуци, таблети, смартфони и портативни видео плеъри), защото там няма да се забележи разликата в качеството.
Другият минус е по-скоро на H.264 формата като цяло, а не конкретно на хардуерните енкодери — не е особено удачен формат, ако желаете после да редактирате файла в някой видео редактор (от рода на Sony Vegas, Adobe Premiere, CyberLink PowerDirector и т.н.).

Ако не сте сигурни дали имате хардуер, който да има нужния хардуерен енкодер, ето как можете да го установите (инструкциите са скрити, за да се показват само при нужда и да изглежда темата по-изчистена; просто кликнете бутонче „Show“):
Spoiler


Ако не разполагате с необходимия хардуер, но все пак желаете да записвате игри, вижте тази тема.

Какви се справят различните технологии (на различните производители на графични карти) и кои програми ги поддържат?

Единият от двата основни фактора е качеството — колко добре изглежда компресираният видео поток. В тази насока не мога да изкажа конкретно мнение, защото не мога да съпоставя енкодерите на Intel, AMD и NVIDIA един с друг. Имайте предвид обаче, че във всеки един от тях има или ще има подобрения с течение на времето.
При Intel качеството на видео изображението се подобрява с всяко следващо поколение. Quick Sync Video се появи за пръв път в процесорите от Sandy Bridge семейството. В следващото поколение (Ivy Bridge) бяха направени някои дребни подобрения, така че качеството трябва да е мааалко по-добро. В следващото поколение (Haswell) бяха направени още подобрения, така че качеството при тях е най-добро. Това не значи, че последните предлагат отлично качество, просто малко по-добро спрямо предходните. Колко забележима е разликата не мога да кажа, защото не разполагам с всички тези процесори.
При AMD има 2 версии (към този момент) на VCE. Първата версия (VCE 1.0) се намира в предишното поколение видео карти 7000, в R7 250, R9 270 и R9 280 видео картите от последното поколение, както и в A10 5800 и 6800 процесорите. VCE 2.0 се намира R7 260 и R9 290 картите, в A10-7800 процесорите и в по-ниския клас A4 процесори, от последните поколения.
NVENC енкодерът на NVIDIA не е преминавал през подобрения, така че качеството е еднакво навсякъде.

Другият фактор е скоростта. В случая със записването на игри се има предвид дали хардуерният енкодер ще успее да насмогне да компресира в реално време видео потока, който му се подава.
Най-бързият енкодер от трите е Quick Sync Video на Intel, като най-бързата реализация на Quick Sync Video се намира в семейството процесори Ivy Bridge (внесените подобрения в графичния чип се отразиха благотворно и на хардуерния енкодер), след него е поколението Haswell (което е технически по-добро, но при него жертваха малко от производителността, за да подборят качеството на компресираното изображение), а най-бавната е в Sandy Bridge. Също така, по-високите класове процесори трябва да имат по-добра производителност на хардуерния енкодер, т.е. най-бързи са i7, след това i5, след това i3, след тях са Pentium и накрая са Celeron.
Вторият по бързина хардуерен енкодер е NVENC на NVIDIA, като той е доста близо до този на Intel. Т.е. средностатистически е по-бавен, но не с много.
На последно място е Video Coding Engine (VCE) на AMD. Той е значително по-бавен от другите два. Ако другите два енкодера спокойно могат да компресират 1920x1080 разделителна способност при 60 кадъра в секунда дори и като са настроени за качество, то VCE не може да се похвали с такава скорост. Ако искате да записвате на FullHD, ще трябва да е на 30 кадъра в секунда и/или да настроите енкодера за скорост, а не за качество, като дори тогава не е сигурно, че ще успее да насмогне, макар да би трябвало.

Откъм поддръжка нещата са по-разместени. Най-популярен и съответно най-често поддържан от програми е Quick Sync Video. Доста програми започват да добавят поддръжка за него, били те за запис на игри или просто за конвертиране на видео файлове. Това е нормално, защото е той е най-бърз, най-разпространен (освен в много настолни компютри се намира и в много лаптопи, защото много от тях са именно с Intel Core процесори) и изисква много малко енергия, за разлика от решенията на AMD и NVIDIA.
Video Coding Engine на AMD не се радваше на голяма популярност и поддръжка, но с разработката на VFW кодек, който използва VCE, всички програми, които използват именно VFW за компресия вече могат да се възползват от хардуерния енкодер. Ще спомена малко повече за това в последния коментар в темата.
NVIDIA е на последно място към момента, защото най-малко програми поддържат NVENC. За компенсация обаче точно NVIDIA има свое собствен софтуер за запис на игри — ShadowPlay. Така че ако имате видео карта с ядро на Kepler или Maxwell, не ви е нужна специална програма за запис, можете да използвате вградената в драйвера на NVIDIA. За нея ще си поговорим по-късно.

Програми за запис на видео от игри има доста. Малко от тях обаче поддържат хардуерно ускорение, а от тях точно 2 заслужават да им се обърне внимание. Ще разгледаме тях + ShadowPlay функцията на NVIDIA.

MSI Afterburner е приложение, което първоначално се използваше само за оувърклок и наблюдение на видео карти, но постепенно му се добавиха и още функции. Една от тях беше да може да записва и видео от игри. Предполагам, че някои вас биха запитали колко може да е добра тази функция за запис, след като това не е основното предназначение на програмата, а е просто допълнителна/странична функция. Ами, не само може да е, но и наистина е много добра. Толкова дори, че слага почти всички останали в джоба си. И на всичкото отгоре не струва и един ирански риал. От името можете да предположите, че приложението работи само с видео карти на MSI, но не е така — работи с абсолютно всички поне малко съвременни видео карти. Също така MSI Afterburner е наследникът на RivaTuner, разработката на която беше прекратена, след като авторът ѝ бе нает от MSI да разработва Afterburner. Това обяснява и имената на един кодеците и специализираното приложение за извеждане на статистики, които се използват в Afterburner. Споменавам информативно.
Action! е сравнително ново приложение. Съществува от малко над 2 години, което може да не ви се струва малко, но определено е младо в сравнение с другите програми за запис на игри. Това обаче не му пречи да е отлично и да е най-доброто платено приложение за целта.
ShadowPlay е доста нова софтуерна технология, на NVIDIA, която използва специалния допълнителен хардуер в по-новите поколения видео карти, за да компресира видео потока. Все още е в бета версия, така че е възможно да има бъгче тук-таме и да липсват някои опции за настройка. Като цяло обаче е доста обещаваща добавка дори и на този етап.

В темата ще се старая да се придържам максимално към опции, които се отнасят само за запис на видео от игри.

Action!
Автор: Mirillis
Лиценз: Платен (Trial), 29.95/49.95 USD
Връзки: Официална страница | Страница за изтегляне
Актуална версия (към момента на писане на статията): 1.19.2
Поддържани технологии за хардуерно ускорение: Intel Quick Sync Video, AMD Video Coding Engine

MSI Afterburner
Автор: Алексей Николайчук (Unwinder)
Лиценз: Безплатен
Връзки: Официална страница | Страница за изтегляне
Актуална версия (към момента на писане на статията): 3.0.1
Поддържани технологии за хардуерно ускорение: Intel Quick Sync Video, AMD Video Coding Engine, NVIDIA NVENC

ShadowPlay
Автор: NVIDIA
Лиценз: Безплатен (част от NVIDIA GeForce Experience)
Връзки: Няма нужда от връзки, защото това е компонент в комплект с официалния драйвер за картите на NVIDIA
Актуална версия (към момента на писане на статията): 2.1.0.0
Поддържани технологии за хардуерно ускорение: NVIDIA NVENC

Технологията на коя компания да използвам?

Ако разполагате само с един хардуерен компонент, който поддържа ускорение, то е логично, че ще използвате него. Готово.
Ако обаче разполагате с два компонента, които поддържат ускорение (т.е. процесор с вграден графичен чип) и отделна видео карта, тогава нещата са мааалко по-сложни.
Ако става въпрос за настолен компютър, видео картата в процесора ще е деактивирана при наличието на отделна такава, така че е логично да използвате именно отделната видео карта за целта. Не че не може да използвате и вградената в процесора, но това би довело до следните проблеми/неудобства:
- ще се наложи ръчно/принудително да активирате видео картата в процесора от BIOS/UEFI, което не само е излишно/допълнително действие, което трябва да извършите, но може да е объркващо и/или опасно, ако сте новак в областта;
- не всички дънни платки поддържат възможността да бъдат активни едновременно вградената в процесора видео карта и отделната такава;
- активирането на видео картата в процесора означава, че за нея ще трябва да бъдет заделени хардуерни и софтуерни ресурси, т.е. за нея ще бъде заделена част от RAM паметта, ще трябва да инсталирате драйвер и т.н.; казано иначе: това ще доведе до спад в общата производителност на системата; спадът ще е изключително малък и надали ще се усети, но все пак...;
- ако отделната ви видео карта е на NVIDIA и активирате някаква друга, която НЕ е на NVIDIA, няма да можете да използвате хардуерните функции за по-реалистична физика — PhysX; малко игри го поддържат и не всички го използват, но си остава някакво ограничени.
Единствената ситуация, в която може да се наложи да активирате видео картата в процесора, е, ако процесорът е Intel Core, отделната ви видео карта е AMD и настоявате да записвате в разделителна способност 1920x1080 на 60 кадъра в секунда, което може да е отвъд възможностите на видео картата на AMD и ще трябва да използвате по-бързият енкодер на Intel.
Ако става въпрос за лаптоп, тогава и двете видео карти ще са активни така или иначе, така че изборът коя да използвате е изцяло ваш.

На коя програма да се спра?

Ако разполагате с видео карта на NVIDIA, която поддържа NVENC хардуерния енкодер, и не държите да можете да настройвате много и разнообразни опции, тогава използвайте ShadowPlay. Ето защо: безплатна е, идва в комплект с драйвера, сама проверява за актуализации (ако не изключите функцията), лесна е за настройка и е native за видео картата. Т.е. софтуерът е създаден от същите хора, които са проектирали и създали хардуера, и работи най-директно с него, което означава най-добра производителност и съвместимост.
Ако искате да имате по-добър контрол върху опциите за настройка и/или не разполагате с видео карта на NVIDIA, препоръчвам да се спрете на MSI Afterburner. Ето защо: програмата предлага доста настройки, доказала се е и е безплатна. Това важи с особена сила, ако възнамерявате да използвате хардуерно ускорение на Intel и работите под Windows 8 или 8.1, защото тогава MSI Afterburner ще може да използва Direct3D 11 и няма да се налага да извършвате принудително засичане на втори монитор (дори и да нямате такъв).

Има ли тогава смисъл да се използва Action!?

Ако целта ви е основно да записвате и нищо повече, няма смисъл да се дават пари за Action!. Ако обаче искате да използвате специални изображения за overlay, да имате достъп до повече настройки, да се показва изображение от уеб камера, да можете директно да качвате видеата в YouTube или Facebook и не ви бърка да платите за програмата (или да я търсите кракната), тогава Action! за вас.

Viewing all articles
Browse latest Browse all 5785

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>