1,618 kuverenga
1,618 kuverenga

Yakanaka Sei WebRTC Screen Kugovera, Chaizvoizvo? Ndakaisa 4 Codecs kuMuedzo

by Vadim Beskrovnov20m2025/03/25
Read on Terminal Reader

Kurebesa; Kuverenga

Ndakaenzanisa WebRTC sikirini kugovera mumakodheki makuru mana - VP8, VP9, H.264, uye AV1 - ndichishandisa zviri munyika chaiyo sekupuruzira zvinyorwa uye vhidhiyo inofamba-famba, pasi pemamiriro etiweki akasiyana. Zvakaguma nei? AV1 inopa yakanakisa mhando, kunyanya kune zvine simba zvemukati, asi iri CPU-yakanyanya. H.264 inoramba iri iyo inoshanda zvakanyanya-inotenderedza nerutsigiro rwakafara rwehardware. Iyi yakadzika dive inovhara furemu chiyero, resolution, PSNR, QP, CPU mashandisiro, uye nezvimwe - zvine hungwaru hunoshanda hwemadevs, vaongorori, uye chero munhu anokwenenzvera chaiyo-nguva vhidhiyo.
featured image - Yakanaka Sei WebRTC Screen Kugovera, Chaizvoizvo? Ndakaisa 4 Codecs kuMuedzo
Vadim Beskrovnov HackerNoon profile picture
0-item

Ndagara ndichida kuziva kuti macodecs akasiyana sei kana zvasvika pakugovana skrini pamusoro peWebRTC. Saka, ndakasarudza kuzvitsvakira ini nekuyedza mana anonyanyozivikanwa: VP8, VP9, H.264, uye AV1.


Kuti ndive nechokwadi chekuti mhinduro dzaive dzakasimba, ndakamhanyisa bvunzo mumhando dzakasiyana dzemukati uye netiweki mamiriro. Ini handina kungovimba nekuona zvinoonekwa - ndakashandisa furemu-ne-frame kuenzanisa, yakaverengerwa Peak Signal-to-Noise Ratio (PSNR), uye ndakadhonza akadzama WebRTC stats kuti ndiwane yakajeka, inofambiswa nedata.


Kuti ndiende nhanho mberi, ndakatovaka tsika Chrome plugin inoteedzera kushandiswa kweCPU panguva yeese encoding uye decoding. Izvo zvakandipa kutarisa kwakanaka kwekuti imwe neimwe codec inobata sei system performance - nekuti mhando yakanaka, asi kwete kana komputa yako iri pamoto ichiedza kuenderera.


Ndakatarisa makiyi metrics senge bitrate, furemu chiyero, resolution, quantization (QP), PSNR, uye CPU mutoro. Kubva pane zvese izvo, ndauya nemazano mashoma anoshanda kubatsira chero munhu ari kuyedza kukwidziridza WebRTC skrini yekugovera kune avo ega ekushandisa.

Pamusoro pekuedza

Nei Kugovera Screen Kusiri Nyore Sezvinotaridzika

Kana iwe wakambogovana skrini yako panguva yevhidhiyo kufona uye wakaona kudonha kwemhando - kana vhidhiyo iri kuita choppy - hausi wega. Kuchengeta kugovera skrini kwakapfava uye kwakatsetseka kwakaoma kupfuura zvazvinoita.


Dambudziko? Zvose zvinoenderana zvakasiyana-siyana. Zvimwe zvirimo zvichiri, sedhidhi remasiraidhi kana gwaro. Dzimwe nguva, uri kugovera vhidhiyo inofamba-famba. Aya marudzi akasiyana ezvinyorwa anoda zvinhu zvakasiyana zvakanyanya kubva kucodec. Semuenzaniso, vhidhiyo inofamba nekukurumidza inodya toni yebandwidth, nepo static mifananidzo inonzwa zvakanyanya kune compression zvigadzirwa zvinogona kuita kuti zvitaridzike zvisina kujeka kana kuvharika.


Kanda mune-chaiyo-yepasirese nyaya dzepamhepo senge kurasikirwa kwepaketi kana kudonha kwebandwidth, uye zvinhu zvinotonyanya kuipa. Ndosaka kusarudza iyo codec chaiyo - uye kunyatso-tuning mashandiro ayo - kwakakosha kuita kuti skrini igovane zvese zvemhando yepamusoro uye zvinoteerera.


Iko kwatove nekutsvagisa kwakawanda kunze uko pamusoro pekuti vhidhiyo macodecs anoita sei mune zvakajairika kutenderera mamiriro. Asi kugovera skrini kune zvayakanakira. Haisi yekungoona vhidhiyo - ndeyekutaurirana munguva chaiyo, uye mhando dzemukati dziri pese pese. Izvi zvinoreva kuti tsvakiridzo yakajairika haishande nguva dzose.

Zvandakaronga Kuita

Ini ndaida kuchera zvakadzama mune iyi chaiyo yekushandisa kesi. Chinangwa changu chaive chekuona maitiro akasiyana macodec kana zvasvika pakugovana skrini, kunyanya pasi pezvipingamupinyi zvepasirese semhando dzakasiyana dzemukati uye zvisingatarisike network mamiriro.


Kuti ndiite izvozvo, ndakagadzira nzira yekuongorora mhando yekugovera skrini nenzira kwayo sezvinobvira - kwete kungobva pamaratidziro ayo, asi inotsigirwa nemametric akasimba uye data. Ndiri munzira, ndakadzidza zvakawanda nezve macodecs anobata zvakanyanya uye maitiro ekugadzirisa zvinhu kuti zviite zvirinani mumashandisirwo enguva chaiyo.


