"코덱과 렌더러 깊이는 libmpv 랑 FFmpeg 를 재사용해; 미디어 엔진 다시 짜는 데 CWK 시간 쓰지 마."
미디어에서 제일 유혹적인 토끼굴
디코더 짜는 건 매혹적이야. 비트스트림 파싱, 모션 벡터, 색 공간, 하드웨어 가속 — 바닥 없는 아름다운 엔지니어링 우물이지. 근데 bounded 플레이어한텐 바닥 없는 함정이기도 해. FFmpeg 는 수백 명이 30년 한 그 작업이야. 넌 주말에 못 따라잡고, 거기 쓰는 매 시간은 네 플레이어를 네 것으로 만드는 그 한 가지에 안 쓴 시간이야.
그래서 Ashen Reel 은 안 해. 깔끔한 embedding API 를 가진 FFmpeg 기반 엔진 libmpv 를 embed 하고, 전체 코덱·렌더러 깊이를 공짜로 물려받아. 엔진이 디코딩하고, Ashen Reel 이 결정해.
연결은 소유하고, 깊이는 빌려
재사용 결정은 네가 뭘 만들고 뭘 가져올지 깔끔한 지도를 그려줘:
이게 코딩 4대 기둥의 첫 번째 — Extend 전에 Reuse, Scale 전에 Extend — 를 앱 최상위 레벨에 적용한 거야. 성숙한 라이브러리가 이미 잘하는 걸 재구현하려는 자신을 잡는 순간, 멈추고 물어봐: 그 재구현이 네 제품이야, 네 미루기야? 미디어 엔진에선 거의 항상 실험복 입은 미루기야.
재사용은 공짜가 아냐 — 거래야
엔진 빌리는 건 제로 코스트가 아냐; 다른 코스트야. pin 하고, 라이선스 붙이고, 번들하고, 서명해야 하는 의존성을 떠안아(Track 6 통째). 엔진의 세계 모델을 받아들이고 네 걸로 번역해야 해. 근데 그 코스트는 bounded 하고 일회성이야, 디코더 다시 짓는 건 unbounded 하고 영원한 반면. 거래는 거의 항상 남는 장사야 — 빌린 엔진을 경계 저편에 두는 한, 그게 딱 다음 레슨이 만드는 거야.