简介版本:3.2.x本页目录简介本项目也称为“FFMpeg-Python编码解码器” ("FFmpeg-Encoder-Decoder-for-Python"),基于FFMpeg,Python-C-API和C++11编写,并通过GPL v3 许可发布。本项目建议在研究场景下使用。使用本项目,用户可以利用FFMpeg的所有视频编码器如同基于C的原版FFMpeg,本项目提供的API能在视频解码、或解流的时候,自动检测视频格式和编码器 (codec)。在编码视频的时候,用户可以自由控制编码格式、比特率以及一些其他参数。直达FFMpeg核心不同于ffmpeg-python和pyffmpeg,本项目在底层直接调用FFMpeg的C API,而不需要通过命令行和管道来与FFMpeg交换指令、数据。并且,本项目的数据格式就是np.ndarray。换言之,通过本项目,用户可以轻松并用Numpy和FFMpeg。image_focus帧级别的API不同于pyffmpeg,本项目并非FFMpeg在python上的简单封装。使用本项目时,用户在帧的尺度来读写视频。例如,当解码一个视频的时候,用户可以逐帧地得到视频数据,每一帧都是一个三维np.ndarray数组。3333预编译的包本项目已经被作者预编译好。如果用户选择下载本项目附带的链接库 (.so或.dll),则无需编译即可使用本项目。然而,本项目在以下情况受到限制:平台限制目前,本项目只支持Linux和Windows。其中Linux的发行版只在Debian上预编译、并只在Debian和Ubuntu上测试。Windows的发行版编译和测试均在Windows上完成。在其他平台上,预编译的发行版可能无法正常工作,如果用户对此有特别需求,则需要自行修改代码并编译。版本限制目前,本项目目前支持FFMpeg 4.4和5.0。在使用本项目时,用户可以通过下载本项目附带的动态链接库,免去安装FFMpeg的麻烦。抑或是直接安装能自动拉取链接库的pip版。本项目的一些旧版支持FFMpeg 3.3, 3.4.2和4.0。但是,作者已经弃用了这些版本,并不再提供对它们的技术支持。compose music不支持音频处理尽管原版的FFMpeg支持音视频处理,本项目目前只实现了视频处理的部分。例如,假设用户需要处理的视频里含有音频数据,本项目会在底层忽略所有的音频相关数据。换言之,用户现在无法通过本项目实现音频分析。未来可能在v4版本支持音频处理。creativity不支持滤镜尽管原版的FFMpeg提供了一些视频滤镜库 (avfilter和postproc),本项目不使用这些模块,因为我们认为这些功能可以被一些其他的python图像处理包替代,例如pillow和openCV。另一方面,本项目保留了视频缩放和重采样的功能 (通过swscale和swresample完成)。插图由unDraw提供。相关材料本项目的许可证:GPL v3 许可合作与贡献指南:贡献本项目贡献者利用规约:利用规约