un blog de Radu Dumitru

Uitați-vă și pe canalul meu de YouTube, dați un Subscribe dacă vă place.

Premiere Pro a adăugat suport pentru codare hardware NVIDIA și AMD

1 Jul 2020  ·

TEHNOLOGIE  ·

2 comentarii

Adobe a introdus oficial suportul pentru encoding hardware pentru plăci NVIDIA și AMD în Premiere Pro, odată cu patch-ul la versiunea 14.2.

Să-i dea zeitatea preferată sănătate omului care a avut această idee, că tare bună este, dar imediat după ce-l întreabă de ce n-a făcut asta încă de acum 3-4 ani, când NVIDIA a început să introducă codoare hardware în plăcile lor (despre cele Radeon nu știu, dar într-un univers alternativ există un alt nwradu care a avut mereu doar plăci Radeon; găsiți acolo detaliile despre acestea).

Pe scurt, treaba stă astfel: codarea video este un proces complex și care solicită din plin procesorul PC-ului, de unde și timpul mare petrecut la exportul unui clip video, mai ales dacă-i 4K sau alegeți un codec complex precum H.265 (sau chiar și clasic H.264, că tot complex). De asta mulți preferă PC-uri cu procesoare performante, cu multe nuclee, pentru Premiere Pro și alte programe de editare video.

Acum mai mulți ani, NVIDIA a implementat codare hardware în plăcile lor video, adică un cip în placă ce face toate calculele necesare codării folosind procesoarele plăcii video, nu cel general al PC-ului. Codarea hardware NVIDIA se numește NVENC și a fost implementată cam în următoarele etape:

  • foarte timid și limitat pe plăcile GTX 6xx
  • suport complet pentru H.264 începând cu plăcile GTX 7xx
  • în plus, suport timid și limitat pentru H.265 (HEVC, să-i zicem) începând cu plăcile GTX 9xx
  • suport complet H.264 și H.265 începând cu plăcile GTX 1xxx (deși GT 1030 nu are nimic și mai sunt astfel de excepții și în generațiile anterioare, de obicei pe plăcile entry-level)
  • suport pentru ceva numit HEVC B Frame[1] începând cu plăcile GTX 2xxx.

Altfel spus, poți utiliza o placă NVIDIA GTX 1060 sau mai bună pentru a exporta foarte rapid un clip video H.265 sau HEVC. Sau ai putea, dacă Premiere Pro ar fi suportat asta de acum câțiva ani, nu de pe 19 mai 2020 când update-ul 14.2 a activat suportul pentru NVENC.

Atenție la un detaliu: vorbesc de utilizarea plăcii video pentru codare (encoding), nu pentru randare. Randarea (rendering) folosind nucleele CUDA ale plăcilor video a fost mereu activă, uneori cu o mică modificare de fișier din folderul Adobe, dar randarea se referă doar la calcularea rapidă a unor efecte vizuale, nu la transformat un proiect video în fișierul mp4 final.

Adică vorbesc de setarea disponibilă în meniul de Export precum mai jos, când în sfârșit poți alege între Software Encoding și Video Encoding:

Nu de setarea generică de rendering folosind nucleele CUDA, nu procesorul.

Se cunoaște diferența? Da, mie mi-a scăzut de 6 ori timpul de randare pentru același clip.

Eu am acum un procesor Intel Core i5-6600 din 2015, adică lent pentru Premiere Pro. Când codam un clip, procesorul stătea în 100% permanent, iar placa video abia pe la 5%, că ajuta nesemnificativ.

Odată cu update-ul la 14.2 și activarea setării hw encoding la export, procesorul a început să răsufle ușurat, iar placa video să stea în 100% (zice task killer). Iar placa video este MULT mai performantă la codare video decât procesorul.

Cifre?

  • 34 de minute cu codare software, adică folosind procesorul.
  • 6 minute 43 secunde cu codare hardware, cu placa video ducând greul.

Să pun diferența în format grafic:

Asta înseamnă că scot cam 40 de secunde de randare pentru 1 minut de clip video 4K exportat la 25 Mbps/30 fps, cu corecție de culori pe fiecare cadru și din când în când niște efecte.

