前提: 要求在流媒体服务器上实现几百路甚至上千流H264 TS流进行切片分发。
最近在开发一个用于服务器级别的HLS切片工具,想借鉴一下开源的m3u8_segment对TS进行切片分发。结果非常糟糕,这个工具调用了FFMPEG相关的媒体库,如果上百路流同时进行切片,CPU和内存消耗惊人,更为糟糕的是,在上百路同时进行切片的时候,非常不稳定。
于是乎,自己老老实实动手写了个适合服务器级别的切片工具,在300路流同时接受(UDP组播)数据并切片分发,在服务器上CPU和内存消耗都在规定范围内了。其实切片原理很简单,通过数字电视知识,找到H264视频流的I帧处开切即可以实现。同时要求在每一个分片前增加PAT,PMT表(目的是任何一个单独的分片都能进行独立播放)。。
由于保密性,源码不便公开,如果有相关想学习的同学,可以问题私信。。