DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

08 2017 档案

摘要:windows环境下 生成公钥和私钥 上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的。打开Git目录下的Git Bash 回到git bash,输入 如果显示 'Welcome to Git@OSC, your username!',则表示成功 修改本地的ssh remote url。不用h 阅读全文
posted @ 2017-08-31 14:07 DoubleLi 阅读(558) 评论(0) 推荐(0) 编辑

摘要:前半部分参考网上的例子:http://www.showerlee.com/archives/1300,但会出现“Git did not exit cleanly (exit code 128)”错误 1.在D盘新建一个目录,例如"D:\git",并进入目录右键目录空白处选择"Git Create r 阅读全文
posted @ 2017-08-31 14:06 DoubleLi 阅读(8208) 评论(0) 推荐(0) 编辑

摘要:1.new 、 delete 、 malloc 、 free 关系 delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数。 malloc 与 free 是 C++/C 语言的标准库函数, new/delete 是 C++ 的运算符。它们都可用于申请 阅读全文
posted @ 2017-08-30 16:55 DoubleLi 阅读(2196) 评论(0) 推荐(0) 编辑

摘要:io_service类 你应该已经发现大部分使用Boost.Asio编写的代码都会使用几个io_service的实例。io_service是这个库里面最重要的类;它负责和操作系统打交道,等待所有异步操作的结束,然后为每一个异步操作调用其完成处理程序。如果你选择用同步的方式来创建你的应用,你则不需要考 阅读全文
posted @ 2017-08-29 17:54 DoubleLi 阅读(424) 评论(0) 推荐(0) 编辑

