Video ķeršanās, atskaņojot HD video Windows 10

Windows 10 visos atskaņotājos (dzimtais, VLC, Media Player) atskaņojot HD video, kopskati “ieķeras”. Video formāts: H.264 (MPEG-4), 1080p, 30/60 FPS. Efekts redzams, lēnām pārvietojot kameru no tuvplāna uz kopskatu (piem. no cilvēkiem tuvumā uz lielu lauku aizmugurē). Šajos brīžos skats mazliet, taču manāmi “ķeras”, līdz kamera pārstāj kustēties. Tos pašus video atskaņojot citur (1080p un 4K TV utt.) skats video pārvietojas bez ķeršanās. Dators “pacientam” ir no ātrā un dārgā gala ar i9-9900K procesoru, 32 GB RAM, RTX2080 Ti videokarti un Samsung 970 Pro NVMe SSD, kas pēc dzelžu lēnuma pavisam neizskatās. Drīzāk kāda ar pašu Windows saistītas problēma. Kas tas varētu būt? Kādi specifiski H.264 kodeka uzstādījumi? Mēģināju VLC H.264 kodekam atslēgt loop dekodēšanai, taču bez rezultāta. Kaut kāda Win10 specifiska diska kešošana? Uz sitiena nav ideju.

Šāviens tumsā - nav kaut kāds greizs HW akselerators aktīvs VLC?

image

Lēnā ieķeršanās kopskatos iekš H264 (vai jebkuriem citiem) nav retums. Tas nav saistīts ar datora veiktspēju, tas ir saistīts ar to, ka avots (materiāls, tātad filma, es pieņemu) ir filmēta 24/25fps režīmā un šāds režīms detalizētas ainas, kurās ir horizontāla kameras kustība padara nedaudz raustīgas acij. To sauc par “motion judder” un tas ir vecās 24fps ēras pārpalikums pārejot uz digitālu atskaņošanas vidi. 24fps bija domāts kino projektoriem. Avoti, kas ir filmēti 24/25fps tiek parasti pārkonvertēti uz 30fps video standartu un tas rada liekus 5-6 freimus, kuru materiālā nav, bet tie tiek mākslīgi ekstrapolēti no esošajiem. Tas parasti nav pamanāmts, izņemot, kad kamera lēni kustās vai griežās pāri ainavīgam kadram. Tas ir 24fps uz 30fps upscaling artefakts.

To var pārbaudīt sameklējot native 30fps vai vēl labāk 48 vai 60fps materiālu, kurš nav ekstrapolēts no 24, bet gan ir filmēts natīvi 60 freimos. Piemēram, The Hobbit tika filmēts 48fps oriģināli. Atskaņojot to nekādas ķeršanās nebūs.

Palika interesanti, kā vispār uz mājās esošajiem dzelžiem spēlē HD un 4K video. Aizgāju uz medūzu lapu un sapumpēju testa video līdz 4K UHD izšķirtspējai. Iznāca tā:

  • Dators: Xeon X3470 CPU, 16 GB RAM, Nvidia RTX2060 Super (8 GB VRAM):

Zem Linux un Windows bez raustīšanās ideāli atskaņo visus 1080p H.264 un HEVC video. 4K (120 Mbps) un 4K UHD (140 Mbps) video bez raustīšanās atskaņo H.264 video, taču HEVC video raustās ar procesora slodzi 99%. Pēc resursu aizņemtības izskatās ka H.264 atkodē videokarte, taču HEVC - drīzāk procesors.

  • Laptops: i3-6100U CPU, 4 GB RAM, Nvidia Geforce 930M (2 GB VRAM):

Zem Linux (tur ir tikai Mint 19.3) bez raustīšanās ideāli atskaņo visus 1080p H.264 un HEVC video līdz 30 Mbps. Viss, kas lielāks, raustās. Kas, ņemot vērā dzelžus, ir saprotami. Pēc slodzēm arī izskatās ka videokarte piedalās atkodēšanā.

Ticu ka 24 fps atskaņošana uz 30 fps gļuko. Taču atkal skatoties, 24 fps 25 Mbps ierakstam bilde pārejā no tuvplāna uz kopskatu raustās mazliet mazāk par 30 fps 15 Mbps ierakstam, kur kamera kuģa kajītē kustās sānis un aiz loga kustībā zib ezers. Nez kāpēc abi video neraustās 4K televizorā. Pieļauju, ka televizors vienkārši spēj atskaņot 25 fps bez paātrināšanas uz 30 fps. Gandrīz vai derētu raustīgos ierakstus pārkodēt. Vienīgi jautājums, ar kādiem parametriem to darīt, lai rausteklis atkal nerādās.

Nu, bitreits, protams, kaut kādā ziņā ietekmēs atskaņošanas kvalitāti, bet pārsvarā visas tīklā novilktās relīzes ir ar diezgan zemu bitreitu, lai saglabātu nelielu faila izmēru. Tas jau ir cits jautājums, kā kura sistēma (cik gludi) atskaņo vienu vai otru HD vai 4K failu. Kompresijas arī ir dažādas, to implementācijas ir dažādas (H.264 ir diezgan standarta optimizēta visam, H.265 liks apd*rsties pat ļoti ātrām sistēmām). Bet nu parastam lietotājam jau nekad nebūs baigi hi-end bitreiti failiem uz datora.

