Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Bagian kadua: Kumaha codec video jalan

Raster naon waé gambar bisa digambarkeun salaku matriks dua diménsiLamun datang ka kelir, ide bisa dimekarkeun ku tempo gambar salaku matriks tilu diménsi, nu dimensi tambahan dipaké pikeun nyimpen data pikeun tiap warna.

Lamun urang nganggap warna ahir salaku kombinasi tina nu disebut warna primér (beureum, héjo jeung bulao), dina matrix tilu diménsi urang nangtukeun tilu planes: kahiji pikeun beureum, kadua pikeun héjo sarta panungtungan pikeun biru.
Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar
Urang bakal nelepon unggal titik dina matrix ieu piksel (unsur gambar). Unggal piksel ngandung émbaran ngeunaan inténsitas (biasana salaku nilai numerik) unggal warna. Salaku conto, piksel beureum ngandung harti yén éta ngandung 0 héjo, 0 biru jeung beureum maksimum. Piksel pink bisa ngawujud ku ngagabungkeun tilu kelir. Ngagunakeun rentang numerik ti 0 nepi ka 255, piksel pink dihartikeun salaku Beureum = 255, Héjo = 192 и Bulao = 203.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Tulisan ieu diterbitkeun kalayan dukungan EDISON.

Kami ngembang aplikasi pikeun panjagaan video, streaming video, sarta ogé kami kalibet rekaman video di kamar bedah.

Métode alternatif pikeun ngodekeun gambar warna

Aya loba model sejen pikeun ngagambarkeun kelir nu nyieun hiji gambar. Contona, Anjeun bisa make hiji palette indéks, nu merlukeun ngan hiji bait keur ngagambarkeun unggal piksel, tinimbang tilu diperlukeun ku model RGB. Modél ieu ogé ngamungkinkeun anjeun ngagunakeun matriks 2D tinimbang matriks 3D pikeun ngagambarkeun unggal warna. Ieu ngaheéat mémori, tapi hasil dina gamut warna nu leuwih leutik.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

RGB

Contona, tingali gambar di handap ieu. Beungeut kahiji pinuh warna. Anu sanésna nyaéta pesawat beureum, héjo, sareng bulao (inténsitas warna anu sami dipidangkeun dina skala abu).

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Kami ningali yén nada beureum dina aslina aya di tempat anu sami dimana bagian anu paling terang tina raray kadua katingali. Samentara éta, kontribusi biru utamana katingali ngan dina panon Mario urang (rupa final) jeung elemen papakéan na. Catet yén dimana sadaya tilu pesawat warna nyumbang paling saeutik (bagian anu paling poék dina gambar) aya dina kumis Mario.

Nyimpen inténsitas unggal warna merlukeun sajumlah bit - nilai ieu disebut jero bitHayu urang nyebutkeun 8 bit (dumasar kana nilai ti 0 nepi ka 255) spent dina hiji pesawat warna. Lajeng urang boga jero warna 24 bit (8 bit * 3 R / G / B planes).

sipat séjén gambar éta resolusi, nyaéta jumlah piksel dina hiji diménsi. Mindeng dilambangkeun salaku lebar × jangkungna, sapertos di handap dina conto gambar 4 ku 4.
Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

sipat sejen urang nungkulan nalika gawé bareng gambar / video nyaeta rasio aspék, nu ngajelaskeun hubungan sabanding normal antara rubak jeung jangkungna hiji gambar atawa piksel.

Nalika jalma nyarios yén pilem atanapi gambar anu tangtu nyaéta 16 ku 9, aranjeunna biasana hartosna rasio aspék tampilan (Dar - tina Rasio Aspék Témbongkeun). Sanajan kitu, sakapeung meureun aya bentuk béda tina piksel individu - dina hal ieu urang ngobrol ngeunaan rasio piksel (tara - tina Rasio Aspék Piksel).

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Catetan ka ibu rumah tangga: DVD соответствует DAR 4 nepi ka 3

Sanajan resolusi sabenerna DVD nyaéta 704 × 480, éta tetep ngajaga rasio aspék 4:3 sabab tara 10:11 (704 × 10 / 480 × 11).

Muhun, tungtungna, urang bisa nangtukeun видео salaku runtuyan n pigura pikeun période waktu, nu bisa dianggap hiji diménsi tambahan. A n mangka éta laju pigura atawa jumlah pigura per detik (FPS - tina Pigura per Detik).

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Jumlah bit per detik diperlukeun pikeun mintonkeun video nyaeta na speed transmisi - bitrate.

