天行健,君子以自强不息!
发布时间:2012-12-21 14:50:01
正常人听觉的频率范围大约在20Hz~20kHz之间。采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。对采样率为44.1kHz的AAC音频进行解码时,一帧的解码时间须控制在23.22毫秒内。通常是按1024个采样点一帧分析:1. AAC一个AAC原始帧包含某段时间内1024个采样点相关数据。用1024主要是因为AAC是用的1024点......【阅读全文】
发布时间:2012-12-21 11:08:18
很简单的一个FIFO应用示例,两个进程间,使用FIFO进行通信.闲言少述,直接上文:my $cmd_ff = "./ffmpeg -i ....";my $uuid = `uuidgen`; // 生成不重名FIFO的名称chomp $uuid;system("mkfifo $uuid"); // 创建FIFOmy $pid_ffmpeg = fork; // 创建进程if (0 == $pid_ffmpeg){&......【阅读全文】
发布时间:2012-12-18 10:22:41
一、简介共享内存为在多个进程之间共享和传递数据提供了一种有效的方式。但它本身并未提供同步机制。在实际编程中,可以使用 信号量, 传递消息(使用管道或IPC消息), 生成信号, 条件变量,等方法来提供读写之间的有效的同步机制。本例程序使用信号量进行同步,主要是因为它方便,使用广泛,且独立于进程。本例程序实现了,生产者进程: 每次读取YUV输入文件的一帧, 然后将其写到共享内存中。消费者进程: 每次从共享内存中读到一帧, 处理后, 将其写到输出文件。两个进程间使用信号量来保证同步处理每一帧。......【阅读全文】
发布时间:2012-12-11 21:07:00
一、线程同步线程同步的两种基本方法:A. 信号量 它的作用如同看守一段代码的看门人。 控制一组相同对象的访问时, 比如从5条可用的电话线中分配一条给某个线程的情况, 就更适合计算信号量。 最简单的信号量--二进制信号量,它只有0和1两种取值; 更通用的信号量--计数信号量,它有更大的取值范围。B. 互斥量 它的作用如同保护代码段的一个互斥设备。 如果想控制任一时刻只能有一个线程可......【阅读全文】
发布时间:2012-12-11 20:57:11
一、什么是线程在一个程序中的多个执行路线就叫做线程(thread)。更准确的定义是:线程是一个进程内部的一个控制序列。事实上,所有的进程都至少有一个执行线程。创建新进程的fork系统调用与创建新线程的区别:当进程执行fork调用时, 将创建出该进程的一份新副本。 这个新进程拥有自己的变量和自己的PID, 它的时间调度也是独立的, 它的执行(通常)几乎是完全独立于父进程。当在进程中创建一个新线程时, 新的线程拥有自己的栈, 因此也有自己的局部......【阅读全文】