|
一、目的 在Android和iOS上,把一个MP4文件按大小切成多个MP4文件。 二、现象系统没有现成的接口。 三、过程方案: - ffmpeg按大小切割
- mp4box
- mp4parser
- MediaCodec
备选方案: 外包 参考: 分析: 方案1 没有现成的接口,可以结合-fs和-ss之类的参数来写逻辑。假设视频的参数都一样,可以计算大小/时间的平均值,按时间分割。 效率方面,加上copy的话应该只要几秒。 方案2 优势是不用写业务逻辑。劣势是参考资料不多,可靠性不确定,编译方法要自己写。 mp4box -splits 2000000 filename.mp4方案3 看起来软编解码效率不高,但这是对容器进行操作,比编解码快很多很多。开发难度高。 方案4 优势是硬件编码解码,效率最高。劣势是开发难度高。 四、结果选开发难度最低的方案1,用ffmpeg,问题是逻辑怎么写?
|