他说的一定对吗?-- 请保持独立思考的习惯

实际工作中,我们经常会向其他同事咨询一些技术问题。但是,他给出的答案一定是正确的吗?

近期项目组遇到这么个问题,Android平台上软件解码RTSP实时视频流CPU占用率较高,打算切换到硬件解码。但是在调用硬件解码接口的时候返回失败,原因是视频流的分辨率信息未知,结果又自动切换回了软解。

那么,基于RTSP传输的视频流,一般可以从哪里获取分辨率信息呢?

  1. RTSP报文中的SDP,一般会有SPS、PPS信息,这里可以拿到(具体术语不展开介绍,感兴趣自行搜索)。
  2. RTP扩展头:RTP协议允许对头部进行扩展,当然扩展信息你爱填啥就填啥,并不限于分辨率信息,相当于私有信息。
  3. 码流中的SPS信息。实际实现中,很多公司都会把SPS、PPS信息穿插在码流中,一般的做法是SPS、PPS紧挨着I帧,并且位于I帧的前面(位于前面的好处是解码库拿到该信息,就可以解码紧挨着的I帧,否则紧挨着的I帧就要被缓存起来或者丢掉)。有些实现是每个I帧前面都有SPS、PPS,有些实现是仅当视频信息变化时才插入SPS、PPS。

询问解码库同事,说分辨率信息是从RTP扩展头部获取的。我们设备端没有扩展RTP头,所以取不到分辨率信息,导致硬解失败。这个答复听起来挺有道理的,但是仔细想想经不起推敲啊:

  1. 硬解拿不到分辨率信息,软解就拿到了?如果软解也拿不到,为何又能解码?
  2. 公司的解码库经常用来对接第三方设备,别人的设备不一定填充RTP扩展头,即使填充了,格式也未必和我司的定义一致。难道我们的解码库解不了第三方的视频流?这和事实不符啊。
  3. 之前调试的设备,从抓包信息看,也并未填充RTP扩展头,但是却可以用硬解。

带着这些疑问再次询问解码库同事,终于得到了合理的答复:

  1. 如果存在RTP扩展头,他们优先从扩展头获取分辨率信息
  2. 如果没有扩展头,他们就从码流中的SPS获取分辨率信息

注:这里有个遗憾,我们居然没有使用RTSP报文中的SDP。

问题依然存在,为何硬解获取不到分辨率,软解能获取到呢?

抓包看下吧。原来第一个I帧前无SPS、PPS信息,而后面每个I帧前面都有SPS、PPS。排查设备端代码发现,RTP封装库中,在发第一个I帧的时候,把SPS、PPS信息丢了!!!

通过这次事件可以看到,别人提供给你的信息不一定是准确的,甚至有可能是错误的。他不一定是有意给你提供不准确的信息,有可能仅仅是因为他对问题理解的局限性,对相关知识的熟悉程度。为了避免被不准确的信息所害,我们一定要保持独立思考的习惯,多问几个为什么。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维

从软件部署看运维的四种境界

       首先,博文的名字很难取啊,叫什么都感觉不太对,这里就暂定这样吧。不可否认这里有点哗众取宠的动机,不谈境界总感觉格局不够大哈。

2112
来自专栏视频云

腾讯云直播答题方案解析

基于腾讯云业界领先的视频云技术,提供一站式在线知识竞技接入方案,并独家提供微信小程序接入方案。

6.4K9
来自专栏北京马哥教育

海量的超赞 Linux 软件

1.1K4
来自专栏SDNLAB

核心网的演进(RCAF,PFDF和TSSF)——3GPP REST接口

回首技术发展的多样性,从3GPP Release 13开始,标准已经走上了一条新路。更关注新的网络元素,广泛关注机器类型通信(MTC)、新的基于REST的接口(...

3675
来自专栏张叔叔讲互联网

什么是网络爬虫,每天都在忙乎什么?(下篇)

上篇文章中提到我成功到达了B站服务器,并且成功拿到了所需要的Cosplay图片,但是除了图片之外还有一些其他内容,带着很多疑问我开着车以光速回家了。

1112
来自专栏刺客博客

谈谈云免原理

6.2K2
来自专栏华章科技

泣血推荐丨学编程开始前就该知道的工具集,提升五倍学习效率

导读:兵法有云:三军未动粮草先行。对于程序员来说,粮草莫过于一干好用的工具了。下面推荐几款比较好用的辅助工具。特别对于初学者来说,学习编程之初就了解这些工具,会...

991
来自专栏IMWeb前端团队

Front-End MV*简述(一)

本文作者:IMWeb 何璇 原文出处:IMWeb社区 未经同意,禁止转载 近几年来由于web应用的交互越来越复杂,前端技术也迎来了一个飞速发展的时期。...

19610
来自专栏腾讯IVWEB团队的专栏

全面进阶 H5 直播(上)

如果我们想要理解 HTML5 视频,首先需要知道,你应该知道,但你不知道的内容?那怎么去判断呢? ok,很简单,我提几个问题即可,如果某些童鞋知道答案的话,可以...

3.4K7
来自专栏数据和云

DBA决不能心存侥幸

最近一个阶段,在不断频繁的出差中,也不断接收到大量的客户援助请求,各类千奇百怪的故障呈现出来。 题图是来自某客户现场的一条标语:侥幸的明天就是不行。这张图在微博...

3618

扫码关注云+社区

领取腾讯云代金券