文章目录

  • 客户端播放器兼容性有问题
  • 不定期就会崩溃
  • 谁不是一堆事呢

客户端播放器兼容性有问题

黄云鲲一回来,林象南就叫上了陈速、钟展鹏一块儿到洪武青办公室开会。这个问题主要由陈速来描述,钟展鹏在一边进行补充。问题说明白以后,大家就都看着黄云鲲了。

“这个问题,” 黄云鲲习惯性地扶了扶深度眼镜,“很明显是客户端播放器解析ts流有问题的嘛。因为同样的数据在VLC播放器里是没有问题,对不对?”

“这个是没错,” 陈速决定接下这个话茬,“但点播那边用的也是同样的客户端播放器吧?”

“是,不过点播的文件格式不同,是mp4格式的。” 黄云鲲回忆着点播的那套环境。

“h264视频编码是一样的?” 陈速再对视频编码格式发问。

“这个是一样的,其实也略有差别,主要为了照顾直播编码的实时性。但只是在个别参数上有微调,算法都是一样的。” 黄云鲲的回答让大家明白视频编码的问题可以排除了。

“那问题还是出在ts封装格式上了?” 陈速其实大概知道问题出在什么地方,但现在他只想能尽快解决问题。这么问的话,等于就是说问题全在黄云鲲那边了。

“不对,” 黄云鲲皱了皱眉头,“我刚才就说过了,是客户端播放器对ts格式的兼容性有问题。所以现在应该想办法解决客户端的兼容性问题。”

陈速明白这是黄云鲲又把问题踢给客户端,对黄云鲲的态度,陈速心里也只能是暗叹了口气。因为客户端那边根本没有播放器的解码研发人员,只能使用系统默认播放器。如果黄云鲲一味推托,这事就只能僵在那儿了。

这时候洪武青开口了:“云鲲,我问一下啊,你实现的ts格式和标准规格文档的定义是一样的吗?”

陈速暗暗佩服,看来洪武青在这段时间里真是恶补了不少音视频流媒体的技术,了解到ts格式其实是有通用规格说明文档的。

“当然一样,” 黄云鲲信心满满,“我当初就是在VLC上调试并播放流畅的。”

“那你现在能不能在客户端的播放器上调试一下看呢?” 洪武青试着提出了一个解决办法。

“这个比较难,” 黄云鲲对洪总没有把话说太死,“VLC毕竟是开源播放器,哪里卡壳了,我可以直接看代码来查问题。但咱们这个盒子的播放器源码是没有的,如果只能看系统日志来调试,那我也不知道要弄多久才能好。”

在场众人听了这话都默然不语,陈速这会儿也明白了黄云鲲为什么要一直把问题推给客户端了,因为他自己就料到这事不好办。

洪武青也沉默了好一会儿,开口说:“这样吧,云鲲你还是辛苦一下。因为我们客户端这边钟展鹏他还解决不了解码的问题,只能是你这边配合他想想办法把兼容性再调一调,你看行吧?” 话已至此,黄云鲲自然不好再说什么,便答应了下来。洪武青便示意众人散去,单把钟展鹏留了下来。

出了洪武青的办公室,陈速心头沉郁不已,真不知道该怎么办才好。这会儿又多了一个坑,看黄云鲲那百般推托的态度,陈速心里真是一点底也没有。

不定期就会崩溃

陈速花了一周时间,总算是把基础库给改好了。说是改,不如说是重写,也是因为之前时间匆忙,代码写得问题重重。陈速痛定思痛之余,时间再紧也不敢马虎,所以重写了这一版。陈速用新基础库替换了自己的程序之后就赶紧让詹季明测上了,这边也提交给肖平安去替换。

没想到,肖平安竟然说他的程序可以提交测试了,陈速觉得这迟来的好消息也比迟迟不来要好吧。不过,肖平安的程序刚提交运行就出现崩溃的现象,甚至詹季明还没来得及看一眼日志输出。陈速倒觉得没什么好奇怪的了,现在还有什么事不能发生呢?

