Optimizarea Video pentru Incarcare

Incarcarea lectiilor video si limita de 1 GB. Cum optimizati fisierul inainte de upload, ce se intampla cu metadatele si cand are sens HLS in loc de un singur MP4.

Acest ghid acopera pregatirea fisierului, adica ce faceti inainte de a-l incarca. Pentru pasii efectivi de adaugare a videoclipului in platforma, vedeti ghidul Centralizarea Bibliotecii Video.

Pe scurt

  • Dimensiune maxima: 1 GB per videoclip.
  • Nu facem transcodare si nu recomprimam fisierul. Ce incarcati este exact ce vor viziona cursantii.
  • Materialul filmat direct cu telefonul este, aproape intotdeauna, mult prea mare. Optimizarea o faceti dumneavoastra, inainte de incarcare, iar mai jos aratam exact cum.
  • Sunt mai multe moduri sa optimizati fisierul: un program gratuit ca HandBrake (cel mai simplu si recomandarea noastra), un tool online de comprimare (exista, dar nu il recomandam ca prima varianta), sau manual din terminal cu FFmpeg (control maxim). Detalii mai jos.
  • Recomandarea pentru majoritatea oamenilor: exportati un singur fisier MP4 la 1080p (H.264 + AAC). Este suficient pentru aproape orice continut de tip e-learning.
  • Fisierele filmate cu telefonul contin si coordonatele GPS ale locului unde ati filmat. Comanda recomandata mai jos le elimina.
  • Daca aveti nevoie de mai multe niveluri de calitate, puteti construi un pachet HLS si il incarcati pe acela.

De ce exista limita de 1 GB

Cand incarcati pe YouTube, TikTok sau Instagram, puteti trimite un fisier de 25 GB si totul pare sa functioneze. In spate, platformele acelea trec fisierul printr-o ferma de transcodare: il recodifica intr-o intreaga scara de variante de calitate, de la 2160p pana la 240p, apoi le impacheteaza pentru streaming adaptiv. Player-ul alege automat varianta potrivita in functie de conexiunea privitorului. Fisierul original nu este niciodata cel vizionat efectiv, el ramane doar un master.

Noi functionam altfel. Suntem o platforma de gazduire, nu un transcoder. Fisierul pe care il incarcati este exact fisierul pe care il livram fiecarui cursant, octet cu octet. Asta inseamna:

  • Nicio pierdere de calitate dintr-o recodificare pe care nu ati cerut-o si nu o puteti controla.
  • Fara coada de procesare, videoclipul este disponibil imediat dupa incarcare.
  • Compromisurile de codificare le decideti dumneavoastra, nu noi.

Dar inseamna si ca efectele unui fisier supradimensionat se rasfrang asupra cursantilor, nu asupra facturii noastre de stocare. O lectie de 45 de minute filmata la 4K nu inseamna calitate inalta pentru cineva care o urmareste pe Wi-Fi-ul unui hotel, inseamna tamponare permanenta. Limita de 1 GB este o bariera de siguranta: daca un fisier depaseste 1 GB, aproape sigur nu este pregatit pentru streaming si trebuie optimizat inainte de a fi publicat.

Cat cantareste, de fapt, materialul brut

Telefoanele inregistreaza la rate de biti de captura, gandite pentru montaj, nu pentru livrare online:

Sursa Dimensiune aproximativa / minut Cat incape in 1 GB
iPhone 1080p / 30 fps (HEVC) ~65 MB ~15 min
iPhone 1080p / 60 fps ~100 MB ~10 min
iPhone 4K / 30 fps (HEVC) ~170 MB ~6 min
iPhone 4K / 60 fps ~400 MB ~2,5 min
Android 4K (H.264, variaza mult) ~300-375 MB ~3 min
Inregistrare de ecran, 1080p, setari implicite OBS/Zoom ~20-60 MB 20-50 min

Prin comparatie, un videoclip de e-learning codificat corect la 1080p, cu prezentator in cadru sau screencast cu slide-uri, se situeaza la aproximativ 10-25 MB pe minut. Acolo trebuie sa ajungeti.

De ce se comprima atat de bine

