FFMS2 官方说明译文 [原创]
原文:https://github.com/FFMS/ffms2
译文:http://www.cnblogs.com/popapa/p/ffms2.html
采集日期:2018-3-18
FFmpegSource 常被称为 FFMS 或 FFMS2,是一种跨平台的 FFmpeg 封装库。有了它,你就可以简单地实现:“打开并解压多媒体文件就是了,实现细节不用我操心”。大多数情况下,你还能用它精确访问到每一帧数据,再也不必经常受困于苍白无力的 FFmpeg API 文档了。
虽然 FFMS2 库是用 C++ 编写的,但暴露出来的 API 却是纯 C 格式的。这样你只要能链接 C 库,就能使用 FFMS2 了。其源代码的版权遵守 MIT 协议,但二进制库的版权得根据 FFmpeg 部分的编译方式而定。你可以选用 FFmpeg 部分是遵守 GPL 协议的库,这样 FFMS2 就同样得遵守 GPL 协议了。正是由此,官方的 Windows 版本才须遵守 GPLv3 协议。
关于如何使用 FFMS2 库的详细信息,请参阅 API 文档(我的译文) 和 更新日志。
Avisynth 和 VapourSynth 插件
对于最终的使用者而言,FFMS 的最常见用途是作为 Avisynth 和 VapourSynth 的多媒体源插件(plugin ),用来打开多媒体文件。本 FFMS2 项目包含了插件功能,可以直接下载,相关文档请参阅 Avisynth 用户手册。
功能特性
除了能打开几乎所有常见的视频、音频格式外,在所有 Avisynth 多媒体源滤镜(filter)中,本插件的以下特性也算得上是独一无二了:
- 唯一支持 Unicode 文件名,即便系统的地区代码页(codepage)没能标明;
- 唯一支持可变帧率(VFR);
- 唯一可在 Wine 下稳定运行的 Avisynth 通用源滤镜(不局限于某些格式);
- 唯一不依赖其他外部解码器的通用源滤镜;
- 或许是唯一支持播放过程中(mid-stream)切换视频分辨率的源滤镜。
版本代号
为了避免您对多种版本代号感到困惑,以下稍作解释:
- Vanilla(不带后缀):标准的 32 位版。如果你不知道该怎么选,那就用这个版本。
- -x64:64位版;最适用于 64 位版的 Avisynth。
- -avs-cplugin:用 C 写的 Avisynth 插件。主要是为了能读取 Avisynth 2.6 新定义的色彩空间数据。
- SDK:开发包,用于开发 Windows 程序,适用于 Visual Studio 2008 以上版本。
标有 rXXX 的版本是在正式发布版之间的测试版本。如果需要用到最新的特性,或者只是想尝尝鲜,那你尽可以下载试用。请注意测试版本的稳定性,可能不如官方发布版本。
取名 FFmpegSource 其实没什么理由
FFMS 最初是作为 Avisynth 读取文件的插件存在的,一度被称为 FooSource,这里的 Foo 通常表示是用于打开文件的功能。由于历史原因,整个项目仍被称为 FFmpegSource。当然最近几年,FFmpegSource 确实会让人产生误会,可能会被认为是 FFmpeg 的源代码之类的。为了避免混淆,最好还是用 FFMS2 来表示(因为第 1 版还只是 Avisynth 的插件),就让 FFmpegSource 专用于表示 Avisynth 插件吧。
FFMS2 官方说明译文 [原创]的更多相关文章
- FFMS2 API 译文 [原创]
FFMS2 又称 FFmpegSource2,参阅 https://github.com/FFMS/ffms2. 原文:https://github.com/FFMS/ffms2/blob/maste ...
- cocos2d-x-3.1 Text Labels(官方正式译文)
介绍 cocos2d支持(true type字体)标签,和纹理地图集标签. LabelTTF 标签的优缺点: 全部 TTF 字体的长处: 随意大小,支持调整字距. 易于使用. 不须要外部编辑器. 创建 ...
- TimelineJS JSON 数据格式 - 译文 [原创]
TimelineJS 是用于绘制时间轴的 Javascript 开源脚本,目前是 TimelineJS3 版.参阅 https://github.com/NUKnightLab/TimelineJS3 ...
- 10分钟了解 pandas - pandas官方文档译文 [原创]
10 Minutes to pandas 英文原文:https://pandas.pydata.org/pandas-docs/stable/10min.html 版本:pandas 0.23.4 采 ...
- Apache Kafka官方文档翻译(原创)
Apache Kafka是一个分布式流平台.准确的说是什么意思呢?我们认为流平台具有三种关键能力: 1.让你对数据流进行发布订阅.因此他很像一个消息队列和企业级消息系统. 2.让你以高容错的方式存储数 ...
- OWASP 关于会话管理 - 译文 [原创]
英文原文:https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Session_Management_Cheat_Shee ...
- Daphile 安装手册 -- 官方文档译文 [原创]
Daphile 安装手册(Daphile Installation) 英文原文:https://www.daphile.com/download/DaphileInstallation.pdf 采集日 ...
- Daphile FAQ -- 官方文档译文 [原创]
Daphile FAQ 英文原文:https://www.daphile.com/download/FAQ.txt 采集日期:2021-01-03 常见问题解答:(FAQ) Q1:没有声音.Daphi ...
- Python 并行计算那点事 -- 译文 [原创]
Python 并行计算的那点事1(The Python Concurrency Story) 英文原文:https://powerfulpython.com/blog/python-concurren ...
随机推荐
- 分布式缓存技术redis系列(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- Java代码输出到txt文件(申请专利贴源码的必备利器)
最近公司在申请专利,编写不少文档,项目的代码量实在是过于庞大.如果一个一个的复制粘贴虽然能够完成,但是对于程序员而言实在没有这个必要.shell或者python就能解决这个问题.由于我个人对于shel ...
- 【转】Python数据处理(四舍五入、除法部分)
转自:https://www.cnblogs.com/junyiningyuan/p/5338378.html 关于除法 传统除法 对两个整数进行除的运算,同时结果会舍去小数部分,返回一个整数.但如果 ...
- springboot不使用内置tomcat启动,用jetty或undertow
Spring Boot启动程序通常使用Tomcat作为默认的嵌入式服务器.如果需要更改 - 您可以排除Tomcat依赖项并改为包含Jetty或Undertow: jetty配置: <depend ...
- python获取网站http://www.weather.com.cn 城市 8-15天天气
参考一个前辈的代码,修改了一个案例开始学习beautifulsoup做爬虫获取天气信息,前辈获取的是7日内天气, 我看旁边还有8-15日就模仿修改了下.其实其他都没有变化,只变换了获取标签的部分.但是 ...
- kubernetes pvc pv 坑
这里遇到一个问题,开始建立的pv死活claim为空,查看pv以及pvc的配置发现并没有任何名称上的关联,继续研究,发现纯粹是通过storage大小进行匹配的,之前因为照抄书本,一个是5G,一个是8G所 ...
- oracle什么时候须要commit
今天在oracle的SQL plus 中运行了删除和查询操作,然后在PL/SQL中也运行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,可是为什么不一致呢,就 ...
- Servlet基础笔记
一.什么Servlet? servlet 是运行在 Web 服务器中的小型 Java 程序(即:服务器端的小应用程序).servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户 ...
- mysql 5.7.12 winx64安装配置方法图文教程
这篇文章主要为大家分享了mysql 5.7.12winx64安装配置方法图文教程,感兴趣的朋友可以参考一下 之前安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录, ...
- 20155325 2017-2018 1 课上测试、课下作业、实验——码云&博客链接汇总 《信息安全系统设计基础》
第二周-课上 码云 https://gitee.com/bestiisjava2017/XinXiAnQuanXiTongSheJiJiChu20155325thl/tree/master/0927 ...