小v电子技术博文 上海鲤鲸网络科技 小v单片机

关于USB传输视频的问题

  • 时间:2017-6-16
  • 作者:小v
  • 分类: Linux
  • 浏览:305
  • 评论:0
  • USB2.0传输速度一般可以达到10M/S 最常用的摄像头 标清:2Mbps/S     130W像素:4Mbps/S-6Mbps/S    200W像素:6Mbps/S-8Mbps/S 1Mbps=1024Kbps=1024/8KBps=128KB/s 200w 768KB/S -1MB/S 每小时录像文件大小计算公式:码流大小(bit为单位的)×3600 (秒)÷8(位(bit)换算成字节(Byte))÷1024(兆(M)换算成吉咖(G))= GB/ 小时 一路采用200W高清摄像机,计算...

    阅读全文>>

    关于arm Linux 连接WiFi的问题

  • 时间:2017-6-9
  • 作者:小v
  • 分类: Linux
  • 浏览:462
  • 评论:0
  • 在有些arm Linux上发现使用iwlist  wlan0  key  "123456789" 会不成功,提示 Error for wireless request "Set Encode" (8B2A) : 网友解释  是由于iwlist  仅支持wpa的加密密码。 这个时候要使用 wpasupplicantg工具了。 首先确认,arm里边是否支持   wpa_supplicant  , 在shell下敲入  wpa_supplicant   会弹出版本信息等使用方法。 ifconfig wlan0 up...

    阅读全文>>

    热门文章 全志A33 Android系统检测gpio外部按键

  • 时间:2017-5-31
  • 作者:小v
  • 分类: Linux
  • 浏览:843
  • 评论:0
  • 使用全志A33的Android4.4的系统。 检测外部按键是否按下。 根据官方提供的例子是不行的。他是直接在一个timer定时器中检测如下是api,当然前提是 class。jar已经导入工程中去了。 i=gpio.readgpio('h',7); 后来经过不断的请教学习,在编译系统时需要chmod +666 /sys/class/gpio_sw/PH7/data  才会起作用。

    阅读全文>>

    arm linux 下使用iic总线节点读取外挂设备

  • 时间:2017-5-24
  • 作者:小v
  • 分类: Linux
  • 浏览:394
  • 评论:0
  • /************************************************************/ : (1) // (2) // (3) // (4) //鏃ユ湡:2016-10-03 /************************************************************/ //鍖呭惈澶存枃浠� #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/ioctl.h> #include <sys/types...

    阅读全文>>

    热门文章 全志A33 android 系统 adb shell问题

  • 时间:2017-5-8
  • 作者:小v
  • 分类: Linux
  • 浏览:637
  • 评论:0
  • 在淘宝上买的全志A33  安卓开发板  运行Android 4.4  运行还可以,5寸屏触摸也还可以,然后连接到电脑上  使用 豌豆荚 安装设备驱动,安装成功后 会出现连接成功的界面 在设备上 把 USB 调试打钩  mtp 关掉。 同时如果电脑端安装了金山毒霸,把金山毒霸的手机助手给打钩。自行搜索  最后 重启

    阅读全文>>

    搭建流媒体直播方案

  • 时间:2017-4-27
  • 作者:小v
  • 分类: Linux
  • 浏览:372
  • 评论:0
  • 一、使用模拟摄像机方式: (1),(模拟摄像机+视频采集卡+PC+转码软件)+流媒体服务器+客户端; 这是比较久以前使用的远程视频直播系统搭建的方式。首先是前端安装模拟摄像机用于采集模拟信号并用视频采集卡将视频接到PC端,然后在PC上安装编码、转码程序将视频用RTMP协议推送到流媒体服务器。 特点:安装维护繁琐,出现故障率大,而且不稳定,图像质量差。   (2)(模拟摄像机+支持RTMP协议的视频编码器)+流媒体服务器+客户端 这种方式实现起来相比上面的方式要比较简单、方便。这是支持RTMP协议的视频编码器集中了采集卡、PC、转码软件的功能;首先是模拟摄像机采集视频用视频线...

    阅读全文>>

    linux 应用程序架构

  • 时间:2017-4-27
  • 作者:小v
  • 分类: Linux
  • 浏览:338
  • 评论:0
  • 最近在知乎上看到关于linux应用程序架构设计的帖子。于是总结一下个人经验,将项目中积累的所得, 在Linux的大型项目中我跟过两个项目。 两个项目的共同点都有网络通信图像采集和视频传输。大致的结构我们可以总结为”cc+进程” 意思就是有一个control center  控制中心,这个中心理解为一个交互的主进程。加上一些功能实现的其他进程共同实现的一套应用程序架构。 一个嵌入式Linux设备中,可以有10个左右的进程,如果资源强大cpu够牛可以有更多的服务。每个进程可以有5-6个线程来分时处理更多的任务。线程多进程要少这应该是比较划算的架构机制。     比如这个...

    阅读全文>>

    热门文章 ffmpeg安装在Linux下,并将图片合成视频

  • 时间:2017-4-24
  • 作者:小v
  • 分类: Linux
  • 浏览:695
  • 评论:0
  • 按照如下步骤进行安装 sudo wget http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.bz2 sudo tar xvjf ffmpeg-0.8.10.tar.bz2 cd ffmpeg-0.8.10   ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --...

    阅读全文>>

    c++中内存分配的正确打开方式

  • 时间:2017-4-18
  • 作者:小v
  • 分类: Linux
  • 浏览:361
  • 评论:0
  • 用很low的方式解决了内存溢出 segment fault的问题 使用两个指针和strsep将两段字串分离。 char delims[] = "\n"; char *result; result = (char *)malloc(128 * sizeof(char)) ; char *pd; char *p1,*p2; pd = (char *)malloc(256 * sizeof(char)) ; p1= result; p2= pd; pd= rec_buffer; while( ((result = strsep( &pd, delims ))) ) { //add your  c...

    阅读全文>>

    热门文章 freetype显示英文字符时对齐问题

  • 时间:2017-4-14
  • 作者:小v
  • 分类: Linux
  • 浏览:695
  • 评论:0
  • 之前使用freetype显示一串英文字母时,会出现字符无法对齐现象,比如说“abc”像a和c这样的小字母会从开始坐标直接写,导致abc不直接在一条线上很不好看。   后来看到网友的解释比如矢量图   如上图有个基准线的,origin是原点。   通过终端打印出的abc这几个字字体信息 bitmp convert complete   WIDTH:27,row:31,pitch:27,bearingx:3, bearingy:31,advance:34 width:27, height:31 ...

    阅读全文>>

    热门文章 linux 下结合freetype 显示汉字

  • 时间:2017-4-13
  • 作者:小v
  • 分类: Linux
  • 浏览:512
  • 评论:1
  • 还是和之前的一篇文章结合使用,这里对freetype的深入,上位机或客户端跟解码盒子通信使用utf8的编码格式, 相关使用案例如下 std::string str = "\xE6\x98\x9F\xE6\x9C\x9F\xE5\x87\xA0";//星期几 printf("11111111111111  %s  ,length:%d\n", str.c_str(),str.size()); wchar_t  chiStr[20]; UTF2Unicode(chiStr, 3, (char*)str.c_str());  printf(" **************************display...

    阅读全文>>

    基于c++实现的UDP client 源码

  • 时间:2017-4-13
  • 作者:小v
  • 分类:
  • 浏览:353
  • 评论:0
  • 使用cmake 编译  其中接收和发送使用两个线程。在Ubuntu中已经验证可行 udpsession.cpp如下 #include"udpsession.h" int skd=0; udpsession::udpsession() {   this->CreateSocket();   this->BingSocket(); } udpsession::~udpsession() { } bool udpsession::CreateSocket() { this->socketFd= socket(AF_INET,SOCK_DGRAM,0);//UDP方...

    阅读全文>>

    c++中用类创建两个线程出现的线程入口是静态函数问题

  • 时间:2017-4-11
  • 作者:小v
  • 分类: Linux
  • 浏览:312
  • 评论:0
  • c++语言写一个udp的类,其中有两个线程,一个是发送的线程,一个试接收的线程。 线程的入口是个 void *函数,在c下 可以直接做成全局的函数,但是在c++下我想用类来实现。 结果 有一个规则出现, pthread_attr_init (&attr_freetp); pthread_attr_setschedpolicy (&attr_freetp, SCHED_RR); param.sched_priority = APP_TSK_DEFAULT_PRIO; pthread_attr_setschedparam (&attr_freetp, &param_ft); pthread_crea...

    阅读全文>>

    Linux下共享内存数据传递

  • 时间:2017-4-6
  • 作者:小v
  • 分类: Linux
  • 浏览:354
  • 评论:0
  • 我在一个APP  B下这样写 #include <sys/ipc.h>  #include <sys/shm.h>  #define MY_SHM_ID 67483  int shmid;   void *shmptr; if((shmid = shmget(MY_SHM_ID,1024,IPC_CREAT)) ==-1)     {     printf("shmget error!\n"); exit(1);   }     if((shmptr = shmat...

    阅读全文>>

    Linux下函数传递指针大数据导致segmentation fault问题

  • 时间:2017-3-31
  • 作者:小v
  • 分类: 单片机c语言
  • 浏览:315
  • 评论:0
  • 一个函数中调用另外一个函数试,将本地的大数据通过指针传递下去让他进行处理,结果出现segmentation fault  比如在  bool SetstringPlay(char * pi,int length,int x,int y) { 。。。  OsdWriteChar(x,y, pi.width, pi.height,RED_RGB,0,pi,addr); } 结果在OsdWriteChar中出现错误,数据也就1000字节左右,Linux下运行。 后来果断换成结构体的形式。传递结构体,不用指针了 如下,解决问题...

    阅读全文>>

    热门文章 freetype写BMP位图点阵

  • 时间:2017-3-29
  • 作者:小v
  • 分类: Linux
  • 浏览:853
  • 评论:1
  • Freetype是将字库的字转换成一种色度的点阵,比如该例子中转换为256色的点阵。最终效果如下图   void *freetp_test(void *arg) {    unsigned char fontbuffer[1025];   #if 1       printf("FT_Init_FreeType ");    berror = FT_Init_FreeType(  & pFTLib );    ...

    阅读全文>>

    热门文章 cnw8302的osd实现字符叠加原理

  • 时间:2017-3-29
  • 作者:小v
  • 分类: Linux
  • 浏览:591
  • 评论:0
  • cnw8302的osd实现字符叠加原理   基于cavium的cnw8302平台上 实现 利用osd 功能 往输出的屏幕上写字符及数字功能。   Cnw8302硬件平台是基于Linux的,硬件接口提供像素设置,格式设置,分辨率设置,keycolor设置等一些常见的参数。Osdbuffer可以理解为液晶屏的GRAM,但是根据每一个图像处理器的功能不同,osd不同于GRAM,可以理解为屏幕的显示为三层,最底层为硬件层,第二层为硬件抽象层,第三层为osd层,osd层将底层的图像覆盖。 接口函数如下 osd_handle =  CSOSD_Open(OSD_LAYER_0); &nbs...

    阅读全文>>

    关于osdbuffer 定向截取缓存的算法

  • 时间:2017-3-29
  • 作者:小v
  • 分类: Linux
  • 浏览:297
  • 评论:0
  •       如下图,要在1920*1080的分辨率屏幕下截取起始坐标为50,100宽度为100,高度为50的缓冲区buffer。 像素为2个,自左而右,自上而下。 算法   int CutOsdBuf(int start_h,int start_w,int window_w,int window_h,unsigned char *buffin,unsigned char *buffout) {  unsigned char tempbuf[1920*1080*3];   int i=0; ...

    阅读全文>>

    buildroot编译

  • 时间:2017-3-24
  • 作者:小v
  • 分类: Linux
  • 浏览:371
  • 评论:0
  • Build root用来编译文件系统可以将使用的库编入,是一个很好的编译工具。编译过内核的都知道使用 make menuconfig 就可以勾选我们需要的驱动是否编译到内核中去,当然事先需要先写好嵌入的语句。Buildroot和编译内核一样,也是在buildroot 下make menuconfig 勾选需要的库或者工具。   然后使用 make此命令将执行以下步骤:               按照需要下载源文件;               ...

    阅读全文>>

    使用cmake编译程序时遇到的问题添加编译动态库

  • 时间:2017-3-24
  • 作者:小v
  • 分类: Linux
  • 浏览:387
  • 评论:0
  • 使用cmake编译程序时,要添加新的lib库,比如freetype和zlib库,   首先在要编译的文件路径下找到 CMakefiles.list  这个文件 打开添加 include_directories  这条指令时添加头文件所在的路径的 比如我的freetype的绝对路径如下    include_directories(/home/lide/mywork/1/cnw8302-sdk/vureach/vureach/work/build/freetype-2.4.11/include/) include_directories(/home/lide/...

    阅读全文>>

    使用virtual box注意的问题

  • 时间:2017-3-24
  • 作者:小v
  • 分类:
  • 浏览:269
  • 评论:0
  • 使用virtual box下的Ubuntu时  ,使用NAT模式的网络进行下载安装,使用桥接的模式挂载NFS

    阅读全文>>

    arm如何利用scp 指令从远程服务器下载文件

  • 时间:2017-3-14
  • 作者:小v
  • 分类:
  • 浏览:394
  • 评论:0
  • scp指令是基于ssh 协议的传输指令。所以如果使用SCP要确认arm和服务器是否安装ssh协议。 这里arm开发板作为客户端,远端服务器作为ssh服务器。 在arm 开发板上敲入SCP来确定是否可以可用。当出现 usage:时说明能用。 比如要从远端的服务器上 将sys.xml文件拷贝到arm上,sys.xml位于 服务器的目录是 /home/kens/work/  下。 指令如下 scp kens@10.100.86.15:/home/kenfs/work/sys.xml   . 10.100.86.15为远端服务器的IP地址,但如果有域名也可以更换为域名,将文件拷贝到当前地址。 ...

    阅读全文>>

    网络视频RTP组播

  • 时间:2017-3-10
  • 作者:小v
  • 分类: 网络视频
  • 浏览:268
  • 评论:0
  • 广播,就是指同时向子网中的多台计算机发送消息,并且所有子网中的计算机都可以接收到发送方发来的消息。每个广播消息包含一个特殊的IP地址。 广播消息地址分为两种类型:本地广播和全球广播。 通过本地广播向子网中的所有计算机发送广播消息时,其他网络不会受到本地广播的影响。我们知道IP地址分为两部分,网络地址和主机地址,标准网络地址部分组成了本地网络地址的第一部分,字节地址中全部为1的部分用于主机地址部分(即十进制的255)。 例如,对于B类网络192.168.0.0,使用子网掩码255.255.0.0,(此IP地址的网络号为192.168,主机号为0.0,子网掩码全为1的对应的IP地址的网络号)则本地广播地址是192.16...

    阅读全文>>

    制作uboot 能执行的脚本

  • 时间:2017-3-8
  • 作者:小v
  • 分类: Linux
  • 浏览:323
  • 评论:0
  • 利用U-BOOT中的autoscr命令,可以在U-BOOT中运行“脚本”。 首先在文本文件中输入需要执行的命令, 然后用tools/mkimage封装, 然后下载到开发板上,用autoscr执行就可以了。 =======示例======= (1)编辑如下的脚本example.script。 echo echo Network Configuration: echo ---------------------- echo Target: printenv ipaddr hostname echo echo Server: printenv serverip rootpath echo (2)用tools/mkimage对脚本进行封装。 # mkimage -A ...

    阅读全文>>

    ubbot 环境参数设置

  • 时间:2017-3-8
  • 作者:小v
  • 分类: Linux
  • 浏览:422
  • 评论:0
  • 1. Printenv 打印环境变量。 uboot> printenv  baudrate=115200 ipaddr=192.168.0.111  ethaddr=32:34:46:78:9A:DC  serverip=192.168.0.100  Environment size: 80/8188 bytes  2. Setenv 设置新的变量  如: uboot> setenv myboard AT9...

    阅读全文>>

    uboot

  • 时间:2017-3-8
  • 作者:小v
  • 分类: Linux
  • 浏览:264
  • 评论:0
  • 本来启动方式这节不是什么复杂的事儿,不过想简单的说清楚明白,还真是不知道怎么组织。毕竟文字跟有声语言表达有别。但愿简单的东西别让我讲的太复杂! Arm板系统文件一般有三个——bootloader(uboot)、kernel(uImage)及根文件系统(rootfs)。在arm板上电后,按uboot->kernel->rootfs的顺序依次启动。由于开发板上有多种存储介质,三个文件可以放在任何可以存储的介质上,因此也就导致文件的多种启动方式。本文就来讨论,以上三个文件对应不通存放位置的不同启动配置。 一般开发板上会有flash(Nor or NAND),mmc,emmc,sd卡等。系统文件可以烧写在其中的任意一种上,因此也就对应不通的启动。在开发过程中,有时...

    阅读全文>>

    nfs网络文件共享系统搭建和客户端目标板子共享

  • 时间:2017-2-24
  • 作者:小v
  • 分类: Linux
  • 浏览:364
  • 评论:0
  • 首先自行百度 nfs网络文件共享系统是怎么回事。 环境:Ubuntu 14  ,Windows 7 virtualbox 虚拟机          cavium 目标班  Linux 3.4+ 虚拟机和本地网络改为 桥接方式连接。 桥接模式请查看  http://www.xiaovdiy.cn/?post=338 端口映射 portmap 已不存在,网上大量的文章已经太旧了 ,不好使。 1 在Ubuntu下安装 nfs 服务器  sudo apt-get install nfs-...

    阅读全文>>

    返回顶部| 首页| 手气不错| 捐赠支持| 自定义链接| 自定义链接| 自定义链接| 手机版本|后花园

    Copyright © 2014-2017   京ICP备14059411 Copyright 2014-2015 上海鲤鲸网络科技工作室 版权所有 All Rights Reserved

    sitemap