添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

最近一个需求是往生成的录像文件中加入显示时间,这里的开发是基于海思平台(Hi3521D),所以实际上就是往编码通道贴OSD,这里先介绍freetype、SDL、SDL_TTL这三个库在海思平台上的编译。

一、源码的获取

1、freetype、SDL、SDL_TTL源码的链接: https://github.com/As772309423/freetype-SDL-SDL_TTL

下载完源码之后,在ubuntu中创建一个目录(命名随意,我这里命名为font),把下载好的3个安装包都在同一个目录中,有利于后续的编译和开发。

二、freetype部分

注意:以下所有的步骤都最好先先换到root用户后,再进行编译,否则最后很可能会make 或者 make install出错!!!

  1. 打开teminal终端,跳转到font目录,对freetype安装包进行解压,解压完后进入freetype目录;

  2. 执行:
    ./configure CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc --host=arm-hisiv500-linux --enable-shared=no --enable-static=yes
    (这里的CC需要填写海思编译链的绝对路径, 这里全都编译成了静态库,如果需要编译成动态库,则改成–enable-shared=yes --enable-static=no);

  3. make;

  4. make成功后执行make install。

三、SDL部分

注意:以下所有的步骤都最好先先换到root用户后,再进行编译,否则最后很可能会make 或者 make install出错!!!

  1. 打开teminal终端,跳转到font目录,对SDL安装包进行解压,解压完后进入SDL目录;

  2. 执行:
    ./configure CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc --host=arm-hisiv500-linux --enable-shared=no --enable-static=yes
    (这里的CC需要填写海思编译链的绝对路径, 这里全都编译成了静态库,如果需要编译成动态库,则改成–enable-shared=yes --enable-static=no);

  3. make;

  4. make成功后执行make install。

四、SDL_TTL部分

注意:以下所有的步骤都最好先先换到root用户后,再进行编译,否则最后很可能会make 或者 make install出错!!!

  1. 打开teminal终端,跳转到font目录,对SDL_TTL安装包进行解压,解压完后进入SDL_TTL目录;

  2. 执行:
    ./configure CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc --host=arm-hisiv500-linux --enable-shared=no --enable-static=yes
    (这里的CC需要填写海思编译链的绝对路径, 这里全都编译成了静态库,如果需要编译成动态库,则改成–enable-shared=yes --enable-static=no);

  3. make;

  4. make成功后执行make install。

五、例程部分

我已经参考网上的一些博客写了一个test.c和Makefile,放到了 https://github.com/As772309423/freetype-SDL-SDL_TTL ,你们只要把Makefile中各个库的include目录以及生成的静态库(或动态库)路径改对,编译就没问题。

freetype、SDL、SDL_TTL这个三个编译出来的静态库(或动态库)可能会隐藏起来,可以用find ./font -name “ .a ” 找出库的所在目录,然后用chmod 777 库所在目录 -R,就能找到该库了,最后建议创建一个目录把库放一起,方便编译。