摘要:IO模型 io_service对象是asio框架中的调度器,所有异步io事件都是通过它来分发处理的(io对象的构造函数中都需要传入一个io_service对象)。 asio::io_service io_service; asio::ip::tcp::socket socket(io_service 阅读全文
posted @ 2017-08-29 17:51 DoubleLi 阅读(414) 评论(0) 推荐(0) 编辑

摘要:一、io_service的作用 io_servie 实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线 阅读全文
posted @ 2017-08-29 17:47 DoubleLi 阅读(429) 评论(0) 推荐(0) 编辑

摘要:无论如何使用,都能感觉到使用boost.asio实现服务器,不仅是一件非常轻松的事,而且代码很漂亮,逻辑也相当清晰,这点上很不同于ACE。使用io_service作为处理工作的work pool,可以看到,就是通过io_service.post投递一个Handler到io_service的队列,Ha 阅读全文
posted @ 2017-08-29 17:39 DoubleLi 阅读(558) 评论(0) 推荐(0) 编辑

摘要:io_service::work类可以使io_service::run函数在没有任务的时候仍然不返回,直至work对象被销毁。 [cpp] view plain copy print? void test_asio_nowork() { boost::asio::io_service ios; PR 阅读全文
posted @ 2017-08-29 17:21 DoubleLi 阅读(871) 评论(0) 推荐(0) 编辑

摘要:1. 用解释器的方法, 常用来解析域名, 如 // query("www.163.com","80"), 也可以 query("www.163.com","telnet") // echo 7/tcp// ftp 21/tcp # File Transfer Protocol (Control)// 阅读全文
posted @ 2017-08-29 17:16 DoubleLi 阅读(442) 评论(0) 推荐(0) 编辑

摘要:当有任务的时候,run函数会一直阻塞;但当没有任务了,run函数会返回,所有异步操作终止。 客户端程序中,如果我想连接断开后重连,由于连接断开了,run会返回,当再次重连的时候,由于run返回了,即使连接成功了,也不会调用aysnc_connect绑定的回调函数。 解决方法: 1,在再次重连的时候, 阅读全文
posted @ 2017-08-29 17:12 DoubleLi 阅读(1045) 评论(0) 推荐(0) 编辑

摘要:[cpp] view plain copy print? [cpp] view plain copy print? test_strand的执行结果: [cpp] view plain copy print? 2013-01-05 17:25:34 626 [8228] DEBUG - id: 4 阅读全文
posted @ 2017-08-29 16:58 DoubleLi 阅读(1183) 评论(0) 推荐(0) 编辑

摘要:ffmpeg使用avcodc_encode_video编码,默认产生的h264包含B帧,在安防行业很多地方是不需要用到B帧的。 1.基础知识充电 这就涉及到h264的各种profile格式了,参考 h264各种profile h264分4种等级(profile):Baseline、Main、Exte 阅读全文
posted @ 2017-08-23 17:52 DoubleLi 阅读(4845) 评论(1) 推荐(0) 编辑

摘要:1.分离视频音频流 2.视频解复用 3.视频转码 4.视频封装 5.视频剪切 6.视频录制 7.YUV序列播放 8.YUV序列转AVI 常用参数说明: 主要参数: -i 设定输入流 -f 设定输出格式 -ss 开始时间 视频参数: -b 设定视频流量,默认为200Kbit/s -r 设定帧速率,默认 阅读全文
posted @ 2017-08-23 17:48 DoubleLi 阅读(1381) 评论(0) 推荐(0) 编辑

摘要:H.264有四种画质级别,分别是baseline, extended, main, high: 1、Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC; 2、Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持 阅读全文
posted @ 2017-08-23 17:46 DoubleLi 阅读(12706) 评论(0) 推荐(0) 编辑

摘要:ffmpeg命令中可以使用filter amix实现这个功能。 官方文档 http://ffmpeg.org/ffmpeg-filters.html 6.8 amix Mixes multiple audio inputs into a single output. Note that this f 阅读全文
posted @ 2017-08-23 15:54 DoubleLi 阅读(8166) 评论(0) 推荐(0) 编辑

摘要:程序及源码下载地址 :https://github.com/langsim/ffpanel 程序及源码下载地址 :https://github.com/langsim/ffpanel from:http://blog.csdn.net/langsim/article/details/47188801 阅读全文
posted @ 2017-08-23 15:52 DoubleLi 阅读(1691) 评论(0) 推荐(0) 编辑

摘要:碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1、在移动机房放置一台nginx反向代理服务器2、通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器3、nginx反向代理服务器与web服务器之间采用专线连接系统运维 阅读全文
posted @ 2017-08-23 15:50 DoubleLi 阅读(5361) 评论(0) 推荐(0) 编辑

摘要:1. winlin winlinvip simple-rtmp-server https://github.com/winlinvip/simple-rtmp-server SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。2.wenjie.zhao wenjiegi 阅读全文
posted @ 2017-08-23 15:49 DoubleLi 阅读(1545) 评论(0) 推荐(0) 编辑

摘要:Bull Live Server 简称 BLS ,旨在使用C++语言提供强大功能和高性能的流媒体直播服务器。 为何要写 BLS ? 1、simple rtmp server https://github.com/winlinvip/simple-rtmp-serverSRS很简洁却功能太少,BLS 阅读全文
posted @ 2017-08-23 15:47 DoubleLi 阅读(543) 评论(0) 推荐(0) 编辑

摘要:P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延就越大,所以树的深度应该尽可能短,但节点有限的上行带宽限制了节点的宽度。 阅读全文
posted @ 2017-08-23 15:43 DoubleLi 阅读(2349) 评论(0) 推荐(0) 编辑

摘要:http://www.oschina.net/project/tag/111/streaming?lang=0&os=0&sort=view&p=1 Flash流媒体服务器 Red5 Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 阅读全文
posted @ 2017-08-23 15:41 DoubleLi 阅读(44465) 评论(0) 推荐(0) 编辑

摘要:最近在开发一个将RTP流存储为MP4文件的功能。其中针对MP4文件读写,用到了两个开源的库。其中MP4V2用于数据的读写,MP4AV用于对其中的数据帧进行分析。 MP4V2和MP4AV都是开源项目MPEG4IP的一部分,当前MPEG4IP已经不再维护。 但是MP4V2最为其中的一部分,还有开源组织再 阅读全文
posted @ 2017-08-21 18:01 DoubleLi 阅读(1955) 评论(0) 推荐(0) 编辑

摘要:作者:韩大 从2001年在网易成为一名项目经理,到2011年进入腾讯,我经历了从“领导”几个人到几百个人的好几种管理岗位,名字有的叫“总监”,有的叫“经理”,还有什么O之类的。但是在十年之后,现在的我没有一个下属,一般的人看来似乎有点不可理解。正常来说,中国人的传统是“学而优则仕”,管人的总比做事的 阅读全文
posted @ 2017-08-21 17:55 DoubleLi 阅读(629) 评论(0) 推荐(0) 编辑

摘要:https://cmake.org/cmake/help/v3.0/genindex.html 阅读全文
posted @ 2017-08-17 10:40 DoubleLi 阅读(789) 评论(0) 推荐(0) 编辑

摘要:SirDigit SirDigit CMake 手册详解(二十) CMD#51: list 列表操作命令。 list(LENGTH <list> <output variable>) list(GET <list> <element index> [<element index> ...] <out 阅读全文
posted @ 2017-08-17 10:33 DoubleLi 阅读(357) 评论(0) 推荐(0) 编辑

摘要:CMake是一个跨平台的工程管理工具,能方便的把工程转换为vs各个版本、Borland Makefiles、MSSYS Makefiles、NMake Makefiles等工程,对于经常在不同IDE下使用管理同一个工程提供了很大的便利。自己把使用过程中的点点滴滴记录下来。 list 列表操作命令。 阅读全文
posted @ 2017-08-17 10:32 DoubleLi 阅读(3865) 评论(0) 推荐(0) 编辑

摘要:用途:提供一些列表操作 list(LENGTH <list><output variable>) list(GET <list> <elementindex> [<element index> ...] <output variable>) list(APPEND <list><element> [ 阅读全文
posted @ 2017-08-17 10:31 DoubleLi 阅读(774) 评论(0) 推荐(0) 编辑

摘要:按照《CMake Practice》中第六章的设置,采用include_directories命令去寻找共享库的路径,src/CMakeLists.txt如下: 执行cmake及make后,仍然有link error。 cmake的官网对include_directories的说明如下: *Spec 阅读全文
posted @ 2017-08-17 10:12 DoubleLi 阅读(6697) 评论(0) 推荐(0) 编辑

摘要:前文在Win32平台上用C++实现了事件对象Event,对线程进行同步,以达到期望目的。这次在Linux平台上实现与之类似的事件对象。与其相关的一组API包括:pthread_mutex_init,pthread_cond_init,pthread_mutex_lock,pthread_cond_w 阅读全文
posted @ 2017-08-16 16:42 DoubleLi 阅读(2102) 评论(0) 推荐(0) 编辑

摘要:1. 安装cmake: https://cmake.org/files/v3.6/cmake-3.6.0-win64-x64.msi 2. 下载libwebsocket源码: git clone https://github.com/warmcat/libwebsockets.git tag到最后一 阅读全文
posted @ 2017-08-16 11:03 DoubleLi 阅读(2051) 评论(0) 推荐(0) 编辑

摘要:[cpp] view plaincopy [cpp] view plaincopy 生成(Build)工程,在debug文件夹中会生成相应的DLL及LIB文件:facedll.dll facedll.lib 多个类封装DLL 封装好一个类之后,在后面的类可以调用这个类生成的dll,再封装新类的dll 阅读全文
posted @ 2017-08-16 10:56 DoubleLi 阅读(816) 评论(0) 推荐(0) 编辑

摘要:Libevent官网:http://libevent.org/ windows 7下编译: 编译环境: windows 7 + VS2010 (1)解压libevent到F:\libevent\libevent-2.0.21-stable (2)打开Microsoft visual studio 2 阅读全文
posted @ 2017-08-16 10:51 DoubleLi 阅读(433) 评论(0) 推荐(0) 编辑

摘要:出于学习目的,想建一个vs2010工程来编译ffmpeg(http://www.ffmpeg.org/),但是由于意义不大,并且工作量太大放弃了。原因如下: 1、一些unix平台相关的头文件、库的依赖。这个是最好解决的,对应替换下就行了。 2、.C99支持,MSVC不支持C99,而ffmpeg需要它 阅读全文
posted @ 2017-08-16 10:50 DoubleLi 阅读(510) 评论(0) 推荐(0) 编辑

摘要:You can copy text from an MSYS window to the clipboard simply by selecting the text you want to copy. As the text selection changes the clipboard is u 阅读全文
posted @ 2017-08-16 10:36 DoubleLi 阅读(958) 评论(0) 推荐(0) 编辑

摘要:windows 7下mingw+msys编译ffmpeg 1-->下载安装MingW,mingw-get-inst-20120426.exe http://sourceforge.net/projects/mingw/ 安装路径 默认C:\MinGW 。勾选了 <1> C Compiler <2> 阅读全文
posted @ 2017-08-16 10:31 DoubleLi 阅读(481) 评论(0) 推荐(0) 编辑

摘要:学习笔记,只是记录本次成功用libevent源代码进行编译。环境为MinGW+VS2008+Msys。 0.下载libevent库 http://libevent.org/ 下载stable稳定版的库。 1.编译 一开始我用MinGW进行编译的,但是总是出现问题。后来参考了这个博客:http://m 阅读全文
posted @ 2017-08-15 17:58 DoubleLi 阅读(737) 评论(0) 推荐(0) 编辑

摘要:https://gist.github.com/Nemikolh/7233659 阅读全文
posted @ 2017-08-14 18:48 DoubleLi 阅读(311) 评论(0) 推荐(0) 编辑

摘要:cmake 简介 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 CMake 使用方法 CMake的所有的语句都写在一个叫:CM 阅读全文
posted @ 2017-08-14 18:06 DoubleLi 阅读(223008) 评论(4) 推荐(12) 编辑

摘要:在CMake中if语法比较简单,if后面括号中的参数随着CMake版本的推进,在else和endif中也可以不用写了。 对于if语法,比较常用的就是字符串比较了,这里个人简单用到过两种,一种是这个变量有没有定义过。有两种写法可以验证 两种都可以验证这个变量有没有定义过,注意:是定义过,比如你在CMa 阅读全文
posted @ 2017-08-14 18:03 DoubleLi 阅读(3302) 评论(0) 推荐(0) 编辑

摘要:所需文件名:CmakeLists.txt,在需要操作的每个目录下都需要 PROJECT(工程名字) 这条指令会自动创建两个变量: <projectname>_BINARY_DIR(二进制文件保存路径) <projectname>_SOURCE_DIR(源代码路径) cmake系统也帮助我们预定义了P 阅读全文
posted @ 2017-08-14 17:54 DoubleLi 阅读(3943) 评论(0) 推荐(2) 编辑

摘要:其实这种形式就是用CIDR(无类别域间路由选择,Classless and Subnet Address Extensions and Supernetting))的形式表示的一个网段,或者说子网。 我们知道确定一个子网需要知道主机地址和子网掩码,但用CIDR的形式,可以简单得到两个数值。举例说吧, 阅读全文
posted @ 2017-08-14 10:59 DoubleLi 阅读(1214) 评论(0) 推荐(0) 编辑

摘要:基本概念首先,我针对的代码是Darwin Streaming Server 6.0.3未经任何改动的版本。Darwin Streaming Server从设计模式上看,采用了Reactor的并发服务器设计模式,如果对Reactor有一定的了解会有助于对Darwin Streaming Server核 阅读全文
posted @ 2017-08-13 22:41 DoubleLi 阅读(554) 评论(0) 推荐(0) 编辑

摘要:无意中看到了dqzhangp的一篇博客,分析了DSS的核心架构,读完顿时感觉豁然开朗,茅塞顿开,写得非常的鞭辟入里,言简意赅,我想没有相当的功力是写不出这样的文章的,情不自禁转到自己空间来,生怕弄丢了。 基本概念 首先,我针对的代码是Darwin StreamingServer 6.0.3未经任何改 阅读全文
posted @ 2017-08-13 22:41 DoubleLi 阅读(374) 评论(0) 推荐(0) 编辑

摘要:摘要 ​所谓的流式媒体简单的讲就是指人们通过网络实时的收看多媒体信息:如音频流、视频流等。与流式媒体对应的传统工作方式是下载+播放模式,即用户首先下载多媒体文件,然后再在本地播放,这种方法的一个主要缺点是启动延迟较大,例如一个30分钟长的MPEG-I文件(相当于VCD质量),即使使用1.5Mbps的 阅读全文
posted @ 2017-08-13 22:39 DoubleLi 阅读(388) 评论(0) 推荐(0) 编辑

摘要:转自:http://chenzhenianqing.cn/articles/1009.html 写的很好,收藏如下,向作者致敬! 没事碰到了librtmp库,这个库是ffmpeg的依赖库,用来接收,发布RTMP协议格式的数据。 代码在这里:git clone git://git.ffmpeg.org 阅读全文
posted @ 2017-08-13 22:25 DoubleLi 阅读(1353) 评论(0) 推荐(0) 编辑

摘要:一、简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。 二、系统环境 系 阅读全文
posted @ 2017-08-11 19:01 DoubleLi 阅读(737) 评论(0) 推荐(0) 编辑

摘要:The server doesn't grant access to the database: the server reports FATAL: no pg_hba.conf entry for host "192.168.0.123", user "postgres", database "p 阅读全文
posted @ 2017-08-11 18:51 DoubleLi 阅读(1666) 评论(0) 推荐(0) 编辑

摘要:PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,会报一些如下的异常: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host 要解决这个问题,只需要在Postgre 阅读全文
posted @ 2017-08-11 18:50 DoubleLi 阅读(3481) 评论(0) 推荐(0) 编辑

摘要:虽然官方文档有提到编码的问题,但是对于中文讲的比较简单,给中文的PostgreSQL用户带来很多困扰,本文简单简述一下中文环境下PostgreSQL如何正确设置编码。 一、服务器端的编码设置 PostgreSQL在服务器端只支持两种简体中文编码: EUC_CN和UTF-8,而由于windows不支持 阅读全文
posted @ 2017-08-11 18:30 DoubleLi 阅读(1962) 评论(1) 推荐(0) 编辑

摘要:当初学者在使用PostgreSQL数据库,输入中文时,会遇到“ERROR: invalid byte sequence for encoding "UTF8": 0xd6d0”的错误,原因是由于没有正确设置客户端字符集。 问题的原因: 默认情况下,PostgreSQL是不转换字符集的,如果你的数据库 阅读全文
posted @ 2017-08-11 18:27 DoubleLi 阅读(3614) 评论(0) 推荐(0) 编辑

摘要:linux下有字符界面的:psql 图形界面的:pgaccesswindows系统可以用:phpPgAdmin或者telnet+psql 和phpmyadmin 一家的phpPgAdmin。 DBtools 支持mysql和PS pg Explorer 不错,帮助也很强大 阅读全文
posted @ 2017-08-11 17:40 DoubleLi 阅读(2607) 评论(0) 推荐(0) 编辑

摘要:PostgreSQL 数据库作为目前功能较强大的开源数据库,得到了广泛应用。其中,TSA就用到了这款数据库来存储处理后的一些业务数据。虽然PostgreSQL自身提供了命令行交互式客户端工具psql,但是字符界面工具需要频繁写sql语句进行查询,数据不直观可见。绿盟君利用晚上的业余时间整理了Post 阅读全文
posted @ 2017-08-11 17:35 DoubleLi 阅读(9251) 评论(2) 推荐(0) 编辑

摘要:自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用。 自从MySQL被Oracle收购以后,Postgr 阅读全文
posted @ 2017-08-11 17:32 DoubleLi 阅读(694) 评论(0) 推荐(0) 编辑

摘要:公司写部署手册需要,现总结一些linux下postgresql的安装及数据库创建的详细步骤吧! 1.1.1 软件安装 1.设置用户组和用户级别 Postgresql不能以root身份运行,要以其他的身份运行,所以必须建立对应的用户和组。 (1)新增postgresql用户组:groupadd pos 阅读全文
posted @ 2017-08-11 17:28 DoubleLi 阅读(1658) 评论(0) 推荐(0) 编辑

摘要:0.编译环境 Linux: CentOS 5.5 gcc: 4.1.2 1. 安装PostgreSQL 1) 解压postgresql-9.1.7.tar.bz2 #tar jxvf postgresql-9.1.7.tar.bz2 2) 进入解压后的postgresql-9.1.7目录 #cd p 阅读全文
posted @ 2017-08-11 17:19 DoubleLi 阅读(6331) 评论(0) 推荐(0) 编辑

摘要:更新记录(2014.7.24): 1.为了使本文更通俗易懂,更新了部分内容,将例子改为从内存中打开。 2.增加了将数据输出到内存的方法。 从内存中读取数据 ffmpeg一般情况下支持打开一个本地文件,例如“C:\test.avi” 或者是一个流媒体协议的URL,例如“rtmp://222.31.64 阅读全文
posted @ 2017-08-11 15:59 DoubleLi 阅读(938) 评论(0) 推荐(0) 编辑

摘要:我在6月份写了篇文章《FFMPEG基于内存的转码实例》,讲如何把视频转码后放到内存,然后通过网络发送出去。但该文章只完成了一半,即输入的数据依然是从磁盘文件中读取。在实际应用中,有很多数据是放到内存的,比如播放从服务器接收到的视频,就是在内存中的。时隔2个月,项目终于完成了,虽然在收尾阶段会花费大量 阅读全文
posted @ 2017-08-11 15:58 DoubleLi 阅读(1497) 评论(0) 推荐(1) 编辑

摘要:相关博客列表 : FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 在FFMPEG的官方例程中,有个avio_reading.c 的文件,他的主要功能是将音视频文件读取到内 阅读全文
posted @ 2017-08-11 15:52 DoubleLi 阅读(2245) 评论(0) 推荐(0) 编辑

摘要:相关博客列表: FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 在雷神的《最简单的基于FFmpeg的内存读写例子(内存播放器)》中,它是设计回调函数从输入文件中读取数据。 阅读全文
posted @ 2017-08-11 15:41 DoubleLi 阅读(2128) 评论(0) 推荐(1) 编辑

摘要:相关博客列表 : FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 本文代码来自于自雷霄骅的《最简单的基于FFmpeg的内存读写的例子:内存转码器》 [objc] view 阅读全文
posted @ 2017-08-11 15:38 DoubleLi 阅读(501) 评论(0) 推荐(0) 编辑

摘要:说明:主要是基于ghostyu网友整理的《 arm mini2440 基于v4l2 ffmpeg x264的视频远程监控》。自己做了一遍,遇到不少问题,就整理记录下来。 1、平台 硬件:arm mini2440,usb摄像头(UVC免驱) 软件:ubuntu12.10,arm-Linux-gcc v 阅读全文
posted @ 2017-08-11 14:42 DoubleLi 阅读(1230) 评论(0) 推荐(0) 编辑

摘要:系列相关博文: FFMPEG(一) 从V4L2捕获摄像头数据 FFMPEG(二) v4l2 数据格式装换 FFMPEG(三) v4l2 数据编码H264 最近在学习FFMPEG,发现网上的很多例子都是基于读文件的。直接从摄像头中读取数据的却很少。之前写过通过v4l2采集摄像头数据然后调用x264编码 阅读全文
posted @ 2017-08-11 14:40 DoubleLi 阅读(4931) 评论(0) 推荐(0) 编辑

摘要:FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字符,然后从终端输出。我在该实例的基础上稍微的做了修改,使它能够保存滤镜处理过后的文件。在上代码之前先明白几个概念: Filter:代表单个filter FilterPad:代表一个filter的输入或输出端口,每个fil 阅读全文
posted @ 2017-08-11 14:31 DoubleLi 阅读(2260) 评论(1) 推荐(0) 编辑

摘要:FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种格式? 5.如何放大和缩小视频? 6.如何旋转,翻转,填充,裁剪,模糊,锐化视频? 7.如何给视频加 阅读全文
posted @ 2017-08-11 10:30 DoubleLi 阅读(502) 评论(0) 推荐(0) 编辑

摘要:v 容器(Container) v 容器就是一种文件(封装)格式,比如flv、mkv、ts、mp4、rmvb、avi等。包含下面5种流以及文件头信息。 v 流(Stream) v 是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。 v 帧(Frame) 代表一幅静止的图像,分为I帧 阅读全文
posted @ 2017-08-11 10:28 DoubleLi 阅读(626) 评论(0) 推荐(0) 编辑

摘要:ffmpeg的常用用法很多,我这里提供的用法有可能有许多地方是你没见过的。 一、ffmpeg合并视频 我经常需要切割再把一些零碎的视频给拼接起来,这样可以省许多磁盘空间。其实用mencoder挺不错的,至少合并的参数极简单。用ffmpeg可以用下面的方法合并,至少我觉得比用cat这么野蛮的合并文件的 阅读全文
posted @ 2017-08-11 10:23 DoubleLi 阅读(1380) 评论(0) 推荐(0) 编辑

摘要:ffmpeg作为媒体文件处理软件,基本用法如下: ffmpeg -i INPUTfile [OPTIONS] OUTPUTfile 输入输出文件通常就是待处理的多媒体文件了。可以是纯粹的音频文件,纯粹的视频文件,或者混合的。ffmpeg主持绝大部分的常见音频, 视频格式,象常见的各mpeg,AVI封 阅读全文
posted @ 2017-08-11 10:21 DoubleLi 阅读(5233) 评论(0) 推荐(0) 编辑

摘要:1、加字幕 命令:ffmpeg -i <input> -filter_complex subtitles=filename=<SubtitleName>-y <output> 说明:利用libass来为视频嵌入字幕,字幕是直接嵌入到视频里的硬字幕。 参考资料:http://ffmpeg.org/ff 阅读全文
posted @ 2017-08-11 10:11 DoubleLi 阅读(1519) 评论(0) 推荐(0) 编辑

摘要:FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24...)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法。 swscale主要用于在2个AVFrame之间进行转换。 下面来看一个视频解码的简单例子,这个程序完成了对"北京移动 阅读全文
posted @ 2017-08-10 16:28 DoubleLi 阅读(769) 评论(0) 推荐(0) 编辑

摘要:标签: ffmpegavpicture_fill 2013-05-17 10:03 4713人阅读 评论(1) 收藏 举报 标签: ffmpegavpicture_fill 2013-05-17 10:03 4713人阅读 评论(1) 收藏 举报 分类: ffmpeg(3) 分类: ffmpeg(3 阅读全文
posted @ 2017-08-10 16:24 DoubleLi 阅读(559) 评论(0) 推荐(0) 编辑

摘要:复制代码 这句调用时,pFrameRGB和buffer都是已经申请到的一段内存, 会将pFrameRGB的数据按RGB565格式自动"关联"到buffer。 sws_scale(img_convert_ctx, pFrame->data, pFrame->linesize, 0, pCodecCtx 阅读全文
posted @ 2017-08-10 16:21 DoubleLi 阅读(289) 评论(0) 推荐(0) 编辑

摘要:移植ffmpeg过程中,遇到swscale的用法问题,所以查到这篇文章。文章虽然已经过去很长时间,但是还有颇多可以借鉴之处。谢谢“咕咕鐘"。 转自:http://guguclock.blogspot.com/2009/12/ffmpeg-swscale.html 如果想將某個PixelFormat轉 阅读全文
posted @ 2017-08-10 16:17 DoubleLi 阅读(930) 评论(0) 推荐(0) 编辑

摘要:FFmpeg里面的sws_scale库可以在一个函数里面同时实现:1.图像色彩空间转换;2.分辨率缩放;3.前后图像滤波处理。 其核心函数主要有三个:// 初始化sws_scalestruct SwsContext *sws_getContext(int srcW, int srcH, enum A 阅读全文
posted @ 2017-08-10 16:12 DoubleLi 阅读(971) 评论(0) 推荐(0) 编辑

摘要:Mediaproxy: Mediaproxy是Opensips的一个模块,它用来实现现有大多数sip客户端的自动NAT穿透。这就意味着,当使用mediaproxy模块时,不需要对NAT盒子进行任何配置就能使位于NAT之后的客户端正常工作。 工作原理: 此解决方案就是在两个sip用户代理之间放置一个媒 阅读全文
posted @ 2017-08-10 11:34 DoubleLi 阅读(1483) 评论(1) 推荐(0) 编辑

摘要:用qt的知道,qt有方便简单的信号槽机制,但需要专门的qt工具处理。 如果想直接使信号槽就可以使用sigslot库,或者sigc++库,或者boost中的signals,这里介绍sigslot和sigc++库。 sigslot.h:只有一个头文件,使用简单方便。 sigc++:包含文件多,但功能更强 阅读全文
posted @ 2017-08-10 11:20 DoubleLi 阅读(1419) 评论(0) 推荐(0) 编辑

摘要:最近在看delta3d开源引擎,最底层封装的消息机制,是基于其has_slots,搜索了一下其资料发现是一个很好用的C++库,先对其简单介绍一下。 首先说下插槽机制。 插槽系统常用的有三种:boost的signals,sigslot,sigc++ 基本功能有: 1.connect 2.disconn 阅读全文
posted @ 2017-08-10 11:07 DoubleLi 阅读(376) 评论(0) 推荐(0) 编辑

摘要:PeerConnection 是WebRtc native interface 最外层的模块, 通常来说, 用户使用Peerconection就可以构建最简单的p2p 应用. 下面的UML里是PeerConnection的最重要的属性和方法. PortAllocator 用来为媒体连接分配可用的端口 阅读全文
posted @ 2017-08-10 10:09 DoubleLi 阅读(570) 评论(0) 推荐(0) 编辑

摘要:FFMPEG中的libswscale是做像素转换的,但是对于一些复杂的操作,比如添加水印等,这个库就不行了,这时候就要说一下另外一个AVFilter。AVFilter完全可以替代libswscale的所有功能,也许有一天,ffmpeg也会这样去做。AVFilter虽然学起来有点复杂,但是为了学好FF 阅读全文
posted @ 2017-08-09 19:01 DoubleLi 阅读(1830) 评论(0) 推荐(0) 编辑

摘要:一般ffmpeg都是直接从文件中读取或者从网络流中读取,比如rtp://xx.xx.xx.xx:xxxx。 事实上也支持从内存中获取。 函数avio_alloc_context()实现该功能。 [html] view plain copy print? AVIOContext *avio_alloc 阅读全文
posted @ 2017-08-09 19:00 DoubleLi 阅读(725) 评论(0) 推荐(1) 编辑

摘要:Ffmpeg是一款功能强大的视频处理工具,那么转码肯定不是问题的,因为项目的需求,对转码进行了研究。刚开始首先去看了ffmpeg源代码中的一个例子transcode.c,但是发现该例子更应该称之为remux的一个例子,并没有具体的涉及到转码。所以转而去ffmpeg工具中寻求帮助了。 ffmpeg转码 阅读全文
posted @ 2017-08-09 18:58 DoubleLi 阅读(342) 评论(0) 推荐(0) 编辑

摘要:1.FFmpeg build for android random architectures with example jnihttps://github.com/appunite/AndroidFFmpeg2.ijkplayer - Android/iOS 基于FFMPEG库的播放器http:/ 阅读全文
posted @ 2017-08-09 18:56 DoubleLi 阅读(1355) 评论(0) 推荐(0) 编辑

摘要:本例子是由FFEMPG的doc/example例子transcode.c修改而来,可以根据需求任意转换音视频的编码。 原来的例子的作用更类似于remux,并没有实现转码的功能,只是实现了格式转换,比如ts转avi等。并不能实现音视频编码格式的转换,比如将h264转为mpeg2。 FFMPEG转码的实 阅读全文
posted @ 2017-08-09 18:54 DoubleLi 阅读(1483) 评论(0) 推荐(0) 编辑

摘要:保存音频包: 直接输出解复用之后的的音频数据码流。只需要在每次调用av_read_frame()之后将得到的音频的AVPacket存为本地文件即可。 但在分离AAC码流的时候,直接存储AVPacket后的文件可能是不能播放的。 分离H.264码流的时候,直接存储AVPacket后的文件可能是不能播放 阅读全文
posted @ 2017-08-09 18:43 DoubleLi 阅读(658) 评论(0) 推荐(0) 编辑

摘要:农历2014年底了,将前段时间工作中研究的FFMPEG解码H264流程在此做一下整理,也算作年终技术总结了! H264解码原理: H264的原理参考另一篇博文 http://blog.csdn.net/rootusers/article/details/43563133 H264分为NAL(网络抽象 阅读全文
posted @ 2017-08-09 18:37 DoubleLi 阅读(3354) 评论(0) 推荐(1) 编辑

摘要:firehood的专栏 Wince嵌入式开发 firehood的专栏 Wince嵌入式开发 firehood的专栏 Wince嵌入式开发 firehood的专栏 Wince嵌入式开发 目录视图 摘要视图 订阅 目录视图 摘要视图 订阅 目录视图 摘要视图 订阅 赠书 | AI专栏(AI圣经!《深度学 阅读全文
posted @ 2017-08-09 15:26 DoubleLi 阅读(3433) 评论(0) 推荐(0) 编辑

摘要:文章来源:http://www.cuplayer.com/player/PlayerCode/RTSP/2014/0706/1419.html FFmpeg实现监控摄像头的RTSP协议转RTMP协议直播,我们使用的摄像头是海康的可以通过rtsp协议获取到摄像头的直播数据。所以可以通过 整理了一下要解 阅读全文
posted @ 2017-08-09 14:19 DoubleLi 阅读(25422) 评论(2) 推荐(4) 编辑

摘要:前面的文章中提到了通过RTSP(Real Time Streaming Protocol)的方式来实现视频的直播,但RTSP方式的一个弊端是如果需要支持客户端通过网页来访问,就需要在在页面中嵌入一个ActiveX控件,而ActiveX一般都需要签名才能正常使用,否则用户在使用时还需要更改浏览器设置, 阅读全文
posted @ 2017-08-09 14:08 DoubleLi 阅读(1876) 评论(0) 推荐(0) 编辑

摘要:需求: 1. 纯静态编译ffmpeg ,即ldd ./ffmpeg 的结果是:not a dynamic executable 2. 修改ffmpeg 项目,添加自定义功能库 3. 自定义库由c++实现,要求能被纯c的ffmpeg项目调用 4. 自定义库必须使用g++ 的一些高级特性编译,要求g++ 阅读全文
posted @ 2017-08-09 14:02 DoubleLi 阅读(3115) 评论(0) 推荐(0) 编辑

摘要:1、概述 本文主要讲述如何用ffmpeg代码实现自己的encoder。 2、代码 [cpp] view plain copy /* *本程序主要实现一个自己的encoder并加入到encoder链中去,供api调用 *作者:缪国凯(MK) *821486004@qq.com *2015-6-4 */ 阅读全文
posted @ 2017-08-09 13:58 DoubleLi 阅读(1154) 评论(0) 推荐(0) 编辑

摘要:.简介:把上一篇文章中的demuxer加入ffmpeg源码中去,使可以用命令行方式调用自定义的demuxer 第一步: 在libavformat目录下新建mkdemuxer.c和mkdemuxer.h,代码如下: mkdemuxer.c: [cpp] view plain copy /* *实现一个 阅读全文
posted @ 2017-08-09 13:57 DoubleLi 阅读(1437) 评论(0) 推荐(0) 编辑

摘要:第一步: 在libavcodec目录下新建mkdecoder.c,并加入一下代码: [cpp] view plain copy /* *实现一个自己的decoder,编码工作其实就是把pkt的数据拷贝到frame *作者:缪国凯(MK) *821486004@qq.com *2015-6-5 */ 阅读全文
posted @ 2017-08-09 13:55 DoubleLi 阅读(461) 评论(0) 推荐(0) 编辑

摘要:最近在研究ffmpeg的编译,之前使用的Ubuntu,需要安装虚拟机,非常麻烦,所以后来改研究在Windows平台编译。 一开始遇到很多挫折,参考了网上很多的帖子,但要么不全要么内容已过期,经过我的反复试验或研究,最终搞定了。在此记录一下,也希望能对编译ffmpeg的朋友们有所帮助。 首先安装Min 阅读全文
posted @ 2017-08-09 12:00 DoubleLi 阅读(4655) 评论(1) 推荐(0) 编辑

摘要:Ffmpeg移植过程: FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证。它的移植同样遵循LGPL或GPL移植方法:configure、make、make insatll。 1.下载ffmpeg开源库(ffmpeg-0.5.tar.bz2)放到相应文件夹。 阅读全文
posted @ 2017-08-09 11:57 DoubleLi 阅读(390) 评论(0) 推荐(0) 编辑

摘要:前言 在写【单独编译使用WebRTC的音频处理模块 - android】一文之前,就一直想直接把WebRTC的音频处理引擎VoE整个儿编译出来供自己的项目使用,但限于技术拙劣、时间紧迫,所以没能成功。只得挨个挨个把引擎中的Aecm、Agc、Ns以及Vad模块单独编译出来凑合着用。虽能达到一定效果,但 阅读全文
posted @ 2017-08-09 11:32 DoubleLi 阅读(807) 评论(0) 推荐(0) 编辑

摘要:这段时间在捣腾基于 RTMP 协议的流媒体直播框架,其间参考了众多博主的文章,剩下一些细节问题自行琢磨也算摸索出个门道,现将自己认为比较恼人的 AAC 音频帧的推送和解析、H264 码流的推送和解析以及网上没说清楚的地方分享给各位。 RTMP 协议栈的实现,Bill 直接使用的 libRTMP,关于 阅读全文
posted @ 2017-08-09 11:31 DoubleLi 阅读(2823) 评论(0) 推荐(0) 编辑

摘要:1.需要原料如下: a.windows系统+浏览器 b.Shadowsocks2.5.1代理软件 c.Shadowsocks代理账号 2.步骤 a.下载Shadowsocks软件 b.解压并运行Shadowsocks2.5.1.exe 填入相应的”oversea.codeman.net”,”1003 阅读全文
posted @ 2017-08-09 11:27 DoubleLi 阅读(2) 评论(0) 推荐(0) 编辑

摘要:libx264版本是128libfaac版本是1.28 1、帧的划分 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 1 阅读全文
posted @ 2017-08-09 11:24 DoubleLi 阅读(645) 评论(0) 推荐(0) 编辑

摘要:本文引用了下面几个网友的文章: http://sun3eyes.blog.163.com/blog/#m=0&t=3&c=rtmp http://sun3eyes.blog.163.com/blog/static/1070797922012913337667/ http://sun3eyes.blo 阅读全文
posted @ 2017-08-09 11:23 DoubleLi 阅读(1220) 评论(0) 推荐(0) 编辑

摘要:前文我们说到如何在基于 libRTMP 库的流媒体直播过程中推送 AAC 、H264 音视频流。本文以上文为基础,阐释如何对 RTMP 包进行解析、重组得到原始的 AAC 音频帧以及 H264 码流。 在继续阅读本文之前,我们首先假设读者已经能够使用 libRTMP 库从 RTMP 直播服务器不断地 阅读全文
posted @ 2017-08-09 11:22 DoubleLi 阅读(979) 评论(0) 推荐(0) 编辑

摘要:0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法。那种方法有一些局限性,不适合实时性质的应用,如:视频会议、视频聊天、视频监控等。本文所使用的技术,适用于这种实时性的应用,通过处理采集出来的音视频的每一帧,实现实时编码,实时输出。这是我做直播系列应 阅读全文
posted @ 2017-08-09 11:20 DoubleLi 阅读(928) 评论(0) 推荐(0) 编辑

摘要:写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一个项目。定制和编译ffmpeg是做流媒体开发迟早要面对的 阅读全文
posted @ 2017-08-09 11:17 DoubleLi 阅读(484) 评论(0) 推荐(0) 编辑

摘要:众所周知,RTMP是以flash为客户端播放器的直播协议,主要应用在B/S形式的场景中。本人研究并用C++开发实现了RTMP直播流协议的播放器,结合之前做的RTMP直播采集端,可以将RTMP协议完全扩展到C/S形式的应用场景中,这将对之后的通用、全平台的流媒体架构设计和实现,打下坚实的基础。 开发的 阅读全文
posted @ 2017-08-09 11:12 DoubleLi 阅读(833) 评论(0) 推荐(0) 编辑

摘要:更新 【2015年2月15日】 Bill 这段时间没有再关注 WebRTC 以及音频处理的相关信息,且我个人早已不再推荐单独编译 WebRTC 中的各个模块出来使用。实际上本文的参考价值已经很小了,甚至可能会产生误导。不删这篇文章的原因在于文后有很多读者的讨论,其中的一些仍具备一定的价值,请大家务必 阅读全文
posted @ 2017-08-09 11:00 DoubleLi 阅读(969) 评论(0) 推荐(0) 编辑

摘要:http://ftp.ussg.iu.edu/cygwin/x86_64/release/webrtc-audio-processing/libwebrtc-audio-processing-devel/ 阅读全文
posted @ 2017-08-09 10:57 DoubleLi 阅读(286) 评论(0) 推荐(0) 编辑

摘要:2017-05-22更新! http://pan.baidu.com/s/1nvbTcRf jni修改后的代码,可以直接ndk-build出so文件!!!!!!!! webrtc代码在android和chromium项目中都有。但是android中的那个带有Android.mk,稍微修改下就能用nd 阅读全文
posted @ 2017-08-09 10:57 DoubleLi 阅读(895) 评论(0) 推荐(0) 编辑

摘要:一般情况下我们最好是在一个平台上编译本平台的二进制程序,比如在32位平台上编译32位程序而在64位平台上编译64位程序。 现在64位的系统(这里主要指x86_64系统,包括AMD64和Intel的EM64T)已经开始广泛的使用起来了,甚至于你现在要是想买32位的处理器根本就没有。64位的系统在性能和 阅读全文
posted @ 2017-08-09 10:14 DoubleLi 阅读(1116) 评论(0) 推荐(0) 编辑

摘要:编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 [plain] view plain copy 阅读全文
posted @ 2017-08-09 10:12 DoubleLi 阅读(3344) 评论(0) 推荐(0) 编辑

摘要:有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器http://ip/image/2016/04/29/10/abc.jpg访问到系统目录/image_data/2016/04/2 阅读全文
posted @ 2017-08-08 15:01 DoubleLi 阅读(909) 评论(0) 推荐(0) 编辑

摘要:ngx_http_autoindex_module 此模块用于自动生成目录列表,ngx_http_autoindex_module只在 ngx_http_index_module模块未找到索引文件时发出请求. nginx默认是不允许列出整个目录的。 开启目录列表:打开nginx.conf文件,在lo 阅读全文
posted @ 2017-08-08 14:58 DoubleLi 阅读(382) 评论(0) 推荐(0) 编辑

摘要:经常配了nginx静态目录,死活访问不了,每次访问404.查看文档后,发现nginx配置静态目录使 用以下规则 假如nginx是在本机,静态目录也是在本机, 1、子目录匹配 如下配置 Java代码 location / { root /data/www; } Java代码 Java代码 访问http 阅读全文
posted @ 2017-08-08 14:55 DoubleLi 阅读(2282) 评论(0) 推荐(1) 编辑

摘要:1: 修改conf文件,配置rtmp直播 打开usr/local/nginx/conf/nginx.conf,添加红色内容: rtmp {#rtmp点播配置 server { listen 1935; chunk_size 4000; application vod { play /usr/loca 阅读全文
posted @ 2017-08-08 14:52 DoubleLi 阅读(481) 评论(0) 推荐(0) 编辑

摘要:1:获取源码 http://nginx.org/download/nginx-1.8.0.tar.gz 2:编译 解压之后,进入根目录,执行 ./configuer.sh make make install 3:nginx执行 编译完之后,可以进入 /usr/local/nginx,进入sbin目录 阅读全文
posted @ 2017-08-08 14:50 DoubleLi 阅读(347) 评论(0) 推荐(0) 编辑

摘要:在安装完nginx服务后,url访问的默认路径是安装的路径html文件夹下的内容,如果需要指定自定义的路径,需要配置nginx.conf文件内容,这样通过url访问就可以了,比如: http://127.0.0.1/ 对应的物理路径 c:/a/b/c 修改配置文件: [html] view plai 阅读全文
posted @ 2017-08-08 14:48 DoubleLi 阅读(37591) 评论(0) 推荐(0) 编辑

摘要:1.目录列表(directory listing) nginx让目录中的文件以列表的形式展现只需要一条指令 autoindex on; autoindex可以放在location中,只对当前location的目录起作用。你也可以将它放在server指令块则对整个站点都起作用。或者放到http指令块, 阅读全文
posted @ 2017-08-08 14:46 DoubleLi 阅读(1311) 评论(0) 推荐(1) 编辑

摘要:1: 第一步先开打nginx的文件夹遍历功能 vi /usr/local/nginx/conf/nginx.conf #编辑配置文件,在http {下面添加以下内容: autoindex on; #开启nginx目录浏览功能 autoindex_exact_size off; #文件大小从KB开始显 阅读全文
posted @ 2017-08-08 14:22 DoubleLi 阅读(6890) 评论(0) 推荐(1) 编辑

摘要:http://tengine.taobao.org/book/ 阅读全文
posted @ 2017-08-08 10:04 DoubleLi 阅读(348) 评论(0) 推荐(0) 编辑

摘要:花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记。。。 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本)。我这次是用的最新版jwplayer6.8,在配置上有很多不同的地方,也很坑,值得注意一下!在配置方面,我精简了 阅读全文
posted @ 2017-08-07 18:51 DoubleLi 阅读(497) 评论(0) 推荐(0) 编辑

摘要:1.配置文件 配置文件中rtmp部分: application vod { play html; } 配置文件中http部分: location ~ .mp4$ { root html; mp4; limit_conn addr 20; limit_rate 20000k; 2.视频存放路径## 将 阅读全文
posted @ 2017-08-07 18:46 DoubleLi 阅读(708) 评论(0) 推荐(0) 编辑

摘要:由于公司网站需要放置视频,但是默认的服务器环境是没有编译这个支持的模块,视频文件只能缓冲完了在播放,非常麻烦。 之前呢也安装了一个nginx_mod_h264_streaming来支持,效果很不错,但是服务器最近系统更新后出了点问题,只好从新编译,今天在nginx官网看到了nginx在新版本中已经支 阅读全文
posted @ 2017-08-07 18:45 DoubleLi 阅读(3890) 评论(0) 推荐(0) 编辑

摘要:http://itindex.NET/detail/48702-nginx-rtmp-http 一、流媒体播放方式 1、 HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP/RTMP流媒体方式强大,很多视频网站都是 阅读全文
posted @ 2017-08-07 18:43 DoubleLi 阅读(4675) 评论(0) 推荐(0) 编辑

摘要:接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器。 我选择的是腾讯云服务器 1、下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: [php]  阅读全文
posted @ 2017-08-07 18:32 DoubleLi 阅读(908) 评论(0) 推荐(0) 编辑

摘要:开发环境 Ubuntu 14.04 server nginx-1.8.1 nginx-rtmp-module nginx的服务器的搭建 安装nginx的依赖库 配置并编译nginx 使用nginx的默认配置,添加nginx的rtmp模块。 运行测试nginx 进入安装目录/usr/local/ngi 阅读全文
posted @ 2017-08-07 18:19 DoubleLi 阅读(583) 评论(0) 推荐(0) 编辑

摘要:使用nginx搭建媒体点播服务器 最新由于兴趣,对ubuntu和安卓上的视频点播直播等应用比较感兴趣,所以在vmware的虚拟机里面搭建了一个视频点播网站,参考了fengzhanhai的文章Nginx搭建视频点播服务器(仿真专业流媒体软件)。 1,环境的准备 1)下载vmware,当然破解版本 2) 阅读全文
posted @ 2017-08-07 18:15 DoubleLi 阅读(1800) 评论(0) 推荐(0) 编辑

摘要:tar xzvf yamdi-1.4.tar.gz cd yamdi-1.4 make && make install 使用方法:yamdi -i input.flv -o out.flv tar xzvf nginx_mod_h264_streaming-2.2.7 tar xzvf nginx- 阅读全文
posted @ 2017-08-07 18:09 DoubleLi 阅读(447) 评论(0) 推荐(0) 编辑

摘要:http://www.codesynthesis.com/products/odb/doc/manual.xhtml#18.4 阅读全文
posted @ 2017-08-07 17:33 DoubleLi 阅读(158) 评论(0) 推荐(0) 编辑

摘要:Burton, Craig crburton at tnsi.com Wed Jun 6 13:58:03 EDT 2012 Previous message: [odb-users] query results not being cached? Next message: [odb-users] 阅读全文
posted @ 2017-08-07 15:17 DoubleLi 阅读(276) 评论(0) 推荐(0) 编辑

摘要:本文代码托管于github cmake_demo cmake中一些预定义变量 PROJECT_SOURCE_DIR 工程的根目录 PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build CMAKE_INCLUDE_PATH 环境变 阅读全文
posted @ 2017-08-06 23:19 DoubleLi 阅读(2331) 评论(0) 推荐(0) 编辑

摘要:总结CMake的常用命令,并介绍有用的CMake资源。 CMake意为cross-platform make,可用于管理c/c++工程。CMake解析配置文件CMakeLists.txt生成Makefile,相比直接用Makefile管理工程,CMake更灵活和简单。 简单的例子? 一个完整的Dem 阅读全文
posted @ 2017-08-06 23:18 DoubleLi 阅读(813) 评论(0) 推荐(0) 编辑

摘要:Andrey Devyatka 4 years ago Permalink Raw Message Hi,Please tell me, can I use the static library in the following case:library.hpp:#ifndef _CPP_ODB_S 阅读全文
posted @ 2017-08-06 23:11 DoubleLi 阅读(774) 评论(0) 推荐(0) 编辑

摘要:Boris Kolpackov boris at codesynthesis.com Fri May 31 11:13:02 EDT 2013 Previous message: [odb-users] Create schema error (unknown database schema '') 阅读全文
posted @ 2017-08-06 23:05 DoubleLi 阅读(488) 评论(0) 推荐(0) 编辑

摘要:用mingw官方的GCC4.7.2编译libodb后,并用odb compiler对hello示例生成odb的"包裹"代码,编译链接总是不能通过,下面是编译example/hello报错的信息如下: libodb-sqlite-2.3.0/odb/sqlite -o driver.exe drive 阅读全文
posted @ 2017-08-06 23:04 DoubleLi 阅读(1243) 评论(0) 推荐(0) 编辑

摘要:from:https://github.com/joseprous/odb-sqlite-test/blob/master/driver.cpp 阅读全文
posted @ 2017-08-04 17:56 DoubleLi 阅读(581) 评论(0) 推荐(0) 编辑

摘要:摘要: 2、使用 首先,需要定义一个对象,用来和数据库字段对应: [cce lang=”cpp”] #ifndef VOLUME_H #define VOLUME_H #include #include #pragma db object cl 2、使用首先,需要定义一个对象,用来和数据库字段对应: 阅读全文
posted @ 2017-08-04 17:46 DoubleLi 阅读(1030) 评论(0) 推荐(0) 编辑

摘要:这里主要使用的是libodb 对sqlite数据库的支持. (1)下载编译sqlite3,当初编译go-sqlite3的时候下载过sqlite3,就直接拿过来用了. start msys.bat gcc -c sqlite3.c -I./inc/sqlite3/ ar crvs libsqlite3 阅读全文
posted @ 2017-08-03 18:02 DoubleLi 阅读(516) 评论(0) 推荐(0) 编辑

摘要:一,简介 ODB是应用于C++的一个开源、跨平台、跨数据库的对象关系映射(ORM)系统。 它可以让你持久化C++对象到关系数据库,而不必处理表、列或者SQL,无需手动编写任何映射代码。 ODB支持MySQL,SQLite,PostgreSQL,Oracle和微软SQL Server关系数据库以及C 阅读全文
posted @ 2017-08-03 15:28 DoubleLi 阅读(340) 评论(0) 推荐(0) 编辑

摘要:1.下载odb-2.4.0-i686-windows,是cpp和sql文件生成工具,已经编译好了,如果下odb-2.4.0估计是未编译好的这个项目; 2.将...\odb-2.4.0-i686-windows\bin添加到环境变量Path,以便能使用odb.exe进行命令生成文件; 3.cmd进入到 阅读全文
posted @ 2017-08-03 15:24 DoubleLi 阅读(756) 评论(0) 推荐(0) 编辑

摘要:【导语】chrome浏览器确实很强,直接支持MP4拖动播放,对于其他播放器,可以使用以下方法来支持拖动播放。拖动的关键在于生成关键帧等元数据信息,便于服务器和播放器支持拖动。 另外,nginx web服务器体验起来,也是很有前途的一个web服务器,值得研究。 flv 视频可以采用两种方式发布: 一、 阅读全文
posted @ 2017-08-03 15:16 DoubleLi 阅读(1158) 评论(0) 推荐(0) 编辑

摘要:1. HTTP Origin Module的处理数据流: a) 客户端发送媒体索引请求到Apache。例如: http://www.example.com/media/ sample.f4m b) Apache处理请求到HTTP OriginModule c) HTTP Origin Module返 阅读全文
posted @ 2017-08-03 15:09 DoubleLi 阅读(836) 评论(0) 推荐(0) 编辑

摘要:直播从2016年一路火到了2017年,如今要在自己的App里加入直播功能,只要找一个现成的SDK就行了,什么拍摄、美颜、推流,一条龙服务。不过作为直播身后最重要的部分:推流协议,很多人并不是很清楚。如果你也对直播感兴趣,想要了解他背后的各种机制,可以先从这篇文章中了解一下推流协议开始。 单纯从技术角 阅读全文
posted @ 2017-08-03 15:05 DoubleLi 阅读(14387) 评论(1) 推荐(0) 编辑

摘要:VLC确切来说只是个播放器,是videolan的开源产品,videolan原来还有一个VLM,是服务器端,专门用来做流媒体服务器的,但是现在VLM的功能已经都集成进VLC了,所以也就可以用VLC来做流媒体服务器了。VLC同时提供了Linux版和windows版等多种版本,是流媒体服务器的一个不错的选 阅读全文
posted @ 2017-08-03 15:02 DoubleLi 阅读(2994) 评论(0) 推荐(0) 编辑

摘要:这段时间用到了流媒体数据传输的TCP和UDP方式,感觉vlc可以做这方面的demo,这里总结下,也方便我以后查阅。 简介 VLC主页:http://www.videolan.org VLC不仅仅是个播放器,也可以作为流媒体服务器使用。这个网上有相关的资料,我就不多说了。 声明下本文用的VLC版本:2 阅读全文
posted @ 2017-08-03 14:59 DoubleLi 阅读(1073) 评论(0) 推荐(0) 编辑

摘要:1,于由自己的服务器上已经安装好nginx(具体安装方法见我的另一篇文章,Linux中安装nginx),所以不再安装。 2,下载nginx_mod_h264_streaming-2.2.7.tar.gz(自己在网上搜吧)。 3,安装pcre,先看有没有安装。 [root@localhost vsft 阅读全文
posted @ 2017-08-03 14:22 DoubleLi 阅读(5619) 评论(0) 推荐(0) 编辑

摘要:http://www.docin.com/p-358292911.html 阅读全文
posted @ 2017-08-03 14:21 DoubleLi 阅读(1552) 评论(0) 推荐(0) 编辑

摘要:现在手上有两个链接 (1) http://202.108.16.173/cctv/video/8C/35/EB/E8/8C35EBE84E7B483C8741CF9A60154993/gphone/480_320/200/0.mp4 (2) http://202.108.16.173/cctv/vi 阅读全文
posted @ 2017-08-03 14:16 DoubleLi 阅读(5188) 评论(0) 推荐(1) 编辑

摘要:HTTP协议下实现FLV的播放其实并不复杂,当初实现的原理是使用了flowPlayer插件实现的,效果还不错。但仍有两大问题影响着客户的访问情绪: 1.预加载时页面卡死,似乎没有边下边播。 2.偶尔边下边播,却无法拖动时间轴至未下载的部分。相信很多人也遇到该问题。 一度想采用专门的媒体服务器如Ado 阅读全文
posted @ 2017-08-03 14:13 DoubleLi 阅读(3136) 评论(0) 推荐(0) 编辑

摘要:HLS(HTTP Live Streaming) 是Apple在2009年发布的,可以通过普通的web服务器进行分发的新型流媒体协议。苹果官方对于视频直播服务提出了 HLS 解决方案,该方案主要适用范围在于: 使用 iPhone 、iPod touch、 iPad 以及 Apple TV 进行流媒体 阅读全文
posted @ 2017-08-03 14:04 DoubleLi 阅读(2750) 评论(0) 推荐(0) 编辑

摘要:HTTP(超文本传输协议)、RTSP(Real Time Streaming Protocol实时流传输协议)、RTMP(Routing Table Maintenance Protocol路由选择表维护协议)是应用层协议,理论上都可以做直播、点播,实际上直播多采用RTMP和RTSP、点播则多用RT 阅读全文
posted @ 2017-08-03 14:03 DoubleLi 阅读(661) 评论(0) 推荐(0) 编辑

摘要:笔者之前照着通用写法练手写过一个小的线程池版本,最近几天复习了一下,发现大多数线程池实现都离不开锁的使用,如互斥量pthread_mutex*结合条件变量pthread_cond*。众所周知,锁的使用对于程序性能影响较大,虽然现有的pthread_mutex*在锁的申请与释放方面做了较大的优化,但仔 阅读全文
posted @ 2017-08-02 15:53 DoubleLi 阅读(1009) 评论(0) 推荐(0) 编辑

摘要:https://github.com/nu774/fdkaac_autobuild 阅读全文
posted @ 2017-08-02 15:23 DoubleLi 阅读(925) 评论(0) 推荐(0) 编辑

摘要:o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库) lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息 1 libtool的工作原理 libt 阅读全文
posted @ 2017-08-01 16:38 DoubleLi 阅读(953) 评论(0) 推荐(0) 编辑

摘要:在linux平台上编译时,常会遇到目标库的疑问,有静态库也有动态库,单个理解都不太难,但是对复杂的工程而言,一旦混合到一起去,对整个工程的理解和调用,将会造成很大困扰,本文就汇总这几种常见编译结果文件的区别。 一、格式说明 linux下编译,常会遇到后缀为:.o .so .a .la .ko等格式文 阅读全文
posted @ 2017-08-01 16:35 DoubleLi 阅读(1001) 评论(0) 推荐(0) 编辑

摘要:之前已经讲了这一篇文章:Makefile实际用例分析(一) 比较通用的一种架构 现在这篇其实和那个差的不是很多,只是在布局上有些差别(这个makefile也是论坛上一起讨论过的,囧,忘了哪个论坛) 还是先看看基本的文件布局: 介绍: debug是调试版本的binary文件夹 release是发行版本 阅读全文
posted @ 2017-08-01 16:15 DoubleLi 阅读(481) 评论(0) 推荐(0) 编辑

摘要:这里不再说Makefile的基本知识,如果需要学习,那么请参考: 下载:makefile 中文手册 或者 点击打开链接 或者 跟我一起写Makefile( 陈皓 ) 这里说的是一般的实际的一个工程应该怎么去写。 环境:ubuntu 10.04 先看看我的文件的分布情况: 顶层: 然后src中:是所有 阅读全文
posted @ 2017-08-01 16:12 DoubleLi 阅读(890) 评论(0) 推荐(0) 编辑

摘要:前面两篇已经说过了自己怎么去为一个工程写makefile: 第一篇 第二篇 现在这一篇说的是怎么使用GNU的工具去写一个符合开源标准的Makefile呢! 首先我觉你应该参考: Automake Autoconf 这里就一步一步来解释:依然使用之前两篇中的例子ir_tree! 还是先看看我的文件布局 阅读全文
posted @ 2017-08-01 16:10 DoubleLi 阅读(434) 评论(0) 推荐(0) 编辑

摘要:1 2 3 4 5 6 7 8 9 //根据configure.in和Makefile.am生成makefile的步骤,基于UBUNTU 12.04 1.autoscan (可选) 2.aclocal 3.autoconf 4.autoheader(可选) 5.libtoolize --automa 阅读全文
posted @ 2017-08-01 16:08 DoubleLi 阅读(7415) 评论(0) 推荐(0) 编辑

摘要:已经存在Makefile.am,如何生成Makefile? 步骤: [plain] view plain copy [root@localhost hello]# autoscan .///在当前文件夹中搜索 [root@localhost hello]# cp configure.scan con 阅读全文
posted @ 2017-08-01 16:03 DoubleLi 阅读(353) 评论(0) 推荐(0) 编辑

摘要:一、生成configure过程中各文件之间的关系图 二、详细介绍 autoscan: 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 aclocal:根据已经安装的宏,用户定义宏和acinclude.m 阅读全文
posted @ 2017-08-01 16:00 DoubleLi 阅读(779) 评论(0) 推荐(0) 编辑

摘要:作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和automake两个 阅读全文
posted @ 2017-08-01 15:59 DoubleLi 阅读(2323) 评论(0) 推荐(1) 编辑

摘要:nghttp2 报错error: Libtool library used but ‘LIBTOOL‘ is undefined 如果重新安装libtool和autoconf升级到2.69后,还是报错, 则进行下面的操作: 1,查看aclocal的路径 aclocal --print-ac-dir 阅读全文
posted @ 2017-08-01 15:58 DoubleLi 阅读(843) 评论(0) 推荐(0) 编辑

摘要:[plain] view plain copy print? [plain] view plain copy print? 这个问题我也找了好久,最后看到两篇文章,记录下来: 观点一: 原因分析aclocal是个扫描程序, 负责扫描configure.ac中所有的宏定义并展开,上面产生的原因就是找不 阅读全文
posted @ 2017-08-01 15:58 DoubleLi 阅读(1515) 评论(0) 推荐(1) 编辑

摘要:ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。转载请注明来自:http://www.binkery.com/ ADTS内容及结构一般情况下ADTS的头信息都是7个字节,分为2部分:adts_fixed_header();adts_vari 阅读全文
posted @ 2017-08-01 10:15 DoubleLi 阅读(393) 评论(0) 推荐(0) 编辑

摘要:可能是由于fdk-aac开源协议的原因,VLC默认是不支持fdk-aac编码的,fdk-aac 是非常优秀的AAC编码库,并且支持AAC-LD AAC-ELD, 对于要求低延迟的场景下很有用。 可以通过修改VLC的编译脚本,并加入fdkaac库来使用VLC支持fdkaac编码器。 我是在64位的ub 阅读全文
posted @ 2017-08-01 10:13 DoubleLi 阅读(752) 评论(0) 推荐(0) 编辑

摘要:bslbf代表位串,即“Bit string, left bit first ”, uimsbf代表无符号整数,即”unsinged integer, most significant bit first”,数字表示该数据项所占的比特数 又一解释: bslbf (bit string, left b 阅读全文
posted @ 2017-08-01 09:59 DoubleLi 阅读(1069) 评论(0) 推荐(0) 编辑

摘要:windows系统中,需要vs2012才支持。1.线程的创建C++11线程类std::thread,头文件include <thread>首先,看一个最简单的例子: [cpp] view plain copy void my_thread() { puts("hello, world"); } in 阅读全文
posted @ 2017-08-01 09:51 DoubleLi 阅读(523) 评论(0) 推荐(0) 编辑

摘要:function是一组函数对象包装类的模板,实现了一个泛型的回调机制。 引入头文件 #include <functional>using namespace std;using namespace std::placeholders; //bind的时候会用` 参考:http://www.cnblo 阅读全文
posted @ 2017-08-01 09:49 DoubleLi 阅读(577) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示