转载,侵删

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:\winshare\HI3518EV200\ortp-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

ORTP库移植的更多相关文章

  1. ortp库入门

    转自:http://blog.csdn.net/suer0101/article/details/7333267 再补充一个代码走读:http://www.xuebuyuan.com/1863409. ...

  2. Cocos2d-x移植到WindowsPhone8移植问题-libcurl库移植问题

    在Cocos2d-x 3.x最新版本中提供了Windows Phone 8平台移植libcurl库所需要的头文件和库文件.但要在Windows Phone 8平台成功移植libcurl库还是很不容易, ...

  3. ortp库使用入门

    我们知道, RTP(Real-timeTransportProtocol)是用于Internet上针对多媒体数据流的一种传输协议,做流媒体传输方面的应用离不开RTP协议的实现及使用,为了更加快速地在项 ...

  4. Cocos2d-x移植到WindowsPhone8移植问题-libNetwork库移植问题

    Cocos2d-x提供了libNetwork库的源代码,而且还提供了libNetwork库的源代码Visual Studio 2012工程文件libNetwork.vcxproj,这样就更方便移植了. ...

  5. ORTP库API使用入门

    一.简介 ORTP是一个支持RTP以及RFC3550协议的库,有如下的特性: (1)使用C语言编写,可以工作于windows, Linux, 以及 Unix平台 (2)实现了RFC3550协议,提供简 ...

  6. Oracle 利用PLSQL一分钟将表结构(PROJ),从A库移植到B库,一分钟将A库中表数据移植到B库中!!!

    导读(苦恼) 做多个项目的时候,可能会有这样的需求,需要把A项目中的某些功能移植到B项目上:移植途中,牵扯到顺便把表也要一块移植过去,若表字段较少,那还好,可能耗费10分钟就搞完了,万一碰上几十个字段 ...

  7. 【MCU】国民N32固件库移植

    目录 前言 移植N32Gxxx系列要点 前言 链接: 李柱明博客 移植AT32库&FreeRTOS教程 由于大部分国产MCU移植固件库.RTOS源码都是差不多的,所以本文不讲细节,如想熟悉移植 ...

  8. 【转】FFMPEG 库移植到 VC 需要的步骤

    原文:http://blog.csdn.net/leixiaohua1020/article/details/12747899 在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷 ...

  9. FFMPEG 库移植到 VC 需要的步骤

    在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷贝到工程中就行了,还需要做以下几步.(此方法适用于自己使用MinGW编译的库,也同样适用于从网上下载的编译好的库,例如http: ...

随机推荐

  1. vuecli3 引入script 针对没有cmd amd require等方式的js

    最近做高德开发,需要引入高德的js,但是 说实话 高德官方的文档不知道大佬们有没有看懂,反正我是没看懂,写的都什么鬼?我怎么引都引入不了,迫不得已想到了如下方法: 一.准备一个能够在页面中插入js的方 ...

  2. Awk 从入门到放弃 (8) 动作总结之三

    awk continue 语句  awk exit 语句  awk if  语句  awk next 语句 awk break 语句

  3. 跟我一起学习ASP.NET 4.5 MVC4.0(三)

    今天我们继续ASP.NET 4.5 MVC 4.0,前两天熟悉了MVC4.0在VS11和win8下的更新,以及MVC中的基础语法和几个关键字的使用.了解了这些就可以对MVC进一步认识,相信很多人都对M ...

  4. 开发工具之play framework

    Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无   状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代Web应 ...

  5. Oracle11g 查询长时间运行的SQL

    一.大量的查询 某些时候,因为SQL的问题,导致数据库的session大量积压,服务器的磁盘读增大,CPU使用率剧增.一般这种SQL,都是一些全表扫描.多表关联.报表或者排序类的SQL.这中情况很有可 ...

  6. NodeJS类型定义方式

    最近在学习nodejs,就是因为它比较轻便,并发量大,上手快.由于以前一直在做C#的后端,没有接触过javascript,所以还得慢慢学习之. nodejs所用的是javascript语言,它没有如C ...

  7. windowsphone开发页面跳转到另一个dll中的页面

    WP的页面跳转一般是只能跳转到本DLL的页面, 如果要跳转到其他DLL的页面则需要这样写 (Application.Current.RootVisual as PhoneApplicationFram ...

  8. 安装Win8后必做的优化

    原版或者精简版的希望都看看安装好Win8后必做的优化:1.关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态关闭方法:Win+C – 设置 – 更改电脑设置 – 家庭组 – 离开如果用不到家庭组可 ...

  9. 配置ssh互信的一个小问题记录

    在我们安装集群软件时,经常需要配置机器之间的互信,每个人也有一套自己熟悉的方法. 但是在今天配置互信过程中,发现操作过程还是一样,但是就是不能互信,通过查找资料解决了,做一下记录. 我经常使用的方式: ...

  10. define 常量的定义和读取

    define(‘常量’,‘常量值’)----------------------define来定义常量, echo 也能输出常量, get_defined_constants(true)------- ...