自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 资源 (5)
  • 收藏
  • 关注

原创 用于3D建模的好文章

最近想研究机器人的世界模型的创建方法,同事推荐了比较好了2个文章。

2024-04-11 09:55:21 148

原创 ros中的moviet

比较好的理解机器人整体系统设计

2024-04-09 10:54:12 191

原创 hunter_bipedal_control ocs2安装配置

在ocs2同级目录下,将hunter_bipedal_control源码包放进来,然后执行。

2024-03-26 09:22:39 120

原创 ocs2安装

ocs2下载过程中,网络老是断开。

2024-03-22 17:00:41 301

原创 ubuntu20.04 安装ros1

详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)_ubuntu安装ros-CSDN博客

2024-03-21 15:08:32 402

原创 ffmpeg新旧接口对比--记录

https://www.cnblogs.com/schips/p/12197116.htmlffmpeg新旧函数对比_鲲鹏私董会的博客-CSDN博客

2023-07-21 09:59:14 260

原创 ffmpeg 转码过程中参数含义

size/ Lsize:视频和音频编码后的大小,即基本等于视频和音频 之和。dup:输入帧重复(duplicate)的数量。drop:输入帧丢弃(drop)的个数。bitrate:输出视频的比特率。frame: 编码的帧数量。time:输出帧的显示时间。fps:每秒编码的帧数。speed:编码速度。

2023-07-20 09:56:06 242

原创 zlmediakt 安装编译

home/hisense/zlmediakit/zlmediakit/ZLMediaKit/server/FFmpegTranscode.cpp:31:对‘mk_frame_pix_get_av_frame’未定义的引用。/home/hisense/zlmediakit/zlmediakit/ZLMediaKit/server/FFmpegTranscode.cpp:32:对‘mk_frame_pix_get_av_frame’未定义的引用。

2023-07-12 10:37:56 914

原创 海康摄像机没有声音问题

发现用的地址默认是rtsp://admin*@ip:port/streaming/channels/101。9、打开云台相机配置项,需要在视音频的配置里面选择复合流就有声音了。8、使用好多地址测试发现云台相机始终没有声音。6、使用ffprobe 探测这个流发现只有一个视频流。3、使用海康自己的内部IP,预览发现是有声音的。4、怀疑是转码的时候没有音频导致的,修改仍然无效。使用ffprobe 探测,这个流有音频和视频。1、手机app端拉流发现没有声音。2、查找海康摄像机是否有mic。

2023-06-20 10:59:48 4159

原创 服务器18.04安装postman,并配置本地测试环境

可以保留自己的用户名密码,再次登录,不用再次导入json文件。4、配置环境为127.0.0.1。因为是本地测试,使用127.0.0.1。3、在cllection集合上,将自己的json文件导入。5、启动后台服务zlmediakit。file->import 导入。这个过程中,需要确保网络资源是好用的。

2023-06-12 11:02:19 556

原创 使用intellij Idea 创建spring boot项目

ResponseBody:用于将Controller的方法返回对象,通过适当的HttpMessageConverter转换为指定格式后,写入Response对象的body数据区。1、问题:使用Spring Initializr创建的工程,没有src目录,原因是创建的时候,默认选择的地址是https://start.spring.io。第一步创建完成之后,就会出现src目录。3、在src/main/java/package 里面创建一个controller包,新建一个controller类,

2023-05-16 15:00:40 1096

原创 ffmpeg 拉取多路摄像头并按照时间参数截图

ffmpeg -r 1 -ss 00:00:05 -t 00:00:06 -i rtsp://admin:[email protected]:554/live0.264 -i rtsp://192.168.31.23/live_stream -map 0:v image20.jpg -map 1:v image21.jpg截取视频的第几秒。通过 -ss 参数指定-ss 指定截取视频的第几秒-t指定截取时长-i指定 输入源第一路和第二路分别用了不同的颜色标注

2023-05-11 13:39:15 1196

原创 ffmpeg 抓取一帧数据

FFmpeg功能比较强大,这里记录一条从摄像机抓拍的一条命令:---执行成功。这是一条网络摄像机的抓图命令,其实就是通过rtsp获取一帧图像,然后保存到本地。参数说明:-i:是指定视频流来源,这里是rtsp-r::是帧率-ss:开始时间-t:结束时间,这里只取1秒后面的文件名,其实可以设定格式的,比如%3d,jpg,生成的多个文件时,会自动给生成的文件编号。

2023-05-10 17:57:57 2998

原创 zlmediakit 新增可以使用硬件加速的转码http api接口方法