Chinhu chimwe chakakurumidza kujeka: kugovera skrini kuita kunoenderana nezvauri kugovera. Vhidhiyo inomhanya-mhanya inoita zvakasiyana zvakanyanya kubva kugwaro rakamira kana kuti inononoka kupenya nepeji rewebhu.


Kuti zvinhu zvirambe zvakaringana uye zvienderane, ndakaita chokwadi chekuti bvunzo dzese dzaimhanya nemamiriro akafanana - kugadziriswa kwakafanana, nzvimbo imwechete yekutanga, uye nguva yakafanana. Nenzira iyo, ndaigona kuva nechivimbo chekuti mhedzisiro yacho yaive yese yekodec performance, kwete imwe tsaona yekusiyana.


Ini ndakagadzira maviri akasiyana bvunzo makesi kutevedzera chaiyo-yehupenyu skrini yekugovana mamiriro:

  • Vhidhiyo yepamusoro-inofamba - Ichi chaive chikamu chaicho chevatyairi vemidhudhudhu vachimhanyidzana nemusango. Yakawanda yekukurumidza kufamba, yakatsanangurwa nzvimbo, uye inogara ichichinja yekuona nharaunda - yakanakira kusunda miganhu yekumanikidza.

Vhidhiyo yepamusoro-soro

  • Auto-scrolling text - Ini ndakavaka iri nyore HTML peji ine mavara nemifananidzo, ndokushandisa JavaScript kuipepeta nekumhanya kwakadzikama. Inoteedzera chiitiko chekushandisa chakajairika sekugovera gwaro kana kuverenga kubva pawebhu peji.

Kufambisa-otomatiki mavara

Mhando mbiri idzi dzemukati dzakandipa musanganiswa wakanaka kuti ndiedze kuti codec yega yega inobata sei matambudziko akasiyana - kubva mukufambirana nekufamba kusvika pakuchengetedza kujeka mune mamwe mapikicha.

Magadzirirwo andakaita Zvese

Kuti ndiedze nemazvo macodecs, ndaida setup yakasimba inogona kutora zvese - zvese zviri kutumirwa uye zvakagamuchirwa. Ndakatanga nechishandiso chinonzi webrtc-sandbox (Nenzira yaunokwanisa kudzidza nezve chishandiso ichi uye nezvimwe zvakawanda mune imwe post yangu: “ Kudzidza WebRTC Mukuita: Zvakanakisa Zvishandiso uye Demos “), iyo yakanakira kuvhiringa neWebRTC vemukati. Ndakapedzisira ndazvigadzirisa zvishoma kuti ndibate zvirinani kugovera skrini uye kuve nechokwadi kuti ndaigona kurekodha ese ari kubuda uye anouya evhidhiyo hova. Kumhanya kwega kwega kwakandipa mafaera maviri evhidhiyo - imwe yezvakatumirwa uye imwe yezvakatambirwa - izvo zvandakashandisa gare gare kuongororwa-ne-parutivi.

webrtc-sandbox

Asi handina kumira pavhidhiyo. Ndaida kurondawo zvaiitika pasi pe hood. Nezve izvo, ndakadhonza yakadzama WebRTC stats zvakananga kubva kuChrome browser. Aya manhamba akandipa hwindo remabatiro akaita codec yega yega uye nemafambiro akaita network yakateedzerwa panguva yebvunzo yega yega.


Chimwe chidimbu chikuru chepuzzle chaive kushandiswa kweCPU - uye izvo zvakazove zvidiki. Chrome yakajairika vhezheni haitenderi maplugins kutarisa CPU mutoro kune ega matabo, saka ndakashandisa kusimudzira kuvaka kwebrowser uye ndakanyora yangu plugin kuti nditenderere ipapo.


Ini ndakanangana nekuyera mashandisirwo eCPU kubva kune iyo tab yaitumira kana kugamuchira iyo skrini yekugovana. Nenzira iyo, ini ndakabvisa zvisina hukama kupa mabasa kubva kune zvimwe zvikamu zvebrowser. Sezvo zvese kutumira uye kugamuchira zvakaitika mune imwechete tab, nhamba dzandakawana dzaive maonero akasanganiswa - asi zvichiri padyo nezvawaizoona mune chaiyo-nyika yekushandisa kesi. (Spoiler: encoding kazhinji inorova iyo CPU yakaoma kupfuura decoding.)

Kuunganidza Iyo Data: 157 Muedzo Unomhanya Gare gare...

Kamwe kuseta kwange kwagadzirira, yaive nguva yekumhanyisa izvo chaizvo zviedzo - uye ndakamhanya zvakawanda. Ndakadzokorora bvunzo pamushini mumwechete, kakawanda, ndichishandisa akasiyana network mamiriro uye macodec marongero kuti ndione kuti zvinhu zvakamira sei. Pakazara, ndakaunganidza 157 data mapoinzi , kuve nechokwadi chese musanganiswa wemamiriro ebvunzo akamiririrwa zvakanaka.