Ah, iar când folosești codarea software, procesorul stă în 100%, deci e practic imposibil să mai faci și altceva la PC. De obicei apăsam Export și mă duceam să-mi fac o cafea și să privesc flori în balcon, poate citind o carte. Acum, când muncește placa video, procesorul e disponibil pentru alte task-uri, de exemplu un Facebook, deci viața mea este mult mai bună acum!

Culmea este că această codare hardware este limitată la VBR 1 pass. Dacă aleg software encoding, pot folosi și VBR 2 pass, adică două treceri de procesare video, ceea de dublează timpul total de export, dar uneori îmbunătățește calitatea în anumite cadre cu mișcări rapide. Mie nu-mi pasă, că nu fac filme de cinematograf și nici nu filmez mașini de curse.

Și acum poate vă gândiți că am eu un procesor foarte vechi, dar unul nou s-ar descurca la fel de bine. Not true!

Am în acest moment în casă un laptop Acer ConceptD 5 Pro, un model cu Core i7-9750H și, ce-i drept, o placă video NVIDIA Quadro RTX 3000, care-i varianta Quadro entry-level pentru laptopuri. Am testat și pe acesta cu același clip și aceeași versiune de Premiere Pro și rezultatele sunt:

  • 39 de minute cu codare software, VBR 2 pass
  • 20 de minute cu codare software, VBR 1 pass
  • 2 minute 53 secunde cu codare hardware, VBR 1 pass

O reducere de aproape 8 ori a timpului de export!

Așa că aveți și aceste lucruri în minte dacă folosiți un PC pentru producție video. Adobe Premiere Pro a trecut la etapa în care contează mai degrabă placa video pentru codare, nu procesorul.

Trei mențiuni:

  1. Un cadru de tip B este, conform standardelor inițiale MPEG, unul predictiv bidirecțional, adică “imaginea” din acel cadru nu este codată complet în clip, ci prezisă pe baza unor cadre anterioare și ulterioare. În fond, dacă o minge se mișcă de la stânga la dreapta pe ecran, un algoritm de predicție.
  2. N-am codat niciodată în format H.265. Nu mă interesează să obțin un fișier de mici dimensiuni, că am net rapid pentru upload-ul oricărei dimensiuni de fișier. Mă interesează să termin randarea rapid, iar asta înseamnă H.264. Nu știu care sunt diferențele pentru H.265, dar probabil că într-un univers paralel există…
  3. Procesoarele Intel includ un codor hardware numit QuickSync, prescurtat QSV. Și procesorul meu include așa ceva, dar este practic inutil, că încă n-am găsit un program care să-l folosească așa cum trebuie.

    2 comentarii

  1. QuickSync poti folosi in HandBrake. Un program opensource pentru convertit (transcode) dintr-un format in altul. De exemplu sa faci un film 4K in 1080p repede.

      (Citează)

    • HandBrake sau Avidemux sunt bune pentru transcoding, dar cât de des faci asta? Premiere Pro este pentru editare.

      Doi la mână, QSV n-a mers niciodată bine, din păcate. Suportul software este foarte slab pentru el.

        (Citează)

    Alătură-te discuției, spune-ți părerea:

    Your email address will not be published. Required fields are marked *

    Vreți un avatar în comentarii? Mergeți pe gravatar.com (un serviciu Wordpress) și asociați o imagine cu adresa de email cu care comentați.

    Dacă ați bifat să fiți anunțați prin email de noi comentarii sau posturi, veți primi inițial un email de confirmare. Dacă nu validați acolo alegerea, nu se va activa sistemul și după un timp nu veți mai primi nici alte emailuri

    Comentariile nu se pot edita ulterior, așa că verificați ce ați scris. Dacă vreți să mai adăugați ceva, lăsați un nou comentariu. Fără înjurături și cuvinte grele, că vorbim prietenește aici, și fără mesaje doar de dragul URL-spam-ului. Link-urile către alte site-uri, dar care au legătură cu subiectul discuției, sunt binevenite. Apăsați pe Citează pentru a cita întreg comentariul cuiva sau selectați întâi anumite cuvinte și apăsați apoi pe Citează pentru a le prelua doar pe acelea.

sus