{"id":454,"date":"2012-02-07T23:48:32","date_gmt":"2012-02-07T20:48:32","guid":{"rendered":"http:\/\/www.dinux.lt\/blog\/?p=454"},"modified":"2015-01-25T16:58:38","modified_gmt":"2015-01-25T13:58:38","slug":"nvidia-ir-aparatinis-video-spartinimas","status":"publish","type":"post","link":"http:\/\/www.dinux.lt\/blog\/?p=454","title":{"rendered":"Nvidia ir aparatinis video spartinimas"},"content":{"rendered":"<p>Namuose naudoju kompiuter\u012f, kurio parametrus daugelis pavadins &#8220;muziejiniais&#8221;. Tai AMD64 3000+ 1.8GHz procesorius kurio taktinis da\u017enis pakeltas iki 2.43GHz. Da\u017enio k\u0117limo metu buvo \u012fd\u0117ta NVidia Geforce 6600GT vaizdo plok\u0161t\u0117. Viena i\u0161 pagrindini\u0173 prie\u017eas\u010di\u0173, d\u0117l kuri\u0173 buvo keliamas da\u017enis tai nesugeb\u0117jimas u\u017etikrintai atvaizduoti 720p video (jau nekalbant apie 1080p). I\u0161siai\u0161kinau, kad aparatinis spartinimas naudojant linux OS pradeda veikti naudojant Geforce 8 ar naujesn\u0117s serijos vaizdo plok\u0161tes. Nors perkant Geforce 6600 GT ant d\u0117\u017eut\u0117s buvo priklijuota visokiu fullHD video ir pana\u0161i\u0173 lipduk\u0173, pasirodo spartinimas veik\u0117 tik Windows OS.<\/p>\n<p>Pasiskait\u0119s NVidia tvarkykli\u0173 README, ten gi s\u0105ra\u0161as yra GPU palaikan\u010diu VDPAU. VDPAU tai atviro kodo biblioteka, kurios autorius NVidia. \u0160i biblioteka leid\u017eia video dekodavim\u0105 bei apdorojim\u0105 (<em>procesing<\/em>) perlaisti GPU (GPU tai vaizdo plok\u0161t\u0117s procesorius).Tad su kiekvien\u0105 dien\u0105 aud\u017eiau mint\u012f kaip \u010dia man dabar i\u0161 kur nors naujesn\u012f Geforc&#8217;\u0105 i\u0161krap\u0161\u010dius. Ai\u0161ku kaip visada su finansais ne pr\u016bdai, bet \u0161iaip ne taip i\u0161sirinkau NVidia GT220 vaizdo plok\u0161t\u0119. Pagal kokius parametrus a\u0161 j\u0105 i\u0161sirinkau dabar jau tiksliai nepamenu, bet svarbiausia buvo, kad ji palaikytu VDPAU, b\u016btinai tur\u0117tu CUDA procesorius (kurio iki \u0161ios dienos taip ir nei\u0161band\u017eiau) ir kuo auk\u0161tesnius GPU bei RAM da\u017enius.<\/p>\n<p>Koks did\u017eiulis buvo nusivylimas, kaip \u012fd\u0117jus \u0161i\u0105 plok\u0161t\u0119 stebuklo nepama\u010diau. Tiesa 720p jau buvo galima lyg ir \u017ei\u016br\u0117ti, bet apie 1080p kalbos nebuvo. Ka\u017ekaip jau net buvau susitaik\u0119s su mintimi, kad geriau nebus. \u010cia ir buvo mano did\u017eiausia klaida. Pasirodo, kad neu\u017etenka suinstaliuoti NVidia tvarkykli\u0173, kad s\u0117kmingai veiktu video spartinimas. Visai atsitiktinai atnaujinant ar tai <em>VLC<\/em> ar <em>MPLAYER<\/em> paket\u0105 pama\u010diau, kad kaip papildoma priklausomyb\u0117 yra <em>VDPAU<\/em> paketas. Pasidom\u0117jus daugiau, nepra\u0117jus n\u0117 de\u0161im\u010diai minu\u010di\u0173 720p bei 1080p jau buvo atvaizduojamas su minimaliais CPU apkrovimais!<\/p>\n<p>Taigi, kad veiktu aparatinis spartinimas reikia suinstaliuoti paketus (su s\u0105lyg\u0105, kad NVidia tvarkykl\u0117s jau \u012fra\u0161ytos):<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">sudo pacman -Sy libvdpau vdpau-video<\/pre>\n<p>Jei naudojate VLC grotuv\u0105 tai jums reikia keliauti \u012f meni\u0173 punkt\u0105 <em>\u012erankai -> Parinktys<\/em>. Atsidariusiam dialoge kair\u0117j\u0119 pus\u0117je pasirinkti <em>\u012evestis ir kodavimas<\/em> ir u\u017ed\u0117ti varnel\u0119 <em>Use GPU acceleration (experimental)<\/em>, pas mane dabar 1.1.13 versija. Jei neklystu aparatinis spartinimas atsirado tik VLC 1.1.* versijoje.<\/p>\n<p>Jei naudojate MPLAYER (kaip a\u0161) tai video galima \u017ei\u016br\u0117ti su dar ma\u017eesniais CPU resursais. Tik prie\u0161 tai, kad nereik\u0117tu kiekvien\u0105 kart\u0105 suvedin\u0117ti komandin\u0117s eilut\u0117s reikia paredaguoti konfig\u016bracin\u0119 byl\u0105 kuri randasi adresu <em>.mplayer\/config<\/em> (mano atv\u0117ju pilnas kelias yra <em>\/home\/dinux\/.mplayer\/config<\/em>). Mano konfig\u016bracin\u0117 byla atrodo taip:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\"># Write your default config options here!\r\nvo=vdpau\r\nvc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,\r\ncache=8192<\/pre>\n<p>Pirmos dvi eilut\u0117s daugiau ma\u017eiau ai\u0161kios. Tre\u010dioji skirta <em>cache&#8217;o<\/em> padidinimui. Be \u0161ios eilut\u0117s kol <em>MPLAYER<\/em> kreipiasi \u012f disk\u0105 vaizdas akimirkai u\u017estringa. Nuskait\u0119s informacijos kiek\u012f, grotuvas j\u0105 atvaizduoja. Tai trunka ~5-10sek. v\u0117liau v\u0117l seka truktel\u0117jimas, kol nuskaitoma antra porcija informacijos. Taigi, tre\u010dioji eilut\u0117 nustato 8Mb <em>cache&#8217;o<\/em> dydi. To u\u017etenka, kad grotuvas skaitytu informacij\u0105 &#8220;\u012f priek\u012f&#8221; ir visada tur\u0117tu duomen\u0173 porcij\u0105, kuri\u0105 reikia i\u0161koduoti ir atvaizduoti.<\/p>\n<p>Dabar \u017ei\u016brint 1080p video naudojant <em>MPLAYER<\/em> jis CPU apkrauna iki ~4%:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">[dinux@dinux ~]$ ps aux | grep mplayer\r\ndinux     4451  8.3  &lt;strong&gt;3.7&lt;\/strong&gt; 122876 77760 ?        S    22:41   0:01 mplayer Eurosport-HD.Demo.Loop.1080p.H.264.MP2.2.0.mkv<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Namuose naudoju kompiuter\u012f, kurio parametrus daugelis pavadins &#8220;muziejiniais&#8221;. Tai AMD64 3000+ 1.8GHz procesorius kurio taktinis da\u017enis pakeltas iki 2.43GHz. Da\u017enio k\u0117limo metu buvo \u012fd\u0117ta NVidia Geforce 6600GT vaizdo plok\u0161t\u0117. Viena i\u0161 pagrindini\u0173 prie\u017eas\u010di\u0173, d\u0117l kuri\u0173 buvo keliamas da\u017enis tai nesugeb\u0117jimas u\u017etikrintai atvaizduoti 720p video (jau nekalbant apie 1080p). I\u0161siai\u0161kinau, kad aparatinis spartinimas naudojant linux OS &#8230; <a title=\"Nvidia ir aparatinis video spartinimas\" class=\"read-more\" href=\"http:\/\/www.dinux.lt\/blog\/?p=454\" aria-label=\"More on Nvidia ir aparatinis video spartinimas\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[3,7],"tags":[],"_links":{"self":[{"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=\/wp\/v2\/posts\/454"}],"collection":[{"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=454"}],"version-history":[{"count":10,"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=\/wp\/v2\/posts\/454\/revisions"}],"predecessor-version":[{"id":546,"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=\/wp\/v2\/posts\/454\/revisions\/546"}],"wp:attachment":[{"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=454"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.dinux.lt\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}