Izvi zvakandipa dhatabheti rakasimba rekushanda naro uye rakabvumira kumwe kudzika-dive ongororo mune maitiro ekugovana skrini muWebRTC pasi pemamiriro akasiyana. Izvi ndizvo zvandaiedza chaizvo:


  • Vhidhiyo Type :
    Ndakashandisa marudzi maviri ekugovera skrini kuratidza zviitiko zvekushandisa zvakajairika:
    • Yepamusoro-inofamba vhidhiyo - Chaiyo-yenyika tsoka ine matani epixel inoshandura yega furemu.
    • Auto-scrolled text - Zvizhinji zvinoonekwa zvakamira, asi zvine mapixels anochinja chinzvimbo semanyoro ezvinyorwa.
  • Codec :
    Ndakaedza mana anonyanya kufarirwa skrini-kugovera macodecs:
    • AV1
    • H.264
    • VP8
    • VP9
  • Network Bandwidth
    Sezvo bandwidth ichiita basa rakakura mumhando yevhidhiyo (kunyanya mukufona kwevhidhiyo), ndakateedzera akasiyana etiweki mamiriro kuti ndione kuti kodeki yega yega yakabata zvakasimba kana kuchinjika bandwidth.


Nekusanganisa uye nekufananidza izvi zvinosiyana nenzira yakarongeka, ndakakwanisa kutevedzera chaiyo-yepasirese yekugovanisa zvimiro - rudzi rwawaizosangana narwo parunhare rwevhidhiyo, panguva yedemo repamoyo, kana muchikamu chekudyidzana chiri kure.

Kugadzirisa maGlitches: Magadzirirwo andakaita kuti Miedzo Iwedzere Kuvimbika

Sezviyedzo zvakawanda, mashoma ekutanga anomhanya haana kufamba zvakanaka sezvandaitarisira. Matambudziko maviri makuru akauya pakarepo:

  1. Manual Kutanga = Messy Nguva. Pakutanga, ndaitanga kugovera skrini nemaoko - ndichidzvanya bhatani kuti ndibvise zvinhu. Dambudziko? Zvaive zvisingaite kuwiriranisa kutanga kwekurekodha nekutanga kwevhidhiyo zvirimo. Izvi zvaireva kuti bvunzo dzese dzekumhanya dzaive nenguva yakati siyanei, izvo zvakasiya kuenzanisa.
  2. Yakatumirwa vs. Yakagamuchirwa = Kunze kweKubatanidza. Kunyangwe iyo nguva yaive chaiyo, chaiyo-nguva vhidhiyo ine yayo quirks. Nekuda kwe encoding, decoding, uye kunonoka kwenetiweki, nzizi dzakatumirwa uye dzakagamuchirwa hadzina kumbomira zvakanaka. Izvi zvakaita kuti furemu-ne-furemu yemhando yekuenzanisa kuve isingaite.


Kuti ndigadzirise nyaya idzi, ndakagadzira akati wandei akakosha ekuvandudza:

  • Programmatic Syncing : Panzvimbo pekutanga nemaoko zvese, ndakanyora imwe kodhi kuwiriranisa kutanga kwevhidhiyo kana kupurudzira zvinyorwa nemaitiro ekurekodha. Nenzira iyo, bvunzo dzese dzakatanga panguva imwe chete pamativi ese - dambudziko rakagadziriswa.
  • QR Code Frame Matching : Kune iyo desync nyaya, ini ndakawedzera diki QR kodhi yakavharika kune yakagovaniswa vhidhiyo. Ichi chicherechedzo chidiki chakaita sechitambi chenguva - chakanditendera kuti ndienzanise mafuremu pakati peatumirwa uye akagamuchirwa nzizi nemazvo. Kamwe kamwe, furemu-ne-furemu yekuongorora yakave inogoneka (uye nzira yakanyatsojeka).

Paive nechimwezve chinhu chandaifanira kuzvidavirira: WebRTC's adaptive bitrate . Imwe yeWebRTC inotonhorera maficha ndeyekuti inogadzirisa otomatiki mhando yevhidhiyo zvichibva pane iripo bandwidth. Asi kugadzirisa ikoko hakuitike ipapo - zvinotora masekonzi mashoma kuti ugadzikane. Saka, ndakawedzera kunonoka kupfupi ndisati ndatanga kurekodha chaiko. Izvi zvakapa sisitimu nguva yekugadzika pane yakatarwa bitrate, saka mibairo yacho yaizoratidza iwo chaiwo mhando yawaizowana mushure mezvinhu kunyange kunze.


Shanduko idzi dzakaita kuti kuedza kuve kwakavimbika uye kwakandipa chivimbo chekuti data randaiunganidza rairatidza maitiro ekugovana skrini munyika chaiyo.

Zvandakayera (Uye Nei Zvichikosha)

Ndakaunganidza data rakawanda panguva yekuyedzwa uku, asi kuti ndichengetedze zvinhu zvakatwasuka uye zviri nyore kuenzanisa, ndakatarisa pane mashoma epakati metrics anonyatso taura nyaya yemabatiro anoita codec imwe neimwe mune yekugovana skrini.


Hezvino zvandakatarisa:

  • Frame Rate
    Izvi zvinondiudza kuti mafiremu mangani pasekondi akaiswa encoded, akatumirwa, uye akagashirwa. Chiratidzo chakanaka chekuti vhidhiyo yekuyerera inonzwa sei - yakakwira furemu chiyero kazhinji inoreva chiitiko chemvura.
  • Resolution
    Resolution ndeye zvese nezvekuti ingani ruzivo rwekuona rwakachengetwa. Ndakatsvaga nhamba yemapixels pafuremu padanho rega rega (rakatumirwa nekugashirwa) kuti ndione kana macodecs akabata pamhando yemufananidzo kana kuidonhedza kuchengetedza bandwidth.
  • Vhidhiyo Hunhu
    Ndakashandisa mashoma akakosha metrics pano:
    • Quantization Parameter (QP) - Iyo yakaderera QP inowanzoreva zvirinani mhando.
    • Peak Signal-to-Noise Ratio (PSNR) - Izvi zvinopa pfungwa yenhamba yekuti yakawanda sei iyo vhidhiyo yakagamuchirwa inosiyana kubva kune yekutanga. Higher = nani.
  • Kushandisa CPU
    Kuita kweCodec hakungori pamusoro pezvaunoona - zviri zvakare nezve izvo muchina wako uri kuita kuseri kwezviitiko. Ndakayera kuti ingani simba reCPU raishandiswa kukodha uye kudhirodha panguva yega yega bvunzo, yakajairwa nekufamba kwenguva, kuona kuti ndeapi macodecs akareruka uye ndeapi ari mahogi ezvekushandisa.


