CodeKitHub
Күнделікті құралдар

Бейнені нақты файл өлшеміне дейін сығымдау

Соңғы жаңарту:

Бұл құрал бейнені сіз таңдаған файл өлшеміне дейін кішірейтеді — 8 МБ, 25 МБ немесе кез келген өзіндік сан — қажетті нақты битрейтті есептеп, тікелей браузеріңізде жұмыс істейтін ffmpeg көмегімен қайта кодтау арқылы (ffmpeg.wasm арқылы), сондықтан бейне серверге ешқашан жүктелмейді. Есептеу стандартты бейне кодтау формуласын қолданады (мақсатты битрейт = мақсатты өлшем ÷ ұзақтық) — бұл Handbrake-тың өз құжаттамасы өлшемі шектелген кодтаулар үшін ұсынатын тәсіл. Discord-тың тегін тарифіндегі 8 МБ жүктеу шегіне тап болсаңыз, 8 МБ дайын параметрін қолданыңыз; электрондық пошта провайдері үлкен тіркемені қабылдамаса, 25 МБ (Gmail шегі) дайын параметрін қолданыңыз; басқа жағдайларда өзіндік мақсатты енгізіңіз.

Бұл құрал не істейді?

Мақсатты өлшемге арналған бейне сығымдағыш бейнені таңдалған файл өлшеміне жетуге қажетті кез келген битрейтпен қайта кодтайды, болжанбайтын өлшем беретін жалпы 'сапа' жүгірткісінің орнына. Бұл айырмашылық шек басқа біреу белгілегенде маңызды — Discord-тың тегін тарифінің тіркеме шегі 8 МБ, ал көптеген электрондық пошта провайдерлері, соның ішінде Gmail, тіркемелерді 25 МБ-пен шектейді — бейненің қалай көрінетініне емес.

Бұл құрал бейненің ұзақтығын өлшейді, мақсатты өлшем үшін жалпы битрейт бюджетін есептейді, осы бюджетті бейне мен аудио ағындары арасында бөледі және браузер қойындысында толығымен жұмыс істейтін ffmpeg.wasm — ашық көзді FFmpeg кодтауышының WebAssembly құрастырмасы — көмегімен қайта кодтайды. Ештеңе жүктелмейді; кодтау сіздің құрылғыңызда жүреді.

Оны неге пайдалану керек?

  • 100% жергілікті: бейне файлы құрылғыңыздан ешқашан кетпейді — серверге жүктеу жоқ, хостинг квотасынан туындайтын өлшем шегі жоқ.
  • Нақты шектеулерге арналған: 8 МБ (Discord тегін тарифі) және 25 МБ (Gmail/көптеген электрондық пошта провайдерлері) бір рет басу дайын параметрлері, сонымен қатар кез келген басқа шек үшін өзіндік өлшем өрісі.
  • Болжаудың орнына битрейт пен ұзақтықтың стандартты формуласын қолданады, нақты нәтиже мақсатыңыздан сирек асатындай сақтық қорымен.
  • Кодтау кезінде тікелей прогресс жолағы — ffmpeg.wasm өңдеуі ұзағырақ клиптер үшін біраз уақыт алуы мүмкін, сондықтан ол тоқтап қалмай, жұмыс істеп жатқанын әрдайым білесіз.
  • Сығымдаудан кейінгі нақты шығыс өлшемін көрсетеді, сондықтан оны басқа жерге жүктемес немесе тіркемес бұрын шекке сәйкес келетінін растай аласыз.

Оны қалай пайдалану керек

  1. Бейнеңізді жүктеу үшін жүктеу аймағын басыңыз (немесе файлды сүйреп апарыңыз) — құрал алдымен оның өлшемі мен ұзақтығын оқиды.
  2. Мақсатты таңдаңыз: Discord үшін 8 МБ, электрондық пошта/Gmail үшін 25 МБ немесе МБ-пен өзіндік өлшемді енгізіңіз.
  3. Compress video (Бейнені сығымдау) түймесін басып, прогресс жолағын бақылаңыз — кодтау браузеріңізде жүреді және бейненің ұзақтығы мен құрылғыңызға байланысты бірнеше секундтан бірнеше минутқа дейін уақыт алуы мүмкін.
  4. Ол аяқталғанда, хабарланған шығыс өлшемін тексеріп, содан кейін Download (Жүктеп алу) түймесін басыңыз.

Мысал

Енгізу

clip.mp4 — 42 МБ, 0:35 ұзақтық

Нәтиже

clip-8MB.mp4 — 7.6 МБ

Мақсат 8 МБ (Discord) болды; құрал 35 секундтық клип үшін ~1.5 Мбит/с бейне битрейтін есептеп, 10% сақтық қорымен кодтады және шектен төмен, орын қалдырып жетті.

Мақсатты битрейт қалай есептеледі

Негізгі формула қарапайым: жалпы битрейт (кбит/с) = мақсатты файл өлшемі (килобитте) ÷ ұзақтық (секунд). Құрал осы есептеуге дейін байт бюджетіне шамамен 10% сақтық қорын қолданады, содан кейін бейне битрейтіне жету үшін резервтелген аудио битрейтін (әдетте 128 кбит/с, өте кіші мақсаттар үшін аудио тар бюджетті тым көп жеп қоймас үшін 96 немесе 64 кбит/с-қа дейін төмендейді) алып тастайды. Сол бейне битрейті ffmpeg-тің кодтауышына қатты шекпен (`-maxrate`) және буфер өлшемімен (`-bufsize`) бірге беріледі, сондықтан күрделі қозғалыстың қысқа серпіндері мақсаттан асып кетпейді.