Prima reactie a oricui vede o reducere de 8 ori este suspiciunea, dar telefonul nu va da un fisier de calitate maxima, ci un fisier de captura, iar intre cele doua este o diferenta uriasa:

  • Cadrele vecine sunt aproape identice. Codecurile moderne stocheaza un cadru complet la cateva secunde, iar pentru restul retin doar diferentele fata de ce a fost inainte. La o prelegere filmata pe trepied, cu fundal fix, aceasta diferenta este aproape zero, de aici vine cea mai mare parte a castigului.
  • Codificatorul din telefon nu are timp sa gandeasca. Trebuie sa comprime in timp real, pe baterie, fara sa incalzeasca telefonul. Compenseaza aruncand mai multi biti pe secunda decat este nevoie.
  • Telefonul pastreaza marja pentru montaj, nu pentru vizionare. Keyframe-uri dese, rata de biti generoasa chiar si in cadrele statice, culoare pe 10 biti. Toate utile in editor, irelevante dupa ce lectia este gata.
  • Filmati la 4K, dar nimeni nu vizioneaza la 4K. Rezolutia in plus se arunca la redare oricum, dar octetii s-au transmis deja, pe conexiunea cursantului.
  • Ochiul uman nu vede tot. Formatul standard de livrare pastreaza detaliul culorii la sfert de rezolutie, invizibil in practica, iar cuantizarea elimina detaliile fine pe care ochiul nu le percepe la viteza normala de redare.
  • Piste suplimentare pe care nu le-ati cerut. Un fisier .MOV de pe iPhone contine de obicei si piste de metadate sincronizate, uneori un strat HDR, plus miniaturi. Nimic din toate acestea nu ajuta un curs online.

Concluzia: reducerea de 8 ori nu este pierdere de calitate, ci eliminarea unui surplus care exista pentru montaj si pentru viteza de inregistrare, nu pentru vizionare.

Datele ascunse din fisier: metadate si confidentialitate

Aceasta problema nu are legatura cu dimensiunea fisierului, metadatele ocupa cativa kilocteti. O tratam separat pentru ca este o problema de confidentialitate, iar la noi este mai serioasa decat pe alte platforme: livram fisierul exact asa cum l-ati incarcat, deci metadatele ajung intacte la oricine descarca lectia.

Multi oameni stiu ca o poza facuta cu telefonul contine coordonatele GPS ale locului unde a fost facuta. Foarte putini stiu ca la videoclipuri se intampla exact acelasi lucru.

Camp Ce dezvaluie
com.apple.quicktime.location.ISO6709 Latitudinea, longitudinea si altitudinea locului filmarii
com.apple.quicktime.location.accuracy.horizontal Cat de precisa este acea pozitie, adesea sub 20 de metri
com.apple.quicktime.creationdate Data si ora exacta, inclusiv fusul orar
com.apple.quicktime.make / .model Producatorul si modelul exact de telefon
com.apple.quicktime.software Versiunea de iOS din momentul inregistrarii
Piste de metadate sincronizate Date de orientare si de miscare a camerei in timpul filmarii

Pe Android, echivalentul coordonatelor este atomul ©xyz, in acelasi format ISO 6709.

De ce conteaza: majoritatea cursurilor se filmeaza acasa. O singura coordonata este suficienta pentru ca oricine descarca lectia sa va afle adresa de domiciliu, cu o precizie de cateva zeci de metri. Modelul de telefon si versiunea de iOS formeaza, in plus, o amprenta care leaga intre ele toate fisierele publicate de dumneavoastra.

O singura coordonata GPS in antetul fisierului este deja suficienta pentru a va expune adresa, indiferent daca telefonul dumneavoastra scrie o singura pozitie sau o pista continua pe durata filmarii. Concluzia practica ramane aceeasi: curatati metadatele inainte de a incarca fisierul.

Metode de optimizare

Sunt mai multe moduri de a micsora un fisier video inainte de incarcare. Nu conteaza care il alegeti, atat timp cat rezultatul este un fisier sub 1 GB, la 1080p, fara metadate. Mai jos sunt cele trei variante, de la cea mai simpla la cea cu cel mai mult control.

Varianta recomandata: un program gratuit, instalat local

Cea mai simpla si mai sigura metoda este un program gratuit cu interfata grafica, instalat pe propriul calculator. Recomandarea noastra este HandBrake (handbrake.fr), gratuit si open-source, disponibil pentru Mac, Windows si Linux. Foloseste in spate aceleasi unelte ca si comanda din acest ghid, deci rezultatul este echivalent.

