Ang timestamp ay hindi isang unibersal na numero ng frame
Ang isang video player ay naglalantad ng oras sa ilang segundo. Ang pagtatakda ng kasalukuyang oras ng elemento ng media ay humihiling sa browser na hanapin ang puntong iyon sa timeline. Ang browser ay nagde-decode ng sapat na data upang magpakita ng available na frame malapit sa hiniling na oras. Tinutukoy ng HTMLMediaElement currentTime documentation ang seek interface, ngunit hindi ito nangangako ng stable na source-frame index sa bawat codec at container.
Para sa patuloy na 30 FPS media, ang isang nominal na frame ay tumatagal ng humigit-kumulang 1 / 30 segundo, o 0.0333 segundo. Iyon ay nagiging intuitive ng 1/30-segundong nudge. Para sa 24, 25, 29.97, 60, o variable-frame-rate na media, ang parehong nudge ay isang maliit na hakbang lamang. Maaari itong gumalaw ng higit sa isang presentation frame, dumapo sa parehong ipinapakitang frame, o maglantad ng frame na ang pagitan ng timestamp ay naiiba sa average.
Samakatuwid, inilalarawan ng VideoToImg ang kontrol nito bilang isang 1/30-segundong siko sa halip na mangako ng isang orihinal na frame para sa bawat pinagmulan. Ang pagkakaibang ito ay mahalaga para sa reproducible QA, siyentipikong obserbasyon, legal na ebidensya, at animation timing.
Bakit nakakaapekto ang mga keyframe sa paghahanap
Karamihan sa paghahatid ng video ay naka-compress sa buong panahon. Ang isang keyframe ay naglalaman ng isang self-contained na larawan, habang ang pagsunod sa mga inter-frame ay kadalasang naglalarawan ng mga pagbabago na nauugnay sa mga naunang na-decode na larawan. Upang ipakita ang isang frame sa 37.4 segundo, maaaring kailanganin ng isang decoder na maghanap ng mas naunang keyframe at mag-decode pasulong hanggang sa maabot nito ang hiniling na oras ng pagtatanghal.
Ang mga kalat-kalat na keyframe ay maaaring gawing mas mabagal ang random na paghahanap, lalo na sa isang mahaba o mataas na resolution na file. Maaari rin nilang ilantad ang mga problema sa browser o file-index na itinatago ng normal na forward playback. Ang MDN video codec guide ay nagpapaliwanag kung paano nakakaapekto ang inter-frame compression at pana-panahong keyframe sa pag-playback at pagbawi ng artifact.
Ang isang naantalang paghahanap ay hindi katibayan na na-upload ng tool ang file. Ang mga lokal na file ay na-decode pa rin ng mga browser media API sa kasalukuyang tab. Ang oras ng pag-decode ay depende sa istraktura ng pinagmulan, device, pagpapatupad ng codec, at distansya mula sa isang kapaki-pakinabang na random-access point.
Gumamit ng isang nauulit na eksaktong-frame na daloy ng trabaho
- Malawakang hanapin ang eksena. Kuskusin o maglagay ng timestamp malapit sa aksyon, pagkatapos ay hintaying mag-update ang preview.
- Suriin ang parehong direksyon. Sikulong paatras at pasulong sa ilang maliliit na hakbang. Ihambing ang posisyon ng paksa, focus, motion blur, caption, at interface state.
- I-record ang oras ng media. Panatilihin ang ipinapakitang timestamp kasama ang na-export na larawan o sa iyong tala sa pagsusuri. Ang isang filename lamang ay maaaring hindi mapanatili ang sapat na konteksto.
- I-export muna sa lapad ng pinagmulan. I-downscale lang kapag ang panghuling paggamit ay may alam na laki ng display. Ang pag-resize ay hindi mabawi ang nawawalang detalye sa ibang pagkakataon.
- Piliin ang output sa paligid ng mga pixel. Iniiwasan ng PNG ang isang karagdagang lossy still-image na hakbang; Ang JPG ay compact para sa mga photographic na eksena; Ang WebP ay kapaki-pakinabang para sa modernong paghahatid sa web.
- I-verify ang kritikal na ebidensya nang nakapag-iisa. Ang tool sa screenshot ng browser ay angkop para sa visual na pagpili, hindi isang pamalit para sa forensic decoder na nag-uulat ng eksaktong pagkakakilanlan ng frame at mga timestamp ng presentasyon.
Ang pare-pareho at variable na frame rate ay nangangailangan ng ibang wika
Ang patuloy na frame-rate na video ay naglalayong para sa mga frame na pantay-pantay, kahit na ang mga karaniwang rate tulad ng 29.97 ay nangangailangan pa rin ng tumpak na makatwirang timing. Nagbibigay-daan ang variable-frame-rate na video na magbago ang mga tagal ng presentasyon. Maaaring gumamit ng variable timing ang mga pag-record ng screen, mga tool sa kumperensya, at telepono upang umangkop sa mga kundisyon ng content o pagkuha.
Ang paghahati ng timestamp sa isang ina-advertise na average na FPS ay maaaring makabuo ng isang maginhawang pagtatantya, hindi isang authoritative frame number. Ang dalawang frame ay maaaring magkaroon ng hindi pantay na tagal, at ang isang nadoble o na-drop na presentasyon ay maaaring makaapekto sa kaugnayan sa pagitan ng oras at ordinal na posisyon.
Kapag ang isang daloy ng trabaho ay nangangailangan ng isang pahayag tulad ng 'frame 1,248 ng naka-encode na stream,' siyasatin ang file gamit ang isang tool na naglalantad ng mga timestamp ng packet at frame. Kapag ang gawain ay 'i-save ang pinakamalinaw na larawan sa paligid ng 41.2 segundo,' ang visual na pagpili ng browser ay karaniwang ang mas direktang paraan.
Mag-diagnose ng mali, itim, o lipas na frame
Ang isang itim na imahe malapit sa dulo ng isang file ay maaaring mangyari kapag ang hiniling na oras ay lumampas sa huling na-decodable na frame kahit na ang container ay nag-uulat ng bahagyang mas mahabang tagal. Maglipat ng kaunting halaga nang mas maaga at subukang muli. Ang isang lipas na imahe pagkatapos ng paghahanap ay maaaring magpahiwatig na ang pag-decode ay hindi pa nakumpleto; maghintay para sa estado ng preview sa halip na kumuha sa panahon ng isang transition.
Kung isang file lang ang nabigo, paghinalaan ang codec, mga index, timestamp, o sirang media data nito. Kung nabigo ang bawat file sa isang browser, subukan ang isang kasalukuyang bersyon ng browser at isang maliit na kilalang H.264 MP4 o WebM file. Kung nabigo ang isang direktang URL habang gumagana ang na-download na lokal na kopya, malamang na hangganan ang cross-origin na pahintulot o ang malayuang tugon.
Ang codec at container guide ay nagbibigay ng mas kumpletong diagnostic sequence. Mag-ulat ng mga maaaring muling gawin sa hello@videotoimg.com nang hindi nagpapadala ng pribadong media.
Alamin kung ano ang maaari at hindi maaaring baguhin ng pag-export ng larawan
Pagkatapos magpakita ng frame ang browser, iguguhit ng tool ang na-decode na larawan sa isang canvas at hihilingin sa browser na mag-encode ng blob ng imahe. Inilalarawan ng dokumentasyon ng canvas toBlob ang still-image na hakbang na ito sa pag-encode. Ang pagpapalit ng PNG, JPG, o WebP ay makakaapekto sa bagong file ng imahe, hindi sa na-decode na detalye ng pinagmulan.
Hindi maibabalik ng PNG ang motion blur, error sa focus, chroma subsampling, mababang bitrate, o nakaraang video compression. Kinokontrol lang ng kalidad ng JPG ang karagdagang tradeoff ng pag-encode ng JPEG. Ang mas maliit na maximum na lapad ay nagpapababa sa mga sukat ng pixel at memorya o bigat ng file, ngunit dapat itong piliin para sa nilalayon na display sa halip na ituring bilang isang pag-upgrade ng kalidad.
Buksan ang exact frame extractor kapag visual selection ang layunin, pagkatapos ay gamitin ang image format guide bago mag-export ng malaking batch.