All Posts

树莓派初体验

本文介绍树莓派的基本装机配置,所用设备是树莓派3B+。 装机准备 下载系统 https://www.raspberrypi.org/downloads/raspbian/ mac写系统工具 https://www.balena.io/etcher/ 开机配置 配置ssh /boot 目录下建立ssh空文件 默认wifi /boot 目录下新建 wpa_supplicant.conf 文件 country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="WiFi-A" psk="12345678" key_mgmt=WPA-PSK priority=1 } 参考: http://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html 配置静态ip 配置静态ip有利于树莓派的管理,编辑/ ...

x264低延时编码

本文分析下x264做视频编码时的低延时配置 低延时配置与参数说明 x264的zerolatency配置代码: else if( !strncasecmp( s, "zerolatency", 11 ) ) { param->rc.i_lookahead = 0; param->i_sync_lookahead = 0; param->i_bframe = 0; param->b_sliced_threads = 1; param->b_vfr_input = 0; param->rc.b_mb_tree = 0; } i_lookahead 该参数为mb-tree码率控制和vbv-lookahead设置可用的帧数量,最 ...

FLV结构分析

FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用。目前流行的rtmp推流直播,格式都是flv,而且基于http-flv形式来拉流,直播的实时性也很高。 格式 FLV ...

决定人生的是思维方式,而不是你掌握的知识

我们的思维模式会逐渐固化,要想有所改变,改变思维模式才是唯一有效的办法。 已故历史学家Will Durant和Ariel Durant花了四十年的时间研究、编纂和撰写西方文明史。他们几十年如一日的成果《The Complete Story of Civilization》字数高 ...

CLion远程调试

CLion是JetBrains出品的C++ IDE,工程管理使用cmake。除了本地调试之外,CLion还支持远程调试,本文介绍下基于CLion的远程调试的配置,远程服务器环境是CentOS。 CentOS依赖依赖 # cmake yum install cmake -y # gcc & gdb yum install gcc-c++ -y yum ...

陆奇:如何成为一个优秀的工程师

陆奇出席百度内部Engineering Leadership Talk。作为计算机科学博士及优秀的管理者,他提出的五点要求,对每一位百度工程师都适用。 “我们一定要有一个坚定不移的深刻的理念,相信整个世界终究是为技术所驱动的。” “有没有其他人已经解决这个问题?然后 ...

MySQL与Spring boot对接

本文整理了下CentOS7下mysql与Spring boot对接的基本配置,Spring boot与Mybatis结合使用。 pom.xml引入依赖 引入连接mysql的必要依赖 mysql-connector-java 引入整合MyBatis的核心依赖 mybatis-spring-boot-starter <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> 搜索mapp ...

CentOS7 安装MySQL

本文整理了下CentOS7下安装mysql的基本配置。 安装 wget https://dev.mysql.com/get/Downloads/MySQL-4.7/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm \ mysql-community-libs-5.7.22-1.el7.x86_64.rpm \ mysql-community-client-5.7.22-1.el7.x86_64.rpm \ mysql-community-server-5.7.22-1.el7.x86_64.rpm \ mysql-community-devel-5.7.22-1.el7.x86_64.rpm 注意: 如果已经安装mariadb,需要删除 yum -y remove mariadb mariadb-libs mariadb-server 需要安装perl yum -y install perl perl-JSON 使用mysql 启动与结束命令 service mysqld start service mysqld stop # 使用密码登录mysql mysql -u root ...

FFmpeg像素格式分析

针对视频操作(如实时美颜)的时候,就会遇到处理视频的每一帧图像,图像内容在内存中存放的形式也就是像素格式。 YUV格式介绍 YUV格式有两大类:planar 和 packed 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随 ...

macOS下依赖自动打包脚本

macOS下,应用加载依赖的dylib或Framework需要根据rpath等信息去加载,而链接后默认依赖的路径是机器上的路径(可以通过otool命令查看),不方便打包出去使用。 下面的脚本信息能把应用依赖的dylib等拷贝到相同的输出目录, ...

Homebrew安装老版本的包

macOS安装开发包和应用工具,常常使用Homebrew来管理,Homebrew是基于ruby开发的、macOS下的自动化包管理器。 在线安装 brew安装好后,可以通过brew search xxx来查看是否支持包xxx 通过 brew instal xxx 就能快速执行安装 比如,安装 ...

FFmpeg时间戳整理

使用FFmpeg库进行音视频处理时,经常需要处理视频时间、编解码的dts/pts时间戳,时间的准确处理对音视频处理至关重要。 time_base 时间基(time_base)是FFmpeg中作为时间单位的概念。不同的音视频封装格式,可以使用不同的time_ba ...

Mac上编译CEF62

CEF是基于chromium的开源项目,让集成chrome的浏览器内核非常方便,而且紧跟升级的节奏,在客户端产品上广泛使用。官网其实已经打了二进制包,可以直接拿来集成。 不过有时候我们还需要自己来打包,最常见的几个原因: 需要集成音视频能力(默 ...

Spring 之Bean对象管理

Spring是Java服务端主流的开发框架,其中的依赖注入和模块化,实现了一套灵活的组件化方案。 这个相当于Spring在框架层面帮我们做好了Bean对象的管理,而且还支持注解以及很多方法来支持非侵入式的组件化方案,使得代码耦合极低,就像没有 ...

Spring 之方法拦截

本文介绍一种基于Spring的通用的方法拦截方案,配合注解来轻量级的使用,方法拦截技术经常用于性能监控,统一日志等。 ProxyFactory 代理工厂提供了对象行为的扩展机制(addAdvice)可以在方法调用前后做一些事情。 // 接口和对象 interface UserReadService { String getUserId(String id); } class UserReadServiceImpl implements UserReadService { @Override ...