NB Frames túmọ̀ sí iye àwọn frame nínú sísan kan ṣoṣo (stream) ti fáìlì fídíò tàbí ohun. Àwọn lẹ́tà NB dúró fún "number". FFmpeg àti ètò rẹ̀ ffprobe ń pè pápá yìí ní nb_frames.
Fáìlì kan lè ní ọ̀pọ̀ sísan (stream), tí sísan kọọkan sì ní iye NB Frames tirẹ̀. Fáìlì tí ó ní sísan fídíò kan àti sísan ohun kan ní ìdí èyí, ní ìṣírò méjì lọ́tọ̀. NB Streams sì jẹ́ iye míì: ó ń kà áwọ̀n sísan inú fáìlì, kì í ṣe àwọn frame inú sísan kan ṣoṣo.
Kí ni frame jẹ
Nínú sísan fídíò, frame jẹ́ àwòrán kan ṣoṣo tí kò ń rìn lára fídíò. Nínú sísan ohun, itúmọ̀ rè dá lórí fọ́máátì.
Nínú AIFF, sample frame kan ní àpẹẹrẹ kan fún ọkọọkan ikanni ohun. Nínú MP3, frame jẹ́ àpótí ńlá jù lọ, FFmpeg sì máa pọ̀ iye frame pọ̀ mọ́ iye àpẹẹrẹ nínú frame kan láti rí gígùn rẹ̀. Nítorí náà, ìwọ kì í lè fi ìṣírò ohun láti fọ́máátì kan wé ìṣírò fọ́máátì míì taara.
Bá ìyẹn ṣe rí
Iye náà jẹ́ nọ́ńbà gígùn nígbà tí a bá mọ̀ ó. Àwọn iye wọ̀nyí ni ó farahàn nínú kóòdù, ìtọnisọna, àti àbájáde ìdánwò FFmpeg:
708: ìṣírò fún sísan fídíò kan nínú ọ̀kan nínú àwọn fáìlì ìdánwò FFmpeg.1: ìṣírò fún àwòrán kan ṣoṣo tí kò ń rìn (still image) nínú fáìlì HEIC.0: iye tí ojú-ọ̀nà ìkóòdù FFmpeg (programming interface) máa lò nígbà tí a kò bá mọ̀ nọ́ńbà náà.N/A: ọ̀rọ̀ tí àtújáde àṣàlàyé (default output) ffprobe máa tẹ̀ jáde nígbà tí iye bá jẹ́ 0. Nínú àtújáde JSON àti XML rẹ̀, a kì í fi pápá yìí hàn rárá.
Iye 0 tàbí N/A, tàbí pápá tí ó ṣòfo, kì í sọ fún ọ pé sísan náà ṣofo. Iye náà kan ń sọ pé FFmpeg kò ṣètò ìṣírò kankan sínú pápá yìí.
Nibo ni iye ti wa
NB Frames máa ń wá láti inú ètò fáìlì fúnra rẹ̀, nítorí náà FFmpeg kì í nílò láti kà gbogbo frame. Ìbùdó ìtẹ̀síwájú rẹ̀ dá lórí fọ́máátì:
- MP4 àti MOV: FFmpeg máa ṣàkójọ iye àpẹẹrẹ (sample) nínú tábìlì time-to-sample, èyí tí ó jẹ́ atom
stts. - AVI: FFmpeg máa kà nọ́ńbà 32-bit láti orí header sísan, èyí tí ó jẹ́ chunk
strh. - AIFF: FFmpeg máa kà pápá
numSampleFramesláti Common Chunk. - WAV, MP3, FLAC, àti MKV: àwọn oníkawé (reader) FFmpeg fún àwọn fọ́máátì wọ̀nyí kì í ṣètò iye náà, nítorí náà àtújáde àṣàlàyé ffprobe máa tẹ̀
N/Ajáde.
Fáìlì MKV kan ṣì lè ní ìṣírò kan lábẹ́ orúkọ míì. Ètò mkvmerge máa kọ́ àmi (tag) tí a ń pè ní NUMBER_OF_FRAMES fún ọkọọkan òpó (track).
Bí o ṣe lè kà àwọn frame
NB Frames kan ń tún nọ́ńbà tí ó wà nínú ètò fáìlì náà ṣe. Nọ́ńbà yìí kò jẹ́ ẹ̀rí pé gbogbo frame náà wà nínú fáìlì gan-an. Fáìlì ìdánwò MOV kan nínú FFmpeg tọju ìṣírò 708, ṣùgbọ́n ffprobe kà àpótí (packet) 66 nìkan àti frame 65 láti inú fáìlì yẹn.
Láti wò ó gẹ́gẹ́ bí ìṣírò gidi, ṣiṣẹ́ ffprobe pẹ̀lú àṣàyàn -show_streams àti -count_frames. Ètò ffprobe yóò túmọ̀ (decode) sísan náà, yóò sì jabo abájáde nínú pápá míì, nb_read_frames. Òun yìí máa gba àkókò púpọ̀ síi, nítorí ffprobe gbọ́dọ̀ túmọ̀ gbogbo frame.
Lo ìṣàyẹ̀wò yìí fún àwọn sísan fídíò. Nínú fáìlì AIFF, ffprobe máa kà àwọn àpótí tí a ti túmọ̀ tí ọkọọkan ń rú ọ̀pọ̀ sample frame, nítorí náà àwọn nọ́ńbà méjèèjì yóò yàtọ̀ paápàá nínú fáìlì tí ó pé tán.
Àṣàyàn -count_packets, tí a tún máa ń lò pẹ̀lú -show_streams, máa kà àwọn àpótí (packet) láì túmọ̀ wọn, yóò sì jabo abájáde nínú nb_read_packets. Àpótí fídíò sábà máa ní frame tí a ti kó dí (compressed) kan ṣoṣo, ṣùgbọ́n àpótí ohun lè ní ọ̀pọ̀.
Idi ti o fi ṣe pataki
Fún sísan fídíò kan, ìṣírò frame pẹ̀lú gígùn àkókò jọ ń fún ọ ní frame rate àpapọ̀. Oníkawé MP4 àti MOV FFmpeg máa ń ṣe iṣírò ìtẹ̀síwájú yìí láti inú ìṣírò frame àti gígùn àkókò. Nínú fáìlì ìdánwò kan náà, 708 frame lórí ìsẹ́jú-ààyá 23.613333 jẹ́ nípa 29.98 frame ní ìsẹ́jú-ààyá kan.
Ìṣírò náà tún ràn ọ lọ́wọ́ láti ṣàyẹ̀wò fáìlì fídíò kan. Bí ìṣírò tí a wò gangan bá lọ́ọ̀rùn kékeré gan-an ju ìṣírò tí fáìlì náà tọju lọ, apá kan ti data fídíò lè ti sọnù.