(五)音视频 H265投屏传输

主要内容
对手机A的屏幕内容进行H265编码,再通过socket传输发送给手机B。主要利用过的技术是H265编解码和socket通信。
具体技术流程如下:
在这里插入图片描述

手机A 推流端:

  1. 手机A通过MediaProjection获取到手机屏幕内容数据
  2. 对获取到的屏幕内容数据进行H265编码
  3. 对编码后的数据进行处理再进行发送
    编码之后的H265数据只有开头有VPS+SPS+PPS,但是用于网络传输,在传输的每一帧I帧前面都需要加上VPS+SPS+PPS
    即遇到VPS+SPS+PPS的时候先保存起来,碰到I帧,就在I帧的前面加上VPS+SPS+PPS再发送。如果是P帧或者B帧则直接发送即可。
    怎样判断帧类型呢?
    具体方式可以看下这个系列的第三篇和第四篇,帧的前面有一个字节的中间6为表示帧的type。

手机A段编码部分代码:

  public void encodeLive() {
   
    
    
        

猜你喜欢

转载自blog.csdn.net/weixin_43911199/article/details/128430402