bitrate = lebar * jangkungna * bit jero * pigura per detik

Contona, video 30 fps, 24 bit per piksel, 480x240 resolusi bakal merlukeun 82,944,000 bit per detik atawa 82,944 Mbps (30x480x240x24) - tapi éta lamun euweuh metoda komprési dipaké.

Lamun laju transmisi ampir konstan, mangka disebut laju mindahkeun konstan (CBR - tina laju bit konstan). Tapi ogé bisa rupa-rupa, bisi nu disebut laju bit variabel (VBR - tina laju bit variabel).

Grafik ieu nembongkeun VBR kawates, dimana teu loba teuing bit anu wasted dina kasus pigura lengkep poék.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Mimitina, insinyur ngembangkeun metode pikeun ngagandakeun laju pigura anu ditanggap tina tampilan pidéo tanpa nganggo rubakpita tambahan. Metoda ieu katelah video interlaced; dasarna, eta ngirimkeun satengah layar dina munggaran "pigura" jeung satengah sejenna dina salajengna "pigura".

Kiwari, rendering pamandangan biasana dilakukeun nganggo téknologi scanning progresifIeu mangrupikeun metode pikeun ningalikeun, nyimpen, atanapi ngirimkeun gambar anu gerak dimana sadaya garis dina unggal pigura digambar sacara berurutan.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Muhun, éta! Ayeuna urang terang kumaha gambar diwakilan sacara digital, kumaha warnana terstruktur, sabaraha bit per detik anu diperyogikeun pikeun nampilkeun pidéo, naha éta dina laju bit konstan (CBR) atanapi laju bit variabel (VBR). Kami ogé diajar ngeunaan résolusi anu dipasihkeun nganggo laju pigura anu dipasihkeun, sareng kami parantos akrab sareng seueur istilah sanésna, sapertos pidéo interlaced, PAR, sareng sababaraha anu sanés.

Ngahapus redundansi

Éta ogé dipikanyaho yén pidéo anu teu dikomprés teu mungkin dianggo leres. Pidéo lila-jam dina résolusi 720p sareng 30 pigura per detik bakal nyandak 278 GB. Nilai ieu kahontal ku cara ngalikeun 1280 x 720 x 24 x 30 x 3600 (lebar, jangkungna, bit per piksel, FPS, jeung waktu dina detik).

pamakean algoritma komprési lossless, kawas DEFLATE (dipaké dina PKZIP, Gzip, jeung PNG), moal cukup ngurangan rubakpita diperlukeun. Métode komprési pidéo sanés kedah dipendakan.

Jang ngalampahkeun ieu, urang bisa ngamangpaatkeun peculiarities visi urang. Urang ngabedakeun kacaangan hadé ti warna. Pidéo nyaéta sakumpulan gambar berurutan anu diulang deui dina waktosna. Beda antara pigura padeukeut tina adegan tunggal leutik. Saterusna, unggal pigura ngandung loba wewengkon ngagunakeun warna anu sarua (atawa sarupa).

Warna, kacaangan sareng panon urang

Panon urang langkung peka kana kacaangan tibatan warna. Anjeun tiasa ningali ieu nyalira ku ningali gambar ieu.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Upami anjeun henteu ningali yén warna kuadrat dina satengah kénca gambar A и B Lamun kuadrat sabenerna idéntik, éta normal. Otak urang ngajantenkeun urang langkung nengetan cahaya sareng kalangkang tibatan warna. Di sisi katuhu, di antara kuadrat, aya sasak tina warna anu sarua-jadi urang (otak urang) gampang nangtukeun yen aranjeunna sabenerna warna anu sarua.

Hayu urang nempo saderhana kumaha panon urang jalan. Panon mangrupa organ kompléks nu diwangun ku sababaraha bagian. Nanging, urang paling resep kana rod sareng congcot. Panon ngandung kira 120 juta rod jeung 6 juta congcot.

Hayu urang nganggap persepsi warna jeung kacaangan salaku fungsi misah tina bagian husus panon (dina kanyataanana, hal anu rada leuwih kompleks, tapi urang bakal simplify). Sél rod utamana jawab kacaangan, sedengkeun sél congcot jawab warna. Congcot dibagi jadi tilu rupa, gumantung kana pigmén anu dikandungna: S-cones (biru), M-cones (héjo), jeung L-cones (beureum).

Kusabab urang boga leuwih loba rod (luminance) ti congcot (warna), bisa dicindekkeun yén urang téh hadé bisa ngabedakeun transisi antara poék jeung lampu ti kelir.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Fungsi sensitipitas kontras

