zoukankan      html  css  js  c++  java
  • ORTP库移植

    转载,侵删

    1、ORTP的引入

    为什么要使用RTP:http://blog.51cto.com/ticktick/462746
    RTP协议分析:http://www.xuebuyuan.com/739929.html

    总结:OPTP是一个C语言写的开源协议库,它的本质是实现一个服务器,可以用来在客户端和服务器之间相互传输视频

    2、OPRT库的移植

    • [ ] (1),准备源码
    • [ ] (2),存放到临时工作目录并解压
      • ortp源码在Windows电脑中的E:winshareHI3518EV200ortp-master中
    • [ ] (3), 将ortp-master放入Ubuntu的特定目录中并解压:
      • cd ~/sambashare/
      • cp /mnt/hgfs/winshare/HI3518EV200/ortp-master.zip ./
      • unzip ortp-master.zip
    • [ ] (4),修改源码:增加H.264的payload支持
      • cd ortp-master/
      • cd src/
      • sudo vi avprofile.c
        • 在src/avprofile.c中357行添加:
        • rtp_profile_set_payload(profile,96,&payload_type_h264);
    • [ ] (5),执行./autogen.sh,配置默认的编译环境
      • 错误1:./autogen.sh: line 44: libtoolize: command not found
        • 解决:sudo aptitude install libtool*
        • 扩展:GNU Libtool 可以容易的在不同的系统中建立动态链接库。它通过一个称为 Libtool 库的抽象,隐藏了不同系统之间的差异,给开发人员提供了一致的的接口。
      • 错误2:libtoolize: error: Please install GNU M4, or 'export M4=/path/to/gnu/m4'.
        • 解决:sudo apt-get install m4
        • 解决:sudo aptitude install m4
        • 扩展:M4是一个宏处理器,将输入拷贝到输出,同时将宏展开。宏可以是内嵌的也可以是用户定义的。除了可以展开宏,M4还有一些内建的函数,用来引用文件,执行Unix命令,整数运算,文本操作,循环等。M4既可以作为编译器的前端也可以单独作为一个宏处理器。
      • 错误3:Automake - aclocal: command not found
        • 解决:sudo apt-get install automake
        • 扩展:主要用于创建makefile
    • [ ] (6),执行./configure --prefix=/tmp/ortp --host=arm-hisiv300-linux 【--host=arm-hisiv300-linux指定了交叉编译工具链,所以工具链一定要安装好】,配置特定的编译环境
    • [ ] (7),执行make && make install,编译ORTP库

    • [ ] (8),到/tmp/ortp目录下查看移植好的库和头文件
      • cd /tmp/ortp/
      • ls 【include lib】
      • ls lib/ 【有.so,.la之类的文件】
      • ls ../include/ortp/ 【有很多.h文件】

    3、OPRT库源码分析

    3.1 ORTP库源码概览

    (1) OPTP库里面最关键的是include,src和src/test这三个文件夹,相应的数据结构和头文件存放在include/ortp目录下;src里面实现了一些功能函数[无main];src/test是示例代码
    (2)ORTP库实现了RTP和RTCP协议,前者复制传输视频,或者负载视频传输的质量[控制,同步,协调等]

    3.2 OPTP库API使用

    https://blog.csdn.net/bill611/article/details/77726429

  • 相关阅读:
    Hdu 5256 系列转换
    SQL在declare声明变量
    煤火车问题
    百度音乐接口-——这可以基于在线音乐播放器来完成
    Android DrawerLayout 抽屉
    NETSH WINSOCK RESET这个命令的意义和效果?
    SSH三作品的框架和流程
    Solr入门指南
    客房收费制度的具体配置
    基本调试命令
  • 原文地址:https://www.cnblogs.com/ordinary-world/p/9991483.html
Copyright © 2011-2022 走看看