Kreatif video adalah aliran kerja yang padat data. Satu Adstacker projek boleh termasuk klip sumber, lakaran kecil, video yang dinormalisasi, audio yang diekstrak, tindanan boleh guna semula, dan variasi yang telah siap. Kami memerlukan muat naik yang tidak membebankan pelayan aplikasi, pengesahan yang boleh dipercayai, lokasi output yang dapat diramalkan, dan pembersihan untuk kerja yang ditinggalkan.
Amazon S3 adalah lapisan aset yang tahan lama di sebalik aliran kerja tersebut. Adstacker menggunakannya untuk memindahkan fail besar terus dari pencipta ke storan, menyusun setiap peringkat projek, dan menjadikan video yang telah siap tersedia untuk dimuat turun.
Cabaran: aset video berkembang biak dengan cepat
Ujian kreatif membolehkan set klip kecil menghasilkan banyak variasi—dan mewujudkan masalah pengurusan aset. Sesuatu projek mungkin bermula dengan rakaman hook, body, dan CTA, kemudian menghasilkan salinan yang dinormalisasi, audio, tindanan sari kata, lakaran kecil, dan output MP4 atau MOV akhir.
Memindahkan setiap bait melalui API akan memperlahankan muat naik dan menggunakan lebar jalur pelayan. Nama fail yang longgar akan menyukarkan percubaan semula dan meninggalkan aset terbiar apabila pencipta menutup tab semasa muat naik.
Storan perlu menjadi bahagian yang disengajakan dalam saluran paip pengeluaran.
Pendekatan kami: S3 sepanjang kitaran hayat aset
S3 terlibat dari penciptaan projek hingga muat turun akhir. Bahagian belakang mengendalikan kebenaran, manifes, pengesahan, dan status kerja; S3 mengendalikan objek besar.
Seni Bina

Pembahagian ini memberikan fail media laluan langsung yang tahan lama ke storan.
1. Muat naik video besar terus dari pelayar
Apabila seorang pencipta memulakan projek, Adstacker mencipta manifes video sumber dan mengembalikan presigned S3 POST untuk setiap fail. Pelayar menghantar fail terus ke S3 dan bukannya memproxykannya melalui bahagian belakang.
S3 menguatkuasakan kekangan muat naik yang ditandatangani: jenis kandungan yang ditetapkan dan julat saiz yang dibenarkan. Ini menghentikan muat naik kosong atau bersaiz besar sebelum ia tiba, manakala permintaan jangka pendek mengehadkan apa yang boleh dimuat naik oleh pelayar.
Jika sesi terganggu, Adstacker mengeluarkan semula URL baharu untuk video yang belum selesai. Ia juga menyemak S3 semasa disambung semula, jadi objek yang terlepas panggilan balik selesai masih boleh diselaraskan dan disahkan.
2. Sahkan apa yang tiba sebelum memprosesnya
Muat naik yang selesai dalam pelayar tidak cukup untuk memulakan rendering. Bahagian belakang menggunakan S3 HEAD untuk mengesahkan objek, membaca saiz dan ETagnya, dan menyimpan ETag tersebut dengan video yang disahkan.
Seterusnya, Adstacker memuat turun objek buat sementara waktu untuk pengesahan FFprobe. Kami mengesahkan ia boleh dibaca dan tempoh serta resolusi berkesan memenuhi keperluan projek. Fail yang tidak sah menerima sebab penolakan yang berguna dan dipadamkan; kegagalan bacaan sementara meninggalkan objek di tempatnya untuk percubaan semula.
Setiap video bergerak melalui kitaran hayat yang jelas: belum selesai, sedang dimuat naik, dimuat naik, sedang disahkan, disahkan, atau ditolak. Sesuatu projek hanya akan diteruskan selepas setiap aset yang dijangka disahkan, dan kemas kini atomik menghalang panggilan balik pendua daripada mengira dua kali ganda video.
3. Jadikan setiap output boleh diramalkan dan boleh guna semula
Adstacker menggunakan laluan S3 yang deterministik berdasarkan projek, jenis aset, kategori, dan variasi. Media yang dinormalisasi dan audio yang diekstrak disimpan secara berasingan daripada tindanan yang dirender dan gabungan akhir.
Organisasi itu membantu saluran paip dalam tiga cara:
- Carian langsung: Pekerja boleh mencari input atau output yang tepat yang berkaitan dengan projek dan variasi.
- Penggunaan semula yang cekap: Tindanan boleh guna semula disimpan sekali dan boleh menyokong lebih daripada satu gabungan akhir.
- Percubaan semula Idempotent: Percubaan semula menulis ke kunci yang sama yang dijangka, mengelakkan jejak eksport pendua yang semakin bertambah.
Rekod video akhir menyimpan kunci dan URL S3 untuk output, lakaran kecil, dan—apabila berkaitan—varian MOV. Aplikasi kemudian boleh menyediakan format yang sedia.
4. Sediakan akses dengan selamat dan bersihkan kerja yang belum selesai
Bucket S3 adalah peribadi. Adstacker mengeluarkan URL muat turun yang ditandatangani dengan had masa, secara pilihan dengan nama fail muat turun, supaya aset tidak memerlukan pendedahan awam.
Tidak setiap muat naik menjadi projek yang telah siap. Pembersihan berjadual mengenal pasti projek yang belum selesai yang lapuk dan memadamkan objek sumber S3 yang tinggal. Muat naik yang ditolak dipadamkan serta-merta selepas pengesahan gagal.
Peraturan kitaran hayat ini mengehadkan storan yang ditinggalkan sambil memelihara sejarah projek.
Contoh dunia sebenar: muat naik yang terganggu tidak bermakna bermula semula
Bayangkan seorang pemasar memuat naik enam klip, kemudian menutup pelayar selepas empat daripadanya sampai ke S3. Apabila kembali, Adstacker memulihkan sesi muat naik dan menyediakan permintaan presigned baharu untuk klip yang belum selesai. Ia juga menyemak sama ada fail telah sampai ke S3 walaupun panggilan balik penyelesaiannya hilang.
Setelah keenam-enam fail disahkan dan divalidasi, projek akan beralih ke pemprosesan. Sumber, media yang disediakan, tindanan, lakaran kecil, dan variasi akhir kekal teratur di bawah kunci yang diketahui untuk setiap langkah seterusnya.
Storan yang direka untuk kelajuan kreatif
Amazon S3 membolehkan Adstacker mengendalikan aset video sebagai kitaran hayat terurus: muat naik secara langsung, sahkan objek, validasi media, cipta output yang boleh diramalkan, benarkan muat turun, dan bersihkan kerja yang belum selesai. Ini membolehkan saluran paip kreatif menumpukan pada mengubah klip menjadi variasi yang boleh diuji.
Muat naik aset anda ke Adstacker, bina kombinasi yang ingin anda uji, dan biarkan platform menguruskan aliran kerja storan di sebalik setiap rendering.
Timbunan teknologi: Amazon S3 · AWS SDK for JavaScript · Presigned S3 POSTs · NestJS · FFprobe · AWS ECS Fargate · MongoDB
Baca lebih lanjut daripada pasukan kami
1. Perkhidmatan Eksport vs. Saluran Paip Editor Video

