- 博客(142)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 http 206 Range -- 端点续传(resumed download) -- POST/PUT/DELETE
端点续传(resumed download):请求:Range: bytes=16-响应:HTTP/1.1 206 Partial ContentAccept-Ranges: bytesContent-Range: bytes 16-14385736/14385737Content-Length: 14385721Request -- Response* no
2015-08-16 09:50:20
2566
原创 精确覆盖问题的dancing links 技术
精确覆盖一类的问题,难点在于01矩阵的构造。一旦构造好,就可以用下面的dancing links 技术快速有效地求解。构造思路:每个物体所有可能的摆放方式 --行不重复地覆盖所有格子 -- 目标列约束条件,或者单个选择的唯一表示 -- 列把可能的选择,包括已知的选择 --行比如对于数独问题[2]:(1)81个格子中每个格子只能放一个数字C1-81(2)每一行的数字不
2015-08-09 09:30:09
956
原创 跳表(SkipList) -- 基于概率的平衡二叉树
从搜索的资料来看,重复的关键字让人感觉有一点不安,逻辑上的和空间消耗上的,于是找一些其他相关是否有改进的。deterministic skip list, 2-3-4tree的翻版,top-down方式维护平衡,感觉还是走的老路,且连续三者取中来提升,局部性不好,对concurrent不友好。又重新仔细读了一遍Pugh原文,"A level i node has i
2015-08-07 21:17:18
1148
原创 ubuntu14.04上使用virt-manager备忘录
虽然有8G内存,win7主机+ubuntu虚拟机编Android卡主。我自己的笔记本6G内存,主机一直用ubuntu, 都是linux近亲,编译android自然畅快。不过需要访问一些只能windows才能访问的资源,比如QQ,当然我现在也付费用wine+qq 国际版,不过感觉不是很完美;公司vpn只有win版客户端;另一个就是网银。当然双系统也可以,不过需要重启切换,并且win7不能读取ex
2015-04-26 19:33:39
1614
原创 ffplay 播放字幕以及lrc歌词
# 各个容器可以容纳的字幕格式不同:textmkv: copy, srt, ssa, ass mp4/mov: copy, mov_textbitmapts: dvb_subtitlevob: dvd_subtitle (closed caption)# ffplay 显示字幕-sst 只能显示bitmap类;使用filter来显示text类[g
2015-03-30 20:10:37
6442
原创 查询网络端口被哪个进程/线程占用
背景最近遇到一个问题,就是我去绑定8080端口时,发现errno是93(记不清了),表示已经被人用了,于是想去查是哪个进程或者线程。当然我也搜了代码,发现很多以网址的形式出现,还是从linux 系统去看吧。 标准的netstat -pt是可以把进程名显示出来的,但是android版的没有这个选项。local_port –> process_name$ cat /proc/net/{tcp,udp,
2015-03-15 10:23:48
3732
1
原创 编译小米2s CyanogenMod 版本遇到的几个问题 (02.26更新)
背景介绍为了破除我对android的神秘感,准备亲自编一个cm rom到真机上跑。反复看了cm 支持的devices, 我能网上,国内买到最便宜的,就只有小米2s了[0],为此特意从小米官网定了一个翻新标准版。吐槽下锤子,竟然藐视我等,不让root,不让安装第三方rom。关于编译机器,我用的是azure 3GB内存的那种虚拟机, 一块钱试用版的。 现在想来我应该建最高配置的VM。我
2015-02-01 18:30:00
4320
1
原创 使用tcp socket进行跨进程/网络通信
看了陈硕的书,说虽然有pipe, msgget, message queue, unix domain socket, 还是建议进程间只用tcp socket来通信。pipe的缺点是阻塞。msgget缺点是不能select。mq_send可以,但是双向通信要开两个mq。unix domain不能跨网络。tcp socket优点很多,就是处理分包比较麻烦些,不过可以抽象出来。根据我的项目需要,
2015-01-20 21:23:09
1672
原创 UPnP 设备描述文件和服务描述文件
对于一个设备来说,无论是客户端还是服务端,接入网络后,UPnP经历下列过程:* 获取自己的IP地址,无论是通过dhcp或者手动设置。* 组播M-SEARCH/*-NOTIFY。*获取Loacation指定的设备描述文件。*从描述的service/actions/events中选择自己感兴趣的。 # 设备描述文件模板 10
2015-01-08 20:13:47
2759
原创 ssdp 在android上的一些问题 01.07 更新 01.08再次更新
只用MulticastLock是不够的。先看ubuntu miniDLNA/android BubleUPnP 的抓包例子:# 192.168.2.103:33940 --> 239.255.255.250:1900M-SEARCH * HTTP/1.1Man: "ssdp:discover"Mx: 3Host: 239.255.255.250:1900St: ssdp
2015-01-06 21:56:31
1520
原创 ubuntu环境下我的第一个android apk (2014.12.12更新)
背景====终极目的是把ffplay2放到android手机上跑起来。现在我们该进入android这个新世界了。我的环境是ubuntu 14.04。手机借了一个HTC 4.4.4的。下载====sudo apt-get install ant openjdk-7-jdk#ant 相当于make, jdk用来编译java代码。android-ndk-r10d-li
2014-12-11 21:29:42
1804
原创 ffplay on SDL2 之三
本阶段把把ffplay2.c融入到ffmpeg自动编译体系中。为了便于git更新,尽量对存在的文件做最小的改动,下面的方式只需对Makefile改两行,其他文件不变。总的思路就是找ffplay出现在哪ffplay2也出现在哪。第一步:cp doc/ffplay.texi doc/ffplay2.texised -e 's/ffplay/ffplay2/g' Makefilecp
2014-12-08 22:19:22
1555
原创 ffplay on SDL2 之二
本阶段完成把ffplay移植到sdl2, PC上基本测试:图片,视频OK。api 1.2SDL_Surface *screen; screen = SDL_SetVideoMode(w, h, 0, flags); SDL_WM_SetCaption SDL_FillRect screen->format, w, h SDL_UpdateRect SDL_Ove
2014-12-07 23:26:26
3962
原创 ffplay on SDL2
背景介绍SDL2官方已支持android了, 而git ffmpeg 上还是沿用老的SDL1.2。据目前我搜索的信息,目前还没有ffplay在sdl2上跑的实例。 能把ffplay 放到android上跑,也算是为开源社区尽一份绵薄之力。计划avplay -- 简单的视频播放,使用SDL2, 在PC上测试。ffplay -- 完整的音视频播放,使用SDL2, 在PC上测试。
2014-12-04 20:14:04
3511
原创 纪念我的第一张缩略图生成了
不是使用命令行喔, 直接用api接口。注意事项见代码里面的注释。生成缩略图这个问题,困扰了我一个星期,加上周末的时间都没搞好。今天来一下子就搞定了,在非常沮丧的时候,,真是非常非常的高兴。所谓“厚积薄发”,是也。特此纪念我逝去的青春, 我不感到惭愧! 代码路径:https://github.com/DeYangLiu/ffmpeg-streaming/commit/141f26
2014-11-24 20:58:14
931
转载 We Are All Confident Idiots
http://www.psmag.com/navigation/health-and-behavior/confident-idiots-92793/
2014-10-28 20:39:05
1400
原创 FFM不能封装flv的问题和替代方案SFF
ffmpeg -i ~/video/ZhangMaoZhen/AVSEQ04.DAT -vf thumbnail -frames:v 1 xx.png一定要解码?编码参数变化 --》修改pps/sps.带宽,码率。多播 setsockopt(IP_ADD_MEMBERSHIP): No such deviceroute add -net 224.0.0.
2014-10-08 20:14:42
5062
原创 增加一个 AVFormat 格式:PES
lavf 公共格式:AVFormatContext { AVInputFormat *iformat; //输入格式 AVOutputFormat *oformat; //或者输出格式 void *priv_data; //私有上下文 AVIOContext *pb; //输入输出上下文 unsigned int nb_streams; //几路流 AVStream
2014-09-22 21:05:07
1205
原创 ffserver + hls + ts 循环缓冲区
http_receive_data: 如果feed_write_index >= FileMaxSize,则回绕循环写,覆盖先前的。ffmpeg转码离线文件,写的太快?fmt_in 对应Stream.Feed/File, http_send_data时如果不能av_read_frame(c->fmt_in, &pkt),则设置HTTPSTATE_WAIT_FEED,改变状态
2014-09-16 22:08:00
3300
原创 ffserver + hls
例子====ffserver -f stream.conf &ffplay http://localhost:8090/test1.mpg & #可以多个ffmpeg -i INPUT http://localhost:8090/mpg.ffm &fg#如果ffplay还没有显示,就再次ffmpeg feed一下。摄像头+rtp:播放先于录制,大概有1秒延迟;
2014-09-10 21:52:40
4176
原创 ffmpeg filter
滤波:去除不想要的干扰,噪声,颜色。后处理去方块效应problem of block artifacts smooth slowing-changing regiongs --> ramp-like gradient, piece-wise constant 平坦区域的亮度跳跃。 跨边界出现锯齿。reason: DCT retain only one subba
2014-09-01 20:25:32
3900
原创 mpeg1/2 预测
预测基本概念====预测值p, 实际值a, 残差值d=a-p。编码端和解码端使用相同的预测方法,意味着两者的p相同,编码端只需传输d,解码端收到后,就可以重建实际值a=p+d。o帧内预测(h263+才有)图像相邻块间差别不大,称作空间冗余。o帧间预测运动估计是寻找当前编码块在参考帧中的最佳对应块,并计算出位移矢量。”最佳“是指差值的无穷范数最小。运动补偿描述
2014-08-26 21:47:27
933
原创 mpeg 变换DCT
uncorrelated image has more sharp intensity vairations-->has more high frequency content.has its energy spread outlow spatial contentenergy compactiioncorrelation1维N点FDCT和IDCT: C(u) =\
2014-08-19 20:16:00
1410
原创 mpeg1/2 量化过程
场景: ffmpeg -i b3e.mpeg -dct int -idct int -threads 1 -y yy.mpeg1. 编解码流程pthread_slice.c:worker--> encode_thread--> ff_set_qscale(5); ff_mpeg1_encode_slice_header: SLICE_MIN_START_CODE q
2014-08-16 17:26:01
1609
原创 熵编码--mpeg12video huffman编码
熵编码====DC表示为幅度差值diff所用的比特数size, 差值diff。一个AC表示为幅度所用的比特数run,幅度值level,正负号s。EOB 表示后面的都是零值。escape 后面接 run 固定6bit, level 固定12bitIS -- ffmpegB.12 -- vlc_dc_lum_code/len B.13
2014-08-13 20:26:41
1280
原创 使用ffmpeg生成I帧
{/*a raw mpeg1 video frame generated by: ffmpeg -i dragon.jpg -f mpeg1video -y dragon.mpg has no sequence end code, which will cause decode fail, so we append one here. --ludi 2014.08 */
2014-08-07 22:06:51
2852
原创 mp2 解码器kjmp输出32bit
背景====由于kjmp[1] 带的mp2dec.c 输出的为s16le的,我需要输出32bit来和硬解对比。于是有下面的笔记。PCM====声音的裸数据最小单位是PCM 。一个PCM sample 就相当于图像里面的一个像素。相关的概念有采样率,理解为一秒内(时间)横坐标取多少个点。声音的频率是一秒内波形重复多少次。最基本的波形就是我们高中看到的正弦波啦,因此凡提
2014-07-29 20:02:25
2425
原创 学拳录 24中盘 (07.29更新)
24中盘 跨臀胸 裆的重心 脚膝腿 臂肘手 眼 劲道动作一 腰劲右旋,上体右转45度螺旋下沉 重心移于右腿,六四分。 旋踝转腿 右手顺缠,画外上弧忽然一抖至右侧上方。左手逆缠曲肘从左到右画上弧至右肩前。 看前方 右手撩动作二 腰劲右旋,上体左转45度。 重心仍偏于右腿,裆撑圆 十指抓地 画下弧双手合抱 看前方 走肘采动作三 腰劲右旋,身体下沉 重心移于左腿,六四分。 旋踝转腿 左手先逆
2014-07-22 20:12:58
1061
原创 把UML概念融合到整个软件设计过程
UML是统一建模语言的缩写,(统一场论?)给人一种虚高的感觉。以前一直我没有关注,直到看到一本书,才知道工程写法和教科书写法差异实在太大。需求分析 --use case diagram 并不是一个需求/功能就画一个圈,而是对需求有一个分类,抽象的过程。关联在一起的需求同时解决的效率高些,因为省去了思维和场景,环境的切换。比如分类:UI,业务流程,数据存储,呈现等等。
2014-07-22 20:09:24
887
原创 学拳录 23退步压肘
23退步压肘 跨臀胸 裆的重心 脚膝腿 臂肘手 眼 劲道动作一 腰劲右旋,身体左转45度。 偏右,七三分 右腿里转 右手顺缠向左画下弧,高与眼平。左手逆缠向左画下弧至左膝上方外侧。 看右手 先开再合动作二 腰劲左旋,身体右转45度。 裆与后弧,重心左移 左腿蹬地里转 右手逆缠画下弧到右前上,掌心向右;左手顺缠,肘里合。 看前方 肩靠肘挒动作三 腰劲右旋,身体左转45度下沉。开左胸。 后
2014-07-15 19:56:53
855
原创 分摊分析介绍
/*分摊分析 聚类方法 最坏情形下,一系列操作总的代价上界除以操作个数,就是每个操作的分摊代价。这里每个操作的分摊代价相同。例子 二进制计数器INC(A) i = 0 while i A[i] = 0 i = i + 1 if i A[i] = 1初始时A[0..k] = 0.INC(A)最坏是O(k), n次INC最坏达到
2014-07-15 19:51:57
3289
原创 字符串匹配:从后缀自动机到KMP
后缀自动机(sam)上的字符串匹配====我们把相对较短的模式串构造成sam。对于P="abcabcacab", T[1..i]的后缀,使得它是sam的最长前缀长度:T: b a b c b a b c a b c a a b c a b c a b c a c a b c 1 1 2 3 1 1 2 3 4 5 6 7 1 2 3 4 5 6 7 5 6 7 8 9 1
2014-07-08 20:19:29
1648
原创 学拳录22 倒卷肱 (2014.07.08更新)
22倒卷肱 跨臀胸 裆的重心 脚膝腿 臂肘手 眼 劲道动作一 右催左领,周身合住 螺旋下沉 双腿里缠,左脚尖里转45度 顺缠左坐腕转膀,掌心向右偏上,右手粘连先逆缠后顺缠 看左手 穿掌动作二 腰劲右转,上体左转45度沉 移于右腿,二八分 左脚跟里转45 左手顺缠至右肘前 右前下 右肘前卷下采动作三
2014-07-01 19:54:23
1654
原创 后缀自动机的直观理解
后缀自动机(SAM)搜了网上,多介绍应用,[3]算是一个比严格的定义性描述,并给出了证明。但是这个证明我并未看懂,下面综合一些资料给一些个人的直观但不失严谨的理解。给定一个串A的后缀自动机是一个有限状态自动机(DFA),它能够且仅能够接受A的后缀,并且我们要求它的状态数最少。设n=|A|, 状态数:st=[n+1,2n-1], 边数:eg=[n,3n-4]。构造:空间复杂度:26*st
2014-07-01 19:31:56
1252
原创 学拳录 21肘底锤
21肘底锤 跨臀胸 裆的重心 脚膝腿 臂肘手 眼 劲道动作一 左转沉 左下沉。偏右 左脚尖点地外转圆裆右手逆缠里翻外开,左手顺缠沉至腹前。右手向前上展展到右眼前方,左手逆缠到左大腿外。 先看左手再看右手 同上动作二 右转沉,左转向东偏左 左脚尖里转双手逆缠开。变顺缠,左手左前上翻到面前,右手右后下沉。左掌逆缠下沉,右拳至左肘下,双臂棚圆。看前方 挒劲
2014-06-24 20:44:00
973
原创 字符串后缀自动机:Directed Acyclic Word Graph
trie -- suffix tree -- suffix automa 有这么一些应用场景:即时响应用户输入的AJAX搜索框时, 显示候选列表。搜索引擎的关键字个数统计。后缀树(Suffix Tree): 从根到叶子表示一个后缀。仅仅从这一个简单的描述,我们可以概念上解决下面的几个问题:P:查找字符串o是否在字符串S中A:若o在S中,则o必然是S的某个后缀
2014-06-24 20:41:56
1795
原创 学拳录 20三换掌
20三换掌 跨臀胸 裆的重心 脚膝腿 臂肘手 眼 劲道动作一 右转沉。左转沉,突出右胯。偏左。偏右合裆 左脚尖为轴里转,再外转。双顺缠外翻里合,棚肘。双逆缠掌心交错 看双手右引按劲左穿掌。左手反拿拉直左臂,右采肘。抖发横挒掌动作二 左转开胸升。右转沉 右移。再偏左。 左脚尖为轴外开,再里转。两腿先开后合。右手顺缠下沉,右手肘顺缠下沉。待左脚尖里转后,裆走
2014-06-17 19:35:16
969
原创 c2java select algorithm
对于很多应用来说,随机算法是最简单的或者最快的。既简单又快的有没有呢?那需要深刻的洞察力或者革命性的突破。什么是随机算法随机算法与确定算法区别是:它还接收输入随机比特流来做随机决策。对于同一个输入,每次运行所用的算法行为都不同,虽然结果都是一样的。Foiling an adversary可以构造一个输入使得一个确定性算法运行时间最长。随机算法可以看作是从
2014-06-17 19:31:37
907
原创 学拳录 19双推掌
19双推掌 跨臀胸 裆的重心 脚膝腿 臂肘手 眼 劲道动作一 右转升,左转沉 略向右,再偏左 随身右拳逆缠,再顺缠沉到两膝中线; 左拳贴腹先逆后顺粘连旋转看右拳 拿敌左手动作二 右转螺旋沉 快速右移,下沉,偏左 右膝里扣右拳逆缠变掌,掌背贴左肘下外。左拳变掌逆缠坠肘,经胸前下向上顺缠棚,腕背贴右臂里侧。然后双臂随身下沉。看右前下 棚挤动作三 左转沉,
2014-06-10 19:10:46
874
netsurf 浏览器
2013-09-07
网页flash播放插件
2014-11-09
ffplay2-v2.apk
2014-12-21
netsurf for windows
2013-08-21
为什么gcc 对类型转换不报错?
2013-11-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