
Cloudflare-ը թողարկել է Streamline-ը հարմարեցվող վիդեո փայփլայնների համար
Cloudflare-ը թողարկել է Streamline-ը՝ բաց կոդով փորձադաշտ հարմարեցվող փայփլայններ ստեղծելու համար, որոնք հոսքային կամ հոսթինգում տեղադրված վիդեոյին ավելացնում են կենդանի անոտացիաներ, ներկառուցված սուբտիտրեր և ֆիլտրեր։
Streamline-ը բացում է Cloudflare-ի վիդեո հարմարեցման հնարավորությունները
Cloudflare-ը թողարկել է Streamline-ը որպես մշակողների փորձադաշտ և բաց կոդով համակարգ՝ իր Developer Platform-ում հարմարեցված վիդեո փորձառություններ ստեղծելու համար։ Այն ցույց է տալիս, թե ինչպես կարելի է միավորել Workers-ը, Containers-ը և Durable Objects-ը մեդիա արձանագրությունների հետ, որպեսզի փոխվի վիդեոն և արդյունքը հրապարակվի ուղիղ եթերի կամ նոր հոսթինգային վիդեոյի տեսքով։
Օրինակները ներառում են թափանցիկ անոտացիայի շերտեր, որոնք մշակման ընթացքում կարող են փոխվել, հոսթինգում տեղադրված վիդեոյի մեջ գրանցված սուբտիտրեր, ֆիլտրեր, պատկերը պատկերի մեջ ռեժիմ և վեբ-տեսախցիկներից կամ գործարանային տեսախցիկներից եկող ազդանշան։ Cloudflare-ը նաև որպես բաց կոդ թողարկել է մեդիա շարժիչը և օրինակելի Worker-հավելված՝ Astro վեբ-ֆրոնտենդով, ինչպես նաև հանրային հոսթինգային փորձադաշտ։
Ինչպես է աշխատում Streamline-ի ճարտարապետությունը
Streamline-ի տեղադրումն ունի երկու հիմնական բաղադրիչ։ Media Engine-ը աշխատում է Container-ում և մշակում է բոլոր մեդիա մուտքերը, ելքերը և մշակումը։ Դրա կարգավորիչը Go-ով գրված HTTP սերվեր է, իսկ մեդիայի հետ աշխատանքը կատարում է FFmpeg պրոցեսորը։ Ընթացիկ պրոցեսորը ներքին իրականացման մանրամասն է, ոչ թե օգտատիրոջն ուղղված API-ի մաս։
Կառավարող հավելվածը օգտագործում է Workers-ը և կարող է լինել բրաուզերի ինտերֆեյս, գործակալ կամ ներկառուցված համակարգ։ Durable Object-ը կառավարում է սեսիաները, Container-ի կյանքի ցիկլը և նախադիտման ռելեը։ Շարժիչը կարող է վերցնել RTMPS մեկ Stream Live մուտքից և հրապարակել այն մյուսում, ստանալ Cloudflare Stream-ի HLS manifest-ներ և սեգմենտներ, ընդունել տրամադրված վիդեոն կամ ուղարկել նախադիտման հատվածներ WebSocket-ռելեի միջոցով։ Մշակումը շարունակվում է նույնիսկ այն դեպքում, երբ կառավարող Worker-ը անջատվում է։ Սեսիայի առավելագույն տևողությունը ապահովում է անջատումը, իսկ ակտիվությունը թարմացվում է մինչև այդ սահմանին հասնելը։
Մեդիա փայփլայնների կոնֆիգուրացիա և գործարկում
Սեսիայի API-ն թույլ է տալիս հավելվածին ստեղծել կամ թարմացնել սեսիա, գործարկել փայփլայն JSON կոնֆիգուրացիայից, ստանալ վիդեոյի մասեր, թարմացնել PNG անոտացիա, ստանալ մետրիկաներ և դադարեցնել մշակումը։ Կոնֆիգուրացիաները սահմանում են մուտքերը, գործողությունները և ելքերը։ Մուտքը կարող է ներառել RTMP հեռարձակում, HLS-ում տեղադրված վիդեո կամ վեբ-տեսախցիկի մեդիա։ Ելքի համար կարող է օգտագործվել RTMP կամ WebSocket-ի միջոցով նախադիտման մատակարարում Durable Object-ի ռելեի միջոցով։
Մի օրինակ ուղիղ եթերին ավելացնում է թափանցիկ պատկերի շերտ և փոփոխված արդյունքը ուղարկում մեկ այլ Stream Live մուտք։ Մյուսը վերցնում է Cloudflare Stream-ի վիդեոն, կարդում է ներկառուցված փակ սուբտիտրերը, պատկերում է դրանք պատկերի վրա և արդյունքը ուղարկում RTMP-ով։ Streamline-ը ներկայումս աջակցում է ֆիլտրի, ծածկույթի, սուբտիտրերի և կոդավորման գործողություններին։ Շարժիչը դրանք կատարում է ֆիքսված հաջորդականությամբ, ուստի կոնֆիգուրացիայի զանգվածում գրառումների հերթականությունը չի փոխում կատարումը։
Անվտանգություն, սահմանափակումներ և հնարավոր ընդլայնումներ
Սեփականատիրոջ տեղակայումը մասնավոր է Workers Access-ի միջոցով։ Worker-ը ստուգում է Access սեսիան, ակտիվ սեսիան կապում է ստուգված սուբյեկտի հետ և միաժամանակ թույլ է տալիս միայն մեկ սեսիա։ Stream Live Input-ի բանալիները պահվում են Worker-ի գաղտնիքներում կամ Durable Object-ի պահոցում միայն գրելու ռեժիմով համօգտագործվող ծածկույթներում և չեն վերադառնում պարամետրերի API-ից, ինչպես նաև չեն տեղադրվում բրաուզերի պահոցում։ Հավելվածները դիմում են անվանված մուտքի և ելքի պրոֆիլներին, որոնք Worker-ը լուծում է Container-ին միանալուց առաջ։
Նախադիտման հրապարակումը օգտագործում է Cloudflare Access-ի ծառայության թոքենը կոնտեյների բեռնման համար և պատահական յուրաքանչյուր սեսիայի ունակություն ակտիվ ռելեի համար։ Հանրային փորձադաշտը օգտագործում է մեկ կոնտեյների ինքնություն յուրաքանչյուր ստուգված օգտատիրոջ համար, մեկ ակտիվ սեսիա յուրաքանչյուր օգտատիրոջ համար, գլոբալ մուտքի վերահսկում, մրցակցության և մեդիայի սահմանափակումներ և թույլ չի տալիս մեկ օգտատիրոջը փոխարինել մյուսի սեսիան։
Streamline-ը ներկայումս մշակման համար օգտագործում է Container-ի CPU-ն, ինչը Cloudflare-ը համարում է խոչընդոտ բարձր որակների կամ կադրերի հաճախականության դեպքում։ Հնարավոր ընդլայնումները ներառում են համակարգչային տեսողության փայփլայններ, ապարատային արագացված մշակում, WebRTC-ի և MoQ-ի փորձառություններ և վիդեոյի բնիկ կոդավորում ու վերծանում Workers-ում։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։