自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 C++11中lock_guard和unique_lock的区别

  C++11中有一个区域锁lock_guard,还有第二个区域锁unique_lock。    区域锁lock_guard使用起来比较简单,除了构造函数外没有其他member function,在整个区域都有效。    区域锁unique_guard除了lock_guard的功能外,提供了更多的member_function,相对来说更灵活一些。    unique_guard的最有用的一组函数...

2018-06-07 11:33:22 1349 3

原创 terminal中快速查找之前的命令

Ctrl-r:    reverse-i-searchCtrl-s:    i-search

2018-06-06 09:25:38 3276

转载 ffserver 搭建rtsp视频和音频服务器

视频:1.ffserver.confRTSPPort 8554BindAddress 0.0.0.0RTSPBindAddress 0.0.0.0MaxHTTPConnections 2000MaxClients 1000MaxBandwidth 30000CustomLog -NoDaemon#NoDefaults<Stream hh.264>File "/home/wht/shar...

2018-05-28 15:08:14 2713

转载 【C++11】显式转换操作符

转: https://my.oschina.net/jthmath/blog/511895隐式类型转换是C++的一个既好又坏的特性。它给人以方便,但可能造成一些十分隐晦的错误。类型转换提供了一个类型向另一个类型的构造。[cpp] view plain copy  [cpp] view plain copyclass X  {  public:      operator int() const n...

2018-05-23 14:03:06 475

转载 编译caffe时提示未定义的引用(undefined reference to)

转载请注明出处:http://www.cnblogs.com/darkknightzh/p/5864715.html参考网址:https://github.com/BVLC/caffe/issues/3396今天编译caffe代码,make all时,提示未定义的引用(undefined reference):CXX/LD -o .build_release/examples/cifar10/co...

2018-04-28 11:44:22 2516

转载 Protobuf消息定义

消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包含 required\optional\repeated Required: 表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够识别该字段的意思。发送之前没有设置re...

2018-04-27 16:17:48 954

转载 使用TortoiseGit处理代码冲突

场景一 user0 有新提交user1 没有pull -> 写新代码 -> pull -> 提示有冲突 解决办法一-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as ...

2018-04-27 15:23:17 2015

转载 cuda的统一内存寻址 cudaMalloc VS cudaMemcpy

 大家知道,Nvidia公司发布的CUDA6开发包拥有一个新特性,就是“统一内存寻址”,那究竟统一内存寻址有什么特殊的地方呢?我们编写CUDA代码跟以前有什么区别呢?现在拥有的GPU架构能够很好的支持吗?我们带着这些问题开始我们的话题。从名字上看,统一内存寻址就是将CPU端的内存同GPU显存统一起来,使得程序猿在编写代码的时候不用明显的使用诸如cudaMalloc或者cudaMemcpy等操作显存...

2018-04-27 15:02:16 2902

转载 ubuntu 安装 google Gtest

最近在做一些东西,用过gtest,废话少说,现讲其再ubuntu上安装的 方法贴出来,以供朋友们参考:安装gtest分三步:1.安装源代码在ubuntu的桌面上,右键选择打开终端,在终端中输入如下命令:$sudo apt-get install libgtest-dev1下载源码后,apt将会在目录/usr/src/生成gtest文件夹来存放源码.2. 编译源代码接着刚才的命令,我们继续再刚才打开...

2018-04-27 10:04:29 1543

转载 Ubuntu中sudo apt-get update很慢解决办法

1 sudo gedit /etc/apt/sources.list,清空文件内容2 打开软件更新器,所有选项都不要选3 全选,点击其它站点4 选择最佳服务器,等待5 重新载入,问题解决

2018-04-19 09:36:46 10459 2

转载 MTCNN训练整理

MTCNN主要包括三个部分,PNet,RNet,ONet其中PNet在训练阶段的输入尺寸为12*12,RNet的输入尺寸为24*24, ONet的输入尺寸为48*48.  PNet网络参数最小,ceffemodel仅有28.2KB, 所以速度最快.RNet的网络参数次之,caffemodel大小为407.9KB, ONet的caffemodel大小为1.6M,三个网...

2018-04-16 13:16:16 728

转载 一些功能的layer:

一些功能的layer:splitting(把一个输入分成多个输出),类型:splitting在caffe.proto里为什么没有找到呢.它的作用就是把一个输入复制为多个输入哦; Flattening:类型为:Flatten偏平的意思,如 flattens an input of shape n * c * h * w to a simple vector output of shape n * (...

2018-04-16 09:46:54 266

转载 caffe多任务学习之多标签分类

最近在参加一个识别的竞赛,项目里涉及了许多类别的分类,原本打算一个大的类别训练一个分类模型,但是这样会比较麻烦,对于同一图片的分类会重复计算分类网络中的卷积层,浪费计算时间和效率。后来发现现在深度学习中的多任务学习可以实现多标签分类,所有的类别只需要训练一个分类模型就行,其不同属性的类别之间是共享卷积层的。我所有的项目开发都是基于caffe框架的,默认的,Caffe中的Data层只支持单维标签,不...

2018-04-16 09:46:17 318

转载 实战caffe多标签分类——汽车品牌与车辆外观(C++接口)[详细实现+数据集]

前言很多地方我们都需要用到多标签分类,比如一张图片,上面有只蓝猫,另一张图片上面有一只黄狗,那么我们要识别的时候,就可以采用多标签分类这一思想了。任务一是识别出这个到底是猫还是狗?(类型)任务二是识别出这是蓝还是黄?(颜色) 网上看了几篇教程,有讲的非常好的,也有出bug飞上了天的(吐槽啊喂!)这里还是主要讲讲这篇:http://chuansong.me/n/494753151240。我自己已经测...

2018-04-16 09:45:40 399

转载 多标签分类及其 caffe 实现总结

一直对多标签分类(multi-label)“情有独钟”,因为一直感觉没有完全弄懂它。最近看博客看多了,看着看着突然有点感觉,所以就把目前的理解整理一下写下来。 目前我看到的多标签分类任务有下面的两种情况(如有错误,欢迎交流指正):每个样本对应多个label,label的值非0即1,最后的损失函数使用SigmoidCrossEntropyLoss,比如:fig1.jpg 0 0 1 fi...

2018-04-16 09:44:40 769

转载 This program requires version 3.4.0 of the Protocol Buffer runtime library

This program requires version 3.3.0 of the Protocol Buffer runtime library此问题处理主要参考This program requires version 3.3.0 of the Protocol Buffer runtime library问题描述在安装好caffe之后,想要运行自己的数据集,因此使用了Python写了数据的...

2018-04-12 09:41:32 1123

转载 opencv3接收rtsp网络视频流

项目需要,最近在研究网络摄像头视频流的接收。之前用的vlc,操作简单,接收效果特别好,略有延迟,而且vlc是开源的!!!如果代码能力有点强悍,可以自己改写。可是呢,可是呢,这又会是个比较大的工程对不对,懒人有懒人的办法,利用opencv自带函数接收rtsp视频流的功能,opencv2和opencv3代码都在这里,以下:Opencv2:#include "opencv2/opencv.hpp"#in...

2018-03-30 09:23:22 6618 1

转载 CMake如何查找链接库---find_package的使用方法

如果编译软件使用了外部库,事先并不知道它的头文件和链接库的位置。得在编译命令中加上包含它们的查找路径。CMake使用 find_package()命令来解决这个问题。本文讨论了find_package()的工作原理。一、find_package()的查找*.cmake的顺序:1、 find_package(<Name>)命令首先会在模块路径中寻找 Find<name>.cm...

2018-03-23 17:12:18 1489

转载 物体检测中常用的几个概念迁移学习、IOU、NMS理解

1、迁移学习迁移学习也即所谓的有监督预训练(Supervised pre-training),我们通常把它称之为迁移学习。比如你已经有一大堆标注好的人脸年龄分类的图片数据,训练了一个CNN,用于人脸的年龄识别。然后当你遇到新的项目任务是:人脸性别识别,那么这个时候你可以利用已经训练好的年龄识别CNN模型,去掉最后一层,然后其它的网络层参数就直接复制过来,继续进行训练。这就是所谓的迁移学习,说的简单...

2018-03-16 09:33:40 248

转载 std bind 原理简单图解(清晰简明)

本文解释了bind 是如何工作的。为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了 bind 的实现.bind 可以用来将用户提供的需要一个参数的函数转换成不需要参数的函数对象。绑定的值(在这个例子中是123)存储在函数对象内并且会被自动传递给用户指定的函数:参数绑定也可以用于将类成员函数转换成零参数的函数对象。猿类们都知道,非静态成员函数需要一个隐式的 th...

2018-03-12 09:45:38 357

转载 GStreamer基础教程01——Hello World

目标      对于一个软件库来说,没有比在屏幕上打印出Hello World更近直观的第一印象了。因为我们是在和一个多媒体的framework打交道,所以我们准备播放一段视频来代替Hello World。不要被下面的代码吓唬住了——真正起作用的也就四行而已。剩下的都是资源管理的代码,C语言嘛,就是有这个麻烦。不多说了,准备你的第一个GStreamer应用吧……Hello World把下面的代码c...

2018-03-07 18:01:59 131

原创 Ubuntu16.04 + GTX 1070 + CUDA8.0 + cuDNN5.1环境配置

1.ubuntu16.04安装,这个就略过了。。注意最好是纯ubuntu,不要搞虚拟机,虚拟机对于显卡的识别好像有问题(听说)2.GTX1070显卡驱动一次打开 设置===》软件和更新==>附加驱动==》会自动提示推荐的显卡驱动,我这里安装的版本是3843.下载cuda8.0和cudnn5.1https://developer.nvidia.com/cuda-toolkitcuda8.0有一...

2018-03-07 10:50:13 765

转载 ubuntu 14.04上安装opencv 2.4.13

1、下载opencv2.4.13的.zip包http://opencv.org/downloads.html2. 解压到任意目录[plain] view plain copyunzip opencv-2.4.13.zip  3.在解压后的目录里创建一个release[plain] view plain copycd opencv-2.4.13    mkdir release  3. 安装一些必要...

2018-03-01 10:03:10 313

转载 MP4文件格式的解析,以及MP4文件的分割算法

mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,人家说毕竟mp4才是H.264最佳的存储格式嘛。  这几天整理并重构了一下mp4文件

2018-02-04 19:58:51 287

转载 MP4学习(一)MP4格式分析

mp4文件由一系列的box(也有人把它叫做atom)构成,每个box包含box头部和box体。box体可以包含普通的数据,也可以包含其他的box,如果box中包含了另一个box,这种box称为container box。    box由head和body组成,head中指明了box的大小和类型,如果size为1,则表示这个box的大小为large size,真正的size值要在la

2018-02-04 19:58:16 401

转载 移动直播技术秒开优化经验

以下内容来自@高可用架构,这次当一回技术的搬运工,为大家分享七牛创始人之一————徐立的移动直播技术秒开优化经验。徐立       徐立,七牛创始合伙人兼产品副总裁,负责七牛直播云的整体研发,是国内 Go / Docker / Container 技术早期布道者,>Go / Containers / Distributed Systems 技术的忠实爱好者和

2018-02-04 12:01:17 304

转载 如何实现1080P延迟低于500ms的实时超清直播传输技术

再来当一次技术搬运工,内容来自高可用框架,学霸君工程师袁荣喜的如何实现1080P延迟低于500ms的实时超清直播传输技术。       导语:视频直播是很多技术团队及架构师关注的问题,在实时性方面,大部分直播是准实时的,存在 1-3 秒延迟。本文由袁荣喜向「高可用架构」投稿,介绍其将直播延迟控制在 500ms 的背后的实现。        袁荣喜,学霸君工程师,20

2018-02-04 11:45:16 655

转载 MP4文件格式详解——元数据moov(三)tref box

ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次继续解析moov box,关于moov的解析推荐从我之前的博文《MP4文

2018-02-04 11:05:41 212

转载 MP4文件格式详解——元数据moov(二)tkhd box

ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次继续解析moov box,关于moov的解析推荐从我上一篇博文《MP4文件格

2018-02-04 11:02:01 218

转载 MP4文件格式详解——元数据moov(一)mvhd box

ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次解析moov box,也称movie box。movie box

2018-02-04 10:56:31 674

转载 MP4文件格式详解——结构概述

一、基本概念1、 文件,由许多Box和FullBox组成。2、 Box,每个Box由Header和Data组成。3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits flags。4、 Header,包含了整个Box的长度size和类型type。当size==0时,代表这是文件中最后一个Box;当size

2018-02-04 10:55:56 227

转载 MP4文件格式简要解析---代码解析

准备安装mediaInfo、QTAtomViewer.exe、MP4info.exe等软件视频一些参数封装格式:我也不太清楚编码格式:我也不太清楚分辨率:图像的长和宽。帧率:一秒播放的图片数,如15fps、30fps,体现在画面的流畅度。码率:压缩后每秒显示的图片数据量,通俗地说,就是流量。如298kbps,体现在视频文件的大小和画质。

2018-02-04 10:53:47 697

转载 linux下编译支持librtmp、libx264、libfaac的ffmpeg

下载源码librtmp http://rtmpdump.mplayerhq.hu/ 我采用的是rtmpdump-2.4libx264 http://download.videolan.org/x264/snapshots/ 我采用的是最新版libfaac 由于是ubuntu,我当时直接apt-get install libfaac-dev了yasm http://yasm.

2018-01-29 17:38:29 303

转载 libx264编码部分参数说明

[html] view plain copy//代码示例  x264_param_default_preset(&m_x264param,"ultrafast","zerolatency"); //ultrafast cpu占用最小,zerolatency 不缓存帧  m_x264param.i_width = width;  m_x264param.i_heigh

2018-01-29 17:37:22 612

转载 【基于libRTMP的流媒体直播之 AAC、H264 推送】

这段时间在捣腾基于 RTMP 协议的流媒体直播框架,其间参考了众多博主的文章,剩下一些细节问题自行琢磨也算摸索出个门道,现将自己认为比较恼人的 AAC 音频帧的推送和解析、H264码流的推送和解析以及网上没说清楚的地方分享给各位。        RTMP 协议栈的实现,Bill直接使用的 libRTMP,关于 libRTMP 的编译、基本使用方法,以及简单的流媒体直播框架,

2018-01-28 17:12:53 153

转载 使用librtmp进行H264与AAC直播

libx264版本是128libfaac版本是1.281、帧的划分1.1 H.264帧对于H.264而言每帧的界定符为00 00 00 01或者00 00 01。比如下面的h264文件片断这就包函三帧数据00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 0000 03 00 10 00 00 03 01 48 F1 83 2A 0

2018-01-28 17:12:10 173

转载 3.简述HLS,HTTP,RTSP,RTMP协议的区别

HLS,HTTP,RTSP,RTMP协议的区别:用HTTP方式: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频。因此在本地缓存里可以找到这个FLV。其优点就是服务器下载完这个FLV,服务器就没有消耗了,节省服务器消耗。其缺点就是FLV会缓存在客户端,对FLV的保密性不好。 是一种将直

2018-01-28 10:33:34 7508

转载 2.srs之与nginx-rtmp性能对比

SRS(Simple Rtmp Server)单进程能支持9000并发,nginx-rtmp单进程最多支持3000个,单进程的性能SRS(Simple Rtmp Server)是nginx-rtmp的三倍。SRS(Simple Rtmp Server)单进程性能如何做到nginx-rtmp的三倍的?SRS(Simple Rtmp Server)哪几个结构极大提升了性能?先来看看我们遇到的问题,

2018-01-28 09:59:21 409

转载 1.主流的流媒体服务器FMS/wowza/red5/SRS产品对比

先列个大纲,慢慢补上内容吧:(2017年11月6日,今天开始,将写一点关于流媒体服务器相关的原创文章,由于篇幅较长,所以会坚持更新添加内容)一、FMS(AMS)流媒体服务器介绍:Flash Media Server (简称FMS),后更名为Adobe Media Server(简称AMS),它是最早做流媒体服务器产品,他公司是adobe,是流视频和实时通信领域业界领先的解决

2018-01-28 09:51:17 4310

转载 将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能

本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73253044前言安防互联网化的需求已经越来越强烈了,传统的安防摄像机都想进行一些互联网化的直播(网页或者微信直播),也就是RTMP和HLS直播,那么在技术实现上就是各种SDK/RTSP流拉取,再转成RTMP推流到RTMP服务器进行RTM

2018-01-27 20:38:25 189

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