自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (6)
  • 收藏
  • 关注

原创 [Android]MediaPlayer播放视频

权限参考 Android10外部存储器无权限layout<SurfaceView android:id="@+id/media_player_surface" android:layout_width="match_parent" android:layout_height="match_parent" />设置数据源并开始播放void startPlay() { try { m_MediaPlayer.setDataSource("/

2021-05-11 11:12:29 383

原创 [Android]使用MediaPlayer播放音频

开始播放 private void startPlay() { m_Player = new MediaPlayer(); try { m_Player.setDataSource("/storage/emulated/0/Movies/audio.aac"); m_Player.prepare(); m_Player.start(); } catch (IOException e

2021-05-09 20:58:58 269

原创 Android10 外部存储器无权限问题

Android10 外部存储器无权限参考官方文档: https://developer.android.google.cn/training/data-storage/compatibilityandroid:requestLegacyExternalStorage="true"外部存储器权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-per

2021-05-02 12:34:26 1050

原创 树莓派RTMP直播推流

1.安装FFmpegsudo apt-get install gcc g++ make cmake gitsudo apt-get install ffmpegsudo apt-get install libavutil-dev libswscale-dev libswresample-dev libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev2.编译安装nginx-rtmpsudo apt-get install lib

2021-05-01 16:25:36 1138 2

原创 FFmpeg采集树莓派USB摄像头(UVC摄像头)

采集mjpeg格式视频ffplay -f video4linux2 -input_format mjpeg -framerate 25 -video_size 640x480 -i /dev/video0采集yuyv422格式视频ffplay -f video4linux2 -input_format yuyv422 -framerate 25 -video_size 640x480 -i /dev/video0推送mjpeg视频流ffmpeg -f video4linux2 -input_

2020-05-10 13:40:34 3963

原创 FFmpeg录制Windows桌面&摄像头&麦克风

录制桌面使用GDI screengrabber可以录制主屏幕的内容You can also use gdigrab as input device to grab video from the Windows screen.To capture all your displays as one big contiguous display:ffmpeg -f gdigrab -framerate 30 -i desktop output.mkvIf you want to limit to

2020-05-10 13:36:51 1631

原创 [FFmpeg]树莓派平台FFmpeg环境搭建

sudo apt-get install ffmpegsudo apt-get install cmake libavutil-dev libswscale-dev libswresample-dev libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev

2020-02-24 10:48:58 670 2

原创 [FFmpeg]推送UDP MPEGTS丢包问题

推送UDP MPEGTS丢包问题请加上pkt_size =7*188 = 1316即可ffmpeg -re -i yung.flv -vcodec copy -acodec copy -f mpegts "udp://@231.0.16.200:7001?pkt_size=1316"

2019-10-20 17:14:05 1716

原创 [Android]libpng的编译与使用

库地址https://github.com/julienr/libpng-android设置NDK环境变量将NDK目录加入PATH变量:C:\Users\xx\AppData\Local\Android\Sdk\ndk\20.0.5594570\静态库修改Android.mk文件#LOCAL_SHARED_LIBRARIES := -lzLOCAL_EXPORT_LDLIBS :=...

2019-09-07 14:52:05 973

原创 [网络编程]python UDP组播转UDP单播

#!/usr/bin/env python3# -*- coding: utf8 -*-# __Author: "JINZHU"# date: 2019/7/28import sysimport timeimport structimport socketENABLE_TEST_SOCK = Falsedef udp_forward(recv_eth_name, recv_...

2019-07-28 16:17:25 1401

原创 [FFMPEG]-采集Ubuntu桌面&摄像头

命令行实现采集摄像头ffmpeg -f video4linux2 -s 640x480 -pixel_format yuyv422 -i /dev/video1 out.mp4 -loglevel debug采集桌面ffmpeg 需要使能: --enable-libxcbffmpeg -f x11grab -framerate 25 -video_size 1280*720 -...

2019-06-15 21:01:29 2786

原创 STM32duino_在线升级

Boot Loader配置设置ROM、RAM地址//链接器脚本文件路径Arduino\hardware\STM32\STM32F1\variants\generic_stm32f103z\ld\stm32f103ze.ld//修改内容MEMORY{ ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K //内存起始地址及长度 rom ...

2019-04-02 22:44:37 742 3

转载 [ARM裸机程序][8]ARM处理器启动流程(S3C2440)

转载自:https://blog.csdn.net/a3203211/article/details/20800253ARM处理器启动流程S3C2440支持启动方式: 1. NorFlash启动 2. NandFlash启动 当处理器上电时,会自动从0地址处取第一条指令开始运行。左边为当选择NorFlash启动时地址的布局,右边为当选择NandFlash启动时地址的布局。 Na...

2018-05-19 11:58:57 679

转载 [ARM裸机程序][7]ARM 指令分类学习

算术移位寄存器和逻辑指令MOV传送MOV{条件}{S} &amp;lt;dest&amp;gt;, &amp;lt;op 1&amp;gt;dest = op_1MOV从另一个寄存器、被移位的寄存器或者一个立即数装载一个值到目的寄存器。还可以指定相同的寄存器来实现 NOP 指令。如:MOV R0,R0。移位后传送指令:MOV R0, R0, LSL#3。如果 R15 是目的寄存器,将修改程序计数器或标志...

2018-05-17 23:08:45 273

转载 [ARM裸机程序][6]ARM GNU汇编程序示例

ARM GNU汇编程序框架.section .data &amp;lt;初始化的数据&amp;gt;.section .bss &amp;lt;未初始化的数据&amp;gt;.section .text.global _start_start: &amp;lt;汇编代码&amp;gt;&amp;lt;入口地址&amp;gt;汇编程序的示例//start.s.bass.text.global

2018-05-17 09:36:28 434

转载 [ARM裸机程序][5]ARM处理器的寻址方式

处理器的寻址方式是通过指令给出的地址码字段来寻找真实操作数地址的方式,ARM处理器支持9中寻址方式。1.立即寻址立即寻址指令后面的地址码部分为立即数(常量或常数),立即寻址多用于给寄存器赋值。 举例:MOV RO, #1234指令执行后,R0=1234。2. 寄存器寻址寄存器寻址中,操作数在寄存器中,指令执行时直接从寄存器中取值进行操作。 举例:MOV R0...

2018-05-16 23:28:42 332

转载 [ARM裸机程序][4]ARM寄存器详解

转载自:https://www.cnblogs.com/wrjvszq/p/4199682.htmlARM寄存器ARM处理器总共有37个寄存器其可以分为以下两类:通用寄存器(31个) 不分组寄存器(R0—R7)分组寄存器(R8—R14)PC指针(R15)状态寄存器(6个) CPSR(1个)SPSR(5个) ARM寄存器详解不分组寄存器(R0—R7)...

2018-05-16 23:16:48 503

转载 [ARM裸机程序][3]ARM的七种工作模式及其切换

转载自:http://blog.sina.com.cn/s/blog_9de205cc0102xffl.htmlARM体系的七种工作模式用户模式(usr):正常的程序执行状态。快速中断模式(fiq): 处理快速中断,支持高速数据传送或通道处理。中断模式(irq): 处理普通中断。管理模式(svc):操作系统使用的保护模式。系统模式(sys):运行具有特权的操作系统任务。数据...

2018-05-16 22:46:06 1380

转载 [网络编程]微信协程库libco研究(三):协程的事件管理

转载自:https://segmentfault.com/a/1190000012834756 前面的两篇文章中介绍了微信的libco库如何hook系统函数和协程的创建和管理,本篇文章将介绍libco库是进行事件管理的。 libco库使用一种类似时间片的技术进行轮询,使得每个注册在其上的事件都有机会执行。1. 基础数据结构在上一篇文章中介绍stCoRoutineEnv_t时,我们将st...

2018-05-06 22:05:18 417

转载 [网络编程]微信协程库libco研究(二):协程的实现和管理

前面的文章Hook系统函数 中介绍了微信使用的协程库libco,用于改造原有同步系统,利用协程实现系统的异步化,以支撑更大的并发,抵抗网络抖动带来的影响,同时代码层面更加简洁。 libco库通过仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll,可以支持同步或者异步的写法,如线程库一样轻松。同时库里面提供了socket族函数的hook,使得后台逻...

2018-05-06 21:11:16 439

转载 [网络编程]微信协程库libco研究:hook系统函数

转载自:https://segmentfault.com/a/1190000012561446最近花了一些时间研究微信的协程库libco,libco是微信后台大规模使用的c/c++协程库。库里面提供了socket族函数的hook,使得后台逻辑服务几乎不用修改逻辑代码就可以完成异步化改造,号称单机可以达到千万连接。有关libco库的具体实现原理后续有时间再讨论,本文先讨论微信团队实现对socket族函

2018-05-06 19:45:08 886

转载 [网络编程]六大Web负载均衡原理与实现

转载自:https://blog.csdn.net/asqi1/article/details/41478111“均衡”的含义不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。1. HTTP重定向...

2018-04-24 15:07:29 191

转载 [Linux]Linux中的静态库、动态共享库和可加载库

转载自:https://blog.csdn.net/imxiangzi/article/details/45871949/Linux 库分类目前可以创建两种 Linux C/C++ 库:静态库(.a):会被链接进目标代码,并成为应用程序的一部分。动态共享链接库(.so):这种库只有一种结构,不过可以通过两种方式使用。I. 运行时动态链接但是静态依赖,在编译/链接阶段这些库需...

2018-04-23 15:40:09 245

转载 [C++]拷贝构造函数和赋值运算符

转载自:https://www.cnblogs.com/wangguchangqing/p/6141743.html拷贝构造函数和赋值运算符在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符。但用户可以使用delete来指定不生成拷贝构造函数和赋值运算符,这样的对象就不能通过值传递,也不能进行赋值运算。class Person...

2018-04-19 09:25:57 152

转载 [读书笔记][深入应用C++11]2.1 右值引用

C++98中的左值与右值在C++98/03中,只有左值与右值两种类型值类型。左值是指表达式结束后依然存在的持久对象,右值是指表达式结束时就不存在的临时对象。区分左值和右值得方法是:能不能对表达式取地址,如果能则为左值,否则为右值。C与C++98中右值的区别C++检测到右值在内存中存在对应的实体,会自动转换为左值。 例如:以下代码在C中无法编译通过,因为其对右值进行操作;而在C++...

2018-04-18 21:33:04 189

转载 [C++]const关键字的相关问题总结

const在C/C++中的区别const全局常量:其值不可以修改,也不可以通过指针修改,因为其存储空间分配在常量区。const局部变量: 在C语言中,const常量修饰变量名,不能使对应的内存只读,可以通过指针修改相应的内存,改变const的常量值。在C++语言中,const常量在符号表中定义,引用该常量时会自动填入其常量值,以保证const的有效。如果对const常量取地址,编译器会...

2018-04-18 10:03:58 161

转载 [面试题]单链表:如何在O(1)的时间复杂度下删除指定节点?

问题描述:对于一个如下所示的单链表,存在Head指针指向链表头,另外有一个Ptr指针指向链表中的任意节点。现在要求在O(1)的时间复杂度下删除Ptr指针所指向的节点。 问题分析:正常的思路是:要删除Ptr指向的D节点,我们需要找到指向D节点的C节点。要找到C节点,我们需要遍历整个链表,时间复杂度是O(1)。 正确的思路是:我们可以很快找到D节点所指向的下一个节点:E节点,而且...

2018-04-17 10:01:51 835

转载 [操作系统]生产者/消费者问题

生产者/消费者问题也叫缓存绑定问题(bounded- buffer),是一个经典的、多进程同步问题。单生产者和单消费者仓库容量为一的情况问题分析:仓库有空位时,生产者才能生产产品,并放入仓库中;仓库中存在产品时,消费者才能将产品从仓库中拿出来消费。解决方法:这是一个典型的同步问题,定义两个信号量: - 信号量S1:(代表仓库中空位的数量)保证生产者不...

2018-04-13 21:32:47 14318 3

转载 [Go]go-import下划线的作用

import 下划线(如:import _ hello/imp)的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已。

2018-04-08 14:13:20 190

转载 [知乎]作为计算机专业学生,最应该学习的课程前五位是什么?

转载自:https://www.zhihu.com/question/19628851 计算机专业概念有点大。我本人毕业于国防科技大学计算机科学与技术专业,个人觉得就计算机科学与技术(CS)专业而言,以下这些是必修的:1、计算机组成原理(包括先修课程“数字逻辑与数字系统”,简称“数电”):这是一门硬件基础课,学完后你能清楚的知道如何从用最简单的数字元件,像搭积木一样构成整个计算机系统,那就算及格...

2018-04-05 15:29:39 16387 2

转载 [设计模式]面向对象的六大原则

转载自:http://www.cnblogs.com/liuconglin/p/6551020.html 转载自:https://zhuanlan.zhihu.com/p/23382265 转载自:https://blog.csdn.net/hfreeman2008/article/details/52289571 转载自:https://blog.csdn.net/lovelion/art...

2018-03-24 15:24:06 246

转载 [Linux]Linux学习笔记

1. Linux探秘之用户态与内核态

2018-03-23 22:08:30 720

原创 [智能硬件][WIFISocket]基于ESP8266的智能插座开发(3)_WIFISocketLite(MQTT)

在本文中,将使用MQTT通信协议的方式实现APP远程控制(外网)智能插座。免费的MQTT服务器首先推荐两个免费的MQTT服务器: 1)https://www.cloudmqtt.com 2)https://yunba.io/ 云巴推送功能很强大,支持离线消息和群组推送等功能。可惜的是云巴推送对MQTT协议进行了进一步的包装,目前我还没有办法将它应用到ESP8266的远程通信中。

2018-02-03 16:53:18 1829

原创 [智能硬件][WIFISocket]基于ESP8266的智能插座开发(3)_WIFISocketLite(UDP)

在本文中,将使用UDP广播的方式实现APP远程控制智能插座。基本原理Android 手机和智能插座连接到家庭路由器中。APP通过UDP广播的方式向ESP8266发送控制命令。ESP8266接收到控制命令后,执行相应的操作并返回结果。通信帧格式采用UDP的方式,不需要考虑TCP中存在的粘包的问题。为了简单起见,采用JSON格式传输数据。控制命令ID:const int

2018-02-03 13:59:11 1082

原创 [智能硬件][WIFISocket]基于ESP8266的智能插座开发(2)_WIFISocketLite

在本文中,使用WeMos D1 mini开发板实现通过硬件按钮控制继电器开关的功能。Arduino IDE的配置在这一小节中,需要将IDE配置成功。请参考ESP8266的GPIO本文的所有GPIO引脚都尊从WeMos D1 mini的定义。 请参考电路原理图 GPIO配置如下:继电器IO:GPIO5按键IO:GPIO4LEDIO:GPIO2(模

2018-01-25 21:59:16 2595 1

转载 【读书笔记】【深入应用C++11】1.5 std::function和bind绑定器

摘自:深入应用C++11:代码优化与工程级应用1.5.1 可调用对象在C++98/03中,可调用对象包括以下几种:函数指针具有opterator()成员函数的类对象(仿函数)可被转换为函数指针的类对象类成员(函数)指针//仿函数class Foo{public: void operator()(void) { cout&quot;opera

2018-01-24 17:27:07 230 1

转载 【读书笔记】【深入应用C++11】1.4 基于范围的for循环

摘自:深入应用C++:代码优化与工程级应用1.4.1 for循环的新用法std::for_each()使用std::for_each()做循环,不需要关心迭代器的概念,只需要关心容器的类型。如:#include void do_count(int n){ cout<<n<<endl;}vectorint> vect={1,2,3,4,5,6,7,

2018-01-22 17:23:30 241

转载 【读书笔记】【深入应用C++11】1.3 列表初始化

摘自:深入应用C++11:代码优化与工程级应用 在C++98/03中存在着种类繁多的初始化方式。C++11为了统一初始化方式,提出了列表初始化的概念。1.3.1 统一的初始化在C++98/03中,只有普通数组和POD类型可以使用初始化列表。 【POD类型】plain old data类型,即可以直接用memcpy复制的对象。如:int i_arr[3]={1,2,3};str

2018-01-19 15:17:46 238

转载 【读书笔记】【深入应用C++11】1.2 模板的细节改进

摘自:深入应用C++11:代码优化与工程应用1.2.1 模板的右尖括号C++98/03 会将连续的两个右尖括号(>>)解释为右移操作符,而不是模板参数表的结束。 如:vector> vect;会出现编译错误,需要改写成vector > vect; C++11中修正了这一错误;但是会出现与老标准不兼容的情况,如:Foo> 2> xx;需要改写成Foo> 2)> xx;1.2.2

2018-01-17 16:23:01 192

转载 杂碎笔记

如何在Windows下使用eclipse编写C/C++程序?请参考如何为树莓派更换国内镜像源?stretch版请参考如何为树莓派安装LAMP?stretch版请参考请参考如何为CentOS6.5安装LAMP?请参考如何使用C++解析Json?有哪些好用的Json库?请参考请参考Python 里itchat 模块能实现什么有趣的东西?请参考ESP8266如...

2018-01-16 17:24:19 164

emqx-rel-2.3.9.tar.gz

EMQTT 树莓派3 支持MQTT版本,编译参考 https://www.jianshu.com/p/3ce4dd64f01c

2019-05-11

[ESP8266 ]WIFISocket_PCB电路图

WIFISocket PCB电路图 智能插座 ESP8266 arduino WIFI

2018-01-25

cJSON库C语言

cJSON库C语言 cJSON库C语言 cJSON库C语言 cJSON库C语言

2018-01-25

无线传感器网络实验教程---zstack协议栈中绑定

无线传感器网络实验教程---zstack协议栈中绑定

2017-06-20

背包九讲背包算法pdf

背包算法

2017-06-18

《ZigBee2006无线网络与无线定位实战》(李文仲,段朝玉)

《ZigBee2006无线网络与无线定位实战》(李文仲,段朝玉)

2017-06-18

空空如也

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

TA关注的人

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