objective-c c++ 混编 xcode可以进行c++、objective-c混合开发,mm、m后缀为objective-c代码,可以在其中调用cpp后缀的c++类,反过来不行,除非把compile sources as设置为objective-c++才行。怎样可以做到不改compile sources as可以反向调用?下面介绍的一种方法。// objc// 头文件@interface Test : NSObje...
tensorflow GPU windows下编译 1.首先配置环境cuda,cudnn开发运行环境,参考https://blog.csdn.net/m0_37605642/article/details/988547532.参考我的前一篇配置CPU版本编译环境。https://blog.csdn.net/andrew57/article/details/1033964263.如果已经生成CPU版本,可以bazel clean一下。然后执行...
tensorflow windows版编译 环境:win10 x64python3.6tensorflow r1.14bazel 0.25.0vs2015msys2 x64脱离环境谈都是耍流氓,何况在相同环境都可能出各种问题。以下步骤使用bazel编译1.根据官网安装以上软件软件。2.下载tensorflow r1.14。3.进入tensorflow代码目录,执行python configure....
MonaBase之Mona.h Mona.h中主要定义一些宏和class,他们会在整个项目中使用到。_OS_***定义具体平台的宏_ARCH_***指令集及字节序Static不可实例化类,用于归类一些常用函数。Object no copy, no move基类,项目中很多类的基类。NullableObject 派生自Object的纯虚类,实现操作符bool。ASCII类实现对128个ASCII分类。...
pcm混音 I am not sure weather I have fully understood your question or not, I persume that you are asking"How can we mix two or more audio stream", If this is the question then I am explaning below themix...
Protocol Buffers使用注意事项 Protocol Buffers做为广泛使用的一个序列化开源库,提供了很多语言下的支持,本文就谈谈MSVC c++使用pb遇到的问题,当然这些问题因为每个人的使用模式不同,可能都不一样,本文也不讨论怎么写proto及编译。我们使用pb做序列化可以把pb生成静态库或者动态库(libprotobuf.dll),然后使用protoc将message生成相应的cc文件,这些cc文件结构都类似,基本不需...
YUV叠加 知道了YUV切割和合并的原理,叠加其实就是覆盖相应位置的数据,如果用或运算符就是混合,前面合并一篇有提及。下面还是使用I420数据,直接上代码。/** src1: background yuv* src2: source yuv* w1: src1 width* h1: src1 height* w2: src2 width* h2: src2 height* x,y: s...
YUV切割 YUV分割原理是对Y、U、V三个分量分别处理。以下使用I420做例子列举出左右、上下、切块三种方式,原理都一样。不画图直接上代码。左右切割:void CutLR(const char* src1, int w, int h){ int w1 = w / 2, w2 = w - w1; int h1 = h, h2 = h; char* cut_L = new char[...
音视频同步阀值 做音视频同步的时候可能都会碰到一个问题,要达到理想的效果阀值到底设置多大,这是个经验值还是有数据依据,我想到很多人都有这个疑惑。最近看到一篇文章写到这个问题,而且据说是有RFC做背书的。文章中提出了一个阀值及几种情况下的效果。其中提到以下三点值得参考。1. 无法察觉:音频和视频的时间戳差值在:-100ms ~ +25ms 之间。2. 能够察觉:音频滞后了 100ms 以上,或者超前了 2...
emscripten 如何保存文件到本地 本文主要描述一种empscritpen开发体系下,怎么将文件保存到本地的方法。本文描述方法参考https://groups.google.com/forum/#!topic/emscripten-discuss/xnTzhcsMj4U实现,亲测可行。empscripten是一款编译器,他负责把clang编译的bitcode转换为符合asm.js或者webAssembly规范的js代码,这样可...
Unity直接渲染YUV几种格式 原文地址:https://www.jianshu.com/p/e19089db6c25多年前做Unity插件的yuv渲染,当时非常想直接渲染YUV,翻遍官网,苦于无法,只能选择低效的转RGB模式。 突发兴趣搜索一番,既然现在可以通过shader直接渲染YUV,真是了却我心中悬念。也许是我当时是涉猎太窄,未知此法(D3D,opengl shader我是了解的,当时也是疑惑Uni...
nginx+php+mysql支持REST api 1.安装mysql。2.安装php,打开部分extension支持,网上有很多教程,具体不写了。3.安装nginx,做好基本设置,加一行:rewrite ^/api/v1/([^/]+)/?$ /apiv1.php?method=$1? last; 写好apiv1.php文件,就可以支持http://ip/api/v1/getinfo这样的REST API访问了。<...
怎么使用命令行制作一个dll 1.安装开发工具,比如visual studio或者mingw等等。下面以visual studio编译器cl作为讲解。2.导出dll中的函数基本使用两种方式,可以使用关键字__declspec(dllexport),例如:__declspec(dllexport) int sum(int a, int b),这样就会导出一个sum函数。还可以写一个def文件,格式如下:LIBR...
Linux下Makefile的automake生成全攻略 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的...
Flash html5 mse介绍 We’ve been hearing that Flash is dead since Apple introduced the iPad back in 2010. Yet it’s still the predominant technology used by premium websites, particularly those that are ad-supported. This i...
TS流PAT/PMT详解 http://www.cnblogs.com/shakin/p/3714848.htmlhttps://blog.csdn.net/kkdestiny/article/category/1553561 https://blog.csdn.net/cabbage2008/article/details/49871441https://en.wikipedia.org/wiki/Pac...
视频直播中抖动和延迟的区别 英文原文:https://www.callstats.io/2018/03/07/difference-between-jitter-and-latency/翻译:https://zhuanlan.zhihu.com/p/35256015
视频直播秒开背后的技术与优化经验 [摘要]在视频直播中,首屏打开速度直接关系到用户体验,而这背后蕴含着许多技术点与实践经验,其中Group of Picture(GoP)设置、缓存参数优化格外关键。本文根据迅达云SpeedyCloud工程副总裁李雨来在见云沙龙的分享整理而成。 在视频直播中,首屏打开速度直接关系到用户体验,而这背后蕴含着许多技术点与实践经验,其中Group of Picture(GoP)设置、缓存参数优化格外关键...
QQ视频与webrtc打洞对比分析 一、NAT1. 含义 NAT技术(Network Address Translation,网络地址转换)是一种把内部网络(简称为内网)私有IP地址转换为外部网络(简称为外网)公共IP地址的技术,它使得一定范围内的多台主机只利用一个公共IP地址连接到外网,可以在很大程度上缓解了公网IP地址紧缺的问题。2. 实现方式 静态转换、动态转换、端口多路复用。 静态转换:是指将内部网络的...
YUV拼接 yuv的拼接和切割原理是很简单的,直接上图,这样非常直观。横向拼接:纵向拼接:以上是横向拼接,其他的也类似,切割自然也一样,对y、u、v各个分量做操作。水印的话就是直接覆盖x,y开始的区域(不透明),透明的水印需要orginal value+=watermarker value*transprent valueorginal value为原始值,watermar...
rtmp NetConnection 状态 转载地址:http://blog.csdn.net/tongjing524/article/details/51580090"NetConnection.Connect.Success" //服务器连接成功 "NetConnection.Connect.Closed" //连接中断 "NetConnection.Connect.Failed" //连接失败" "NetConnection...
D3D surface渲染YUV问题 最近参考了雷神的d3d surface渲染YUV的代码,下面对几种YUV格式做总结,只有正确区分才能正常渲染图像。 在建立离屏表面的时候需要指定图像格式D3DFormat,这个指定后后面的拷贝数据给surface息息相关,搞错了不会渲染正常。 YUV主要有packet和Planar两种存储方式。I420(YUV420P) YYYYYYYYUUVV YV12(YUV420P) ...
判断IPV4有效性 最近有份代码需要判断字符串模式IP V4的有效性,使用了inet_addr发现不能全部判断,于是在网上查了下,有很多这样的例子,各有优点,但找到的都多少有些问题。其中有分代码清晰覆盖面相对很全。下面的代码是我在这份代码的基础上做了些修改,后面会给出地址。简单测试没有什么问题,如有问题请各位留言指正。bool isValidIPv4(const char *pszIPAddr){ if (!ps...
Intel GPU及NVIDIA GPU对视频编解码支持情况 编解码可以软编实现(CPU),或者硬编(GPU),当然还可以使用专用的编解码卡(IC),他们各有优点,但是基于硬件的处理往往速度更快。但是也有人说软编有更大的可调节性。这里我们只记录硬编的硬件支持情况,尤其是软编效率没有上来的情况下这显得尤其重要。废话不多说,先上intel GPU QSV硬编解情况:摘自:https://en.wikipedia.org/wiki/Intel_Quick_Syn...
Understanding Rate Control Modes (x264, x265, vpx) 原文地址:http://slhck.info/video/2017/03/01/rate-control.htmlWhat is “rate control”? It’s what a video encoder does when it decides how many bits to spend for a given frame. The goal of (lossy) video
H.264协议:Annex B格式和AVCC格式 转自:http://blog.csdn.net/yingmuliuchuan/article/details/78743738本文需要读者对H.264流有一定的了解才可以理解2种格式差异。 首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必须要求的格式。标准文档中指定了视频怎
msys2安装配置 msys2安装后可以在windows下编译一些开源库的32,64位版本(当然可以做更多,而我主要用于编译不同指令集的库)。下面简单记录下msys2的安装配置过程。1. 下载msys2安装http://sourceforge.net/projects/msys2/2. 更新源在安装目录下/etc/pacman.d/找到mirrorlist.mingw32,mirrorlist.m
ams录像实现 // main.asc// ========发布时录像=============application.onAppStart = function(){ trace("Application name: " + application.name); trace("Server: " + application.server
MonaTiny之分析开篇Memory 一直打算分析MonaTiny流媒体服务器,只能看一部分记录一部分。MonaServer是一个类似fms,srs,live555一样的流媒体服务器,支持rtmp,rtmpe,http,websocket,rtsp等协议。MonaTiny为MonaServer的简化版本,大体上重构了一遍代码,去掉了lua部分,功能也没有MonaServer丰富,但是一些核心的功能具备。MonaTiny代码从项目上
x265 命令行参数大全 除非一个参数被标记为 CLI ONLY,否则该参数也被x265_param_parse() 支持。CLI使用getopt 函数来解释命令行参数,长短版本的参数都可以使用,长参数在不引起歧义的情况下可以截断成短参数。API用户必须把完整的参数名传递给 x265_param_parse()。Preset和tune 有特殊的含义,API用户需要在调用x265_param_parse()设置其他参
RTMP H5 直播流技术解析 RTMP 是什么RTMP 全称即是 Real-Time Messaging Protocol。顾名思义就是用来作为实时通信的一种协议。该协议是 Adobe 搞出来的。主要是用来传递音视频流的。它通过一种自定义的协议,来完成对指定直播流的播放和相关的操作。和现行的直播流相比,RTMP 主要的特点就是高效,这里,我就不多费口舌了。我们先来了解一下 RTMP 是如何进行握手的。RTM
WebRTC peer之间通讯过程 WebRTC是HTML5支持的重要特性之一,有了它,不再需要借助音视频相关的客户端,直接通过浏览器的Web页面就可以实现音视频对聊功能。而且WebRTC项目是开源的,我们可以借助WebRTC源码快速构建自己的音视频对聊功能。无论是使用前端JS的WebRTC API接口,还是在WebRTC源码上构建自己的对聊框架,都需要遵循以下执行流程: 上述序列中,WebRTC并不提供Stun服务
STUN TURN signaling介绍 介绍stun turn signaling服务器https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/stun服务器开放地址https://gist.github.com/zziuni/3741933
webRTC学习资料 以下资料都是收集自他人的总结,由于时间跨度大的原因,代码可能已经发生了很大的变化,请鉴别学习参考,可以少走很多弯路,在此谢谢乐于分享的人,如有侵权请留言,会立即删除。http://blog.csdn.net/foruok/article/details/53005728有丰富的webRTC教程,是不错的学习入口。http://blog.csdn.net/foruok
webRTC代码下载及编译 http://blog.csdn.net/chinabinlang/article/details/71673732?locationNum=2&fps=1这篇文字有介绍webRTC代码的下载,只要注意翻墙是可以下载下来的。代码量巨大,主要是依赖库的代码多,需要耐心等待。
有助了解推流的三篇文章 一、http://www.itwendao.com/article/detail/276232.html二、http://www.itwendao.com/article/detail/301056.html三、http://www.itwendao.com/article/detail/319007.html
UTF8编码表 这里有一篇utf8汉字编码表,可以备不时之需。地址:http://blog.csdn.net/qiaqia609/article/details/8069678第一列为国标码码位第二列为16位Unicode字符集编码码位第三列为UTF-8编码第四列为对应的中文符号都叫编码,准确说国标码、Unicode码其实是对人类的字符进行统一编码的码表。而UTF-8是对Uni
将h.264视频流封装成flv格式文件(一.flv格式) flv文件的格式其实网上资料还是不少,但是怎么封装成flv却不多。看了不少资料,找到了一个觉得还比较靠谱的:http://www.cnblogs.com/chef/archive/2012/07/18/2597279.html其实flv还是挺简单的一个视频格式,下面就来先谈一谈FLV的格式吧。 FLV是一个二进制文件,简单来说,其是由一个文件头(FLV header)和很多tag组成(
基于libRTMP的流媒体直播之 AAC、H264 推送 这段时间在捣腾基于 RTMP 协议的流媒体直播框架,其间参考了众多博主的文章,剩下一些细节问题自行琢磨也算摸索出个门道,现将自己认为比较恼人的 AAC 音频帧的推送和解析、H264 码流的推送和解析以及网上没说清楚的地方分享给各位。 RTMP 协议栈的实现,Bill 直接使用的 libRTMP,关于 libRTMP 的编译、基本使用方法,以及简单的流媒体直播框架,请参见博文[
udp、tcp 杂项 此文记录udp、tcp使用的杂乱知识,基本是各处摘录,会随时更新,如有侵权,我会立即删除。1,实时音视频是可以而且应该用 UDP 的,一方面因为它常常涉及到网络穿透,另外一方面它不需要重传。——我需要实时的看到你的图像跟声音,至于中间丢一帧什么的完全不重要。而为了重传往往会造成延迟与不同步,考虑一下,某一帧因为重传,导致0.5秒以后才到,那么整个音视频就延迟了0.5秒。
do{...}while(0)的意义和用法 linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引用的时候出错:举例来说,
记PE文件中读写资源 我们发现有的可执行文件有DLL依赖但是没有看到DLL文件,就一个可执行文件。有的支持多种语言但是没有看到资源dll,这个时候你使用exescope或者pe explorer打开看下资源发现和一般的可执行文件的资源结构有很大的差异,其实这些可执行文件里面都包含有执行所需要的各种资源。以为为简单分析,详细win32 api使用请查看msdn。我们一般从可执行文件(本文件或者其他文件)读取资源需要做
sws_scale YV12转RGB24图像倒转问题 使用ffmpeg解码H264视频数据后,如果需要把YV12转换为RGB264,一般使用sws_scale转换,但是转换出来的图像是倒置的。通过以下方法可以调整。mYuvPicture->data[0] += mYuvPicture->linesize[0] * (mCodecCtx->height - 1);mYuvPicture->linesize[0] *= -1;mYuv
记win10下编译64位ffmpeg 需要使用windows 64位版的ffmpeg,所以搞了下编译环境,基本的操作如下:1.下载mingw64,这个可以编译windows系统下的64位和32位库,mingw只能编译32位的库。下载地址下载完成后可以直接安装到某个分区下,比如c:\mingw64。2.下载msys,下载地址下载完成后安装到c:\msys下。3.改C:\msys\1.0\etc目录下的fstab.sa
记Windows下二进制文件查看器 windows系统下查看二进制文件的资源,依赖和导出接口我一般使用exescope,但是这个没有提供64位的版本,以前vc6.0有自带一个工具可以查看。不过最近发现有个工具非常好用,就是他了:CFF_Explorer,查看x64、x86的二进制文件依赖的好帮手。
记MFC自绘ListBox闪烁处理 自绘CListBox时避免闪烁的方法。先列出网上搜来的一段例子双缓冲绘制代码: CRect rc; GetWindowRect(&rc); CDC CMDC; CMDC.CreateCompatibleDC(NULL); CBitmap bmp; bmp.CreateCom
解决inno setup打包,执行权限导致无法执行问题 Inno Setup打包的程序安装完成后运行需求管理员权限的程序的时候会失败,解决这个问题的最简单办法就是打包的后的程序也以管理员权限运行。右键以管理员身份运行太麻烦,所以改成双击就可以的。windows程序的清单文件就可以实现这个。同时找到INNO安装目录下的SetupLdr.e32文件,用Resource Hacker 将程序中的Manifest更改一下改为: 注意编译后
windows下xml的读写 由于是老的项目,最近搞了下xml的读写,早起的项目开发人员直接拼接字符串读写,显得笨拙难于维护。分别对比了下tinyxml, rapidxml, pugixml,他们的主要区别有以下几点:1.rapidxml号称最好的xml解析库,但是对Unicode支持不是很好,比如我们最近在中文系统下写入韩文,搞的很头疼,估计是他写入文件没有做编码,UE打开后是乱码,tinyxml相对来说支持还好,但也需
like linux connect errno说明 getsockopt(socketHandle, SOL_SOCKET, SO_ERROR, &error, &len);Linux的错误码表(errno table)_ 124 EMEDIUMTYPE_ Wrong medium type_ 123 ENOMEDIUM__ No medium found_ 122 EDQUOT___ Disk quota excee
jni的简单使用 JNI(java native interface)主要用于java调用原生代码(java中间代码运行于虚拟机,虚拟机不具跨平台性,原生代码也是一样的,这个都知道的^_^)。所以JNI应该是在java的代码和native的库间存在映射关系,java代码调用native code时通过jvm查找到相应函数的地址执行,调用思路和dll、so类似,然后dll、so和jvm在同一个进程的不同地址上,平行的
JNA的简单使用 以前从效率上考虑,做native调用都是通过jni实现,其中的一些障碍我想开发过jni的人都知道,比如你要复用老的代码库,为了适应Jni的机制需要再做一次封装,这其中要涉及到jni的内存管理规则,和Java代码的交互,数据类型的转换,在c/c++复杂数据类型上是很棘手的。当然这些都是可以解决的,就看个人的开发思路。近日研究了JNA(java native access),这种机制调用dll,s
设计并实现同时支持多种视频格式的流媒体点播系统 觉得不错,尤其是拖动播放位置的处理部分很有启发。地址:http://www.cnblogs.com/haibindev/archive/2011/12/21/2295333.html
VS2010下QT的简单使用 近日无事,突然想试试QT在VS2010下怎么使用,以前觉得QT的库太大,所以就没有考虑。先安装好QT的库,再安装VS2010下使用的插件,这个安装有先后顺序。安装完成后打开VS2010可以看到菜单栏多了一个QT的菜单,在options->qt versions中设置好qmake的路径,否则创建QT工程会失败。创建一个简单的QT Application工程,直接NEXT。完成后在soluti
Android平台ffmpeg的硬解库生成 一直想写一篇文章记录我近几天摸索ffmpeg在Android平台生成硬解码库遇到的问题。马上就要放假,再不写估计就更没有思路写下去。这只是我的一些个人研究,失误之处在所难免,如果您觉得有不对的地方还请留言指正!Android上做H264实时视频裸流解码我们一直使用ffmpeg的软解码,整体效果还是可以的,目前在小米2做到解码720P恒定码率 15fps(一般为了保证视频的实时性,解码慢就会导致
通信协议之序列化 原文地址 http://blog.chinaunix.net/uid-27105712-id-3266286.html?page=2通信协议可以理解两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等。常见的有tcp,udo,http,sip等常见协议。协议有流程规范和编码规范。流程如呼叫流程等信令流程,编码规范
windows下编译ffmpeg 最近在想编译windows上使用的ffmpeg,但是又不想使用ffmpeg官方上的现成,网上说没有导入库lib,具体我也没有去看。下面说说我在编译中遇到的问题。总结网上一般的步骤是这样的:1.你要去管网下载一份ffmpeg最新的代码。2.官网下载安装minGW。安装后注意将x:\MinGW,x:\MinGW\msys\1.0\bin加入系统环境变量中。3.官网下载yasm,
DirectX错误号及其原因 /* dxerr.c - DirectX 8 & 9 Error Functions Written by Filip Navara This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warr
yuv420存储为JPG 最近在做yuv存储为Jpg,这个涉及到jpg的编码压缩,是非常耗性能的,我们目前多用于手机上,在IOS上是通过将yuv 420转为rgb565->rgb8888然后通过oc提供的函数存储为jpg,整个比较繁琐,具体没有去关注性能,一直这么用着。android上面我们是直接转rgb存储为bmp,图片较大。所以想搞成统一的,网上都说libjpeg-turbo性能高于libjpeg,他们的网站也是这
AAC编码规格 AAC(Advanced Audio Coding) 编码9种规格:MPEG-2 AAC LC低复杂度规格(Low Complexity)MPEG-2 AAC Main主规格MPEG-2 AAC SSR可变采样率规格(Scaleable Sample Rate)MPEG-4 AAC LC低复杂度规格(Low Complexity)MPEG-4 AAC Main主规格MPEG-4 AAC S
FFmpeg在Android上的移植优化步骤 从事多媒体软件开发的人几乎没有不知道FFmpeg的,很多视频播放器都是基于FFmpeg开发的。如今最火的智能手机操作系统Android上的很多第三方视频播放器也是基于FFmpeg实现全格式支持。由于Android通常跑在ARM处理器上,而且Android使用了自己的libc库(即bionic),因此要在Android上编译和使用FFmpeg需要做一些移植工作,好在FFmpeg本身用C写成,很好地支
在ubuntu下编译android jni 1.下载android ndk到ubuntu的某个目录下。2.制作Android.mk和Application.mk。这个有很多模板可以参考的。Android.mk主要指定编译规则,Application.mk指定要编译的指令集,比如armv6, armv7s,x86等。3.命令行进入ndk目录,比如android-ndk-r8d。执行./ndk-build NDK_PROJECT
修改MFC OCX IID 以下描述仅限于已经有一份OCX代码,但是想通过修改名称做成另一套OCX,这其中最关键的是修改IID,因为这是COM组件在系统中识别的唯一标志。1.项目名称.cpp文件修改_tlid, CLSID_SafeItem。_tlid对应要修改idl文件中的 [uuid(xxxx)]此处guid字符串,同时修改coclass XXX和CLSID_SafeItem相同。这些事OCX的身份标
ffmpeg编译选项汇总 编译禁用“jack” 和 “crystalhd” :--disable-crystalhd--disable-indev=jack===========================================================http://blog.chinaunix.net/uid-24868917-id-120539.html在控制
ffmpeg编译 for ios 最近在为ios做ffmpeg64位库,自己写了个mak效果不是很理想,这其中在网上翻阅了很多资料,下面记下这些我认为很有意义的部分。由此可以类推到win32,android的ffmpeg库生成。1.https://github.com/kewlbear/FFmpeg-iOS-build-script这个估计是韩国人写得,是我找的几个中非常好得,自动化程度很高,一键搞定,避免了自
xcode如何制作一个通过iTunes安装的ipa包 有时候我们希望在app未提交到app store时可以供其他人测试使用,可以这么处理。以下为XCODE6上面操作!1.编辑Edit Scheme-->Archive看是否为Release,默认是Release。2.选择Project->Archive。3.生成成功后进入Organizer,选择Export。4.选择Save f
记录一些工作用的软件 eXeScope 查看PE文件的依赖。Unlocker 解除文件被引用导致无法删除。NetLimiter 网络限速。Elecard 视频格式分析,小型使用,比如分析YUV。MediaInfo 多媒体文件分析。可以通过此软件指导里面音视频的编码方式及参数。Notepad++ 比较好用的文本编辑器,而且小而简单。Wireshark 网络抓包工具。...
Javascript 实现gb2312和utf8编码的互换 转载地址function getCodeStr(){ return codestr;} function gb2utf(gbStr){ var codeStr = getCodeStr(); var codeRE = new RegExp("(%..%..)","gi"); var replaceRE = new RegExp("(%
ffmpeg编译shell 转载地址#!/bin/bashROOT_PATH=`pwd`/`dirname "$0"`LIB_PATH=$ROOT_PATH/ffmpeg_buildif [ ! -s $ROOT_PATH/ffmpeg/libswscale ] ; thenln -sf ../libswscale/ $ROOT_PATH/ffmpeg/libswscalefi
iOS开发动画(Animation)图片360度不停旋转 iOS开发动画(Animation)图片360度不停旋转最开始的想法是让旋转的弧度从0到2 * M_PI, 让动画不停的repeat,实验了一下,没有任何效果,系统动画的时候看到0与2 *M_PI是同一起一始点,所以没有效果。后来想到一种办法,就是一个变量不断的累加变大,这样影响弧度也随着变化,就达到了圆周运动的效果。直接上代码:
YUV的图像格式 YUV格式 为了方便后面叙述,图片的大小定义为:w * h,宽高分别为w和h 一、YUV420格式先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)如果w = 4,h = 2,则:yyyyyyyyuuvv内存则是:yyyyyyyyuuvv需要占用的内存:w * h * 3 / 2采样规律是:每个像素点都采样Y,寄数行采样1
如何在iOS中使用ZXing库 这是一篇介绍IOS中使用ZXING库,这个很详细,保存下来。地址:http://www.cocoachina.com/applenews/devnews/2013/0104/5462.html
zxing 的常见错误 问题一:Undefined symbols for architecture armv7: "_CVPixelBufferLockBaseAddress", referenced from: -[ZXingWidgetController captureOutput:didOutputSampleBuffer:fromConnection:] in libZXi
IOS - 响应者链条 简单来说就是 :一级一级的找到响应的视图,如果没有就传给UIWindow实例和UIApplication实例,要是他们也处理不了,就丢弃这次事件...对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(
Xcode调试技巧 这是一篇写的非常好的xcode调试的文章,找了很多这方面的,这篇不错,虽然是xcode4.5环境,但是在xcode5也是一样的。所以转载过来!文中相关的调度技巧均在Xcode4.5+环境中完成。初学者调试技巧推荐联接:http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1http
微信公众平台开发 微信是好东西,可以在上面推广产品等,他有庞大的用户群体。非常有潜力的产品。公众平台开发接口文档,感觉写的比较粗糙。http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5