టిక్టాక్ వీడియో ఆర్కైవ్ సిస్టమ్ను నిర్మించడం
నా క్లోసెట్లోని ఒక NASలో 4,200 టిక్టాక్ వీడియోలు ఉన్నాయి.
చాలా కాలం పాటు, ఇది ఒక గందరగోళంగా అనిపించింది. video(1).mp4 మరియు video(2).mp4 అని పేరున్న ఫైళ్లు మూడు హార్డ్ డ్రైవ్లు మరియు ఒక Google Drive ఫోల్డర్ అంతటా చెల్లాచెదురుగా ఉన్నాయి. నేను దేనినీ కనుగొనలేకపోయాను.
సమస్య వీడియోల సంఖ్య కాదని నేను గ్రహించాను. సమస్య ఏమిటంటే ఒక వ్యవస్థ (system) లేకపోవడం.
మీరు భారీ స్థాయిలో షార్ట్-ఫార్మ్ వీడియోలను సేవ్ చేయాలనుకుంటే, మీకు ఒక సరైన ఆర్కైవ్ అవసరం. వీడియోలను ఒక్కొక్కటిగా సేవ్ చేయడం 50 ఫైళ్లకు పని చేస్తుంది. కానీ 500 ఫైళ్లు వచ్చేసరికి అది విఫలమవుతుంది.
వేలాది వీడియోలను నిర్వహించడానికి నేను నిర్మించిన సిస్టమ్ ఇక్కడ ఉంది.
మాన్యువల్గా సేవ్ చేయడంలో ఉన్న సమస్యలు • మెటాడేటా లేదు. ఒక క్రియేటర్ ప్రైవేట్ మోడ్లోకి వెళ్ళినప్పుడు, మీరు ఆ వీడియో సందర్భాన్ని (context) కోల్పోతారు. • డూప్లికేట్ ఫైళ్లు. ఒకే వీడియో వివిధ చోట్ల ఉండే అవకాశం ఉంటుంది. • సెర్చ్ చేసే సౌలభ్యం లేదు. పేరు లేని ఫైళ్ల సముద్రంలో మీరు ఒక నిర్దిష్ట వీడియోను కనుగొనలేరు. • స్టోరేజ్ విస్తరణ (Storage sprawl). ఫైళ్లు ఎక్కడో ఒకచోట ఉంటాయి, కానీ వాటికి ఒకే నమ్మదగిన మూలం (single source of truth) ఉండదు.
ఆర్కైవ్ నిర్మాణం నేను క్రియేటర్లు మరియు టాపిక్ల ఆధారంగా ఒక ఫోల్డర్ సిస్టమ్ను ఉపయోగిస్తాను.
- videos/creators/@username
- videos/topics/woodworking
- metadata/video_index.json
- thumbnails/cover-images
ప్రతి వీడియో ఒక కఠినమైన పేరు పెట్టే నియమాన్ని అనుసరిస్తుంది: {YYYY-MM-DD}{creator-handle}{short-description}_{tiktok-id}.mp4
ఉదాహరణ: 2024-03-15_@woodcraftjoe_mortise-and-tenon-joint_7341892056.mp4
రహస్యం మెటాడేటాలో ఉంది కేవలం ఒక వీడియో ఫైల్ మాత్రమే సరిపోదు. ప్రతి క్లిప్ వివరాలను నిల్వ చేయడానికి నేను JSON ఇండెక్స్ను ఉపయోగిస్తాను. నేను క్రియేటర్, పోస్ట్ చేసిన తేదీ, వివరణ, హ్యాష్ట్యాగ్లు మరియు డౌన్లోడ్ చేసిన సమయంలో ఉన్న వ్యూ కౌంట్ను కూడా రికార్డ్ చేస్తాను.
ఇది సెర్చింగ్ను తక్షణమే చేసేలా చేస్తుంది. ట్యాగ్ లేదా క్రియేటర్ ద్వారా ఒక సెకను కంటే తక్కువ సమయంలో వీడియోలను కనుగొనడానికి నేను ఒక సాధారణ Python స్క్రిప్ట్ను ఉపయోగిస్తాను.
టాప్ 3 పాఠాలు
- మొదటి రోజు నుండే మెటాడేటాను ఆర్కైవ్ చేయండి. పాత వీడియోలకు డేటాను తర్వాత జోడించడం ఒక పీడకల వంటిది.
- బోరింగ్ పనులను ఆటోమేట్ చేయండి. పూర్తి ప్రొఫైల్లను బ్యాచ్లుగా డౌన్లోడ్ చేయడానికి టూల్స్ను ఉపయోగించండి.
- బహుళ స్టోరేజ్ స్థాయిలను (storage tiers) ఉపయోగించండి. ఒక ప్రైమరీ కాపీని NASలో, ఒక క్లౌడ్ మిర్రర్ను మరియు ఎక్స్టర్నల్ డ్రైవ్లో కోల్డ్ స్టోరేజ్ను ఉంచండి.
కేవలం డౌన్లోడ్ చేయడం ఆపండి. ఆర్కైవ్ చేయడం ప్రారంభించండి.