Panaliti dina psikologi ékspérimén sareng seueur widang sanésna parantos ngembangkeun seueur téori ngeunaan visi manusa. Salah sahijina disebut fungsi sensitipitas kontrasAranjeunna aya hubunganana sareng katerangan spasial sareng temporal. Pondokna, aranjeunna nujul kana sabaraha parobahan diperlukeun saméméh panitén notices eta. Catetan bentuk jamak tina kecap "fungsi". Ieu kusabab urang tiasa ngukur pungsi sensitipitas kontras sanés ngan ukur pikeun gambar hideung-bodas tapi ogé pikeun gambar warna. Hasil tina percobaan ieu nunjukkeun yén, dina kalolobaan kasus, panon urang leuwih sénsitip kana luminance ti warna.

Kusabab dipikanyaho yén urang langkung sénsitip kana kacaangan gambar, urang tiasa nyobian nganggo kanyataan ieu.

Model warna

Kami parantos nutupan sakedik cara damel sareng gambar warna nganggo rohangan warna RGB. Aya model sejen, teuing. Hiji model anu misahkeun luminance ti chrominance katelah YCbCrKu jalan kitu, aya model sejen anu nyieun division sarupa, tapi urang ngan bakal mertimbangkeun ieu.

Dina modél warna ieu Y — mangrupikeun perwakilan kacaangan, sareng dua saluran warna dianggo: Cb (biru euyeub) jeung Cr (beureum jenuh). YCbCr bisa diturunkeun tina RGB, sarta transformasi sabalikna oge mungkin. Ngagunakeun modél ieu, urang bisa nyieun gambar full-warna, sakumaha katingal di handap:

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Ngarobih antara YCbCr sareng RGB

Aya anu tiasa ngabantah: kumaha tiasa kéngingkeun sadaya warna upami héjo henteu dianggo?

Pikeun ngajawab patarosan ieu, urang bakal ngarobah RGB kana YCbCr. Urang bakal ngagunakeun koefisien diadopsi dina standar. BT.601, anu disarankeun ku unit ITU-RDivisi ieu nangtukeun standar video digital. Contona: naon 4K? Naon kedahna laju pigura, résolusi, sareng modél warna?

Kahiji, hayu urang ngitung luminance nu. Urang bakal nganggo konstanta anu diusulkeun ku ITU sareng ngagentos nilai RGB.

Y = 0.299R + 0.587G + 0.114B

Sakali kami gaduh kacaangan, urang misahkeun warna biru sareng beureum:

Cb = 0.564(B - Y)

Cr = 0.713(R - Y)

Sareng urang ogé tiasa ngarobih deui sareng janten héjo nganggo YCbCr:

R = Y + 1.402Cr

B = Y + 1.772Cb

G = Y - 0.344Cb - 0.714Cr

Ilaharna, tampilan (monitor, TV, layar, jsb) ngan ngagunakeun model RGB. Sanajan kitu, model ieu bisa diatur ku cara béda:

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Subsampling warna

Kalayan gambar anu digambarkeun salaku kombinasi luminance sareng chrominance, urang tiasa ngamangpaatkeun sensitipitas sistem visual manusa anu langkung ageung kana luminance tibatan chrominance ku cara ngahapus inpormasi sacara selektif. Chroma subsampling nyaéta métode encoding gambar anu ngagunakeun résolusi nu leuwih handap pikeun chrominance ti pikeun luminance.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Sabaraha anu ditampi pikeun ngirangan résolusi warna?! Tétéla tos aya sababaraha skéma anu ngajelaskeun kumaha carana ngadamel résolusi sareng ngahiji (Warna Akhir = Y + Cb + Cr).

schemes ieu katelah sistem subsampling sarta dinyatakeun salaku rasio 3-melu - a:x:y, nu nangtukeun jumlah sampel luminance jeung sinyal béda warna.

a - standar sampling horizontal (biasana sarua jeung 4)
x - Jumlah sampel warna dina baris kahiji piksel (resolusi horizontal relatif ka a)
y - Jumlah parobahan dina sampel warna antara baris kahiji jeung kadua piksel.

Pangecualian nyaéta 4:1:0, nyadiakeun hiji sampel kroma dina unggal blok résolusi luminance 4x4.

Skéma umum anu dianggo dina codec modéren:

  • 4:4:4 (tanpa subsampling)
  • 4:2:2
  • 4:1:1
  • 4:2:0
  • 4:1:0
  • 3:1:1

YCbCr 4:2:0 - conto ngagabungkeun

