[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog:index::Video":3},{"page":4,"tags":23},{"items":5,"meta":18},[6],{"id":7,"slug":8,"title":9,"excerpt":10,"tags":11,"read_minutes":16,"published_at":17},"61d11639-6d8f-48e9-8794-88cf62ae147c","hls-video-streaming-on-a-budget","Streaming Course Video on a Budget: HLS, R2 and a CDN","How we serve adaptive-bitrate course video for near-zero cost using ffmpeg, Cloudflare R2's free egress, and signed URLs at the edge.",[12,13,14,15],"Video","Cloudflare R2","HLS","Architecture",7,"2026-07-09T00:00:00Z",{"has_more":19,"limit":20,"next_offset":21,"offset":22,"total":21},false,24,1,0,[24,26,29,31,33,36,38,40,42,44,45,47,49,51,53,55,57,59,61,63,64,66,68,70,72,74,76,78,80,82,84,86,88],{"tag":15,"count":25},4,{"tag":27,"count":28},"AI",3,{"tag":30,"count":28},"Data Engineering",{"tag":32,"count":28},"dbt",{"tag":34,"count":35},"Airflow",2,{"tag":37,"count":21},"Analytics",{"tag":39,"count":21},"Apache Iceberg",{"tag":41,"count":21},"BigQuery",{"tag":43,"count":21},"Careers",{"tag":13,"count":21},{"tag":46,"count":21},"Cost",{"tag":48,"count":21},"Databricks",{"tag":50,"count":21},"Data Governance",{"tag":52,"count":21},"Data Lake",{"tag":54,"count":21},"Data Quality",{"tag":56,"count":21},"DuckDB",{"tag":58,"count":21},"FinOps",{"tag":60,"count":21},"Flink",{"tag":62,"count":21},"Go",{"tag":14,"count":21},{"tag":65,"count":21},"Kafka",{"tag":67,"count":21},"Lakehouse",{"tag":69,"count":21},"Learning",{"tag":71,"count":21},"LLM",{"tag":73,"count":21},"pgvector",{"tag":75,"count":21},"PostgreSQL",{"tag":77,"count":21},"RAG",{"tag":79,"count":21},"RBAC",{"tag":81,"count":21},"SkillUp",{"tag":83,"count":21},"Snowflake",{"tag":85,"count":21},"Streaming",{"tag":87,"count":21},"Superset",{"tag":12,"count":21}]