4、查看zlmediakit里面提供的接口,默认的推流、拉流都是不通过ffmpeg的,无法通过ffmpeg相关方法得到数据帧。通过在postman里面增加的ffmpeg转码接口,发起请求,处理的地方就会到webapi.cpp里面的api_regist。3、以上两种方法只是直接使用 ffmpeg进行转码了,但是无法我们无法破坏ffmpeg指令过程,获取到解码得到的帧数据。也无法满足我们的需求。2、ffmpeg硬件加速,这个需要安装相关的驱动,并且在编译ffmpeg的时候,增加cuda编译,这样通过。

2023-05-10 14:59:02 1243 1

原创 zlmediakit安装说明

1、修改cmakelist 里面的EnableFFmpeg ON后,发现依赖的文件始终无法编译出来。2、重新安装了ffmpeg,还是不好用。重新安装了zlmediakt发现好用了。更新子模块步骤被遗漏了,导致出现问题。备注一下可能出现问题的地方。

2023-05-08 14:39:00 233

原创 zlmediakit转码通过ffmpeg 硬件加速了吗?

开始录像:录像时间(实现的时候,需要提前录制,不能按照设定的时间开始录制,这个时候就晚了)开始转码:需要配置录像是hls还是MP4的,source url,dest url。在gpu服务器上测试使用转码的测试代码测试查看gpu占用率,337M。那我们只是需要将这个接口封装成http restful的接口。验证ok,是支持ffmpeg 硬件加速的转码的。一个开始转码的接口,一个关闭转码的接口。针对这个流,需要什么功能?

2023-05-06 17:41:01 280

原创 zlmediakit ffmpeg拉流代理测试

使用postman 测试zlmediakit的http api接口,发现在后台没有ffmpeg命令在执行的时候,一直退出?不明白是什么原理。测试结果如下:后台执行命令:ffmpeg -re -f video4linux2 -s 1280x720 -i /dev/video0 -vcodec libx264 -f rtsp -rtsp_transport tcp rtsp://192.168.1.46/live/test,则执行成功。

2023-05-06 14:22:41 2294

原创 ffmpeg 资料备份

编码的数据包然后被传递到解码器(除非复制音频流被选择用于流,见进一步的说明)。​选项,并写入到任意数量的输出“文件”,只需指定一个输出的文件名。每个输入或输出文件可以在原则上,包含任意数量的不同类型(视频/音频/字幕/附件/数据)的流。输入流和输出流直接的映射可以自动完成也可以用​。https://blog.csdn.net/zranxi/article/details/118410700 ffmpeg中文版文档。从输入“文件”(其可以是常规文件,管道,网络流,录制装置等),由指定任意数量的读取​。

2023-05-06 09:21:49 407

原创 zlmediakit功能

可以通过ffmpeg将本地文件,或者摄像头的url地址作为输入文件,rtmp://localhost:1935/test/live表示zlmediakit使用的媒体地址,可以使用ffplay 或者vlc工具进行播放。1、zlmediakit 编译成功后,进入release/linux/Debug/目录,执行Sudo ./MediaServer -c config.ini -d。4、因为当前的服务器是cpu的,在测试延迟的过程中,使用ffmepg 推拉流,一直出现解码错误,导致播放的时候会卡住;

2023-04-28 11:17:40 1746

原创 ubuntu18.04 配置zlmediakit 支持ffmpeg转码记录

1、zlmediakt 默认不支持ffmepg转码,需要在根目录下的CamkeLists.txt里面option(ENABLE_FFMPEG "Enable FFmpeg" OFF)这样在编译生成文件夹release/linux/debug/生成api_tester_player_opencv文件。2、执行api_tester_player_opencv 后面需要加上网络摄像头的地址。5、换到服务器上,编译执行,发现能够成功打印pts,dts值。5、查看cmake 版本。3、执行过错中,发现。

2023-04-28 10:51:39 1289 1

原创 ubuntu18.04 安装编译zlmediakit

1、获取代码#国内用户推荐从同步镜像网站gitee下载#千万不要忘记执行这句命令git submodule update --init#国内用户推荐从同步镜像网站gitee下载#千万不要忘记执行这句命令2、安装编译器gcc因为现在yum不使用了,使用apt代替就可以3、安装并升级cmake至3.1版本以上。

2023-04-28 10:37:48 721

原创 属性系统分析

在android系统中,所有的进程是共享系统设置值,init进程创建了并初始化属性域,而后通过执行中的进程提供的api,访问属性域的设置值。但是更改属性值只能在init进程中执行。当更改属性值的时候,要预先向init进程提交值变更申请,然后init进程处理该申请,并修改属性值。那么,属性值的更改在init进程里面,其它进程是如何向init进程发出申请的呢?通过socket。/dev