Осы дайын параметрлерді дәл қолданатындар үшін бір бірлікті түрлендіру мәселесі маңызды: Discord-тың '8 МБ' сияқты платформа жүктеу шектері жалпы алғанда екілік мегабайттар (1 МБ = 1 048 576 байт, кейде MiB деп аталады), сақтау мен тасымалдау шектері әдетте қалай көрсетілетініне сәйкес. Бұл құралдың байт бюджеті есептеуі әдейі сақ — ол мақсатты бюджет үшін кішірек, қатаңырақ 1000 негізіндегі мегабайтты қолданады және оның үстіне сақтық қорын қосады — сондықтан нәтиже 'МБ'-тың кез келген түсіндірмесі бойынша шектен төмен қалады.

Жалпы платформалар үшін мақсатты таңдау

Қай шек қолданылатынына сенімді болмасаңыз, платформа берген қате хабарламасын тексеріңіз — көпшілік тіркеме өлшемі туралы бас тартулар нақты шекті көрсетеді, оны тікелей өзіндік мақсат ретінде енгізуге болады.

Межелі орынӘдеттегі шекҰсынылатын мақсат
Discord (тегін тариф)Тіркемеге 8 МБ8 МБ дайын параметрі
Discord NitroТарифке байланысты 50–100 МБӨзіндік өлшем
Gmail / көптеген электрондық пошта провайдерлеріХабарламаға 25 МБ25 МБ дайын параметрі
Slack (тегін жұмыс кеңістігі)1 ГБ (бірақ үлкен файлдар жүктеуді баяулатады)Өзіндік өлшем, қаласаңыз ғана

Өз сынағымыздан

Біз FFmpeg-пен командалық жолда синтетикалық сынақ клипін жасадық (реалистік көп мегабайтты бастапқы файл шығару үшін ~800 кбит/с-та кодталған, тон аудиосы бар 12 секундтық 1280×720 бейне) және оны осы құрал арқылы 8 МБ Discord дайын параметрін мақсат етіп өткіздік. Шығыс күткендей 8 МБ-тан төмен болды, бұл битрейт есептеуі мен сақтық қорының тек қағаздағы формуламен ғана емес, нақты кодтаумен де дұрыс жұмыс істейтінін растайды.

Жиі қойылатын сұрақтар

Менің бейнем қайдағы бір жерге жүктеле ме?

Жоқ. Сығымдау браузер қойындысында орындалатын FFmpeg-тің WebAssembly құрастырмасы ffmpeg.wasm көмегімен жүреді. Бейне файлы жергілікті оқылады және серверге ешқашан жіберілмейді — тіпті бет пен оның қозғалтқышы бір рет жүктелгеннен кейін интернеттен ажыратылуға болады.

Неге алғашқы сығымдау басталуға біраз уақыт алады?

Құрал сессияда алғаш рет сығымдау жасаған кезде ffmpeg.wasm қозғалтқышын (шамамен 30 МБ) жүктейді. Осы бастапқы жүктеуден кейін, сол беттегі келесі сығымдаулар бірден басталады.

Шығыс әрдайым менің мақсатты өлшемімнен төмен бола ма?

Құрал сақтық қорын резервтейді (нақты битрейт бюджеті таңдаған өлшеміңіздің шамамен 90%-ын мақсат етеді), себебі нақты кодтауыштар әр кадрда дәл битрейтке жете бермейді. Сирек жағдайда шығыс сәл асып кетсе, көбірек қор қосу үшін кішірек өзіндік мақсатты таңдаңыз — құрал бұл орын алса, сізді ескертеді.

Неге Discord үшін нақты 8 МБ?

Discord-тың тегін (Nitro емес) тарифі файл жүктеулерін тіркеме үшін 8 МБ-пен шектейді; Nitro жазылушылары тарифке байланысты жоғарырақ шектерге (50 МБ немесе 100 МБ) ие болады. 8 МБ дайын параметрі көпшілік тап болатын тегін тариф шегін мақсат етеді.

Неге электрондық пошта үшін 25 МБ?

25 МБ — Gmail-дің тіркеме шегі және басқа ірі провайдерлер арасындағы жалпы шектеу. Провайдеріңіздің шегі басқаша болса, оның орнына өзіндік өлшем өрісін қолданыңыз.

Сығымдау бейне сапасына зиян тигізе ме?

Иә, міндетті түрде — түпнұсқадан әлдеқайда кіші файл өлшеміне жету төмен битрейтті білдіреді, бұл детальділікті азайтады және әсіресе жылдам қозғалыс немесе жоғары детальді сахналарда байқалатын сығымдау артефактілерін тудыруы мүмкін. Құрал мақсатты өлшем рұқсат ететін сапаны барынша жоғары ұстау үшін битрейт бөлінісін (бейне мен аудио арасында) автоматты түрде таңдайды, бірақ 8 МБ-ге дейін мәжбүрлі түрде кішірейтілген 42 МБ клип түпнұсқадан айтарлықтай жұмсақ көрінеді.

Ол қандай бейне және аудио форматта шығарады?

Шығыс әрдайым H.264 бейнесі мен AAC аудиосы бар MP4 болып табылады — Discord, электрондық пошта клиенттері және көптеген әлеуметтік платформалар үшін ең кең үйлесімді комбинация.

Ұқсас құралдар