Ieu mangrupikeun sempalan gambar anu dihijikeun nganggo YCbCr 4:2:0. Catet yén kami ngan ukur nganggo 12 bit per piksel.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Ieu mangrupikeun gambar anu sami anu disandikeun sareng jinis utama subsampling kroma. Baris kahiji nyaéta YCbCr final, baris handap nembongkeun resolusi chroma. Ieu mangrupikeun hasil anu cukup terhormat, nimbangkeun kaleungitan sakedik dina kualitas.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Inget kumaha urang ngitung 278 GB spasi disk diperlukeun pikeun nyimpen hiji file video lila-jam dina resolusi 720p sarta 30 fps? Upami urang nganggo YCbCr 4:2:0, ukuran éta bakal dipotong satengah janten 139 GB. Masih jauh tina katarima.

Anjeun tiasa ngahasilkeun histogram YCbCr sorangan nganggo FFmpeg. Dina gambar ieu, biru leuwih dominan ti beureum, nu jelas katempo dina histogram sorangan.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Warna, Caang, sareng Warna Gamut - Review Video

Abdi nyarankeun pisan ningali pidéo anu saé ieu. Ieu ngécéskeun naon kacaangan jeung bener meunang sagala titik sakuliah. ё ngeunaan kacaangan sareng warna.

Muterkeun video

Jinis pigura

Hayu urang ngaléngkah. Hayu urang cobaan pikeun ngaleungitkeun redundancy temporal. Tapi ke heula, hayu urang ngartikeun sababaraha terminologi dasar. Anggap urang gaduh pilem sareng 30 pigura per detik. Ieu opat pigura munggaran:

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Kami ningali seueur pengulangan dina pigura: contona, latar biru, anu tetep sami ti pigura ka pigura. Pikeun alamat ieu, urang abstrak bisa mengklasifikasikan kana tilu jenis pigura.

I-frame (Intro Frame)

Hiji I-pigura (pigura rujukan, keyframe, atawa intraframe) nyaeta timer ngandung. Henteu paduli naon anu kedah ditingali, pigura-I dasarna mangrupikeun poto statik. Pigura kahiji biasana mangrupa I-pigura, tapi urang bakal rutin ningali I-pigura dina pigura tebih ti mimiti.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Pigura P (PBingkai diredik)

Pigura-P (pigura prediktif) ngamangpaatkeun kanyataan yén gambar ayeuna ampir salawasna bisa dihasilkeun maké pigura saméméhna. Contona, dina pigura 2, hijina robah nyaéta bal maju. Urang bisa ménta pigura 2 ku saukur ngaropéa pigura 1 rada, ngagunakeun ukur bédana antara dua pigura. Pikeun ngawangun pigura 2, urang ngarujuk kana pigura 1 sateuacana.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: DasarKumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Pigura B (Bi-predictive Frame)

Kumaha upami ngarujuk henteu ngan ukur pigura katukang, tapi ogé pigura ka hareup, pikeun mastikeun komprési anu langkung saé?! Ieu dasarna naon a B-pigura (pigura bidirectional).

Kumaha carana sangkan hiji video codec jalan? Bagian 1: DasarKumaha carana sangkan hiji video codec jalan? Bagian 1: DasarKumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Kaluaran panengah

Jenis pigura ieu dipaké pikeun mastikeun komprési pangalusna. Urang bakal ngabahas kumaha ieu jalanna dina bagian salajengna. Pikeun ayeuna mah, dicatet yén I-pigura anu paling memori-intensif, P-pigura nyata langkung mirah, sarta B-pigura mangrupa pilihan pang éfisiénna pikeun video.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Redundansi temporal (prediksi interframe)

Hayu urang pertimbangkeun pilihan anu sayogi pikeun urang pikeun ngaminimalkeun pangulangan waktos. Urang bakal alamat tipe redundansi ieu ngagunakeun métode prediksi silih.

Hayu urang cobian nyéépkeun sakedik-gancang pikeun ngodekeun réntétan pigura 0 sareng 1.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Urang bisa ngahasilkeun pangurangan, Urang saukur subtract pigura 1 ti pigura 0. Simkuring meunang pigura 1, tapi urang ngan ngagunakeun bédana antara eta jeung pigura saméméhna, sarta dina kanyataanana urang ngan encode sésana hasilna.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Tapi kumaha upami kuring nyarioskeun ka anjeun yén aya metode anu langkung saé, anu ngagunakeun bit anu langkung sakedik?! Kahiji, hayu urang megatkeun pigura 0 kana grid rapih tina blok. Lajeng, hayu urang coba mun cocog blok ti pigura 0 jeung pigura 1. Dina basa sejen, hayu urang estimasi gerak antara pigura.

