ffmpeg 接收解码rtp h264视频流
2015-09-25 15:58
549 查看
首先说明一下nalu的格式:
nalu由三个部分组成:开始码(0x01000000)+nalu头+nalu数据。
使用live555 testrtspclient那个例子来接收rtp流,接收到的nalu是没有开始码的,
需要自己加上起始码,然后喂个ffmepg的packet.data,然后就可以解码了,
将sps,pps补偿给ffmepg:
在ffmpeg解码其他nalu之前,需要将h264视频流的 sps,pps补偿给ffmepg,这两个东西也是nalu
在rtsp的连接过程中,describe命令响应那里,可以拿到sps,pps,拿到的是使用了base64编码的
需要进行base64解码,解码出来的sps,pps是没有起始码的nalu,需要自己加上起始码,
然后喂给ffmepg的packet.data,然后解码这两个nalu即可,这样ffmepg就知道了视频的宽度高度
这些信息了,这样就可以解码后面的nalu视频流数据了。
nalu由三个部分组成:开始码(0x01000000)+nalu头+nalu数据。
使用live555 testrtspclient那个例子来接收rtp流,接收到的nalu是没有开始码的,
需要自己加上起始码,然后喂个ffmepg的packet.data,然后就可以解码了,
将sps,pps补偿给ffmepg:
在ffmpeg解码其他nalu之前,需要将h264视频流的 sps,pps补偿给ffmepg,这两个东西也是nalu
在rtsp的连接过程中,describe命令响应那里,可以拿到sps,pps,拿到的是使用了base64编码的
需要进行base64解码,解码出来的sps,pps是没有起始码的nalu,需要自己加上起始码,
然后喂给ffmepg的packet.data,然后解码这两个nalu即可,这样ffmepg就知道了视频的宽度高度
这些信息了,这样就可以解码后面的nalu视频流数据了。
相关文章推荐
- php for循环之9乘9乘法表实例代码
- PHP获取通过windows系统命令wmic获取MAC地址、cpu序列号、主板序列号
- 腾讯CMEM的PHP扩展编译安装方法
- php5.2.17及手动打补丁php-fpm安装
- PHP发送短信
- PHP计算程序运行时间的类
- PHP生成随机字符串(3种方法)
- phpcms v9 代码分析笔记2
- PHP-关于模板的原理和解析
- php学习基础篇之基础函数(数学 日期 字符串)、php循环流程控制
- PHP防盗链的基本思想 防盗链的设置方法
- php几个常用的概率算法(抽奖、广告首选)
- 十个PHP高级应用技巧果断收藏
- ubuntu14安装php模块报错
- PHP中的Session对象如何使用
- 建立基于虚拟用户的VSftpd服务
- 如何解决PHP无法实现多线程的问题
- php学习基础篇之数据类型转换、运算符、if 、switch 流程控制
- PHP错误日志控制
- PHP错误日志控制