Nekutyora zvinhu nemametric aya, ndakakwanisa kuenzanisa macodec kwete pamhando chete, asiwo pakutsvedzerera, kushanda nesimba, uye kuti arikuda sei. Izvo zvakabatsira kuburitsa panopenya codec yega yega - uye painotamburira - mune chaiyo-yepasi skrini yekugovana mamiriro.

Pakupedzisira kuuya kune maResults

Yakawanda Sei Yemukati Rudzi Rune Basa? Zvakawanda Kupfuura Zvaungafunga

Chimwe chezvinhu zvinokatyamadza zvekutora kubva mukuedza kwangu kwaingova kuti rudzi rwemukati rwauri kugovera runokanganisa sei kugovera skrini - zvese maererano nemhando yevhidhiyo uye mashandisirwo ezviwanikwa. Uye ichi chaive chokwadi kune yega codec yandakayedza.


Pfungwa iri kumashure kwayo yakareruka: kana mamwe mapixels achichinja kubva pafuremu kuenda kune furemu (senge muvhidhiyo inokurumidza kufamba), sisitimu inofanirwa kushanda nesimba. Izvi zvinoreva kuti yakawanda bandwidth inodiwa, uye CPU yako inofanirwa kumhanyisa zvakanyanya kuti irambe iripo.


Tora AV1 , semuenzaniso. Pandakaishandisa kugovera 1.5-megapixel skrini, bandwidth inodiwa yaisiyana zvakanyanya zvichienderana nezvaigovewa. Mune imwe nyaya, uko zvirimo zvaive zvakanyanya kusimba, AV1 yaifanira kusundira zvakanyanya data kuti ichengetedze rukova. Ndakatora izvi mugirafu rinotevera , rinoratidza kuti kuomarara kwemukati kunokanganisa sei kushandiswa kwebandwidth.


Bitrate maringe neCPU kushandiswa kwemhando yemukati yeAV1 codec


Asi haisi bandwidth chete - hardware yako inozvinzwawo.


Iyo inotevera girafu inoratidza mashandisiro ekushandiswa kweCPU zvichienderana nezviri kugoverwa. Zvekare, uchishandisa AV1 semuenzaniso, unogona kuona zvakajeka kuti zvakanyanya kuomarara zvinoonekwa zvinoda simba rakawanda reCPU kuchengetedza zvinhu zvichimhanya pachiyero chakafanana uye kugadzirisa.

Avhareji yeFPS maringe neCPU yekushandisa pamhando yemukati yeAV1 codec

Ichi hachisi chinhu cheAV1 chete. Ese macodecs anovimba nemisimboti yakafanana yekukodha uye decoding vhidhiyo, saka ungatarisira kuti varatidze maitiro akafanana - asi iyo data inotaura imwe nyaya. Iyo CPU mutoro haungochinji nezviri mukati, zvakare inoshanduka zvichienderana nekuti ndeipi codec yauri kushandisa.


Kuita kuti izvi zvive nyore kuenzanisa, ndinoisa pamwe chete tafura inotevera , iyo inoratidza kuti yakawanda sei CPU yega yega codec inoshandiswa pakutepfenyura 1.5-megapixel vhidhiyo painotenderera makumi maviri nemana mafuremu pasekondi - yakanaka yakajairwa setup yekugovanisa skrini yakatsetseka. Mhedzisiro yacho inoburitsa mimwe misiyano mikuru pamashandiro anoita codec yega yega kana zvasvika pakushandisa Hardware yako.

Codec/CPU

AV1

H264

VP8

VP9

Motion

287%

213%

270%

364%

Text

175%

130%

179%

198%

Saka, kana iwe uri kuvaka kana optimize chimwe chinhu chinovimba neWebRTC skrini yekugovera, yekutora iri pachena: zvese zvirimo uye yako sarudzo yekodhi nyaya. Zvakawanda.

Codec Showdown: Frame Rates, CPU Load, uye Iwo Chaiwo Mutengo Wemhando

Kana zvasvika pakugovana skrini, chimwe chezvinhu zvekutanga zvaunoona ndechekuti yakatsetseka (kana kwete) iyo vhidhiyo inonzwa. Ndipo panopinda furemu rate . Kana urikugovera zviri pamusoro-soro, sekutambazve kwevhidhiyo kana maanimation, mwero wepamusoro we furemu wakakosha kuti udzivise kuyerera, kunetsa kuona.


Kune ichi chikamu chekuyedza, ini ndakatarisa pane furemu chiyero chekuita mumakodeki akasiyana ndichichengeta zvimwe zvese zvakagara: kugadziriswa kwakafanana (anenge 1.5 megapixels) uye zvakafanana zvirimo pabvunzo yega yega. Ndakashandisa contentHint WebRTC marongero kuti ndive nechokwadi chekuti resolution yakaramba yakakiyiwa mukati mebhodhi.