Pasii, pe scurt:

  • Descarcati si instalati HandBrake de pe site-ul oficial.
  • Deschideti fisierul video in program (Open Source).
  • Din lista de presetari, alegeti una din categoria General, de exemplu Fast 1080p30. Presetarile deja seteaza rezolutia si codecul corect.
  • Verificati in tab-ul Video ca Constant Quality este undeva intre 22 si 24, echivalentul setarii tehnice recomandate mai jos in acest ghid.
  • Apasati Start. Fisierul rezultat este optimizat si, de regula, fara metadatele originale.

Daca preferati alt program in locul HandBrake, cautati pe Google "free video compressor no watermark" sau "HandBrake alternative free". Atat timp cat programul se instaleaza si ruleaza pe propriul calculator, este o alternativa buna.

Varianta cu tooluri online: exista, dar nu o recomandam

Daca cautati pe Google ceva de genul "compress video online free", veti gasi zeci de site-uri care fac exact asta: urcati fisierul, il comprima pe serverul lor, va dau inapoi un link de descarcare. Functioneaza, si pentru cineva care nu e preocupat de asta, e o optiune valabila.

Nu o recomandam insa ca prima varianta, pentru ca inseamna sa incarcati materialul brut, nefiltrat, pe serverul altcuiva, inainte macar sa il puneti pe platforma proprie. Nu stiti ce retine acel site, cat timp il pastreaza sau cine mai are acces la el intre timp. Pentru un curs filmat acasa, cu tot ce inseamna asta din perspectiva metadatelor si confidentialitatii discutate mai sus, preferam sa nu depindem de politica de confidentialitate a unui site necunoscut. Daca totusi alegeti aceasta varianta, verificati macar ca site-ul sterge fisierele dupa un interval scurt de timp, majoritatea au o mentiune despre asta.

Varianta cu control maxim: terminal si FFmpeg

Daca vreti control fin asupra fiecarui parametru, sau vreti sa curatati doar metadatele fara sa recodificati deloc imaginea, mai jos aratam varianta manuala, prin terminal, cu FFmpeg. E mai tehnica, dar nu e complicata odata parcursi pasii o data.

Varianta Terminal: Cum rulati o comanda

Aceasta sectiune este pentru varianta manuala, prin terminal. Daca ati optimizat deja fisierul cu HandBrake de mai sus, puteti sari direct la sectiunea Cat recuperati, concret mai jos. Daca preferati controlul mai fin sau vreti sa curatati doar metadatele fara sa recodificati imaginea, comenzile de mai jos apar intr-un terminal, nu prin click-uri intr-o aplicatie. Daca nu ati mai folosit un terminal, urmati pasii de aici o singura data, apoi restul ghidului va fi usor de aplicat.

Pe Mac

  • Deschideti aplicatia Terminal. O gasiti cu Spotlight: apasati Command + Space, scrieti "Terminal" si apasati Enter.
  • Instalati FFmpeg si ExifTool o singura data, cu Homebrew (un instrument standard pentru instalarea de programe pe Mac). Daca nu aveti Homebrew, instructiunile de instalare sunt pe site-ul lor, este o singura comanda copiata in Terminal.
  • Dupa ce aveti Homebrew, rulati in Terminal: brew install ffmpeg exiftool

 

Pe Windows

  • Deschideti Command Prompt: apasati tasta Windows, scrieti "cmd" si apasati Enter. (PowerShell functioneaza la fel de bine, daca il preferati.)
  • Pentru FFmpeg, cea mai simpla metoda este winget install ffmpeg in acea fereastra. Daca winget nu este disponibil, descarcati FFmpeg de pe site-ul oficial si urmati instructiunile de adaugare in PATH de acolo.
  • Pentru ExifTool, descarcati versiunea Windows de pe exiftool.org, dezarhivati si redenumiti fisierul in exiftool.exe.

 

Cum ajungeti cu terminalul in folderul cu fisierul video

Comenzile de mai jos presupun ca terminalul "se afla" in acelasi folder cu fisierul video. Cel mai simplu mod de a ajunge acolo:

  • In terminal, scrieti cd (cu un spatiu dupa), apoi trageti folderul cu fisierul video direct din Finder sau File Explorer si dati-i drumul peste fereastra terminalului. Calea folderului se completeaza automat.
  • Apasati Enter. Terminalul este acum "in" acel folder.
  • De aici, orice comanda din acest ghid care refera input.mov sau video.mov functioneaza direct, atat timp cat inlocuiti numele cu numele real al fisierului dumneavoastra.

