- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 解决ffmpeg生成mp4文件不能正常预览的问题
框架的使用极大的提高了开发效率,让我们能够有更多的精力去关注系统的整体架构和业务需求,而不需要过多的关注一些具体的实现细节,但任何事情都有两面性,如果某个细节出了问题,由于对具体的实现不了解,那么会给我们解决问题带来不少困扰。下面借用最近遇到的问题分享一个解决问题的思路,我们的会议系统使用ffmpeg生成的mp4文件在windows下不能正常预览,进一步测试还有如下表现:1、在wmp(系统自带播放器)下播放弹出“无法播放此文件”,而使用vlc播放是正常的;2、使用mp4info打开该文件显示“open
2020-11-04 18:42:12 6768 7
原创 控件加密方式之窥探、模拟
控件加密方式之窥探、模拟场景网址:http://www.xxxxxx.com/控件:xxxxx.ocx目的:通过反汇编调试跟踪控件对于密码的加密方式登录界面如下图,密码框为控件: 工具OllyDBG_1.10 步骤1、 使用RUN跟踪等方式找到关键代码位置,如下图: 大家可以看到此处“999999”为输入的密码,06CA75EC函数的目的是对原始密码做3DES加密,密钥固定。2、 继续运行,如下...
2018-03-22 10:33:52 767
原创 多码流RM文件的解析
单码流与多码流分析 VOD4.6客户端不支持rm10的播放,通过分析发现rm10文件是多码流的,它的各条数据流按块分布,与以前的单码流音视频交错分布不同。而有些rm9的文件也是多码流的,所以不能播放的原因是单、多码流的不同。 单码流和多码流不只是数据分布的不同,它们的头部也有很大的不同。 MDPR部分:在单码流中每一个流对应一个MDPR,在多码流中也
2013-07-23 10:14:10 916
翻译 XMM SSE2浮点指令
SSE2 (单指令多数据流扩展)浮点指令使用128位的XMM寄存器,可以处理双精度(64位)浮点值。也有一些工作于单精度(32位)浮点值的指令。SSE2在Pentium 4 和 Xeon处理器中被提出。这些指令跟SSE浮点指令非常类似,除了它们工作的数据长度不同。在你的代码中使用这些指令之前,你必须检测你的机器是否支持它们。设置EAX=1,调用CPUID指令,此时测试EDX的第26位,如果
2013-05-03 18:07:45 6656
原创 Node.js中的IOCP
想必有些人看过朴灵的《深入浅出Node.js(五):初探Node.js的异步I/O实现》http://www.infoq.com/cn/articles/nodejs-asynchronous-io,此篇写的还是很精彩的,特别是对于原理的分析,说明作者在此浸淫已久,不过个人认为其中对于IOCP的理解不是很精准,或者说会引起读者歧义,且看以下原文中描述:那么在Windows平台下的状况如何呢?而
2013-04-28 09:42:54 2003
原创 无锁编程之免锁
要保证线程安全,并不是一定就要进行同步,两者没有因果关系,即使涉及到共享数据,也未必需要加锁,大家往下看。环形缓冲区是生产者和消费者模型中常用的数据结构。生产者将数据放入数组的尾端,而消费者从数组的另一端移走数据,当达到数组的尾部时,生产者绕回到数组的头部。如图所示,当读者和写者指针相等时,表明缓冲区是空的,而只要写入指针在读取指针后面时,表明缓冲区已满。如果只有一个生产者和一
2013-04-16 17:19:47 1333
原创 斐波那契数列的递归、递推算法比较
公式:F(n+1)=F(n)+F(n-1), F(0)=F(1)=1网上找到的一个最简单例子,修改了两个bug// 递归算法int F1(int n){ if (n return 1; else return F1(n-1)+F1(n-2);} // 递推算法int F2(int n){ if (n
2013-04-16 15:24:32 1248 1
原创 JVM中复杂对象的原子操作
上次讲到在无锁编程中,AtomicInteger可以对int型变量进行原子加减等操作,但是如果操作的是变量类型变成一个复杂对象,那么AtomicStampedReference就派上用场了,下面还是通过compareAndSet方法来剖析一下其内部的机制(以32位X86平台为例)。 AtomicStampedReference::compareAndSet-> AtomicS
2013-04-15 09:08:42 1262
原创 JVM原子操作的实现与一点改进想法
"原子操作(atomic operation)是不需要synchronized",这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。原子操作是不可分割的,在执行完毕之前不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中,能够在单条指令中
2013-04-13 10:39:48 1281
原子操作与volatile
2016-06-25
并发编程模型演进
2016-06-25
IO模型与性能分析
2016-06-25
Python脚本教程
2013-03-18
漫谈兼容内核——毛德操
2011-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人