- 博客(180)
- 资源 (5)
- 收藏
- 关注
原创 hunter_bipedal_control ocs2安装配置
在ocs2同级目录下,将hunter_bipedal_control源码包放进来,然后执行。
2024-03-26 09:22:39 62
原创 ubuntu20.04 安装ros1
详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)_ubuntu安装ros-CSDN博客
2024-03-21 15:08:32 400
原创 ffmpeg新旧接口对比--记录
https://www.cnblogs.com/schips/p/12197116.htmlffmpeg新旧函数对比_鲲鹏私董会的博客-CSDN博客
2023-07-21 09:59:14 252
原创 ffmpeg 转码过程中参数含义
size/ Lsize:视频和音频编码后的大小,即基本等于视频和音频 之和。dup:输入帧重复(duplicate)的数量。drop:输入帧丢弃(drop)的个数。bitrate:输出视频的比特率。frame: 编码的帧数量。time:输出帧的显示时间。fps:每秒编码的帧数。speed:编码速度。
2023-07-20 09:56:06 232
原创 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 874
原创 海康摄像机没有声音问题
发现用的地址默认是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 3901
原创 服务器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 548
原创 使用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 1045
原创 ffmpeg 拉取多路摄像头并按照时间参数截图
ffmpeg -r 1 -ss 00:00:05 -t 00:00:06 -i rtsp://admin:hisense2021@192.168.1.64: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 1104
原创 ffmpeg 抓取一帧数据
FFmpeg功能比较强大,这里记录一条从摄像机抓拍的一条命令:---执行成功。这是一条网络摄像机的抓图命令,其实就是通过rtsp获取一帧图像,然后保存到本地。参数说明:-i:是指定视频流来源,这里是rtsp-r::是帧率-ss:开始时间-t:结束时间,这里只取1秒后面的文件名,其实可以设定格式的,比如%3d,jpg,生成的多个文件时,会自动给生成的文件编号。
2023-05-10 17:57:57 2876
原创 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 1151 1
原创 zlmediakit安装说明
1、修改cmakelist 里面的EnableFFmpeg ON后,发现依赖的文件始终无法编译出来。2、重新安装了ffmpeg,还是不好用。重新安装了zlmediakt发现好用了。更新子模块步骤被遗漏了,导致出现问题。备注一下可能出现问题的地方。
2023-05-08 14:39:00 225
原创 zlmediakit转码通过ffmpeg 硬件加速了吗?
开始录像:录像时间(实现的时候,需要提前录制,不能按照设定的时间开始录制,这个时候就晚了)开始转码:需要配置录像是hls还是MP4的,source url,dest url。在gpu服务器上测试使用转码的测试代码测试查看gpu占用率,337M。那我们只是需要将这个接口封装成http restful的接口。验证ok,是支持ffmpeg 硬件加速的转码的。一个开始转码的接口,一个关闭转码的接口。针对这个流,需要什么功能?
2023-05-06 17:41:01 260
原创 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 2164
原创 ffmpeg 资料备份
编码的数据包然后被传递到解码器(除非复制音频流被选择用于流,见进一步的说明)。选项,并写入到任意数量的输出“文件”,只需指定一个输出的文件名。每个输入或输出文件可以在原则上,包含任意数量的不同类型(视频/音频/字幕/附件/数据)的流。输入流和输出流直接的映射可以自动完成也可以用。https://blog.csdn.net/zranxi/article/details/118410700 ffmpeg中文版文档。从输入“文件”(其可以是常规文件,管道,网络流,录制装置等),由指定任意数量的读取。
2023-05-06 09:21:49 406
原创 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 1706
原创 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 1255 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 701
原创 属性系统分析
在android系统中,所有的进程是共享系统设置值,init进程创建了并初始化属性域,而后通过执行中的进程提供的api,访问属性域的设置值。但是更改属性值只能在init进程中执行。当更改属性值的时候,要预先向init进程提交值变更申请,然后init进程处理该申请,并修改属性值。那么,属性值的更改在init进程里面,其它进程是如何向init进程发出申请的呢?通过socket。/dev
2014-12-05 14:58:57 522
原创 socket了解 一二
在看init进程解析过程中,针对子进程终止的时候处理使用了套接字,也就是socket。socket之前一直没有概念。只是听到别人说起,具体用法一概不知道。socket可以理解成打电话,打电话的时候,建立了一个通道,两边都可以说话。socket创建一下子就创建了2个句柄,相当于通道两端,用于读写数据,关闭通道用。创建socket:int socketpair(int domai
2014-12-05 13:54:31 489
原创 低内存管理lower memory killer
在开发过程中发现,经过长时间运行的系统,会发生c层service重启的情况。如果service重启了,一般就是内存泄漏或者指针错误。经过使用dumpsys meminfo查看发现经过一段时间,这个内存是不断增加的,就判断发生了oom现象。通过这个命令,可以查看内存oom_adj临界值: cat /sys/module/lowmemorykiller/parameters/adj
2014-12-04 10:28:37 1907
原创 用户空间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 862
原创 内核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 633
转载 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 488
转载 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 406
原创 结合实际看文档
最近学习的东西和之前有很大差别之前看sdk文档,总是觉得这些东西不过是查阅的时候才用到的,实际上不是这样。那是对高手来说。对我这个啥都不知道的人来说,看懂了,理解了才是正确的。以后没事把这些文档都看明白了,结合实际的代码。这次觉得懂得一点了。
2013-12-30 09:55:28 445
原创 寄存器信息都是在fastboot里面设置好的
学习记录一下。寄存器信息会影响到播放的流畅度,具体怎么影响的不清楚。u盘播放和cable播放都会出现音视频卡顿,静帧的问题。
2013-12-30 09:52:27 542
原创 fastboot 选型、编译
最近根据硬件新开发的样版,学习了如何根据硬件版型进行配置。一个是ddr的大小,一个是板子层数。根据ddr命名规范,3,4位是ddr大小,4Gbit , 5,6位是ddr 位数 16一共2片,4Gbiti*2/8=1G字节。用这个来选用寄存器的配置。这个用来选择厂家已经配置好的寄存器信息,这
2013-12-09 09:07:15 1076
原创 浏览目录创建别名
alias ll='ls -l'之前一直能够使用ll,这次突然不能用了,以为系统不支持,够笨把。一查找,原来ll一直是ls -l的别名用alias 命令就可以实现ll了
2013-12-06 14:08:27 466
原创 最近公司变动,我的价值在哪,不能妄自菲薄
最近公司大变动,经过了解,目前我学的android知识,在这个大圈子里,真的不算什么。但是不学习,肯定被人家落下的更远。
2013-12-02 09:41:40 693 3
转载 在命令行中通过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 1982
原创 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 4195
原创 看代码的过程中经常看到promote()调用,简单记录refbase
看refbase源码:RefBase类定义中的函数:incStrong()增加一个弱引用,一个强引用decStrong 对应的,减少一个弱引用,一个强引用forceIncStrong 增加一个弱引用,一个强引用getStrongCount获取强引用个数weakref_impl* const mRefs; 这里有个成员变量。以上大部分都是强引用
2013-11-12 15:58:34 2976
原创 内核的东西,看不懂啊,想理解理解binder结果看不懂,看懂一点记一点吧
【binder_node 】binder_get_node 从binder_proc里面rbroot nodes这个树里面获得一个binder_node 节点。binder_new_node 创建一个binder_node节点,并放到上面的树上。binder_inc_nodebinder_dec_node是对这个binder_node 进行强引用还是弱引用
2013-11-11 16:43:53 719
原创 binder机制关于匿名service,handle是如何赋值的
以媒体服务为例。我们从java层开始查看关于binder通信的代码,往下搜索始终都是new BpBinder(0),这里的handle始终是0。难道所以的service都是通过BpBinder(0)来发送消息的吗?那就失去了binder通信建立那么多I***的意义了。我们经常在代码里面看到类似的语句data.writeStrongBinder(connection.asBinder
2013-11-11 11:41:06 1511
Effective.STL中文.CHM
2009-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人