Mumufananidzo unotevera , unogona kuona mabatiro akasiyana macodecs anobata-high-motion content sezvo bandwidth inowedzera. Pa x-axis: bitrate muMbps. Pa y-axis: furemu chiyero mumafuremu pasekondi (fps).

Bitrate versus frame rate per codec for high-motion video at always resolution


Hezvino izvo zvakamira pachena:

  • H.264 neAV1 zvakadhonzera mberi kana bandwidth yarova 2 Mbps kana kudarika, zvese zvichiunza 20+ fps - chiitiko chakapfava chinogoneka kunyangwe pakubatana kwakanaka kwe3G.
  • VP8 uye VP9 haina kuramba zvakare. Ivo vakatenderedza inosvika hafu yechiyero chechimiro pasi pemamiriro akafanana, uye vainyatsoda 4 Mbps kana kupfuura kuti vanzwe kushandiswa - izvo zvisingawanzo kuitika pazasi-magumo network.


Ipapo ndakaenda kune yakaderera-inofamba zvemukati - peji inotenderera zvishoma nezvishoma - kuti ndione maitirwo emakodeki kana isiri yakawanda iri kuchinja pakati pemafuremu.


Zvisingashamisi, zvose H.264 neAV1 dzakatoita zviri nani pane izvi, neAV1 ichibuda pamusoro . Ndiko kutenda kune chinhu chinodaidzwa kuti Intra Block Copy , icho chinoita kuti AV1 isvetuke-encoding zvikamu zvescreen izvo zvisati zvachinja. Inoshanda zvinoshamisa kune static kana semi-static skrini yekugovera.


Mune girafu rinotevera , unogona kuona mabatiro anoita AV1 aya mamiriro ekufamba-famba, ichichengeta kushandiswa kwebandwidth zvakaderera zvakanyanya uku uchichengetedza mhando yepamusoro yekuona.

Bitrate versus frame rate per codec yekukwenya zvinyorwa nekugadziriswa nguva dzose


Asi ... pane kuchinjana.


AV1 inogona kukupa zvirinani zvinoonekwa uye compression, asi zvakare inodya yakawanda CPU . Mufananidzo unotevera unoratidza izvi zvakajeka: AV1's CPU kushandiswa kunokwira zvishoma nezvishoma sezvo bitrate ichiwedzera, ichipfuura H.264 nepfuti refu. H.264 ine bhenefiti hombe pano nekuda kwekupararira kwehardware acceleration , iyo inochengeta iyo CPU mutoro wakaderera uye wakagadzikana.

Bitrate maringe neCPU kushandiswa kwekodeki kune yakakwirira-inofamba vhidhiyo painogadziriswa nguva dzose


VP9 , zvinonakidza, inoshandisa kunyange yakawanda CPU kupfuura AV1 - ichitevera maitiro akafanana asi nepamusoro pepamusoro. Ose ari maviri VP9 uye AV1 anovimba neakaomesesa algorithms kuunza mhando yakanaka, asi izvo zvinouya nemubhadharo: iwo anorema mahitter pa processor yako.


Pakave nekumonyoroka pandakaongororazve zviri pasi-kufamba . Panguva ino, VP8 uye VP9 yakanyatso taridzika zvakanaka - kushandisa shoma CPU pane AV1, sezvakaratidzwa mugirafu rinotevera .

Bitrate maringe neCPU kushandiswa kwekodeki yega yega yekukwenya zvinyorwa nekugadziriswa nguva dzose


AV1, kunyangwe yakagadzirwa nekugovana skrini mundangariro, ichiri kushandisa yakanyanya CPU. Sei? Ese magadzirirwo ayo anoibatsira kudzvanya-yepamusoro-inofamba vhidhiyo inowedzera pamusoro - kunyangwe pasina zvakawanda zviri kuitika pachiratidziri.


Chikonzero chikuru cheizvi? AV1 ichiri kushaya yakapararira hardware encoding rutsigiro . Nepo decoding ikareruka, encoding ichiri kunyanya kuitwa musoftware - uye iro ibasa rakasimba reCPU, kunyanya muzviitiko zvenguva-chaiyo sekugovana skrini uko zvese encoding uye decoding zvinoitika nguva dzose.


Apa ndipo panowanikwa zvinhu zvekunyengerera kune inotakurika madivayiri senge malaptop uye mahwendefa. Pasina kukwidziridzwa kwehardware, macodecs seAV1 anogona kukurumidza kudonhedza simba uye hogi zviwanikwa - hazvina kunaka kana iwe uri munzira. Kusvikira zvirinani rutsigiro rwehardware rwawedzera kuwanda, AV1's advanced maficha anouya neinooneka mutengo wekuita.

Codecs uye Resolution: Chii Chinoitika Kana Iwe Unoisa Pamberi Rate Rate?

Kusvika pari zvino, mibairo yandakagovera yakabva kubvunzo dzakaita kuti sarudzo irambe iripo. Kana bandwidth yasvika yakasimba, sisitimu yaizopindura nekudzikisa chiyero - izvo zvine musoro kune zvinhu zvakaita senge static content kana zvinyorwa. Asi ko kana chinangwa chiri chekuti zvinhu zvifambe mushe , kunyangwe izvo zvichireva kuzvipira kugadzirisa?


Kuti ndiongorore izvi, ndakamhanyisa seti nyowani yezviyedzo uko WebRTC yakagadziridzwa kuisa pamberi peiyo furemu chiyero panzvimbo. Izvi zvakaitwa pachishandiswa contentHint marongero muWebRTC, iyo inoita kuti uudze bhurawuza chinonyanya kukosha - kugadzirisa kwepamusoro kana kufamba kwakatsetseka.