从那之后,詹季明就频繁地往来于他自己的工位和肖平安的工位之间。肖平安的程序最好的时候可以运行两天,差的时候半天就挂。而肖平安的解决办法就是在程序中加入更多的调试打印语句,然而出问题时,日志都没有显示出异常。肖平安给詹季明的建议也一直是“把程序再起来运行一下看看”。

梁江峰看詹季明天天往这边跑,找肖平安说测试的问题。于是他悄悄地过来问陈速:“肖平安那边到底是什么问题,你清楚吗?”

“好像是不定期就会崩溃。” 陈速也问过肖平安,但他的回答就是代码没看出问题,但运行不知怎么就出错。

“你要帮他一块儿看代码呀,” 梁江峰似乎都有些急了,“我早就说过直播传输这项目是你们两个人一块儿弄的,他那边没进展,你这边做的再好又有什么用?”

这话听着已经很严厉了,陈速脸上也有些挂不住了,赶紧应道:“行,我现在开始看平安的代码吧,我也一块儿调。有结果我会及时告诉你。” 就这样,陈速找肖平安要了svn地址,把他的代码下载到了本地。

肖平安所有的代码只有一个.c文件,这让陈速已经有点惊讶了,再用编辑器打开之后看下来,陈速的内心就完全崩溃了。肖平安所有的功能全写在main函数中,代码没有任何组织,那些在设计文档里洋洋洒洒的各种说明,只体现在眼前这一团乱麻似的近1000行代码里。

公司的核心部门开发人员就这水平?就是在大学期间,做工程实践的时候陈速也会尽量有些层次,虽然做得挺烂,但眼面前的却是完全没有。陈速很好奇,当初肖平安是怎么在钟亚伟那寒电般的目光下通过面试的。但现在能怎么办呢,陈速只能硬着头皮开始逐行阅读代码吧。

就为肖平安的这些代码,陈速连着几个晚上都在拼命加班,也帮他找出了几个内存溢出的问题。陈速真心建议肖平安先把功能层次划分好,再有组织地自顶向下来实现功能。为此陈速还专门写了些框架代码提交进去,但往往第二天肖平安就从svn里把陈速的代码删除了,只保留他自己那一个孤零零的文件。渐渐地,陈速也就不太管这事了。

谁不是一堆事呢

现在项目进展上来说,黄云鲲负责解决客户端播放器的兼容性问题,直播传输则卡在肖平安的中转服务程序不稳定上。钟展鹏的工作从理论上来说就是等待黄云鲲调试完成,还有跟肖平安的程序进行对接。因此钟展鹏几次找到肖平安,希望能尽快完成对接工作,这样他那边好进行下一项工作。

那天,钟展鹏又走到CDN部门这边来,陈速知道又是来找肖平安的,也就没起身。就听钟展鹏问上了肖平安:“肖工,你好,你这边程序什么时候能弄好?”

“还有问题,正在调着呢。” 肖平安戴着耳机,一边看着笔记本电脑屏幕,头也没抬。

“那你这边能快点吗?” 钟展鹏语气仍然十分客气,“我那边还有一堆事等着我呢。”

没想到,肖平安猛然抬头,并爆了一句出来:“谁不是一堆事呢!” 语毕,肖平安可能也觉得自己的火气有点大,又降低了一些声音说:“我这边不也一直忙着吗?你再等等吧。”

“好吧,好吧。” 钟展鹏刚开始显然有点懵,一时说不出话来。后来看肖平安这么说也只好无奈应着,不过他没有马上离开,而是过来找梁江峰又悄声说了一番话。钟展鹏回去了之后,梁江峰过来叫上陈速来到肖平安身旁,问着刚才的情况。

肖平安只是说程序还不稳定,需要再观察观察。梁江峰问着陈速说:“陈工你帮平安看过代码了吗?”

“看过了,也修复了一些问题。” 陈速实在不愿意去回想肖平安写的代码。

“那现在不稳定是什么原因?” 梁江峰今天打算把问题搞清楚。

“应该还是长时间运行之后,会出现内存溢出的情况。” 这是陈速的推测。

“那平安你在代码里加了调试信息没有?” 梁江峰又转向了肖平安并发问。

