Ang format ng pixel ay ang ayos ng bawat pixel sa raw picture data ng isang image o video. Sinasabi nito sa isang programa kung anu-anong color component ang nasa picture at ilang bits ang gamit ng mga ito.
Madalas ipinapakita sa mga ulat ng video ang field bilang pix_fmt, na may value na gaya ng yuv420p. Ipinapakita ng ganitong value ang color model, ang chroma subsampling, at ang bit depth. Ang color space ay hiwalay na field.
Aling mga file ang may taglay nito
Ilista ng programang ffprobe ng FFmpeg ang pix_fmt para sa bawat video stream. Saklaw nito ang mga file na MP4, MOV, MKV, at WebM.
Nag-uuulat din ng value ang mga image. Ibinibigay ng FFmpeg ang yuvj420p sa JPEG na may 4:2:0 sampling at rgb24 sa 8-bit RGB na PNG.
Ang audio file na may cover art ay puwede ring mag-ulat ng pixel format. Itinuturing ng FFmpeg ang larawang iyon bilang video stream.
Binabasa ng ExifTool ang tag na tinatawag na PixelFormat mula sa Windows HD Photo files (HDP at WDP). Ipinapakita nito ang mga value gaya ng 24-bit RGB at 8-bit Gray.
Kung ano ang hitsura ng mga halaga
Binubuo ng FFmpeg ang mga pangalan mula sa maiikling bahagi. Ang value na yuv420p10le ay may 5 bahagi:
yuv: ang color model. Y ay brightness, at U at V ang nagdadala ng kulay. Tinatawag ding Cb at Cr ang U at V, gaya sa YCbCr.420: ang sampling. Ang kulay ay may kalahati ng lapad at kalahati ng taas ng brightness data.p: planar. Bawat component ay may hiwalay na plane. Sa packed format, magkasama ang mga component sa isang array.10: ang bilang ng bits para sa bawat component. Ang value nayuv420pay walang numero rito at gumagamit ng 8 bits.le: ang byte order, little-endian. Ang hulapingbeay nangangahulugang big-endian.
Karaniwang mga halaga
Ang bawat numero sa ibaba ay ang average na bits per pixel sa raw picture data:
yuv420p: 12 bits, kulay sa kalahati ng lapad at kalahati ng taasyuv422p: 16 bits, kulay sa kalahati ng lapadyuv444p: 24 bits, kulay sa bawat pixelyuvj420p: 12 bits, ang layout ngyuv420pna may full range na ginagamit ng JPEGrgb24: 24 bits, packed na red, green, at bluergba: 32 bits, na may dagdag na alpha value para sa transparencygray: 8 bits, brightness langpal8: 8 bits, bawat value ay tumuturo sa isang palette color
Sa full range, ang 8-bit na brightness ay mula 0 hanggang 255. Sa limited range, ito ay mula 16 hanggang 235. Inirerekomenda ng FFmpeg ang hiwalay na range field sa halip ng mga pangalang yuvj.
Kung saan nagmumula ang halaga
Ang programang nag-e-encode ng stream ang nagdedesisyon ng pixel format. Sa FFmpeg, pinipili mo ito gamit ang option na -pix_fmt.
Karaniwan, hindi naka-store sa file ang pangalan mismo. Binubuo ng nagbabasa na programa ang pangalan mula sa naka-store na detalye.
Para sa H.264, ginagamit ng FFmpeg ang bit depth at chroma format sa stream header. Para sa PNG, ginagamit ng FFmpeg ang bit depth at color type sa image header.
Bakit ito mahalaga para sa iyong file
Itinatakda ng pixel format ang laki ng raw picture data. Ang isang rgb24 frame ay may 24 bits per pixel, at ang yuv420p frame ay may 12. Saka iko-compress ng mga codec ang data na ito, kaya hindi ibinibigay ng mga numerong ito ang final na laki ng file.
Itinatakda rin ng pixel format kung gaano karaming detalye ng kulay ang mananatili sa file. Mas maraming detalye ng liwanag kaysa ng kulay ang nakikita ng mata ng tao, kaya kaunti lang ang nakikitang pagkawala sa 4:2:0.
Kapag kino-convert mo ang 4:2:0 sa 4:4:4, kinakalkula ng programa ang nawawalang sample mula sa mga kalapit na sample. Nananatiling wala ang detalye ng kulay na inalis ng 4:2:0.
Ang H.264 profile ay isa pang dahilan para suriin ang value. Sinusuportahan ng Main at High profile ang 8-bit na kulay na may 4:2:0 sampling.
Ang H.264 stream sa yuv444p o yuv420p10le ay nangangailangan ng mas mataas na profile. Ayon sa mga patakaran ng HLS ng Apple, kailangan ang H.264 na nasa High profile o mas mababa. Inirerekomenda ng YouTube ang High profile na may 4:2:0 para sa uploads.