Ti Wikipédia - santunan gerak blok

Kompensasi gerak blok ngabagi pigura ayeuna kana blok anu henteu tumpang tindih sareng vektor kompensasi gerak nyarioskeun ti mana blok asalna (salah anggapan umum nyaéta yén saméméhna Pigura dibagi kana blok non-tumpang tindih, sarta vektor santunan gerak nunjukkeun dimana blok ieu pindah. Kanyataanna, sabalikna bener-éta lain pigura saméméhna anu dianalisis, tapi nu salajengna, nangtukeun teu dimana blok pindah, tapi ti mana asalna. Ilaharna, blok aslina tumpang tindih dina pigura aslina. Sababaraha algoritma komprési vidéo ngumpul pigura ayeuna ti bagian teu ngan hiji, tapi sababaraha pigura saméméhna dikirimkeun.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Dina prosés évaluasi urang ningali yén bal geus pindah ti (x= 0, y=25) dina (x= 6, y=26), peunteun x и y nangtukeun véktor gerak. Léngkah séjén anu tiasa urang lakukeun pikeun ngahémat bit nyaéta ngan ukur ngodekeun bédana véktor gerak antara posisi blok anu terakhir sareng anu diprediksi, janten véktor gerak ahirna nyaéta (x=6-0=6, y=26-25=1).

Dina kaayaan nyata bal ieu bakal dibagi kana n blok, tapi ieu teu ngarobah hakekat zat.

Objék dina pigura gerak dina tilu diménsi, ku kituna balna ngalir, éta bisa muncul leuwih leutik (atawa leuwih badag lamun nuju ka arah panempo). Biasana pikeun blok-blok henteu sajajar. Ieu gambar komposit perkiraan kami sareng lukisan anu saleresna.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Tapi urang nempo yén lamun urang ngagunakeun estimasi gerak, aya nyata kirang data pikeun encoding ti nalika ngagunakeun métode basajan tina ngitung délta antara pigura.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Naon bakal santunan gerak nyata kasampak kawas?

Téhnik ieu dilarapkeun ka sadaya blok sakaligus. Mindeng, bal gerak imajinér urang bakal dibeulah jadi sababaraha blok sakaligus.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Anjeun tiasa ngalaman konsép ieu diri ngagunakeun jupyter.

Pikeun ningali vektor gerak, anjeun tiasa nyiptakeun pidéo nganggo prediksi éksternal ffmpeg.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Anjeun oge bisa make Intel Video Pro Analyzer (Éta mayar, tapi aya uji coba gratis anu dugi ka ngan sapuluh pigura munggaran).

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Redundansi spasial (ramalan internal)

Lamun urang nganalisis unggal pigura dina video, urang bakal manggihan loba wewengkon interconnected.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Hayu urang leumpang ngaliwatan conto ieu. Adegan ieu lolobana biru jeung bodas.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Ieu hiji I-pigura. Urang teu bisa make pigura saméméhna keur prediksi, tapi urang bisa niiskeun eta. Urang bakal encode pilihan blok beureum urang. Upami urang ningali tatanggana, urang perhatikeun sababaraha tren warna di sakurilingna.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Urang nganggap yén kelir dina pigura disebarkeun vertikal. Ieu ngandung harti yén warna piksel anu teu dipikanyaho bakal ngandung nilai tatanggana.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Prediksi ieu tiasa janten lepat. Éta pisan sababna naha urang kedah nerapkeun métode ieu (prediksi internal) lajeng ngurangan nilai sabenerna. Ieu bakal masihan urang blok sésa-sésa, anu bakal ngahasilkeun matriks anu langkung dikomprés dibandingkeun sareng aslina.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Upami anjeun hoyong latihan sareng prediksi intra, anjeun tiasa nyiptakeun pidéo nganggo blok makro sareng prediksina nganggo ffmpeg. Pikeun ngartos harti unggal warna blok, anjeun kedah konsultasi kana dokuméntasi ffmpeg.

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Atanapi anjeun tiasa nganggo Intel Video Pro Analyzer (sakumaha anu kuring disebutkeun di luhur, versi percobaan gratis dugi ka 10 pigura anu munggaran, tapi éta bakal cekap pikeun anjeun ngamimitian).

Kumaha carana sangkan hiji video codec jalan? Bagian 1: Dasar

Bagian kadua: Kumaha codec video jalan

sumber: www.habr.com

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster