5、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:\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

转载于:https://www.cnblogs.com/Ocean-Star/p/8920884.html

本季课程通过移植ORTP并调用ORTP函数来实现H.264裸流数据的网络传输,并且在Windows中安装VLC播放器,并在VLC中通过配置文件的方式来解析ORTP发送的裸流实现视频实时预览。本季课程的核心是ORTP协议的讲解,ORTP移植、部署和调用,VLC软件的用法讲解和配置文件讲解,Wireshark网络抓包工具的用法讲解,实时视频流传输和解析的体验和编程实现。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值