• 视频直播思路


    用live555获取h264视频流 然后把它推到ffmpeg里面解码 再用句柄(view)显示
    音频另外单独处理 最后进行同步就ok了
     
    Live555
    openRTSP客户端流程
    1、创建TaskScheduler和BasicUsageEnvironment类;
    2、命令行解析,获取流媒体地址和其他选项;
    3、创建RTSPClient对象;
    4、如果需要,RTSPClient对象发送OPTIONS命令并解析服务端响应,获取可以使用命令集。
    5、RTSPClient对象发送DESCRIBE命令,并从获服务端反馈中获取流媒体相关描述SDP字串。
    6、创建MediaSession对象,解析SDP字串,创建了相应的子会话对象。在这个过程中还完成了RTP和RTCP通信使用的GroupSock对象的创建,包括协议和端口的选择。
    7、根据流媒体不同类型,实例化具体的RTP会话的Source和Sink对象。
    8、RTSPClient对象发送SETUP和PLAY命令,服务端开始传输流媒体数据。
    9、TaskScheduler开始事件处理循环,通过select监听数据包到达并调用注册函数进行处理。
     
    ffmpeg

    iOS下基于H264的音视频

    先说下总的流程如下:

     
    a)从网络接收H264视频数据 adpcm音频数据
     
    b)网络数据输入到ffmpeg解码库 音频数据输入到音频解码库

    c)ffmpeg解码出YUV420P视频数据 音频解码出PCM数据

    d)将YUV420P数据转换为RGB24图像 用UIImageview输出 用OPENGL ES输出也可以(两种方法均验证过可行)

    e)将音频PCM数据输入OPEN AL中输出
     
    f)以上为整个流程,d1在iphone5上可以达到16桢 左右的效率
  • 相关阅读:
    2020.8.8第三十三天
    2020.8.7第三十二天
    2020.8.6第三十一天
    《大道至简》读后感
    2020.8.5第三十天
    2020.8.4第二十九天
    2020.8.3第二十八天
    2020.8.2第二十七天
    MySQL学习笔记(31):监控
    MySQL学习笔记(30):高可用架构
  • 原文地址:https://www.cnblogs.com/graveliang/p/5682360.html
Copyright © 2020-2023  润新知