1
回答
做视频类应用软件,要对编解码算法有多了解?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

@中山野鬼 你好,想跟你请教个问题:

     小弟以前学计算机的,但没学过视频编解码类的知识,目前在一家视频网站做手机视频
客户端的开发。做的视频播放主要是用到系统控件,基本涉及不到编解码的东西,但是一
般求职面试的时候往往会被问到是否熟悉编解码,请问各位专业人士,如果要长期在视频
应用类的公司混下去,要对视频编解码熟悉到一个怎样的程度?

     
      视频压缩类的书籍我也翻过,感觉里面讲到的那些知识,好像一般也用不到?编解码
器这种底层组件,难道不是大公司早就已经写好了吗,平时工作里面会要自己去写编解码
器吗?

       比方我要在我们的iphone app里面录制视频,然后加上滤镜,并压缩后上传,需要要对H264算法这样的知识了解到什么样的程度?还是只要会用ffmpeg这样的库就够了?另外,如果要在手机上实现视频聊天、语音聊天这样的功能呢?

<无标签>
举报
gucaixia
发帖于4年前 1回/414阅
共有1个答案 最后回答: 4年前

绝大多数做视频开发的,不会碰核心,我以前在的公司碰核心也是没办法。一个dsp放里面不用浪费,结果就想起来软解码的需求了。

从应用角度,一般就是几个函数,初始化,释放,丢数据源,取计算结果。实际每个编码标准里面怎么算的,真心不用在意。不过从视频编解码理论角度,确实需要懂点基本只是。比如帧内编码,双向编码,分辨率,编码率,压缩步长等等。这些其实找些视频编解码的原理的概述性的论文,那么可以很快容易学会。各种教科书反倒慢。

ffmpeg这个算是个大容器,哈。我都不觉得它是个库。你会发现它对每个编解码,音频视频都有,通过挂接和底层独立模块复用的方式整合在一起。内部怎么玩的,你确实不要关心,还是接口搞搞清楚就行。

手机上实现音视频的聊天,这个要看你是在什么设备上。如果同样品牌型号的手机,有时是硬解码的(相对而言,一些特殊的处理器或加个dsp,如我以前做的那样),这样,对于ffmpeg之类的利用没有什么意义,因为实际也是他们对硬件解码的调用,这个通常os就帮你处理好了。你唯一要注意的是,硬解码和软解码在效率上的差异。软解码会直接影响你的系统性能。

至于录制视频的压缩。外面有专门的转格式的程序存在。或库存在。直接调用就好。自己解码展开,再用另一套编码压缩,就没意思了。哈。

另外告诉你个大多数所谓搞视频编解码的人的误区:

对于大多数高清视频,相同图像质量下,实际mpeg2 的压缩效率,大于h264。

如果上述言论有人承认的,你可以认为他确实懂视频编解码的,如果谁拿个h264的论文,谈压缩信噪比,说h264强的,可以明确,他没设计过内核,这还不是简单照着标准写代码的工作。

顶部