Ini ndakavavarira kubata furemu chiyero pane inowirirana 30 fps , iyo inozivikanwa zvakanyanya seyakanaka nzvimbo yekutarisa yakatsetseka, yakagadzikana. Kuwana izvo zvakagara zvakaoma - kutenderera kunoenderana kunoreva kuti panogara paine kuchinjika - asi mhedzisiro yacho yakapa nzwisiso yakakosha yekuti codec yega yega inobata sei kutengeserana uku.


Kubatsira kuongorora maitiro aya, ndakaunza metric itsva:

Yakatumirwa Pixels paSekondi = Frame Rate × Resolution


Izvi zvinopa mufananidzo wakazara pane kungotarisa paFPS kana kugadzirisa chete. Inoratidza kuti yakawanda sei data yekuona iyo codec iri kunyatso kuendesa pasekondi pasi pemamiriro akasiyana.


Yevhidhiyo inofamba-famba, AV1 yakabuda zvakare pamusoro - uye nemuchero unooneka. Kunyangwe pakaderera bitrate, yakakwanisa kufambisa zvakanyanya mapixels pasekondi kupfuura chero imwe codec. Izvi zvinoratidza pachena kuti AV1 inobata sei zvine simba zvemukati kana sisitimu iri pasi pekumanikidzwa kuchengetedza yakakwira furemu chiyero. Ndokumbira utarise girafu rinotevera :


Bitrate maringe neavhareji yakazara pixels pasekondi yega yega yevhidhiyo yakakwira-inofamba ine nguva dzose FPS


Pandakachinjira kune yakaderera-inofamba zvemukati - senge peji rewebhu rine zvinyorwa zvekupuruzira - nzvimbo yekutamba yakawedzera zvishoma. Kuita kwemacodecs ese kwakawedzera yunifomu sezvaungawana pamufananidzo unotevera . Nekudaro, AV1 ichiri nekutungamira , kunyanya pakakwirira bitrate. Kukwenenzvera kwayo kwakaibatsira kuchengetedza simba rekufambisa pasina kuwedzera zvakanyanya kushandisa zviwanikwa.


Bitrate maringe neavhareji yemapixels pasekondi yega yega yekupuruzira zvinyorwa neFPS inogara iripo


Zvose izvi zvinorevei mukuita?


Zvakanaka, kana kesi yako yekushandisa inosanganisira inochinja, yakakwirira-inofamba zvinoonekwa - senge vhidhiyo mafambiro, mhenyu mhenyu, kana mutambo kutenderera - kuisa pamberi peiyo furemu chiyero chinogona kuita mutsauko mukuru , uye AV1 inoratidza kuve inonyanya kugona munharaunda iyoyo.


Kunyangwe kune zviri kunonoka kufamba, AV1 inoramba ichiratidza simba. Kunyange mutsauko ungave mudiki, unogara uchikwanisa kutumira mamwe data rekuona - zvichireva kuti zvirinani mhando panguva imwechete kana yakaderera bandwidth - nekuda kwemaitiro ayo epamusoro ekumanikidza.


Muzviitiko zvese izvi, iyo "yakatumirwa pixels pasekondi" metric yakaratidza kubatsira pakunzwisisa kuti macodecs chiyero kugadzirisa uye furemu chiyero kana bandwidth ishoma. Uye kuita kweAV1 pasi peaya mamiriro anoisimbisa seyo inonyanya kugona sarudzo - chero system yako ichigona kubata zvimwe zveCPU zvinoda.

Mufananidzo Wakachena Sei? Ngatikurukurei PSNR

Kupfuura furemu mareti, kugadzirisa, uye kushandiswa kweCPU, pane chimwe chidimbu chakakosha chepikicha yekugovera chidzitiro: mufananidzo wakagamuchirwa unotaridzika padyo sei kune wekutanga? Ndipo panopinda Peak Signal-to-Noise Ratio (PSNR) .


PSNR ndiyo metric inoshandiswa zvakanyanya kuyera kunaka kwevhidhiyo yakamanikidzwa. Inokuudza kuti yakawanda sei kukanganisa - kana "ruzha" - yakaunzwa panguva yekukodha. Inopimwa muma decibels (dB) , uye mutemo wegunwe uri nyore: iyo yakakwirira, iri nani . A high PSNR zvinoreva kuti chifananidzo chinotaridzika chaizvo sechakatanga; zvibodzwa zvakaderera zvinoreva kuti pane kuderera kunoonekwa zvakanyanya.


Kuti ndiise izvi muchirevo, ndakaedza PSNR hunhu mumacodecs mune maviri akasiyana mamiriro: imwe uko kugadzirisa ndiko kunonyanya kukosha, uye imwe uko chiyero chinotungamira. Maedzo ese ari maviri akashandisa zvakafanana -yepamusoro-inofamba vhidhiyo yemukati kuti zvinhu zvirambe zvichienderana.


Bitrate maringe nePSNR pacodec ine inofamba hint yeyakakwira inofamba vhidhiyo

Mugadziriro iyi, uko kujeka ndiko kunonyanya kutariswa (kunyangwe kana vhidhiyo yacho ichipera zvishoma), H.264 yakanyatsoita zvakanaka , ichipa zviono zvakapinza nekukanganisa kushoma. Isarudzo yakasimba kana kutsvedzerera kusiri kunetsa.