2014-12-05 14:58:57 523

原创 socket了解 一二

在看init进程解析过程中,针对子进程终止的时候处理使用了套接字,也就是socket。socket之前一直没有概念。只是听到别人说起,具体用法一概不知道。socket可以理解成打电话,打电话的时候,建立了一个通道,两边都可以说话。socket创建一下子就创建了2个句柄,相当于通道两端,用于读写数据,关闭通道用。创建socket:int  socketpair(int domai

2014-12-05 13:54:31 492

原创 低内存管理lower memory killer

在开发过程中发现,经过长时间运行的系统,会发生c层service重启的情况。如果service重启了,一般就是内存泄漏或者指针错误。经过使用dumpsys meminfo查看发现经过一段时间,这个内存是不断增加的,就判断发生了oom现象。通过这个命令,可以查看内存oom_adj临界值: cat /sys/module/lowmemorykiller/parameters/adj  

2014-12-04 10:28:37 1910

原创 用户空间log日志记录

查看当前的log级别: cat /proc/msp/log    android能否通过命令控制不同打印级别日志的输出?例如:   c++ log 访问接口需要 这么定义才可以使用log  #define LOG_TAG "MY LOG TAG"   #include   ALOGV();输出。  如果使用了ALOGV但是,不想在log里面看到这

2014-12-04 09:39:40 864

原创 内核printk的日志级别

内核log级别:printk#defineKERN_EMERG""/*紧急事件消息,系统崩溃之前提示,表示系统不可用*/#defineKERN_ALERT""/*报告消息,表示必须立即采取措施*/#defineKERN_CRIT""/*临界条件,通常涉及严重的硬件或软件操作失败*/#defineKERN_ERR""/*错误条件,驱动程序常用KERN_ER

2014-12-04 09:20:02 535

转载 Android 框架之创建设备节点文件

Android 与linux一样使用设备驱动来访问硬件设备,设备节点文件是设备驱动的逻辑文件,应用程序使用设备节点文件来访问设备驱动程序,linux使用mknod来创建设备节点文件,Android 有自己法子。Android 使用Init 进程来创建设备节点文件,分两种情况:静态节点文件和动态节点文件,以应对已经定义好的冷插拔和系统运行起来后插入的热插拔设备。对于冷插拔设备

2014-09-29 10:38:28 635

转载 struct pollfd

int poll (struct pollfd *fds, size_t nfds , int timeout);struct pollfd {int fd;        /* 文件描述符 */short events; /* 等待的事件 */short revents; /* 实际发生了的事件 */};#include  int poll(struct po

2014-09-28 17:14:16 491

转载 poll 函数

# include  sys/ poll. h> int poll ( struct pollfd * fds, unsigned int nfds, int timeout) ; 和 select()不一样,poll()没有使用低效 的三个基于位的文件描述符set,而是采用了一个单独的结构体pollfd数组,由fds指针指向这个组 。pollfd结构体定义如下:#

2014-09-28 17:14:12 409

原创 android内核打印

1、cat  /proc/kmsg2、cat /proc/sys/kernel/printk3、

2014-08-23 10:11:23 1444

原创 结合实际看文档

最近学习的东西和之前有很大差别之前看sdk文档,总是觉得这些东西不过是查阅的时候才用到的,实际上不是这样。那是对高手来说。对我这个啥都不知道的人来说,看懂了,理解了才是正确的。以后没事把这些文档都看明白了,结合实际的代码。这次觉得懂得一点了。

2013-12-30 09:55:28 446

原创 寄存器信息都是在fastboot里面设置好的

学习记录一下。寄存器信息会影响到播放的流畅度,具体怎么影响的不清楚。u盘播放和cable播放都会出现音视频卡顿,静帧的问题。

2013-12-30 09:52:27 544

原创 操作spi flash以及emmc都可以使用dd命令

dd if=  of= if是复制源目录 of是目标文件。

2013-12-09 16:19:12 3070

原创 fastboot 选型、编译

最近根据硬件新开发的样版,学习了如何根据硬件版型进行配置。一个是ddr的大小,一个是板子层数。根据ddr命名规范,3,4位是ddr大小,4Gbit ,                                  5,6位是ddr 位数   16一共2片,4Gbiti*2/8=1G字节。用这个来选用寄存器的配置。这个用来选择厂家已经配置好的寄存器信息,这

2013-12-09 09:07:15 1082

原创 浏览目录创建别名

alias ll='ls -l'之前一直能够使用ll,这次突然不能用了,以为系统不支持,够笨把。一查找,原来ll一直是ls -l的别名用alias 命令就可以实现ll了

2013-12-06 14:08:27 468

原创 最近公司变动,我的价值在哪,不能妄自菲薄

最近公司大变动,经过了解,目前我学的android知识,在这个大圈子里,真的不算什么。但是不学习,肯定被人家落下的更远。

2013-12-02 09:41:40 697 3

原创 linux 查找命令

老是记不住,备份一下find / -type f -name "*.log" | xargs grep "ERROR"

2013-11-22 16:13:10 417

转载 在命令行中通过adb shell am broadcast发送广播通知

http://blog.csdn.net/zuolongsnail/article/details/8167501通过命令行执行adb shell am broadcast发送广播通知。adb shell am broadcast 后面的参数有:[-a ][-d ][-t ] [-c [-c ] ...] [-e|--es ...] [--ez

2013-11-18 16:50:41 1991

原创 android apk jar so 反编译

windows下1、apk反编译      (1)将a.apk改名字,改成a.zip,使用解压命令,使用windows的解压命令解压,解压出来的文件夹里面有个class.dex文件       (2)将class.dex使用dex2jar-0.0.9.15   在cmd下进入dex2jar-0.0.9.15 执行命令dex2jar.bat class.dex,  会生出一个jar包

2013-11-14 11:20:49 4203

原创 看代码的过程中经常看到promote()调用,简单记录refbase

看refbase源码:RefBase类定义中的函数:incStrong()增加一个弱引用,一个强引用decStrong 对应的,减少一个弱引用,一个强引用forceIncStrong 增加一个弱引用,一个强引用getStrongCount获取强引用个数weakref_impl* const mRefs; 这里有个成员变量。以上大部分都是强引用

2013-11-12 15:58:34 3002

Oracle UNIX安装手册.pdf

Oracle 8 UNIX安装手册.本书详细描述了如何按照oracle的步骤,可以学习一下

2009-05-13

Effective.STL中文.CHM

It came without ribbons! It came without tags! It came without packages, boxes or bags! ——Dr. Seuss, How the Grinch Stole Christmas!, Random House, 1957 我第一次写关于Standard Template Library的东西是在1995年,那时,我决定把More Effective C++的最后一个条款写成一个STL的简要概览。我早该更好地了解STL。不久以后,我开始收到一些mail,问我什么时候写Effective STL。 我把这个想法忍耐了几年。一开始,我对STL不够熟悉,所以不能给出关于它的建议。但随着时间的推移,我的STL的经验丰富了,主要问题出在其他方面。当一个程序库的在效率和可扩展性设计上表现出突破性的时候从来没有出过什么问题,但当开始使用STL时,这成了我不能预见的实际问题。迁移到一个几乎最简单的STL程序都成了一个挑战,不光是因为库的实现变化多端,而且因为现有的编译器对模板支持有好有坏。STL的教材很难得到,所以学习“用STL方式编程”很难;但即使跨越了这个障碍,找到正确易学的参考文档同样很困难。可能使人畏惧的是,即使最小的STL使用错误往往会导致一个编译器诊断的风暴——每一个错误都有上千个字长,而且大多涉及的类,函数或模板在令人厌恶的源代码中并没有被提及——几乎都是难以理解的。虽然我很钦佩STL和它背后的英雄们,但我还是觉得把STL推荐给在业的程序员并不合适。我不能肯定能有效率地使用STL。 然后我开始注意到一些让我感到惊奇的事情。尽管有很多小问题,尽管只有令人消沉的文档,尽管编译器的出错信息像无线电信号杂音,但仍然有很多我的咨询客户在使用STL。而且,他们不只是玩玩而已,他们竟然把STL用到了产品的代码中!这是一个革命。我知道STL表现出的是一流的设计,但程序员是不会喜欢用“必须忍耐轻微头痛,只有贫乏的文档和天书般的错误信息,但设计得很好”的程序库的。我了解到越来越多的专业程序员都认为即使一个实现得很不好的STL也比什么都没有好得多。 此外,我知道关于STL的境遇只会越来越好。程序库和编译器对(它们的)标准的兼容性会越来越好,更好的文档将会出现(它已经存在了——请见从297页开始的“参考书目”),而且编译器的诊断会渐渐改进(在极大程度上,我们仍然在等待,但条款49提供了怎样在其间应付的建议)。因此我决定插嘴,尽一份力量来支持STL运动的萌芽。这本书就是结果:改善使用C++ STL的50个有效做法。

2009-05-13

C与C++中的异常处理

异常与标准c的处理 c标准库异常处理机制

2009-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除