“加了,都加了,我这天天看着呢。” 肖平安竟也满腹委屈。

“那肯定是还有哪里没想到,平安你得多考虑一下我跟你说过的那些地方。” 陈速忍不住补了一句,没想到这一句又让肖平安炸了。

“你的程序就没出过问题吗!” 肖平安脱口就吼了这么一句。陈速当下觉得甚是没趣,一句话也不想多说了,扭头就要回自己工位。梁江峰叹了口气,拉着陈速到楼下放风去了。

“梁工,你看过肖平安的代码了吗?” 陈速这回不打算那么客气了。

“看过,” 梁江峰也是满面愁容,“我明白你的意思。以前都是交待肖平安做一些模块级的开发,就是实现一个具体的功能,那还好说。这回是他第一次做一个完整的服务程序,所以很多地方没想到。”

“原来是这样。” 陈速嘴里这么应着,其实并不太能接受这个解释。

“你的水平比他要高,” 梁江峰这会儿的语气有些苦口婆心一般,“所以你要多帮帮他,现在项目催得紧,他这也是着急。”

“我当然想帮他,” 陈速也是满腹的牢骚,“但也得我说话他愿意听吧,是不是?”

“是,所以你也别往心里去。我还是相信你的职业态度的。” 梁江峰有些担心地说。

“这是什么话,” 陈速倒是一口喷出笑来,“我哪能拿这事开玩笑,这个你放心吧。” 陈速转头看见不远处贺立强在向他眨巴眼,于是陈速对梁江峰说:“梁工,我去跟老贺他们抽一根儿,你去不去?”

“哦,不了,你去吧。” 梁江峰说完就进楼里去了。陈速知道梁江峰不抽烟,所以故意这么问来着。

“陈总,忙完了没呀?” 贺立强一边说着一边就远远地打了根红塔山过来。陈速一把接住,自己点上火了。

“唉吗呀,要了命这事儿。” 陈速也是叫苦不迭。

“你那边真的要赶紧了,兄弟 。” 贺立强面色严峻,陈速一看他没有开玩笑的意思,心下便有些紧张,忙问着:“怎么了?”

“我跟你说这事,你别跟人说去,” 贺立强这会儿压低声音,语速很快,“今天洪总找我了,他让我有空看看现在市面上现成的直播系统。这意思你能明白不?”

这意思就是项目要黄,洪武青打算买现成的了。陈速紧皱眉头猛吸了一口,只见烟头瞬间就缩短了一截。贺立强的语速更快了:“兄弟,跟你说句掏心窝的话,这事对我一点影响没有,反正用你们开发的也是用,用买来的也是用。但有件事你可能不知道,如果采购全套直播设备,技术上是钟展鹏全权负责,我们还是干维护。”

陈速“嚯”地抬头直盯着贺立强,后者也正目光如炬地望着他。陈速把烟头猛扔脚下用力踩灭了,借着这个劲他稍稍平复了一下心情。此时,陈速心里已经有了计较,便对贺立强说:“强哥,我明白了。我也希望这事儿最好能落在自己手上。就算买来了设备,你这边又有多少事要维护的呢?反正有厂家给管着不是。”

“可不就是这意思嘛,” 贺立强一拍大腿,“我就知道陈总你是明白人。废话我也不多说了,就说你需要我这边做什么,我绝对不说二话,成不?”

“没问题!” 陈速决定不能再将直播项目这样做下去了,他要改变现状,从困境中走出来。