Bitrate maringe nePSNR pacodec ine mavara anoratidza epamusoro-inofamba vhidhiyo

Kana chinangwa chichichinjika kuchengetedza kufamba kwemvura, AV1 inobuda pamberi , kunyanya pakakwirira bitrate. Iyo inokwanisa kuchengetedza mhando yemufananidzo kunyangwe ichimanikidza zvine hukasha kurova furemu chiyero.


Nepo misiyano yePSNR pakati pemakodeki isingawanzo shamisa, inosimbisa kutengeserana kwaunoita kana uchisarudza codec. Vamwe vanokoshesa kupinza; vamwe vanovavarira kufamba kwakatsetseka - uye zvichienderana nekesi yako yekushandisa, imwe inogona kunge yakakodzera pane imwe.


Ipapo ndakamhanyisa bvunzo dzakafanana zvakare, panguva ino ndichishandisa zvinyorwa zvakapepetwa - chimwe chinhu chinosimbisa kukosha kwekugadzirisa uye kujeka.


Bitrate maringe nePSNR pakodeki imwe neimwe ine fungidziro yekufamba kwekupuruzira zvinyorwa

Kana kufamba kuchiiswa pamberi, PSNR kukosha kune ese macodecs anotaridzika akafanana. Izvo zvirimo hazvisi kuchinja zvakanyanya, saka misiyano yekumanikidza nzira haina zvakanyanya kukanganisa pamhando yemufananidzo.


Bitrate maringe nePSNR pacodec ine mavara ekuratidza kupuruzira zvinyorwa

Apa ndipo panowanikwa zvinhu zvinonakidza. Nekugadziriswa sekukosha, AV1 inokwevera kumberi kwemamwe macodecs - kunyanya pakakwirira bitrate. Kuita kwayo pano kwakasiyana.


Sei? AV1 inosanganisira chaiyo optimizations yekubata static, inodzokorora zvemukati senge zvinyorwa. Izvi zvinoibvumira kuchengetedza yakakwirira mufananidzo kutendeka , kudzivirira zvigadzirwa, uye kumanikidza zvakanyanya. Izvi zvinoita kuti AV1 ive sarudzo yakanakisa yekushandisa makesi senge kugovera magwaro kana kodhi mafambiro - chero kupi kwakajeka, kuverengeka kunonyanya kukosha .


Muchidimbu, PSNR inobatsira kuratidza yakavanzika asi yakakosha dimension yemhando yekugovera skrini. Kunyangwe iwe uchiisa pamberi pekufamba kana kupinza, kunzwisisa maitiro emacodecs pasi pezvipingaidzo zvakasiyana kunoita kuti usarudze iyo yakakodzera yebasa racho.

Chii Chibvumirano neQP? Kunzwisisa Compression vs. Hunhu

Chimwe chinhu chakakosha mukugovanisa chimiro chemhando chinhu chinonzi Quantization Parameter , kana QP . Kana iwe wakambozvibvunza kuti chii chinodzora kuti yakawanda sei ruzivo inorasika panguva yekumanikidza, izvi ndizvo.


Nemashoko akapfava, QP inoudza encoder kuti anodzvanya sei vhidhiyo .

  • Iyo yakaderera QP inoreva kushoma kudzvanya uye nani mufananidzo mhando.
  • Iyo yakakwira QP inoreva kuwanda kwekumanikidza - iyo inochengetedza bandwidth, asi inogona kuita kuti vhidhiyo itaridzike zvakanyanya.


Nepo PSNR ichitipa mhedzisiro - huwandu hwemhando yemufananidzo hwakachengetwa - QP inotitaurira kuti encoder yaivavarira chii . Saka, ndakatarisa ari maviri.


Muchidzidzo ichi:

  • QP tsika dzakadhonzwa kubva kune yakajairwa WebRTC metrics.
  • PSNR yakayerwa mushure mechokwadi nekuenzanisa furemu yega yega yekutanga kune yayo yakagamuchirwa vhezheni.

Bitrate maringe neQP pakodheki imwe neimwe ine ratidziro yekufamba kwevhidhiyo inofamba


Apa ndipo pakazonakidza zvinhu. AV1 yaive neakanakisa zvibodzwa zvePSNR , zvichireva kuti yaichengetedza mhando yemifananidzo zvakanakisa - asi zvakare yaive nemhando dzeQP dzinokwira zvakapetwa kana kupfuura mamwe macodec. Izvozvo zvinoita sezvinopesana pakutanga pakuona.


Asi heino kubata: imwe neimwe codec inotsanangura uye inobata QP zvakasiyana , saka zvakakosha hazvifananidzwe zvakananga. A QP ye50 mune imwe codec hazvireve chiyero chakafanana chekutsikirira seQP yemakumi mashanu mune imwe.


Zvakadaro, maitiro eQP anotiudza chimwe chinhu chinobatsira. Pakati pese macodecs, ndakaona kuti sezvo bandwidth inowedzera, QP inoderera . Izvo zvine musoro - nekuwedzera bandwidth iripo, macodecs anogona kukwanisa kudzikisa compression uye kugadzirisa mufananidzo mhando.


Saka kunyangwe isu tisingakwanise kumisa nhamba dzeQP padivi nepadivi pamacodecs, ivo vachiri kuratidza kuti imwe neimwe codec inogadzirisa sei kudzvanya zvichienderana neanowanikwa network mamiriro.