Odata facuti acesti pasi, copiati comenzile din ghid exact asa cum apar, inlocuind doar numele fisierelor.

Cum verificati ce contine propriul fisier

Inainte sa curatati un fisier, puteti vedea exact ce metadate contine. Instalati ExifTool (gratuit, disponibil pentru Windows, Mac si Linux), deschideti un terminal in folderul unde aveti fisierul video si rulati:

exiftool video.mov | grep -i -E "gps|location|model|software|date"

Daca preferati sa nu instalati nimic, aveti deja FFmpeg instalat pentru pasii urmatori din acest ghid, deci puteti folosi in schimb:

ffprobe -v error -show_entries format_tags -of default=noprint_wrappers=1 video.mov

Oricare dintre cele doua comenzi va arata daca fisierul contine coordonate GPS, modelul de telefon, versiunea de software si data exacta a filmarii. Daca vedeti oricare din acestea in rezultat, treceti la comanda de optimizare de mai jos, care le elimina automat.

Comanda recomandata de optimizare

Cu FFmpeg instalat, aceasta comanda rezolva simultan dimensiunea, calitatea si metadatele:

ffmpeg -i input.mov -map 0:v:0 -map 0:a:0 -map_metadata -1 \
  -vf "scale=-2:1080" -c:v libx264 -preset slow -crf 23 -pix_fmt yuv420p \
  -c:a aac -b:a 128k -movflags +faststart output.mp4

Ce face fiecare parte:

  • -map_metadata -1: nu copiaza niciun camp de metadate din fisierul original, fara GPS, fara model de telefon, fara data de creare.
  • scale=-2:1080: redimensioneaza la 1080p, pastrand raportul de aspect (-2 mentine latimea un numar par, obligatoriu pentru H.264).
  • -crf 23: tinta de calitate. Valoare mai mica inseamna calitate mai buna si fisier mai mare. 18 este practic imposibil de deosebit de original, 23 este punctul optim pentru livrare online, 26-28 ramane perfect utilizabil pentru slide-uri si inregistrari de ecran. Este prima setare pe care o ajustati daca aveti nevoie de un fisier mai mic.
  • -preset slow: consuma mai mult timp de procesare, dar obtine un fisier mai mic la aceeasi calitate. Medium este mai rapid, veryslow mai castiga putin.
  • -pix_fmt yuv420p: necesar pentru compatibilitate, unele filmari de pe telefon sunt pe 10 biti si nu se redau peste tot fara aceasta setare.
  • -c:a aac -b:a 128k: partea audio. Pentru inregistrari doar cu voce, 96k suna identic si mai economiseste putin.
  • -movflags +faststart: nu sariti peste asta. Muta indexul fisierului la inceput, astfel incat redarea sa poata porni inainte ca fisierul sa fie descarcat integral. Fara el, cursantii asteapta.

Cat recuperati, concret

Fisier original Durata aproximativa Dupa optimizare la 1080p Intra sub 1 GB?
100 MB ~35 sec ~10-15 MB Da
200 MB ~1 min ~20-30 MB Da
500 MB ~3 min ~50-70 MB Da
1 GB ~6 min ~100-140 MB Da
15 GB ~90 min ~1,4-2 GB la CRF 23 Nu, vedeti mai jos
25 GB ~2,5 ore ~2,5-3,5 GB la CRF 23 Nu, vedeti mai jos

Tiparul este clar: pentru orice material sub aproximativ o ora, o recodificare standard la 1080p rezolva complet problema. Peste aceasta durata, constrangerea nu mai este rezolutia sursei, ci lungimea, iar solutia este fie o rata de biti tinta mai mica, fie 720p, fie impartirea prelegerii in lectii separate.

Pentru inregistrarile lungi, raspunsul corect este de obicei al treilea. Un videoclip unic de 2,5 ore este oricum o alegere slaba din punct de vedere pedagogic, indiferent de dimensiune. Impartit in lectii de 8-12 minute, creste rata de finalizare a cursului si fiecare fisier intra comod sub limita.

De retinut despre calitate: orice recodificare este cu pierderi. Ce va ofera CRF 23 este o calitate imposibil de deosebit vizual la vizionare, la distanta normala, pe dispozitivele pe care le folosesc efectiv cursantii. Ce pierdeti este marja pentru prelucrari ulterioare, ceea ce nu mai conteaza odata ce lectia este finalizata. Pastrati originalul ca master si incarcati copia optimizata.

Daca aveti nevoie de o dimensiune exacta

