博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[直播一揽子]编码构思和套路
阅读量:6543 次
发布时间:2019-06-24

本文共 574 字,大约阅读时间需要 1 分钟。

  hot3.png

在上篇文章中,我确定了使用的三个库

h264的编码库也不少,最终选择了x264。aac的编码库,选择了fdkaac。rtmp的库,选择了rtmpdump。

也许是我的编码习惯:先各个击破,再合并整合。我决定也采用这样的方式。这样做的好处很明显:

1.考虑范围缩小。比如,在做x264的编码时,无需考虑aac的编码之类的事情。至于aac能遇到什么问题,可以到aac编码的时候去解决。这样就会变成:每次只做一件事。把这件事做好之后,再接着往下做。

2.易于解决问题。出问题的范围将会大大缩小,只会发生在某一个模块内。这对于我查找问题的原因,debug都有好处。

3.功能内聚性高。当一个模块编译完成之后,只需提供接口给外围调用,减少了外围对具体实现的要求,因为外围可以不用知道里面是怎么实现的。

坏处也是有的:需要为各个模块编写一套工程代码。有多少个模块,就得写多少个工程代码。这就会造成工程代码较多。在整合之前,感觉有点乱。我个人觉得这也是模块化的一个副作用。就像Andorid里面的Library一样。

经过以上的构思,初步认为至少需要4个工程:x264的采集工程,aac的采集工程,和rtmp的传输工程。

接下来就是编码的工作了。实际问题总是比想象的多啊!

转载于:https://my.oschina.net/lifj/blog/709179

你可能感兴趣的文章
微软邮件系统Exchange 2013系列(七)创建发送连接器
查看>>
程序员杂记系列
查看>>
【树莓派】制作树莓派所使用的img镜像(一)
查看>>
理解网站并发量
查看>>
spring整合elasticsearch之环境搭建
查看>>
TensorFlow 架构与设计-编程模型【转】
查看>>
如何运行Struts2官网最新Demo?
查看>>
'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
查看>>
XDebug 教程
查看>>
js 去html 标签
查看>>
好久不见
查看>>
小tips:JS中的children和childNodes
查看>>
二叉树的遍历
查看>>
Oracle的FIXED_DATE参数
查看>>
NDK配置
查看>>
(转)@ContextConfiguration注解说明
查看>>
[置顶] ※数据结构※→☆线性表结构(queue)☆============队列 顺序存储结构(queue sequence)(八)...
查看>>
Linux 系统的单用户模式、修复模式、跨控制台登录在系统修复中的运用
查看>>
《http权威指南》阅读笔记(十)
查看>>
JQuery UI Widget Factory官方Demo
查看>>