Man liekas, ka oriģinālajā ierakstā problēma bija tieši 24fps materiāla atskaņošana no 30fps konteinera (kam nav sakara ar bitreitu). Es gan pat esmu redzējis 24fps konteinerus, kas lielos platos ainavīgos kadros kustinot kameru horizontāli lēnām tieši tāpat raustās. Tas tiešām nav saistīts ar veiktspēju, tā ir 24fps limitācija, kuras dēļ tas formāts jau pamazām sāk izmirt.

Ja interesē, novelc kaut kādu Hobbit relīzi, kas marķēta kā HFR (high frame rate) un pamēģini to atskaņot uz dažādām ierīcēm. Diezgan 100%, ka tur nekas neraustīsies.

Man liekas, ka oriģinālajā ierakstā problēma bija tieši 24fps materiāla atskaņošana no 30fps konteinera (kam nav sakara ar bitreitu).

Ar oriģinālo video filmētāju par šo jau runājām. Būs jāpaeksperimentē ar viņa kameru uzstādījumiem, lai atrastu tādu 1080p konfigurāciju, kas nebremzē. Un pamēģināšu pārkodēt jau safilmēto.

Ok, tātad viņš filmē pats, nevis skatās 24fps materiālu no tīkla, skaidrs. Tas maina apstākļus. Visdrīzāk viņa kamera filmē 25fps (kā tas ir standarta Eiropas PAL zonā) vai 30fps, jo 24fps īsti nav pieejams vairs kā opcija. Vai viņš ir mēģinājis filmēto ielikt Adobē (Premiere vai Rush) un konstatēt, ka ir bremze kaut kāda? Un tad saprast, vai bremze ir fizisks frame drops dēļ dekodera laga vai tas ir vienkārši 24/25fps tipiskais motion judder, ko ir grūti izārstēt.

Jā, vinš filmē pats. Gļukainie video nāca no DJI Mavic un GoPro kamerām. Acīmredzot arī tur kameras uzstādījumi jāpielabo.

Safilmētais tika montēts Premiere. Par raustīšanos kadrs teica ka īsti neesot sapratis, kāpēc tā.

Skaidrs. Ar DJI noteikti vajag filmēt 60fps (tur ir tāda opcija). Būs daudz gludāka kustība. Ar GoPro 30fps.

Viņam ir pirmais Mavic Pro, kurš vairāk par 4K@30 fps nevelk. Taču šodien atklājās, ka 4K nepieciešamo 60 Mbps ieraksta ātrumu (pirmā Mavic maksimums 4K ierakstiem) viņa izmantotās SD kartes īsti nespēj nodrošināt. Tāpēc iespējams, ka raustīšanās iemesls ir arī tur. Labi, pareizās kartes par spīti dažu tirgotāju lopiskumam, kuri uzrāda tikai lasīšanas ātrumu, var nopirkt arī tepat Rīgā. Taču vai var saglābt esošos video, padarot tos mazāk raustīgus? Ja 4K TV oriģinālus rāda bez raustīšanās, tad pārkodējot tos tai pašā Premiere, vajadzētu iegūt kaut ko neraustīgu. Taču kādus filtrus tur likt eksportam u.tml.? Man vnk nav pieredzes video kvalitātes uzlabošanā un restaurēšanā :slight_smile:

Kaut kas tevis teiktajā nav īsti pareizi. Ja kamera (Mavic vai kāda cita) ir ar pārāk lēnu SD karti, tā vispār neatļauj vai neveic ierakstu. Vismaz es neesmu redzējis kameru, kas met nost freimus lēnas kartes dēļ. Viņa vai nu veido failus iekšēji un kopē tos kartē, vai nedara to. Kaut gan, man nav lielas pieredzes ar DJI, varbūt tiešām, ka viņa izlaiž freimus dēļ nespējas tos pietiekami ātri ierakstīt. Tas gan būtu max jocīgi, ja tā būtu. Plus, bitreits neietekmē kustību attēlā. Bitreits ir kompresijas striprums. Jo mazāks bitreits, jo sakompresētāks attēls, jo “pikseļaināks” tas ir. Tas neietekmē kustības raustīšanos. Tas varētu būt vienkārši nekorekts freimreits Premiere projekta sekvencē).

Plus, ja tas pats materiāls (no tās pašas kartes) uz TV attēlojas bez raustīšanās, tad visi freimi tur ir un nav nekādu kļūdu rakstīšanā. Tad tā ir Premieres settingu vaina.

Ievelkot montāžā (sekvencē) materiālu Premiere parasti jautā, vai grib iestādījums atstāt noklusētos vai pieņemt video failos atromamo (izmērs, freimreits, utt.) Ja materiāls ir 30fps, tad jāuztaisa ir sekvence attiecīga - 4K un 30fps. Vai 1080p un 30fps, tādā gadījumā 4K attēls vienkārši tiks downskeilots uz leju, lai ielīstu 1080p rāmī. Ja “auto scale” opcija nav aktivizēta, attēls izskatīsies piezūmēts par tuvu un katram klipam taimlainē jāizvēlās “scale to frame size”. Nevar zināt, kādi tur ir settingi. Ja gribi, iedod man vienu failu no oriģinālā materiāla neapstrādātu. Es apskatīšos. Sūti uz reinis.traidas[at]gmail linku.