Codificarea in doua treceri va permite sa tintiti precis o rata de biti. Ca sa incadrati un videoclip de D secunde in S megaocteti:

rata de biti video tinta (kbps) aproximativ egala cu (S x 8192 / D) minus 128 (cei 128 lasa loc pentru audio)

De exemplu, 90 de minute (5400 secunde) intr-un fisier de 950 MB inseamna aproximativ 1.300 kbps:

ffmpeg -y -i input.mov -vf "scale=-2:1080" -c:v libx264 -preset slow -b:v 1300k -pass 1 -an -f mp4 /dev/null
ffmpeg -i input.mov -map 0:v:0 -map 0:a:0 -map_metadata -1 -vf "scale=-2:1080" -c:v libx264 -preset slow -b:v 1300k -pass 2 -c:a aac -b:a 128k -movflags +faststart output.mp4

Daca rata de biti rezultata coboara sub aproximativ 1.000 kbps la 1080p, treceti la 720p (scale=-2:720). Un 720p cu bitrate decent arata mai bine decat un 1080p infometat de biti.

Verificati intai ce aveti

Inainte sa recodificati, puteti vedea rapid parametrii fisierului original:

ffprobe -v error -show_entries format=duration,size,bit_rate \
  -show_entries stream=codec_name,width,height,r_frame_rate \
  -of default=noprint_wrappers=1 input.mov

Mai multe calitati: HLS

Un singur MP4 inseamna o singura calitate. Fiecare cursant primeste exact fisierul incarcat, indiferent de conexiunea lui.

Daca vreti streaming adaptiv, adica player-ul sa comute automat intre niveluri de calitate, puteti construi dumneavoastra pachetul HLS si il puteti incarca. Sistemul nostru accepta HLS cu mai multe variante de calitate, pur si simplu nu le genereaza in locul dumneavoastra. Mecanica exacta de incarcare a pachetelor HLS (structura de fisiere acceptata si limitele aferente) urmeaza sa fie detaliata separat, dupa ce este confirmata intern.

Aceasta sectiune este cu adevarat optionala. Pentru majoritatea creatorilor de cursuri, un MP4 la 1080p codificat corect este raspunsul potrivit, iar HLS inseamna mai multa munca decat merita.

Rezumatul limitarilor

Aspect Detaliu
Dimensiune maxima fisier 1 GB
Transcodare Niciuna, fisierele sunt livrate exact asa cum au fost incarcate
Metadate Nu sunt eliminate automat, responsabilitatea curatarii revine celui care incarca
Impartire automata a fisierului Nu este acceptata, un singur fisier per lectie
Calitate adaptiva Doar daca incarcati un pachet HLS
Rezolutie maxima In practica, limitata de dimensiunea de 1 GB, urmeaza sa fie confirmat daca exista si un plafon suplimentar
Recomandat MP4 H.264 la 1080p, audio AAC, cu faststart activat, fara metadate
Containere si codecuri acceptate MP4 recomandat, alte containere si compatibilitatea HEVC urmeaza sa fie confirmate
Spatiu de stocare per cont Urmeaza sa fie confirmat

Lista de verificare

  • Am verificat dimensiunea fisierului inainte de incarcare
  • Fisierul este sub 1 GB
  • Fisierul este exportat sau recodificat la 1080p, H.264 + AAC
  • Am rulat comanda cu -map_metadata -1 pentru a elimina GPS si alte date personale
  • Am pastrat fisierul original ca master, inainte de recodificare
  • Pentru lectii lungi (peste o ora), am luat in calcul impartirea in lectii mai scurte
  • Fisierul optimizat este gata de incarcat, vedeti ghidul Centralizarea Bibliotecii Video pentru pasii de adaugare in Player Video

Cele mai bune practici

  • Exportati mereu la 1080p, nu la 4K, chiar daca ati filmat la 4K. Rezolutia in plus nu ajuta cursantul, doar umfla fisierul.
  • Pastrati lectiile intre 8 si 12 minute acolo unde continutul permite. Creste rata de finalizare a cursului si evita problemele de dimensiune.
  • Folositi -crf 23 ca punct de plecare si ajustati doar daca fisierul tot depaseste 1 GB.
  • Nu uitati -movflags +faststart, altfel cursantii asteapta inainte ca lectia sa porneasca.
  • Rulati mereu comanda de curatare a metadatelor, chiar si pentru fisiere care par deja mici.