Pazasi: QP haisi yemhando yepamusoro - ndeyekugadzika . Asi kuronda kuti inochinja sei ne bandwidth inopa nzwisiso inobatsira mune izvo encoder iri kuita kuseri kwezviitiko. Uye yakasanganiswa nePSNR, inopa mufananidzo wakazara weiyo codec maitiro.

Pfungwa dzekupedzisira: Zvinorevei Izvi Zvese kune WebRTC Screen Kugovera

Mushure mekunyura mukati mekuita kweWebRTC pasi pehodhi, chinhu chimwe chakajeka: haasi ese macodecs anogadzirwa akaenzana - uye sarudzo yakanakisa inoenderana nezvako zvekutanga uye nharaunda.


Heano maitiro akakosha ekutora kubva pane zvangu kuedza:

AV1: Yakanakisa Hunhu, Mutengo Wepamusoro

AV1 yaigara ichiunza yakanakisa mhando yekuona , ndingave ndanga ndichigovera vhidhiyo inofamba nekukurumidza kana kuti zvinyorwa zvishoma nezvishoma. Kutsikirira kwayo kwepamberi uye optimizations inoita kuti ishande zvinoshamisa - asi izvo zvinouya nemutengo. AV1 ine CPU-nzara , uye sezvo tsigiro yehardware ichiri kubata, haina kunaka kune yakaderera-powered kana nharembozha parizvino .

H.264: The Solid All-rounder

Kana iwe uchitsvaga chiyero pakati pekuita uye kugona , H.264 ichiri sarudzo huru. Inotsigirwa zvakanyanya, hardware-inokwidziridzwa pamapuratifomu mazhinji, uye inoita basa rakanaka munenge mune ese mamiriro - kunyanya kana system zviwanikwa kana hupenyu hwebhatiri chiri kunetseka.

Zvemukati Zvinokosha Kupfuura Zvaunofunga

Mhando yezvauri kugovera ine simba guru pakuita basa. Yepamusoro-inofamba vhidhiyo inoda nzira yakawanda kubva kuCPU yako uye bandwidth pane static zvemukati senge zvinyorwa kana zvinyorwa. Kusarudza iyo codec chaiyo - uye marongero akakodzera - ezvemukati mako anogona kuita mutsauko mukuru mumhando uye mashandisiro ezviwanikwa.

Kushandiswa kweCPU Haisi Ingori Manyoro

Nekuda kwetsika Chrome plugin yandakavaka, ndakakwanisa kuyera kushandiswa kweCPU nemazvo panguva yekugovera skrini. Mhedzisiro yacho yakaratidza misiyano mikuru mukudiwa kwekodeki yega yega , inova yakakosha panharembozha kana munzvimbo dzinonzwa simba.


Chii Chinotevera? Kwaigona Kuenda Iyi Tsvagiridzo

Kuedza uku kwakavhura musuwo kune mamwe matanho anotevera anofadza. Apa ndipo pandinofunga kuti basa remangwana rinogona kuita zvakatokura.

Kuedza paMobile Devices

Parizvino, bvunzo dzese dzakaitwa padesktop - asi kugovana skrini kwakangofanana (kana zvisiri zvimwe) pamafoni nemahwendefa . Kuyedza kuti macodec aya anoita sei panharembozha kwaizopa mufananidzo wakazara, kunyanya maererano nekupindura uye mashandisiro emagetsi.

Kushanda Kwesimba

Kutaura nezvesimba - macodecs haangopisa CPU, anopisa hupenyu hwebhatiri zvakare. Tsvagiridzo yeramangwana inofanirwa kuongorora kuti ndeapi macodecs anonyanya kushanda nesimba , kunyanya kune yakareba skrini yekugovana masesheni pamidziyo inotakurika.

AI-Powered Codec Tuning

Fungidzira kana WebRTC ichikwanisa kugadzirisa marongero ecodec zvichienderana nezvako zvazvino uye kumhanya kwenetiweki. AI inogona kuita kuti zviitike , iine simba kuwana chiyero chakakwana pakati pemhando uye kuita mune chaiyo-nguva.

Kuzviputira

Sarudzo yeCodec inopfuura kungoita sarudzo yehunyanzvi - inobata zvakananga kunaka, kutsvedzereka, uye kushandisa zviwanikwa kwechiitiko chako chekugovana skrini. Kunyangwe iwe uri kuvaka dhizaini yemusangano wevhidhiyo, chikuva chekushandira pamwe, kana kungokwenenzvera yako wega mafambiro ebasa, kunzwisisa maitiro aya macodec mumamiriro akasiyana kunogona kukubatsira kuita sarudzo dzakangwara, dzinoshanda.


Sezvo WebRTC ichiramba ichishanduka, ndizvo zvichaita maturusi uye matekiniki akaitenderedza. Ndinovimba kunyura kwakadzika uku kunobatsira vamwe kuti vanzwisise zviri kuitika kuseri kwezviratidziro - uye mawaniro ekuwana zvakanyanya kubva pakugovera kwavo skrini.

Unoda Kuongorora Iyo Data Pachako?

Kana muchida kuchera zvakadzika mumibairo kana kuita ongororo yenyu, ndaita kuti dhatabheti rizere kubva muchidzidzo ichi riwanikwe pano:


Dhawunirodha dataset paKaggle


Inosanganisira ma metrics akaomeswa echimiro chiyero, resolution, PSNR, QP, CPU kushandiswa, uye nezvimwe - zvese zvakarongwa necodec, zvemukati mhando, uye bandwidth mamiriro. Inzwa wakasununguka kuishandisa kuzviedza zvako, kuenzanisa, kana kungoongorora maitiro eWebRTC mumamiriro akasiyana.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks