介绍
并发是多个事情同时发生的概念。随着 CPU 核数的增加,开发者需要新的方式去利用它们。尽管像OS X和iOS这样的操作系统能够并行地运行多个程序,但这些程序大多在后台运行,执行的任务几乎不需要持续的处理器时间。当前的前台程序才是既能吸引用户的注意力,又能让计算机忙碌的程序。如果一个程序有很多任务要执行,但只保持一小部分可用的内核被占用,这些额外的处理资源就被浪费了。
并发是多个事情同时发生的概念。随着 CPU 核数的增加,开发者需要新的方式去利用它们。尽管像OS X和iOS这样的操作系统能够并行地运行多个程序,但这些程序大多在后台运行,执行的任务几乎不需要持续的处理器时间。当前的前台程序才是既能吸引用户的注意力,又能让计算机忙碌的程序。如果一个程序有很多任务要执行,但只保持一小部分可用的内核被占用,这些额外的处理资源就被浪费了。
avcodec_find_decoder
和avcodec_find_encoder
主要是查找 FFmpeg 的解码器和编码器。
API处理套路:
与C语言交互发生在使用一些C语言编写的API上。C语言的语法会桥接到Swift中对应的语法中。Swift能很好地与C语言交互。
KVO用于逻辑隔离对象之间的监听,支持一对一和一对多的属性监听。这里的一对一和一对多是针对监听的属性的,即既可以监听单个属性,也可以监听集合属性。
在OC中,所有NSObject子类的所有属性(包括计算属性)都支持KVO;而在Swift中,只有在@objc dynamic
修饰的属性(包括计算属性)才支持KVO,即使用@objc dynamic
修饰的属性与OC行为一致。
本地编译:当前平台上编译用于当前平台的程序或库。
交叉编译:用特定的交叉编译器编译用于其他平台的程序或库。
FFmpeg中获取PTS:
变化:
关键的结构体可分成以下几类:
解协议(http、rtsp、rtmp、mms)
下载已编译的静态库:https://evermeet.cx/ffmpeg/