第四十六章 手机直播(1 / 1)

月之影面 哥德尔系统 1009 字 2个月前

跟宋所长商量了一下建设新型号的的ir了”,

“啪”,这回王一男没躲开,巴掌摔倒了他脸上,当然很轻很轻,打是亲骂是爱嘛。

“再简单点!”,周慧说,

“只要经过最后一步,就可以在电脑或者手机上跑起来了”,王一男说。

“那你还等什么”,周慧说,

“我这不是出来喘口气嘛”,王一男说,

“赶紧,赶紧干活去”,为了情节的快速推进(已经有不少读者嫌弃咱们节奏太慢了),周慧立刻变身周扒皮,反正他们周家人干这活擅长。

王一男只好灰溜溜的跑回去干活,好在llvm 从ir 到x86 或者arm体系的代码生成都有现成的工具可以用,王一男没过多久就编译完成了x86上的可执行程序。

为了简化问题,王一男没有直接对摄像头的数据进行实时处理,而是对硬盘上的图像序列进行压缩,解压缩的时候直接输出到图像序列,这样可以减少非常多的开发工作量。

pc上程序执行的结果是令人满意的,1080p的图像序列,也就是分辨率为1920 x 1080 的图像,即使增加了从硬盘读取的时间,也能做到实时的压缩和解压缩。

王一男从那段十五分钟的视频里面,截取了60秒的片段进行测试,首先使用ffmpp图像的序列,然后用编译过的神经网络进行压缩,

20秒之后,压缩结果就出来了,当然比不上哥德尔系统的运算能力,20秒可以压缩整个十五分钟的视频,不过在普通的pc机上能达到这个性能,已经非常非常棒了。

解压缩的结果也不出所料,60秒的片段,大概只用了5秒钟就解压缩完成,毕竟,解压缩需要的运算量比压缩要小很多。

然而,手机程序的测试结果就没这么乐观了,王一男的手机采用了最新的arm芯片,算是性能最强的一档次吧,但是在王一男的手机上,仍然做不到实时的视频压缩。

60秒的视频图像序列,花了超过200秒才压缩完毕,这个结果就有点差强人意了,当然实时解压缩是完全没有问题的,40秒就完成了。

看着测试的数据,王一男陷入了沉思,应该说,对于这样的结果,王一男早有思想准备,本来他的最低预期,是在pc上面可以实现实时的视频压缩和解压缩,对于手机上的arm芯片没有抱太大的期望,因为毕竟arm和x86之间的性能差距还是很明显的。

现在手机上能够实现实时的视频解压缩,已经超过王一男的预期了,这就意味着,使用手机进行高清的直播虽然暂时不可能,但是使用手机观看高清的直播是分分钟就能变成现实的事情。

“不对啊”,王一男摇摇头,这个数据虽然在意料之中,但是离王一男的期待还是有一些距离,而且,总觉得里面有点什么东西不对,

“怎么了?”,周慧走了过来,她手里还拿着手机在看抖一抖短视频呢,一边看一边乐的不行。

王一男探头看了一眼周慧的手机,只见一个疯婆子在屏幕上歇斯底里的说,“女人花点钱肿么了,肿么了”,虽然内容很lo ir指令输出的目的代码不应该仅仅是arm指令集,而应该是arm加上gpu指令集,按照h264硬件编码跟软件编码的性能差距幅度,应该还能提升五倍的性能吧。

“哎,果然没有捷径可走啊”,王一男叹了口气,对周慧说,

“看来咱们要在这里继续呆一段时间了”。

“嗯,没关系,反正我也没什么事情”,周慧说,

当然,王一男毕竟是半闭关而不是全闭关状态,每周他还是要去学校上两次课的,而且大卫团队的第二个测试版本,还等着他每周的例行鸡汤呢。

在陈子豪的带领下,大卫团队使用了改进后的rust语言作为后台服务器的开发语言,确实,虽然这种语言对于开发人员提出了非常高的要求,这么说吧,没有两年以上开发经验的,你根本理解不了所有权的转移是怎么回事。

不过处错误的概率真的是低了太多,基本上所有的内存bug都在编译的时候被编译器发现并消除了。

陈子豪使用哥德尔系统,为rust代码增加了一个编译器前处理环节之后,他们使用的rust语言也改进了许多,程序猿完全不用担心复杂的所有权管理和生存周期的问题了,哥德尔系统可以自动的判断所有的疑难情况,并做出正确的标注提供给编译器。

这也极大的提升了开发的效率,降低了开发的难度,很快,im系统的第二个原型也开发完成了,用陈子豪的话来说,“基本功能已经达到威信三年前的水平了!”。

你别瞧不起这玩意,在王一男看来,这已经是非常值得骄傲的成绩了。

时光荏苒,在新年到来前的一周,圣诞节前夜,王一男总算完成了自己的第二阶段目标,生成了利用手机显卡处理能力的超级视频编解码器版本。

他顺便还把直接对摄像头输入的连续图像序列进行压缩的代码,以及输出连续图像到屏幕的代码都集成进来了。

嗯,这话太拗口,其实就是,他用程序可以直接对摄像头的输出进行视频压缩了,“就是不知道能不能达到实时的效果”,王一男有些忐忑。

他打开程序,把镜头对准了周慧,

“来妹子,给哥笑一个”