说明最近一个需求是往生成的录像文件中加入显示时间,这里的开发是基于海思平台(Hi3521D),所以实际上就是往编码通道贴OSD,这里先介绍freetype、SDL、SDL_TTL这三个库在海思平台上的编译。一、源码的获取1、freetype、SDL、SDL_TTL源码的链接:https://github.com/As772309423/freetype-SDL-SDL_TTL下载完源码之后... 在 海思 osd显示,就是在region叠方块,我们常用的需求就是叠加 时间戳、通道名称、log等,做的好一点的可以实现二维码扫描方块显示、天气信息等等; 需求里就两类信息,一种字符、一种图片,最后的实现其实都一样,通通转成位图bmp叠上去就ok; 今天我们要做的就是搞字体; 点阵式字体 安防领域,传统使用点阵式字体,顾名思义就是打点成像,跟老式的针式打印
针对 海思 Hi3559芯片的OSD叠加 网络上关于Hi3559芯片的OSD叠加字符信息比较少,很多描述其他类似芯片相关功能的博客,可以作为参考,但是如果想很快 编译 成功,实现功能,有时候真的是需要耐心。 直接面向Hi3559 OSD叠加字符的文章目前我没有直接找到现成的,找到其他芯片可参考的,其中对我来说最重要的一片博客如下,仔细按照这篇博客的内容,稍加修改就可以改成Hi3559下的应用,博客地址https://blog.csdn.net/weixin_44362642/article/details
万能 平台 字符叠加的功能自然少不了,但 海思 默认支持的都是静态位图,如果实时刷新或者我们向在屏幕上显示一些中文信息就捉襟见肘了,所以这里需要参考移植开源项目 SDL 的库来帮我们实现这一想法   网上教程很多,但是对于使用aarch64-himix100-linux-gcc 编译 工具的3559,没有可以一次通过的,本文踩扁了所有移植 编译 的坑,希望对后来者有所帮助   首先 编译 freetype ,注意需要指定–enable- freetype -config,在 编译 SDL 2_ttf的时候需要用到   很不幸出师不利
网上相关功能实现资料有很多,关键操作: 海思 osd+ freetype + SDL + SDL _ttf字体颜色。我的虚拟机是 Ubuntu 14.04,那首先移植 freetype + SDL + SDL _ttf 这三个库。 一、库移植 (1) freetype 下载安装 freetype 下载 选择下载版本为: freetype -2.4.10.tar.gz 解压: # tar -xvf freety...
下载地址:http://mirror.yongbok.net/nongnu/ freetype / freetype -2.10.0.tar.bz2 ./configure --prefix=/home/haitu/other_libs/ freetype -2.10.0/install/ --host=aarch64-himix100-linux --without-zlib make install 编译 SDL 这里的需求是要往生成的录像文件中添加显示时间,实际上也就是 海思 的VENC与OSD的绑定。 在上一篇博客 海思 平台 freetype SDL SDL _ TTL 编译 (一) 编译 出三个库之后,又提供了例程生成一个bmp图片,但是实际上我们每次往 海思 通道贴图,不可能说都像例程一样保存成bmp图片再贴图,这样会造成资源的浪费。 所以这里进行了进一步的修改,让我们能够直接拿到bmp图片的位图数据,而不需要生成...
一、 freetype 2 编译 freetype -2.10.0) configure ./configure CC=arm-himix200-linux-gcc --host=arm-himix200-linux --prefix=$PWD/_install --with-zlib=no --with-quickdraw-toolbox=no --with-png=no 修改modules.cfg文件 #FONT_MODULES += cid #FONT_MODULES += pfr #FONT_MOD
live555是一款常用的开源多媒体框架,可以支持RTSP协议的客户端和服务器的开发实现。而 海思 平台 则是一款开源的嵌入式处理器,也是一种非常适合用于视频监控和流媒体处理的嵌入式 平台 。为了将两者结合起来,需要进行移植rtsp的工作。 首先,需要在 海思 平台 上搭建一个rtsp服务端。可以选择使用live555中的MediaServer创建,也可以自行开发。在实现过程中需要根据 海思 平台 的特点进行优化和适配,保证服务端的正常运行和流畅的视频传输。然后,需要在客户端端口实现rtsp协议的解析和处理,并通过网络协议连接到服务器,获取实时视频。 在移植过程中需要注意许多问题。例如, 海思 平台 的处理能力和内存限制需要考虑,必须合理安排各种资源的使用,以保证系统的稳定性和可靠性。此外,还需针对不同设备的性能特点进行优化调整,以便提高系统的整体性能和流畅性。需要注意的还有一些和 平台 相关的特殊配置,如网络连接、低延迟播放等等,这些都需要仔细考虑和实现。 总之,移植live555到 海思 平台 上实现RTSP协议的开发并不是一件容易的事情。需要对 海思 平台 和live555框架有深入的了解,并在实际操作中不断调整和优化。只有经过不断试验和完善,才能达到良好的效果和用户体验。