仙人掌之歌——坑,各种坑(3)相关推荐

  1. hive 增加表字段语录_Hive改表结构的两个坑|避坑指南

    Hive在大数据中可能是数据工程师使用的最多的组件,常见的数据仓库一般都是基于Hive搭建的,在使用Hive时候,遇到了两个奇怪的现象,今天给大家聊一下,以后遇到此类问题知道如何避坑! 坑一:改变字段 ...

  2. 【吐血经验】在 windows 上安装 spark 遇到的一些坑 | 避坑指南

    在 windows 上安装 spark 遇到的一些坑 | 避坑指南 最近有个活:给了我一个阿里云桌面(windows 10系统),让我在上面用 scala + spark 写一些东西. 总是报错不断, ...

  3. Spark踩坑填坑-聚合函数-序列化异常

    Spark踩坑填坑-聚合函数-序列化异常 一.Spark聚合函数特殊场景 二.spark sql group by 三.Spark Caused by: java.io.NotSerializable ...

  4. [iOS]贝聊 IAP 实战之见坑填坑

    大家好,我是**贝聊科技** 的 iOS 工程师 @NewPan. 这次为大家带来我司 IAP 的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会 ...

  5. Cobalt Strike折腾踩坑填坑记录

    文章目录 0X00 背景 0x01 基础原理 0x02 关于破戒 Exit暗桩 0x03 CDN+反代隐藏Teamserver Domain Fronting Proxy 0x04 DNS上线 一个未 ...

  6. 仙人掌之歌——坑,各种坑(2)

    文章目录 直播源不可用 基础库的问题 直播源不可用 之前陈速找钟展鹏聊过之后,就把传输协议发给了对方.但现在因为传输协议发生变更,udp改成了tcp,他赶紧在QQ上通知钟展鹏这件事.陈速本以为钟展鹏那 ...

  7. 仙人掌之歌——坑,各种坑(1)

    udp传输不靠谱 陈速评估了下直播各个服务中,最关键的恐怕就是各层节点之间的数据传输稳定性了.起码在服务器之间传输数据是不能有丢包和乱序现象的,陈速想明白之后,就把肖平安和詹季明一块儿叫到小会议室里商 ...

  8. 仙人掌之歌——进军To C直播(1)

    要解决的问题 只过了两天,洪武青就叫陈速和梁江峰到他办公室去一趟了.进了办公室,钟展鹏和葛栋山也已经在里面了.陈速暗道这看来就是要规划直播CDN的新任务.洪武青示意大家都坐下,这会儿连沙发带椅子,四个 ...

  9. JWT 入坑爬坑指南

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「程序新世界」 越来越多的开发者开始学习 ...

最新文章

  1. 认清Hadoop和Spark的这几点区别,学习时才能事半功倍
  2. 如何将C# 7类库升级到C# 8?使用可空引用类型
  3. 【HDU - 5963】朋友(博弈,思维,必胜态必败态,找规律)
  4. php定义数据表类,phpwind中的数据库操作类
  5. 新颖的自我介绍_公众场合,如何做一个吸睛的自我介绍?
  6. h5 uniapp history模式下刷新页面404
  7. Java 创建线程的4种方式
  8. python 分布式锁_Python分布式锁 Sherlock
  9. WEB项目优化:雅虎优化网站的34条法则(转)
  10. SFTP服务器文件下载
  11. Android编码规范
  12. web前端开发基础入门教程之HTML5 浏览器支持
  13. #500-7 [编程作业]3_4 念整数
  14. 128-Vue中的事件修饰符-阻止冒泡事件
  15. Day11-函数进阶
  16. SOM网络算法分析与应用(适合入门、快速上手)
  17. Apache Kafka 入门 - Kafka命令详细介绍
  18. Clipboard HTML FORMAT 粘贴板中文乱码问题。
  19. 开源实践 | OceanBase 在红象云腾大数据场景下的实践与思考
  20. 蚂蚁金服,马已今服:循环放贷高杠杆,ABS(Asset-backed Securities)与巴塞尔协议...

热门文章

  1. 小黑算法成长日记18:基于Prim算法的最小生成树
  2. 2022-2028年全球与中国虚拟宽带网络网关(vBNG)行业竞争格局与投资战略研究
  3. PS练习5——给老照片上色
  4. 2021年茶艺师(中级)考试总结及茶艺师(中级)模拟试题
  5. Docker和docker-compose安装脚本-Ubuntu16.04
  6. Actionscript,AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系
  7. Python编程 数值类型 数学计算
  8. 基于灰色关联度的人均GDP影响因数分析
  9. VR体验馆推荐重庆也可以体验虚拟现实游戏
  10. 翻译资格考试英语口译三级考试大纲