说明:

许多以前做个一个测试项目,想把android手机视频接入视频服务器,做法是这样的:

把android手机的实时视频上传到后台转发服务器,转发服务器把音视频流包装成IPC rtsp服务器形式,流媒体连接手机转发服务器就像连接IPC设备一样,使用rtsp的拉流模式获取视频流。

从而实现手机---转发服务器---视频服务器—PC客户端的双向通信。

这个方案是一个简化方案,手机端仅仅负责抓包回放以及远程播放,转发服务器仅实现一个rtsp封装并未其他任何功能,其他模块是不变的。手机端使用了最上层的mediarecorder对象,一边录制回显,一边上传音视频。

手机端需要使用自定义的协议和转发服务器通信,把音视频参数告知服务器,其中获取视频参数是很重要的。

如何 获取视频参数呢?其实,mediarecorder(H264)的录制数据的开头就包含了SPS和pps参数,分析一下取出来即可,并且相同的设备、相同的配置获取的sps,pps都是相同的,只需要在启动界面的时候获取一下即可,后面就不需要获取了。

如何获取H264参数呢?

解决方案:

1、设置录像的视频解码参数为H264

2、获取到录像数据之后跳过文件头:

​​​​​​​

3、后面就是SPS和PPS:

​​​​​​​

这样就找到视频参数,然后封装起来,告诉服务器。

参考:

以前我好像写过一篇文章介绍sps,pps,那时候在做h264分片传输。

关于:

编者:李国帅

qq:9611153 微信lgs9611153

时间:2022-6-26

从MediaRecord录像中读取H264参数相关推荐

  1. 在AngularJS中读取查询参数的最简洁方法是什么?

    本文翻译自:What's the most concise way to read query parameters in AngularJS? I'd like to read the values ...

  2. 【Spring Boot】从配置文件中读取配置参数

    前言 在生产环境中,经常会用到各种各样的参数,为了避免代码太过死板,一般将参数写入配置文件,然后需要用到参数的时候从配置文件中读取,下面总结出几种从配置文件中读取配置参数的方法. 环境搭建 现有配置文 ...

  3. jmeter参数值只读取了第一个_Jmeter学习笔记-从文本中读取一个参数,多个值(7)...

    测试场景:插入多条数据时,某些关键字不能重复,从文件中读取其参数,可解决该问题. 1.CSV Data set config的配置如下图: Filename:需要传入的参数所位于的文件名称,一定要填写 ...

  4. OpenCV4中读取摄像头参数YAML文件(C++和C#)

    0:环境 OpenCV4.1.2 + Win10 + Visual Studio2019 我的工程是C#的,需要程序读取摄像头参数yaml中的摄像头参数矩阵.畸变矩阵. 其实这些opencv都已经帮我 ...

  5. Java|Kotlin, SpringBoot从配置文件中读取@KafkaListener参数配置

    springboot从配置文件中设置@KafkaListener参数配置 在java中使用占位符#{'${kakfa.topics}'}来进行参数注入 @KafkaListener(topics = ...

  6. 在servlet中读取初始化参数和上下文参数的方法getServletContext()和getInitParameter()

    web.xml文件中的写法   <context-param>标签是在<web-app>标签下写的 <init-param>标签是在 <servlet> ...

  7. gdal在java环境中读取mif/mid文件以及写入数据

    目录 1.maven项目搭建的gdal环境 2.maven项目搭建后开始代码 3.怎么提取两个Layer中某个字段相同的所有数据(这个并非是取属性交集)? 1.maven项目搭建的gdal环境 引入g ...

  8. c语言把一个字符从指定文件中读取的函数,C语言中对文件最基本的读取和写入函数...

    C语言中对文件最基本的读取和写入函数 C语言read()函数:读文件函数(由已打开的文件读取数据)头文件: #include 定义函数: ssize_t read(int fd, void * buf ...

  9. pandas读取excel使用read_excel()中的usecols参数读取指定的列

    pandas读取excel使用read_excel()中的usecols参数读取指定的列 比如:读取xxx.xls文件的1,3,4列,可以使用useclose来指定列数(旧版本也叫pare_cols) ...

最新文章

  1. 程序员在外面看见bug会想修吗? | 每日趣闻
  2. 网站优化之如何稳固网站关键词排名?
  3. python外星人入侵游戏代码_Python游戏:外星人入侵游戏编程完整版!内附代码
  4. AD 画图 镜像翻转元器件
  5. linux添加zip扩展
  6. springboot+dynamic多数据源配置
  7. htaccess 防止盗链,防止目录浏览等10大技巧
  8. 陕西省高级职称 计算机要求,陕西省卫生高级职称评审申报条件
  9. AndroidStudio 开发基础知识【翻译完成】
  10. 【HTML+CSS网页设计与布局 从入门到精通】第5章-表格
  11. input type属性为file时(type=file),上传一次然后做更新input的change事件
  12. Qos介绍及功能->分类标记->流量管理(令牌桶)->拥塞管理与拥塞避免
  13. unity+ar制作太阳系
  14. Hive命令操作汇总
  15. ICPC North Western European Regional Contest 2019 E. Expeditious Cubing(浮点数处理)
  16. “芒果数据库”————mongodb分片全集和管理
  17. 英飞凌TC275芯片开发笔记
  18. OmniPlan,一款让你无法自拔的项目管理工具(仅适用于MAC系统)
  19. 计算机与学科教学的深度融合,【信息技术与学科教学的深度融合】_信息技术与学科教学深度融合的方式分析...
  20. 技术类人员的职业发展方向

热门文章

  1. 计算机软考考什么?怎么备考啊?
  2. 图像识别去除孤立点方法
  3. 基础数学课程之间的递进关系
  4. BBEdit for Mac,专业html文本编辑器
  5. 在高版本chrome播放摄像头实时RTSP视频流,并抓图、录像、回放、倍速等
  6. LeetCode 962. 最大宽度坡 题解 C/C++
  7. 全局变量和局部变量(local variable)
  8. liunx 使用 zip 打包文件夹
  9. 快看看看常用手机cpu哪个牌子好
  10. 调用百度图像识别接口进行相应图像识别