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.
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:
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.
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.
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:
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.
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.
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.
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:
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.
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.
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.
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
brew install ffmpeg exiftool
Pe Windows
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.
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:
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.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.
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.
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:
| 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.
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.
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
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.
| 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 |