第四十六章 手机直播-第2/3页
“再简单点!”,周慧说,
“只要经过最后一步,就可以在电脑或者手机上跑起来了”,王一男说。
“那你还等什么”,周慧说,
“我这不是出来喘口气嘛”,王一男说,
“赶紧,赶紧干活去”,为了情节的快速推进(已经有不少读者嫌弃咱们节奏太慢了),周慧立刻变身周扒皮,反正他们周家人干这活擅长。
王一男只好灰溜溜的跑回去干活,好在llvm 从ir 到x86 或者arm体系的代码生成都有现成的工具可以用,王一男没过多久就编译完成了x86上的可执行程序。
为了简化问题,王一男没有直接对摄像头的数据进行实时处理,而是对硬盘上的图像序列进行压缩,解压缩的时候直接输出到图像序列,这样可以减少非常多的开发工作量。
pc上程序执行的结果是令人满意的,1080p的图像序列,也就是分辨率为1920 x 1080 的图像,即使增加了从硬盘读取的时间,也能做到实时的压缩和解压缩。
王一男从那段十五分钟的视频里面,截取了60秒的片段进行测试,首先使用ffmpeg的命令行工具,输出格式为bmp图像的序列,然后用编译过的神经网络进行压缩,
20秒之后,压缩结果就出来了,当然比不上哥德尔系统的运算能力,20秒可以压缩整个十五分钟的视频,不过在普通的pc机上能达到这个性能,已经非常非常棒了。
解压缩的结果也不出所料,60秒的片段,大概只用了5秒钟就解压缩完成,毕竟,解压缩需要的运算量比压缩要小很多。
然而,手机程序的测试结果就没这么乐观了,王一男的手机采用了最新的arm芯片,算是性能最强的一档次吧,但是在王一男的手机上,仍然做不到实时的视频压缩。
60秒的视频图像序列,花了超过200秒才压缩完毕,这个结果就有点差强人意了,当然实时解压缩是完全没有问题的,40秒就完成了。
看着测试的数据,王一男陷入了沉思,应该说,对于这样的结果,王一男早有思想准备,本来他的最低预期,是在pc上面可以实现实时的视频压缩和解压缩,对于手机上的arm芯片没有抱太大的期望,因为毕竟arm和x86之间的性能差距还是很明显的。
现在手机上能够实现实时的视频解压缩,已经超过王一男的预期了,这就意味着,使用手机进行高清的直播虽然暂时不可能,但是使用手机观看高清的直播是分分钟就能变成现实的事情。
“不对啊”,王一男摇摇头,这个数据虽然在意料之中,但是离王一男的期待还是有一些距离,而且,总觉得里面有点什么东西不对,
“怎么了?”,周慧走了过来,她手里还拿着手机在看抖一抖短视频呢,一边看一边乐的不行。
王一男探头看了一眼周慧的手机,只见一个疯婆子在屏幕上歇斯底里的说,“女人花点钱肿么了,肿么了”,虽然内容很lo,不过画质到还是挺不错的。
这些直播软件采用的应该都是h264的视频格式,对于这种格式,普通手机都有硬件编解码和软件编解码两种模式,王一男立刻明白自己的错误在什么地方了,现代手机应该都带有gpu芯片,也就是图形处理芯片,对于压缩/解压缩这种高度并发的运算来说,图形处理芯片相对cpu来说,有巨大的优势。
所谓的硬件编解码,就是利用gpu芯片的高度并行向量处理指令,来实现h264格式的视频编解码,这样性能比采用cpu的软件编解码好非常多。
也就是说,王一男的llvm ir指令输出的目的代码不应该仅仅是arm指令集,而应该是arm加上gpu指令集,按照h264硬件编码跟软件编码的性能差距幅度,应该还能提升五倍的性能吧。
“哎,果然没有捷径可走啊”,王一男叹了口气,对周慧说,
“看来咱们要在这里继续呆一段时间了”。
“嗯,没关系,反正我也没什么事情”,周慧说,
当然,王一男毕竟是半闭关而不是全闭关状态,每周他还是要去学校上两次课的,而且大卫团队的第二个测试版本,还等着他每周的例行鸡汤呢。...
本章未完,请点击下一页继续阅读!