mysql移植海思_live555 交叉编译移植到海思开发板
1、首先到它的主页下载一个源码包:
http://www.live555.com/liveMedia/public/
我下载的是latest的,具体什么版本还真不清楚
2、放到linux目录下解压:
root@kubuntu:/home/frank tar zxvf live555-latest.tar.gz
root@kubuntu:/home/frank# cd live
root@kubuntu:/home/frank/live#
3、首先尝试在PC的Linux上编译:
区别于传统的源码包,不是传统的配置方式,而是通过genMakefiles配对目录下的config.*文件生成Makefile
root@kubuntu:/home/frank/live# ./genMakefiles linux
root@kubuntu:/home/frank/live# make
编译很顺利,然后上网找一个*.264文件放在当前目录下
执行mediaServer目录下的live555MediaServer服务器原型
root@kubuntu:/home/frank/live# ./mediaServer/live555MediaServer
LIVE555 Media Server
version 0.75 (LIVE555 Streaming Media library version 2012.11.08).
Play streams from this server using the URL
rtsp://192.168.1.41:8554/
where is a file present in the current directory.
Each file's type is inferred from its name suffix:
".264" => a H.264 Video Elementary Stream file
".aac" => an AAC Audio (ADTS format) file
".ac3" => an AC-3 Audio file
".amr" => an AMR Audio file
".dv" => a DV Video file
".m4e" => a MPEG-4 Video Elementary Stream file
".mkv" => a Matroska audio+video+(optional)subtitles file
".mp3" => a MPEG-1 or 2 Audio file
".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file
".ts" => a MPEG Transport Stream file
(a ".tsx" index file - if present - provides server 'trick play' support)
".wav" => a WAV Audio file
".webm" => a WebM audio(Vorbis)+video(VP8) file
See http://www.live555.com/mediaServer/ for additional documentation.
(We use port 8080 for optional RTSP-over-HTTP tunneling, or for HTTP live streaming (for indexed Transport Stream files only).)
通过VLC可以点播rtsp://192.168.1.41:8554/test.264视频,
(注意:test.264所在的目录要和live555MediaServer执行目录相一致,若test.264放在live目录下,则需要在live目录下执行./mediaServer/live555MediaServer)
4、交叉编译
编译器arm-hisiv100nptl-linux-g++
同理如果通过genMakefiles生成交叉编译的Makefile,我们需要一个对应的config.*
因此我们复制一个config.hi3518,命令:cp config.armlinux config.hi3518
CROSS_COMPILE?=arm-hisiv100nptl-linux-
COMPILE_OPTS =$(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
C =c
C_COMPILER =$(CROSS_COMPILE)gcc
C_FLAGS =$(COMPILE_OPTS)
CPP =cpp
CPLUSPLUS_COMPILER =$(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =$(COMPILE_OPTS) -Wall -DBSD=1 -DLOCALE_NOT_USED
OBJ =o
LINK =$(CROSS_COMPILE)g++ -o
LINK_OPTS =
CONSOLE_LINK_OPTS =$(LINK_OPTS)
LIBRARY_LINK =$(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS =$(LINK_OPTS)
LIB_SUFFIX =a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
然后与在PC上编译一样,进行编译。
root@kubuntu:/home/frank/live# ./genMakefiles hi3518
root@kubuntu:/home/frank/live# make clean;make
这里要记得先make clean,否则因为之前在PC上编译的目标文件没清楚会导致链接失败。
编译时会产生一个错误
In file included from MPEG4GenericRTPSink.cpp:22:
include/Locale.hh:47:123: xlocale.h: No such file or directory
In file included from MPEG4GenericRTPSink.cpp:22:
include/Locale.hh:62: error: `locale_t' does not name a type
make[1]: *** [MPEG4GenericRTPSink.o] Error 1
make[1]: Leaving directory `/home/frank/live/liveMedia'
make: *** [all] Error 2
这个是由于海思使用的是uClinux,并没有xlocale.h这个头文件,
而live555内部的一个locale模块调用了(见liveMeida/locale.hh),因此通过编译选项把他去掉。
修改config.hi3507,在编译选项上加入-DLOCALE_NOT_USED把此模块去掉。上面那段是已经去掉的
再次生成Makefile并编译
root@kubuntu:/home/frank/live# ./genMakefiles hi3518
root@kubuntu:/home/frank/live# make
编译成功!
5 移植到海思开发板上
将mediaServer的live555MediaServer(你可以试一下,在linux系统中打开这个是出错误的),通过nfs挂载到开发板上执行。运行后会出现
LIVE555 Media Server-Test frank
version 0.84 (LIVE555 Streaming Media library version 2014.10.07).
Play streams from this server using the URL
rtsp://0.0.0.0/
where is a file present in the current directory.
Each file's type is inferred from its name suffix:
".264" => a H.264 Video Elementary Stream file
".265" => a H.265 Video Elementary Stream file
".aac" => an AAC Audio (ADTS format) file
".ac3" => an AC-3 Audio file
".amr" => an AMR Audio file
".dv" => a DV Video file
".m4e" => a MPEG-4 Video Elementary Stream file
".mkv" => a Matroska audio+video+(optional)subtitles file
".mp3" => a MPEG-1 or 2 Audio file
".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file
".ogg" or ".ogv" or ".opus" => an Ogg audio and/or video file
".ts" => a MPEG Transport Stream file
(a ".tsx" index file - if present - provides server 'trick play)
".vob" => a VOB (MPEG-2 video with AC-3 audio) file
".wav" => a WAV Audio file
".webm" => a WebM audio(Vorbis)+video(VP8) file
See http://www.live555.com/mediaServer/ for additional documentation.
(We use port 80 for optional RTSP-over-HTTP tunneling, or for HT
测试的时候会发现RTSP的地址是0.0.0.0;
在nfs挂载的时候,已经用ifconfig eth0 192.168.0.166 将板子的IP地址设为了192.168.0.166 ,为什么还是0 呢
需要用到route add default gw 192.168.0.1,这个192.168.0.1是网关的IP地址,也就是你的路由器的IP地址,命令意思的是添加一条默认网关命令,将所有的数据包都转发到192.168.0.1;注意开发板上是运行./live555MediaServer,发现时没有端口号的,直接rtsp://192.168.0.166 就可以看到想要的结果,预祝成功。
mysql移植海思_live555 交叉编译移植到海思开发板相关推荐
- stm32mp157系统移植 | 移植ST官方5.10内核到小熊派开发板
Linux内核移植流程 移植Linux内核到一个新的板子上时,需要以下步骤: (1)选择一个硬件设计接近的板子,基于此板相关文件开始移植 (2)拷贝单板配置文件(arch/arm/configs) ( ...
- 交叉编译ssh服务到ARM开发板
遇到的问题 在同一个局域网下,ubuntu linux和开发板能 ping 通,但是 scp 传文件到开发板失败了,提示ssh remote_ip **** lose connection conne ...
- 交叉编译使用 hostapd-2.0 在开发板上开机自启动无线网卡 AP 功能
文章目录 交叉编译 使用 hostapd 使用 DHCP 分配 IP 查看状态 开机自启动 1. MDEV 配置文件 2. MDEV 执行的脚本 参考链接 交叉编译 tar xzf hostapd-2 ...
- Qt+MPlayer音乐播放器开发笔记(二):交叉编译MPlayer以及部署到开发板播放演示
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119991329 长期持续带来更多项目与技术分享,咨询请 ...
- 海思Hi3518EV200+4G+RS232视频监控摄像开发板防雷防静电推荐图
一.适用场合 视频.监控.摄像 二.芯片参数 处理器内核 * ARM926@ 540MHz,32KB I-Cache,32KB D-Cache 视频编码 * H.264 MP/HP Level4.0 ...
- qt 4.8.4 linux,Tslib和Qt 4.8.4与在开发板上的移植
这篇博客算是接着Linux 下编译.安装.配置 QT这篇的,搞完PC平台的就来弄一下嵌入式平台的,Linux的东西搞起来麻烦的地方就在于太杂.太散,像QT,各版本之间都有很多差异,因此在网络上查找资料 ...
- Hi3516开发笔记(一):海思HI3516DV300芯片介绍,入手开发板以及Demo测试
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121314575 长期持续项目技术分享,Shang业Di ...
- 开发板qt移植和交叉开发环境搭建学习笔记
tslib移植 准备工作 开发板有uboot 搭建tftp服务器,开发板可通过服务器下载内核并启动: nfs工具,开发板可通过nfs工具加载到主机(电脑)的rootfs: 触摸屏可使用,在cat触 ...
- RV1109开发板ssh服务器移植到arm开发板
RV1109开发板ssh服务器移植到arm开发板 ssh功能移植到RV1109开发板的,由于RV1109的SDK中,没有telnet功能,有时候adb功能在量产中需要关闭,避免造成设备留有漏洞,造成安 ...
最新文章
- mac os x常用快捷键及用法
- 智能车竞赛技术报告 | 节能信标组-东北大学-天魁队
- 就差一点点-微妙的强制类型转换
- c语言怎么编程dll,【C语言】编写的DLL注入工具
- Linux对文件内容基本操作(学习笔记七)
- VirtualBox下Ubuntu利用桥接方式上网
- 50个常用元器件图片_盘点2020年wordpress常用的50个插件合集
- 苹果六电池_【行业分析】特斯拉“电池日”前夕供应链个股备受关注 溶剂龙头石大胜华DMC等需求量有望大增...
- CentOS 6.5 最小化安装zabbix
- 理解“万事万物皆对象“
- 专家有料 | 李中文:美团软件成分安全分析(SCA)能力的建设与演进
- html5获取坐标高德,vue 单纯的获取经纬度 百度与高德 H5
- 陕西的饮食历史和特点
- 辅导班师资力量介绍!
- [异常类] 空指针 Calendar.setTime(a) 源码剖析
- 钱,才是成年人活着的最大底气
- 互联网时代:天才与伟人的区别
- 9.性能测试工具Locust的高级使用——分布式使用Locust及定制Locust
- [C#] 折腾海康威视的人体测温 模组
- 在excel中怎样使一个长数字,如30778287700实现自动递增?
热门文章
- 和菜鸟一起学android4.0.3源码之USB wifi移植心得
- Unity编译器下载网址!!
- 第八集 昆仑初度尘未洗,夜宿禁区五道梁
- excel如何批量让图片水平居中垂直居中对齐?
- 下载王者荣耀皮肤高清图片
- 脑图工具MindNode附属节点是什么意思 图解
- 推荐5款热门脑图软件!
- 20135203齐岳 信息安全系统设计基础第五周学习总结
- 中介者(Mediator)
- USB无法debug调试:because an app is obscuring a permission request settings cab't verify your resonse