Ọ̀rọ̀ ìtúmọ̀

Kí ni B-Frames nínú fídíò?

B-frame jẹ fireemu fídíò tí ó lè lo fireemu tó ti kọjá àti ti tó ń bọ̀ lẹ́yìn. Kọ́ ẹ̀kọ́ bí B-frames ṣe ń ṣiṣẹ́ àti ìtumọ̀ iye Has B Frames nínú fáìlì rẹ.

b-frames

B-frame jẹ́ fireemu fídíò tó lè lo fireemu kan tó wà ṣáájú àti ẹlòmíì tó wà lẹ́yìn láti kọ àwòrán rẹ̀. B túmọ̀ sí bidirectional. B-frames ń fún ní ìfípamọ́ síi ju irú fireemu mìíràn lọ, èyí ló ràn lọ́wọ́ láti jẹ́ kí fídíò kékeré.

Nínú metadata fáìlì fídíò, o lè rí pálá kan tí a ń pè ní Has B Frames, tí a tún máa ń kọ sí has_b_frames. Orúkọ rẹ̀ dà bíi ìbéèrè béèni tàbí béẹkọ, ṣùgbọ́n iye rẹ̀ jẹ́ nọ́mbà. Nọ́mbà yìí ń sọ fún ọ mélòó ni fireemu tí decoder gbọ́dọ̀ lè pa mọ́ nínú ìrántí láti fi fídíò hàn ní ìtẹ̀síwájú tó tọ́.

Bí B-frame ṣe yàtọ̀ sí I-frame àti P-frame

Ìfípamọ́ fídíò sábà máa ń ṣiṣẹ́ nípa fífi àwọn fireemu wé ara wọn kí ó sì ṣàkọsílẹ̀ ìyàtọ̀ láàárín wọn. Fídíò MPEG-2 yà àwọn irú fireemu mẹ́ta yìí sọ́tọ̀:

  • I-frame: a kóòdù láì tọ́ka sí àwọn fireemu míì, nítorí náà ìtumọ̀ lè bẹ̀rẹ̀ níbí
  • P-frame: lè lo I-frame tàbí P-frame tó ti wá ṣáájú
  • B-frame: lè lo I-frame tàbí P-frame tó wà ṣáájú àti tó wà lẹ́yìn

B-frame lè dá lórí fireemu kan tó máa wá lẹ́yìn lọ́jọ́ọ́jọ́, nítorí náà a gbọ́dọ̀ kọ́kọ́ pa fireemu tó wà lẹ́yìn yẹn mọ́. Ìlànà tí a ti pa a mọ́ yàtọ̀ sí bí o ṣe rí i lórí iboju. Àtòjọ̀ MPEG-2 àpẹẹrẹ sábà máa rí báyìí:

  • Bí wọ́n ṣe ń fi hàn: B1 B2 I3 B4 B5 P6 B7 B8 P9 B10 B11 P12
  • Bí wọ́n ṣe pa a mọ́ sílùú: I3 B1 B2 P6 B4 B5 P9 B7 B8 P12 B10 B11

Bá ìyẹn ṣe rí

Has B Frames jẹ́ nọ́mbà àkúnya. FFmpeg ń ṣàlàyé iye yìí gẹ́gẹ́ bí ìwọn àpò ìtúnṣètò fireemu nínú decoder. Fún fídíò MPEG-2, FFmpeg sọ àwọn iye méjì:

  • 0: fídíò pẹ̀lú ìfarapa díẹ̀ péré, pẹ̀lú I-frames àti P-frames nìkan
  • 1: fídíò pẹ̀lú I-frames, P-frames, àti B-frames

Àwọn encoder H.264 àti HEVC tún lè pa díẹ̀ lára B-frames mọ́ gẹ́gẹ́ bí àtọ́ka fún àwọn fireemu míì. Àwọn fáìlì ìdánwò FFmpeg fún H.264 ń fi hàn bí èyí ṣe ń yí iye padà. Orúkọ fáìlì ń fi àtúntò encoder hàn:

  • Ó pọ̀jù jù B-frames mẹ́ta lọ lẹ́yìn ara wọn, kò sí ẹnìkan tí a fi sílẹ̀ gẹ́gẹ́ bí àtọ́ka: 1
  • Ó pọ̀jù jù B-frames mẹ́ta lọ lẹ́yìn ara wọn, díẹ̀ ni a fi sílẹ̀ gẹ́gẹ́ bí àtọ́ka: 2
  • Ó pọ̀jù jù B-frames mẹ́rin lọ lẹ́yìn ara wọn, díẹ̀ ni a fi sílẹ̀ gẹ́gẹ́ bí àtọ́ka: 2

Nítorí náà iye yìí kì í ṣe kańtìtì B-frames. Ètò ffprobe ń fi irú kọọkan fireemu hàn gẹ́gẹ́ bí iye pict_type: I, P, tàbí B. Pálá NB Frames ń fi kańtìtì gbogbo fireemu hàn, ṣùgbọ́n kì í sọ irú wọn.

Nibo ni iye ti wa

Orúkọ pálá náà wá láti ọdọ FFmpeg, tí ètò ffprobe rẹ̀ fi has_b_frames hàn fún àwọn sísàn fídíò. Sísàn H.264 lè sọ nọ́mbà náà sínú àkòrí tirẹ̀. Bí àkòrí náà kò bá sọ nọ́mbà náà, FFmpeg máa yọ ọ jáde láti inú àwọn fireemu àti àsìkò wọn.

Àtúntò encoder ló ń pinnu bóyá fídíò máa lo B-frames. Nínú FFmpeg àti nínú encoder Microsoft H.264, àtúntò 0 máa ń pa B-frames déédé.

Àwọn fáìlì wo ló rú u

Pálá yìí wà fún àwọn sísàn fídíò nìkan. O lè rí pálá yìí fún fídíò nínú fáìlì MP4, MOV, MKV, WebM, àti AVI. Fáìlì MOV pẹ̀lú àwọn fireemu tí a tún ṣètò tún ń pa tábìlì kan mọ́ pẹ̀lú àsìkò láàárín ìtumọ̀ àti fífi kọọkan fireemu hàn.

Codec ló ń pinnu bóyá B-frames ṣeé ṣe. Fídíò MPEG-2 àti profáìlì H.264 Main lè lo wọn, ṣùgbọ́n profáìlì H.264 Baseline kò lè. VP8, codec tí a fi n ṣiṣẹ́ nínú fáìlì WebM, kò ní B-frames rárá, nítorí pé àwọn fireemu rẹ̀ kì í ṣe amíkan láti ọwọ́ àwọn fireemu tó wá lẹ́yìn.

Idi ti o fi ṣe pataki

B-frames ń ràn lọ́wọ́ láti jẹ́ kí fídíò kékeré, ṣùgbọ́n wọ́n ń fi ìfarapa kún un. Encoder gbọ́dọ̀ tún ṣètò àwọn fireemu kí ó tó pa á mọ́, ìfarapa yìí sì dá lórí mélòó ni B-frames tó wà lẹ́yìn ara wọn.

Fídíò tí a tún ṣètò ní àsìkò tún ní àsìkò méjì fún kọọkan fireemu: àsìkò tí a máa túmọ̀ fireemu àti àsìkò tí a máa fi hàn. FFmpeg ń fi méjèèjì hàn gẹ́gẹ́ bí timestamps nínú time base sísàn náà.