FFmpeg

一个完整的、跨平台的音频和视频录制、转换和流媒体解决方案。

转换 视频音频 从未如此简单。

$ ffmpeg -i input.mp4 output.avi

    新闻

2024 年 9 月 30 日,FFmpeg 7.1 “Péter”

FFmpeg 7.1 "Péter",一个全新的主要版本,现已发布! 完整的更改列表可以在发布更新日志中找到。

此版本更重要的亮点是,在 7.0 版本中作为实验性合并的 VVC 解码器已经有足够的时间成熟并进行了足够的优化,可以被声明为稳定版。 该编解码器开始在广播标准化机构中获得关注。
添加了对原生 AAC USAC(xHE-AAC 编码系统的一部分)解码器的支持,由于其广泛的音量标准化元数据,该格式开始被流媒体网站采用。
现在支持 MV-HEVC 解码。 这是一种立体编码工具,开始由最近的手机和 VR 耳机提供并生成。
现在通过外部库支持 LC-EVC 解码,这是一种增强元数据层,旨在提高编解码器的质量。

合并了对使用 H264 和 HEVC 的 Vulkan 编码的支持。 通过为 Vulkan 帧提供接收器,而不是下载或显示它们,这最终实现了完全基于 Vulkan 的解码-过滤-编码管道。 编码器具有与其 VAAPI 实现对应物相同的功能。 Khronos 已宣布对 AV1 编码的支持也将很快添加到 Vulkan 中,而 FFmpeg 的目标是实现首日支持。

除了上述内容外,此版本还完成了很多重要的内部工作。 到目前为止,内部最突出的改进是针对全范围图像的改进。 以前,颜色范围数据有两条路径,没有协商,并且不可靠地转发到过滤器、编码器、复用器。 清理系统的工作在 10 多年前就开始了,但是由于系统是如此脆弱,并且破坏行为是不可接受的,因此这项工作停滞了。 新系统修复了此问题,因此现在颜色范围在需要的地方正确且一致地转发,并且还为更高级的协商形式铺平了道路。
现在 Matroska 和 MP4 格式支持裁剪元数据。 此元数据不仅对于存档很重要,而且对于 AV1 也很重要,因为硬件编码器需要其信令,因为编解码器本身不支持此信令。

与往常一样,我们建议用户、分销商和系统集成商升级,除非他们使用当前的 git master。

2024 年 9 月 11 日,Coverity

FFmpeg 在 Coverity(静态分析器) 中存在的问题数量现在低于 2016 年以来的任何时候。 我们的缺陷密度不到代码行数超过一百万行的 OSS 的平均水平的 1/30。 所有这一切都得益于 Sovereign Tech Fund 的资助。

Coverity Lifetime Graph till 2024-08

2024 年 6 月 2 日,原生 xHE-AAC 解码器

FFmpeg 现在实现了一个原生 xHE-AAC 解码器。 目前,支持没有 (e)SBR、USAC 或 MPEG-H Surround 的流,这意味着大多数正在使用的 xHE-AAC 流应该可以正常工作。 对 USAC 和 (e)SBR 的支持即将推出。 改进其稳定性和兼容性的工作也在进行中。 在此过程中,我们发现了一些规范问题,然后将其提交回作者进行讨论,并有可能将其纳入未来的勘误表中。

2024 年 5 月 13 日,Sovereign Tech Fund

FFmpeg 社区很高兴地宣布,德国的 Sovereign Tech Fund 已成为其第一个政府赞助商。 他们的支持将有助于维持 FFmpeg 项目的维护,该项目是一个关键的开源多媒体软件组件,对于每天为全球数十亿人带来音频和视频至关重要。

2024 年 4 月 5 日,FFmpeg 7.0 “Dijkstra”

新的主要版本 FFmpeg 7.0 “Dijkstra” 现已可供下载。 对于大多数用户来说,最值得注意的更改是 原生 VVC 解码器(目前是实验性的,直到完成更多的模糊测试)、IAMF 支持多线程 ffmpeg CLI 工具

此版本向后兼容,删除了 6.0 之前弃用的 API。 对于大多数库调用者来说,最大的变化是删除了旧的基于位掩码的通道布局 API,取而代之的是 AVChannelLayout API,该 API 允许自定义通道排序或 Ambisonics 等功能。 某些已弃用的 ffmpeg CLI 选项也被删除,现在需要符合 C11 标准的编译器才能构建代码。

与往常一样,还有许多新的支持格式和编解码器、新的过滤器、API 和无数较小的功能和错误修复。 与 6.1 相比,git 存储库包含大约 2000 个新提交,由大约 100 位作者贡献,涉及约 2000 个文件中的 100000 多行代码 - 感谢所有做出贡献的人。 有关更全面的更改列表,请参阅 更新日志API 更改 和 git 日志。

2024 年 1 月 3 日,原生 VVC 解码器

libavcodec 库现在包含一个原生的 VVC(通用视频编码)解码器,支持该编解码器的大部分功能。 更多优化和对更多功能的支持即将推出。 该代码由 Nuo Mi、Xu Mu、Frank Plowman、Shaun Loo 和 Wu Jianhua 编写。

2023 年 12 月 18 日,IAMF 支持

libavformat 库现在可以读取和写入 IAMF(沉浸式音频)文件。 ffmpeg CLI 工具可以使用新的 -stream_group 选项配置 IAMF 结构。 IAMF 支持由 James Almer 编写。

2023 年 12 月 12 日,多线程 ffmpeg CLI 工具

由于 ffmpeg 命令行工具进行了重大重构,转码流水线的所有主要组件(解复用器、解码器、过滤器、编码器、复用器)现在可以并行运行。这应该能提高吞吐量和 CPU 利用率,减少延迟,并为其他令人兴奋的新功能铺平道路。

请注意,如果几乎所有计算时间都花费在单个组件(通常是视频编码)上,那么您应期望有显著的性能提升。

2023 年 11 月 10 日,FFmpeg 6.1 “Heaviside”

FFmpeg 6.1 “Heaviside”,一个新的主要版本,现已发布!以下是一些亮点:

  • libaribcaption 解码器
  • Playdate 视频解码器和解复用器
  • 扩展了 Windows 上 libva-win32 的 VAAPI 支持
  • afireqsrc 音频源滤波器
  • arls 滤波器
  • ffmpeg CLI 新选项:-readrate_initial_burst
  • zoneplate 视频源滤波器
  • setpts 和 asetpts 滤波器中的命令支持
  • Vulkan 解码硬件加速,支持 H264、HEVC 和 AV1
  • color_vulkan 滤波器
  • bwdif_vulkan 滤波器
  • nlmeans_vulkan 滤波器
  • RivaTuner 视频解码器
  • xfade_vulkan 滤波器
  • vMix 视频解码器
  • Essential Video Coding 解析器、复用器和解复用器
  • Essential Video Coding 帧合并 bsf
  • bwdif_cuda 滤波器
  • Microsoft RLE 视频编码器
  • Raw AC-4 复用器和解复用器
  • Raw VVC 比特流解析器、复用器和解复用器
  • 用于编辑 VVC 流中元数据的比特流滤波器
  • 用于将 VVC 从 MP4 转换为 Annex B 的比特流滤波器
  • 用于 videotoolbox 的 scale_vt 滤波器
  • 用于 videotoolbox 的 transpose_vt 滤波器
  • 支持 P_SKIP 提示以加速 libx264 编码
  • 增强型 flv 格式中支持 HEVC、VP9、AV1 编解码器
  • apsnr 和 asisdr 音频滤波器
  • OSQ 解复用器和解码器
  • 增强型 rtmp 协议中支持 HEVC、VP9、AV1 编解码器 fourcclist
  • CRI USM 解复用器
  • ffmpeg CLI '-top' 选项已弃用,推荐使用 setfield 滤波器
  • VAAPI AV1 编码器
  • ffprobe XML 输出模式已更改,以处理同一父元素中的多个可变字段元素
  • ffprobe 添加 -output_format 选项作为 -of 的别名

此版本至少已逾期半年,但由于存储库中的持续活动,不得不延迟发布。最近,在计划用于 7.0 的一些大型更改合并之前,我们最终能够分支发布。

在内部,我们也进行了一些更改。用于编解码器和滤波器的 FFT、MDCT、DCT 和 DST 实现已完全替换为更快的 libavutil/tx(有关它的完整文章即将发布)。
这也导致编译后的二进制文件大小减小,这在小型构建中可能会很明显。
在视频解码器中,每个帧上完成的分配总数大幅减少,从而降低了开销。
我们 DSP 代码的许多部分的 RISC-V 优化已合并,主要剩下大型解码器。
为了提高可变帧率视频的准确性,我们努力改进每个数据包的时间戳和帧持续时间的正确性。

下一个主要版本将是 7.0 版本,计划在 2 月发布。我们将尝试更好地遵守今年年初宣布的新发布时间表。

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2023 年 5 月 31 日,Vulkan 解码

几天前,基于 Vulkan 的解码硬件加速代码已合并到代码库中。这是第一个供应商通用和平台通用的解码加速 API,允许在多个平台上使用相同的代码,开销非常小。这也是第一个多线程硬件解码 API,我们的代码充分利用了这一点,使硬件暴露的所有可用解码引擎都达到饱和。

那些希望测试代码的人可以阅读我们的文档页面。对于那些希望将 FFmpeg 的 Vulkan 代码集成到解复用、解析、解码并接收 VkImage 以进行呈现或操作的人,我们的源代码树中提供了文档和示例。目前,需要使用我们 存储库 的最新可用 git 检出版本。该功能将包含在 6.1 版本的稳定分支中,该版本即将发布。

由于这也是规范的第一个实际实现,因此可能存在错误,尤其是在驱动程序和实施本身中,尽管已通过验证。Khronos 组织也在努力标准化,而我们作为实现者,也在努力开发新的编解码器和编码支持,并提供改进的反馈。

2023 年 2 月 28 日,FFmpeg 6.0 “冯·诺依曼”

一个新的主要版本,FFmpeg 6.0 “冯·诺依曼”,现已可供下载。此版本有许多新的编码器和解码器、过滤器、ffmpeg CLI 工具改进,并且还改变了版本的发布方式。所有主要版本现在都将升级 ABI 的版本。我们计划每年发布一个新的主要版本。另一个特定于版本的更改是,已弃用的 API 将在 3 个版本之后,在下一个主要版本升级时被删除。这意味着版本将更频繁地发布,并且组织性更强。

新的解码器包括 Bonk、RKA、Radiance、SC-4、APAC、VQC、WavArc 和一些 ADPCM 格式。QSV 和 NVenc 现在支持 AV1 编码。由于线程化、统计信息选项以及从文件传递过滤器选项值的功能,FFmpeg CLI(我们通常将其称为 ffmpeg.c,以避免混淆)具有速度提升。有很多新的音频和视频滤波器,例如 adrc、showcwt、backgroundkey 和 ssim360,还有一些硬件滤波器。最后,该版本具有许多幕后更改,包括用于编解码器的新 FFT 和 MDCT 实现(有关此的博客文章即将发布)、许多错误修复、更好的 ICC 配置文件处理和色彩空间信号改进、引入了许多 RISC-V 矢量和标量汇编优化例程,以及一些新的改进的 API,可以在我们树中的 doc/APIchanges 文件中查看。一些提交的功能,例如 Vulkan 改进和更多的 FFT 优化将包含在下一个次要版本 6.1 中,我们计划按照新的发布时间表尽快发布。一些亮点是:

  • Radiance HDR 图像支持
  • ddagrab(桌面复制)视频捕获滤波器
  • ffmpeg -shortest_buf_duration 选项
  • ffmpeg 现在需要构建线程
  • ffmpeg 现在在单独的线程中运行每个复用器
  • 向 cropdetect 过滤器添加新模式,以检测基于运动矢量和边缘的裁剪区域
  • VAAPI 解码和编码 10/12 位 422、10/12 位 444 HEVC 和 VP9
  • WBMP(无线应用协议位图)图像格式
  • a3dscope 滤波器
  • bonk 解码器和解复用器
  • Micronas SC-4 音频解码器
  • LAF 解复用器
  • APAC 解码器和解复用器
  • Media 100i 解码器
  • DTS 到 PTS 重新排序 bsf
  • ViewQuest VQC 解码器
  • backgroundkey 滤波器
  • nvenc AV1 编码支持
  • 通过 NDKMediaCodec 的 MediaCodec 解码器
  • MediaCodec 编码器
  • oneVPL 支持 QSV
  • QSV AV1 编码器
  • QSV 解码和编码 10/12 位 422、10/12 位 444 HEVC 和 VP9
  • showcwt 多媒体滤镜
  • corr 视频滤镜
  • adrc 音频滤镜
  • afdelaysrc 音频滤镜
  • WADY DPCM 解码器和解复用器
  • CBD2 DPCM 解码器
  • ssim360 视频滤镜
  • ffmpeg CLI 新选项:-stats_enc_pre[_fmt], -stats_enc_post[_fmt], -stats_mux_pre[_fmt]
  • hstack_vaapi, vstack_vaapi 和 xstack_vaapi 滤镜
  • XMD ADPCM 解码器和解复用器
  • media100 到 mjpegb bsf
  • ffmpeg CLI 新选项:-fix_sub_duration_heartbeat
  • WavArc 解码器和解复用器
  • CrystalHD 解码器已弃用
  • SDNS 解复用器
  • RKA 解码器和解复用器
  • ffmpeg CLI 中的滤镜图语法现在支持将文件内容作为选项值传递
  • hstack_qsv, vstack_qsv 和 xstack_qsv 滤镜

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2022年7月22日,FFmpeg 5.1 “Riemann”

FFmpeg 5.1 "Riemann",一个新的主要版本,现已发布!一些亮点

  • 添加 ipfs/ipns 协议支持
  • dialogue enhance 音频滤镜
  • 已删除过时的 XvMC hwaccel
  • pcm-bluray 编码器
  • DFPWM 音频编码器/解码器和原始复用器/解复用器
  • SITI 滤镜
  • Vizrt 二进制图像编码器/解码器
  • avsynctest 源滤镜
  • feedback 视频滤镜
  • pixelize 视频滤镜
  • colormap 视频滤镜
  • colorchart 视频源滤镜
  • multiply 视频滤镜
  • PGS 字幕帧合并比特流滤镜
  • blurdetect 滤镜
  • tiltshelf 音频滤镜
  • QOI 图像格式支持
  • ffprobe -o 选项
  • virtualbass 音频滤镜
  • VDPAU AV1 hwaccel
  • PHM 图像格式支持
  • remap_opencl 滤镜
  • 添加 chromakey_cuda 滤镜

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2022年1月17日,FFmpeg 5.0 “Lorentz”

FFmpeg 5.0 "Lorentz",一个新的主要版本,现已发布!对于这个期待已久的版本,进行了一项重大努力,移除了旧的编码/解码 API,并将其替换为基于 N:M 的 API,删除了整个 libavresample 库,libswscale 有了一个新的、更容易使用的基于 AVframe 的 API,Vulkan 代码得到了很大的改进,添加了许多新滤镜,包括 libplacebo 集成,最后,添加了 DoVi 支持,包括色调映射和重新复用。默认的 AAC 编码器设置也已更改以提高质量。一些更新日志亮点

  • ADPCM IMA Westwood 编码器
  • Westwood AUD 复用器
  • ADPCM IMA Acorn Replay 解码器
  • Argonaut Games CVG 解复用器
  • Argonaut Games CVG 复用器
  • Concatf 协议
  • afwtdn 音频滤镜
  • 音频和视频段滤镜
  • Apple Graphics (SMC) 编码器
  • hsvkey 和 hsvhold 视频滤镜
  • adecorrelate 音频滤镜
  • atilt 音频滤镜
  • grayworld 视频滤镜
  • AV1 低开销比特流格式复用器
  • swscale 切片线程
  • MSN Siren 解码器
  • scharr 视频滤镜
  • apsyclip 音频滤镜
  • morpho 视频滤镜
  • amr 解析器
  • (a)latency 滤镜
  • GEM Raster 图像解码器
  • asdr 音频滤镜
  • speex 解码器
  • limitdiff 视频滤镜
  • xcorrelate 视频滤镜
  • varblur 视频滤镜
  • huesaturation 视频滤镜
  • colorspectrum 源视频滤镜
  • 用于未压缩视频的 RTP 数据包器 (RFC 4175)
  • bitpacked 编码器
  • VideoToolbox VP9 hwaccel
  • VideoToolbox ProRes hwaccel
  • 支持 loongarch。
  • aspectralstats 音频滤镜
  • adynamicsmooth 音频滤镜
  • libplacebo 滤镜
  • vflip_vulkan, hflip_vulkan 和 flip_vulkan 滤镜
  • adynamicequalizer 音频滤镜
  • yadif_videotoolbox 滤镜
  • VideoToolbox ProRes 编码器
  • anlmf 音频滤镜

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2021年6月19日,IRC

我们现在在 Libera Chat 有一个新的 IRC 主页!欢迎加入我们的 #ffmpeg 和 #ffmpeg-devel。更多信息请访问 contact#IRCChannels

2021年4月8日,FFmpeg 4.4 “Rao”

FFmpeg 4.4 “Rao”,一个新的主要版本,现已发布!一些亮点

  • AudioToolbox 输出设备
  • MacCaption 解复用器
  • PGX 解码器
  • chromanr 视频滤镜
  • VDPAU 加速的 HEVC 10/12 位解码
  • ADPCM IMA Ubisoft APM 编码器
  • Rayman 2 APM 复用器
  • AV1 编码支持 SVT-AV1
  • Cineform HD 编码器
  • ADPCM Argonaut Games 编码器
  • Argonaut Games ASF 复用器
  • AV1 低开销比特流格式解复用器
  • RPZA 视频编码器
  • ADPCM IMA MOFLEX 解码器
  • MobiClip FastAudio 解码器
  • MobiClip 视频解码器
  • MOFLEX 解复用器
  • MODS 解复用器
  • PhotoCD 解码器
  • MCA 解复用器
  • AV1 解码器(仅使用硬件加速)
  • SVS 解复用器
  • Argonaut Games BRP 解复用器
  • DAT 解复用器
  • aax 解复用器
  • IPU 解码器、解析器和解复用器
  • 英特尔 QSV 加速的 AV1 解码
  • Argonaut Games 视频解码器
  • libwavpack 编码器已删除
  • ACE 解复用器
  • AVS3 解复用器
  • 通过 libuavs3d 的 AVS3 视频解码器
  • Cintel RAW 解码器
  • VDPAU 加速的 VP9 10/12 位解码
  • afreqshift 和 aphaseshift 滤镜
  • High Voltage Software ADPCM 编码器
  • LEGO Racers ALP (.tun & .pcm) 复用器
  • AV1 VAAPI 解码器
  • adenorm 滤镜
  • ADPCM IMA AMV 编码器
  • AMV 复用器
  • NVDEC AV1 hwaccel
  • DXVA2/D3D11VA 硬件加速的 AV1 解码
  • speechnorm 滤镜
  • SpeedHQ 编码器
  • asupercut 滤镜
  • asubcut 滤镜
  • Microsoft Paint (MSP) 版本 2 解码器
  • Microsoft Paint (MSP) 解复用器
  • 通过 libaom >= 2.0.1 的 AV1 单色编码支持
  • asuperpass 和 asuperstop 滤镜
  • shufflepixels 滤镜
  • tmidequalizer 滤镜
  • estdif 滤镜
  • epx 滤镜
  • Dolby E 解析器
  • shear 滤镜
  • kirsch 滤镜
  • colortemperature 滤镜
  • colorcontrast 滤镜
  • PFM 编码器
  • colorcorrect 滤镜
  • binka 解复用器
  • XBM 解析器
  • xbm_pipe 解复用器
  • colorize 滤镜
  • CRI 解析器
  • aexciter 音频滤镜
  • exposure 视频滤镜
  • monochrome 视频滤镜
  • setts 比特流滤镜
  • vif 视频滤镜
  • OpenEXR 图像编码器
  • Simbiosis IMX 解码器
  • Simbiosis IMX 解复用器
  • Digital Pictures SGA 解复用器和解码器
  • TTML 字幕编码器和复用器
  • identity 视频滤镜
  • msad 视频滤镜
  • gophers 协议
  • 通过 librist 的 RIST 协议

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2020年6月15日,FFmpeg 4.3 “4:3”

FFmpeg 4.3 “4:3”,一个新的主要版本,现已发布!一些亮点

  • v360 滤镜
  • 英特尔 QSV 加速的 MJPEG 解码
  • 英特尔 QSV 加速的 VP9 解码
  • 支持 mp4 中的 TrueHD
  • 支持 Linux 上的 AMD AMF 编码器(通过 Vulkan)
  • IMM5 视频解码器
  • ZeroMQ 协议
  • 支持 Sipro ACELP.KELVIN 解码
  • streamhash 复用器
  • sierpinski 视频源
  • scroll 视频滤镜
  • photosensitivity 滤镜
  • anlms 滤镜
  • arnndn 滤镜
  • bilateral 滤镜
  • maskedmin 和 maskedmax 滤镜
  • VDPAU VP9 hwaccel
  • median 滤镜
  • QSV 加速的 VP9 编码
  • 通过 librav1e 的 AV1 编码支持
  • AV1 帧合并比特流滤镜
  • AV1 Annex B 解复用器
  • axcorrelate 滤镜
  • mvdv 解码器
  • mvha 解码器
  • mp4 中的 MPEG-H 3D 音频支持
  • thistogram 滤镜
  • freezeframes 滤镜
  • Argonaut Games ADPCM 解码器
  • Argonaut Games ASF 解复用器
  • xfade 视频滤镜
  • xfade_opencl 滤镜
  • afirsrc 音频滤镜源
  • pad_opencl 滤镜
  • Simon & Schuster Interactive ADPCM 解码器
  • Real War KVAG 解复用器
  • CDToons 视频解码器
  • siren 音频解码器
  • Rayman 2 ADPCM 解码器
  • Rayman 2 APM 解复用器
  • cas 视频滤镜
  • High Voltage Software ADPCM 解码器
  • LEGO Racers ALP (.tun & .pcm) 解复用器
  • AMQP 0-9-1 协议 (RabbitMQ)
  • Vulkan 支持
  • avgblur_vulkan, overlay_vulkan, scale_vulkan 和 chromaber_vulkan 滤镜
  • ADPCM IMA MTF 解码器
  • FWSE 解复用器
  • DERF DPCM 解码器
  • DERF 解复用器
  • CRI HCA 解码器
  • CRI HCA 解复用器
  • overlay_cuda 滤镜
  • 在 Linux 上从 AvxSynth 切换到 AviSynth+
  • mv30 解码器
  • 为 3GPP 定时文本字幕 (movtext) 扩展了样式支持
  • WebP 解析器
  • tmedian 滤波器
  • maskedthreshold 滤波器
  • 支持在 m2ts 中复用 pcm 和 pgs
  • Cunning Developments ADPCM 解码器
  • asubboost 滤波器
  • Pro Pinball Series Soundbank 解复用器
  • pcm_rechunk 比特流过滤器
  • scdet 滤波器
  • NotchLC 解码器
  • gradients 源视频滤波器
  • MediaFoundation 编码器包装器
  • untile 滤波器
  • Simon & Schuster Interactive ADPCM 编码器
  • PFM 解码器
  • dblur 视频滤波器
  • Real War KVAG 复用器

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2019 年 10 月 5 日,明亮的光线

FFmpeg 在 libavfilter 中添加了实时明亮闪光移除滤波器。

请注意,此滤波器未获得 FDA 批准,我们也不是医疗专业人士。此滤波器也未经任何光敏性癫痫患者测试。FFmpeg 及其光敏性滤波器不做任何医疗声明。

尽管如此,这是一个新的视频滤波器,可以帮助光敏人群观看电视、玩电子游戏,甚至可以与 VR 头盔一起使用,以阻挡室外阳光过滤等癫痫触发因素。或者你可以用它来对抗电视屏幕上那些烦人的白色闪光。该滤波器在某些输入上会失败,例如超人总动员 2 的屏霸场景。它并不完美。如果您有希望此滤波器更好地工作的其他片段,请在我们的 trac 上向我们报告。

亲自查看。示例使用 -vf photosensitivity=20:0.8 制作

我们不是专业人士。请在您的医学研究中使用此方法来推进癫痫研究。如果您决定在医疗环境中,或制作硬件 hdmi 输入输出实时电视滤波器,或发现此方法的其他用途,请告知我。此滤波器是我自 2013 年以来提出的功能请求。

2019 年 8 月 5 日,FFmpeg 4.2 "Ada"

FFmpeg 4.2 “Ada”,一个新的主要版本,现已推出!一些亮点

  • tpad 滤波器
  • 通过 libdav1d 支持 AV1 解码
  • dedot 滤波器
  • chromashift 和 rgbashift 滤波器
  • freezedetect 滤波器
  • truehd_core 比特流过滤器
  • dhav 解复用器
  • PCM-DVD 编码器
  • GIF 解析器
  • vividas 解复用器
  • hymt 解码器
  • anlmdn 滤波器
  • maskfun 滤波器
  • hcom 解复用器和解码器
  • ARBC 解码器
  • 基于 libaribb24 的 ARIB STD-B24 字幕支持(配置文件 A 和 C)
  • 支持在 nvdec 和 cuviddec 中解码 HEVC 4:4:4 内容
  • 已移除 libndi-newtek
  • agm 解码器
  • KUX 解复用器
  • AV1 帧分割比特流过滤器
  • lscr 解码器
  • lagfun 滤波器
  • asoftclip 滤波器
  • 支持在 vdpau 中解码 HEVC 4:4:4 内容
  • colorhold 滤波器
  • xmedian 滤波器
  • asr 滤波器
  • showspatial 多媒体滤波器
  • VP4 视频解码器
  • IFV 解复用器
  • derain 滤波器
  • deesser 滤波器
  • mov 复用器默认写入具有未指定语言而不是英语的轨道
  • 增加了使用 clang 编译 CUDA 内核的支持

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2018 年 11 月 6 日,FFmpeg 4.1 "al-Khwarizmi"

FFmpeg 4.1 "al-Khwarizmi",一个新的主要版本,现已推出!一些亮点

  • deblock 滤波器
  • tmix 滤波器
  • amplify 滤波器
  • fftdnoiz 滤波器
  • aderivative 和 aintegral 音频滤波器
  • pal75bars 和 pal100bars 视频滤波器源
  • 基于 mbedTLS 的 TLS 支持
  • adeclick 和 adeclip 滤波器
  • 用于基于 DNN 的滤波器的 libtensorflow 后端,如 srcnn
  • VC1 解码器现在是逐位的
  • ATRAC9 解码器
  • lensfun 包装滤波器
  • colorconstancy 滤波器
  • 通过 libdavs2 的 AVS2 视频解码器
  • IMM4 视频解码器
  • Brooktree ProSumer 视频解码器
  • MatchWare 屏幕捕获编解码器解码器
  • WinCam 运动视频解码器
  • 1D LUT 滤波器 (lut1d)
  • RemotelyAnywhere 屏幕捕获解码器
  • cue 和 acue 滤波器
  • 支持 MP4 和 Matroska/WebM 中的 AV1
  • transpose_npp 滤波器
  • 通过 libxavs2 的 AVS2 视频编码器
  • amultiply 滤波器
  • 块匹配 3d (bm3d) 去噪滤波器
  • acrossover 滤波器
  • ilbc 解码器
  • 作为 afftdn 滤波器的音频去噪器
  • AV1 解析器
  • sinc 音频滤波器源
  • chromahold 滤波器
  • setparams 滤波器
  • vibrance 滤波器
  • h264 中的 S12M 时间码解码
  • xstack 滤波器
  • (a)graphmonitor 滤波器
  • yadif_cuda 滤波器

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2018 年 4 月 20 日,FFmpeg 4.0 "Wu"

FFmpeg 4.0 "Wu",一个新的主要版本,现已推出!一些亮点

  • 用于编辑 H.264、HEVC 和 MPEG-2 流中元数据的比特流过滤器
  • 实验性的 MagicYUV 编码器
  • TiVo ty/ty+ 解复用器
  • Intel QSV 加速的 MJPEG 编码
  • 原生 aptX 和 aptX HD 编码器和解码器
  • NVIDIA NVDEC 加速的 H.264、HEVC、MJPEG、MPEG-1/2/4、VC1、VP8/9 hwaccel 解码
  • Intel QSV 加速的覆盖滤波器
  • mcompand 音频滤波器
  • acontrast 音频滤波器
  • OpenCL 覆盖滤波器
  • 视频混合滤波器
  • 视频标准化滤波器
  • 音频 lv2 包装滤波器
  • VAAPI MJPEG 和 VP8 解码
  • AMD AMF H.264 和 HEVC 编码器
  • 视频填充边框滤波器
  • 视频 setrange 滤波器
  • 支持 LibreSSL(通过 libtls)
  • 已停止支持为 Windows XP 构建。支持的最低 Windows 版本为 Windows Vista。
  • deconvolve 视频滤波器
  • entropy 视频滤波器
  • hilbert 音频滤波器源
  • aiir 音频滤波器
  • 已删除 ffserver 程序
  • 已删除 ffmenc 和 ffmdec 复用器和解复用器
  • VideoToolbox HEVC 编码器和 hwaccel
  • VAAPI 加速的 ProcAmp(色彩平衡)、降噪和锐化滤波器
  • 添加 android_camera indev
  • 通过 libcodec2 的 codec2 编/解码
  • 原生 SBC 编码器和解码器
  • drmeter 音频滤波器
  • hapqa_extract 比特流过滤器
  • filter_units 比特流过滤器
  • 通过 libaom 支持 AV1
  • E-AC-3 从属帧支持
  • 用于提取 E-AC-3 核心的比特流过滤器
  • 通过 libsrt 的 Haivision SRT 协议
  • vfrdet 滤波器

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2017 年 10 月 15 日,FFmpeg 3.4 "Cantor"

FFmpeg 3.4 "Cantor",一个新的主要版本,现已推出!一些亮点

  • deflicker 视频滤波器
  • doubleweave 视频滤波器
  • lumakey 视频滤波器
  • pixscope 视频滤波器
  • oscilloscope 视频滤波器
  • 将 cuvid/nvenc 标头更新到 Video Codec SDK 8.0.14
  • afir 音频滤波器
  • scale_cuda 基于 CUDA 的视频缩放滤波器
  • librsvg 支持 svg 光栅化
  • crossfeed 音频滤波器
  • MP4 中符合规范的 VP9 复用支持
  • surround 音频滤波器
  • sofalizer 滤波器已切换到 libmysofa
  • Gremlin 数字视频解复用器和解码器
  • headphone 音频滤波器
  • superequalizer 音频滤波器
  • roberts 视频滤波器
  • Interplay MVE 电影的附加帧格式支持
  • ffmpeg 中通过 D3D11VA 支持解码
  • 限制器视频滤镜
  • libvmaf 视频滤镜
  • 杜比 E 解码器和 SMPTE 337M 解复用器
  • 反预乘视频滤镜
  • tlut2 视频滤镜
  • 填充视频滤镜
  • 伪彩色视频滤镜
  • 原始 G.726 复用器和解复用器,左对齐和右对齐
  • NewTek NDI 输入/输出设备
  • FITS 解复用器和解码器
  • FITS 复用器和编码器
  • 去溢出视频滤镜
  • 哈斯音频滤镜
  • SUP/PGS 字幕复用器
  • 卷积视频滤镜
  • VP9 分块线程支持
  • KMS 屏幕抓取器
  • CUDA 缩略图滤镜
  • V4L2 mem2mem 硬件加速编解码器
  • 瑞芯微 MPP 硬件解码
  • vmafmotion 视频滤镜

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2017 年 4 月 13 日,FFmpeg 3.3 "希尔伯特"

FFmpeg 3.3 "希尔伯特",一个全新的主要版本,现已发布!其中一些亮点

  • Apple Pixlet 解码器
  • NewTek SpeedHQ 解码器
  • QDMC 音频解码器
  • PSD (Photoshop 文档) 解码器
  • FM 屏幕捕获解码器
  • ScreenPressor 解码器
  • XPM 解码器
  • DNxHR 解码器修复了 HQX 和高分辨率视频的问题
  • ClearVideo 解码器(部分)
  • 16.8 和 24.0 浮点 PCM 解码器
  • Intel QSV 加速的 VP8 视频解码
  • 原生 Opus 编码器
  • DNxHR 444 和 HQX 编码
  • (M)JPEG 编码器的质量改进
  • VAAPI 加速的 MPEG-2 和 VP8 编码
  • 预乘视频滤镜
  • abitscope 多媒体滤镜
  • readeia608 滤镜
  • 阈值滤镜
  • midequalizer 滤镜
  • MPEG-7 视频签名滤镜
  • 添加内部 ebur128 库,删除外部 libebur128 依赖
  • Intel QSV 视频缩放和去隔行滤镜
  • Sample Dump eXchange 解复用器
  • MIDI Sample Dump 标准解复用器
  • Scenarist 隐藏式字幕解复用器和复用器
  • 支持具有多个样本描述表的 MOV
  • Pro-MPEG CoP #3-R2 FEC 协议
  • 支持球形视频
  • CrystalHD 解码器已移至新的解码 API
  • 如果请求自动检测库但未找到,则配置现在会失败

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2016 年 10 月 30 日,结果:2016 年 Google 编程之夏。

这已经过了很长时间,但我们想对我们参与本轮项目的情况进行适当的总结,这需要时间。有时只是为了精简每个项目的最终报告,有时是为了完成项目结束后仍在进行的工作:需要合并最终补丁、稳定 TODO 列表、商定未来的计划;等等。

事不宜迟,以下是我们在这个 Google 编程之夏期间寻求完成的每个项目的亮点

FFv1(导师:Michael Niedermayer)

Stanislav Dolganov 设计并实现了无损 FFV1 编解码器中运动估计和补偿的实验性支持。该设计和实现基于 snow 视频编解码器,该编解码器使用 OBMC。Stanislav 的工作证明,帧间压缩可以实现显着的压缩增益。FFmpeg 欢迎 Stanislav 继续超越这个概念验证进行工作,并将其进展纳入 IETF 中的官方 FFV1 规范。

自测覆盖率(导师:Michael Niedermayer)

Petru Rares Sincraian 向 FFmpeg 添加了多个自测,并成功完成了在某些情况下需要对测试参数进行微调的繁琐过程,以避免已知且难以避免的问题,例如由于我们支持的无数平台上的舍入误差而导致的校验和不匹配。他的工作大大提高了我们自测的代码覆盖率。

MPEG-4 ALS 编码器实现(导师:Thilo Borgmann)

Umair Khan 更新并集成了 ALS 编码器,以适应当前的 FFmpeg 代码库。他还为 ALS 解码器实现了一个缺失的功能,该功能可实现浮点样本解码。FFmpeg 对 MPEG-4 ALS 的支持因 Umair 的工作而得到了显着改进。我们欢迎他继续维护他的改进,并希望他能做出更大的贡献。

Tee 复用器改进(导师:Marton Balint)

Ján Sebechlebský 的总体目标是改进 tee 复用器,使其能够容忍阻塞 IO 并允许透明的错误恢复。在设计阶段,事实证明此功能需要一个单独的复用器,因此 Ján 花了整个夏天来开发所谓的 FIFO 复用器,逐步修复了整个代码库中的问题。他成功完成了他的任务,FIFO 复用器现在是主存储库的一部分,以及他在该过程中进行的其他一些改进。

TrueHD 编码器(导师:Rostislav Pehlivanov)

Jai Luthra 的目标是更新 libavcodec 的树外且几乎被放弃的 MLP(Meridian Lossless Packing)编码器,并对其进行改进以启用 TrueHD 格式的编码。在资格认证期间,编码器已更新为可用状态,并在整个夏季成功改进,增加了对多声道音频和 TrueHD 编码的支持。Jai 的代码现已合并到主存储库中。虽然在 LFE 通道和 32 位样本处理方面仍然存在一些问题,但这些问题正在修复过程中,以便最终可以投入精力来提高编码器的速度和效率。

运动插值滤镜(导师:Paul B Mahol)

Davinder Singh 研究了现有文献和我们自己的 Michael Niedermayer 先前工作中的运动估计和插值方法,并基于此研究实现了滤镜。这些滤镜允许将运动插值帧率转换应用于视频,例如,创建慢动作效果或在沿着运动矢量平滑插值视频的同时更改帧率。要将这些滤镜称为“完成”还需要做很多工作,考虑到所有因素,这相当困难,但我们对它们的未来持乐观态度。

就是这样。我们对该计划的结果感到满意,并非常感谢有机会与如此出色的一群学生一起工作。我们可能是一群苛刻的人,但我们的导师在指导实习生完成他们的旅程方面做得非常出色。还要感谢 Google 的这个精彩计划,以及感谢所有在他们繁忙的生活中抽出时间来帮助 GSoC2016 取得成功的人。2017 年再见!

2016 年 9 月 24 日,SDL1 支持已删除。

由于 SDL1 库不再维护(截至 2012 年 1 月)并且已被 SDL2 库取代,因此已删除对 SDL1 库的支持。因此,SDL1 输出设备也已被删除,并替换为 SDL2 实现。ffplay 和 opengl 输出设备都已更新为支持 SDL2。

2016 年 8 月 9 日,FFmpeg 3.1.2 "拉普拉斯"

FFmpeg 3.1.2,3.1 发行分支的新点版本,现已发布!它修复了几个错误。

我们建议用户、分销商和系统集成商进行升级,除非他们使用当前的 git master。

2016 年 7 月 10 日,ffserver 程序被删除

经过彻底的考虑,我们宣布我们将从下一个版本开始从项目中删除 ffserver 程序。ffserver 由于使用了内部 API 而成为一个难以维护的程序,这使得最近对 libavformat 库的清理工作变得复杂,并阻止了 API 用户期望的进一步清理和改进,并且更容易维护。此外,该程序由于可靠性问题、缺乏有知识的人员提供帮助和令人困惑的配置文件语法,因此用户很难部署和运行。我们邀请当前用户和社区成员使用新的 API 编写一个替代程序来填补 ffserver 所做的相同位置,并与我们联系,以便我们可以指导用户测试并为其开发做出贡献。

2016 年 7 月 1 日,FFmpeg 3.1.1 "拉普拉斯"

FFmpeg 3.1.1,3.1 发行分支的新点版本,现已发布!它主要处理先前版本中引入的一些 ABI 问题。

我们强烈建议用户、分销商和系统集成商,特别是那些在从 3.0 升级时遇到问题的用户,进行升级,除非他们使用当前的 git master。

2016 年 6 月 27 日,FFmpeg 3.1 "拉普拉斯"

FFmpeg 3.1 “拉普拉斯”,一个全新的主要版本,现已发布!以下是一些亮点:

  • DXVA2 加速的 HEVC Main10 解码
  • fieldhint 滤镜
  • loop 视频滤镜和 aloop 音频滤镜
  • Bob Weaver 反交错滤镜
  • firequalizer 滤镜
  • datascope 滤镜
  • bench 和 abench 滤镜
  • ciescope 滤镜
  • 协议黑名单 API
  • MediaCodec H264 解码
  • VC-2 HQ RTP 载荷格式(草案 v1)解包器和打包器
  • VP9 RTP 载荷格式(草案 v2)打包器
  • AudioToolbox 音频解码器
  • AudioToolbox 音频编码器
  • coreimage 滤镜(基于 OSX 的 GPU 图像过滤)
  • 移除了 libdcadec
  • 用于提取 DTS 核心的比特流滤镜
  • ADPCM IMA DAT4 解码器
  • musx 解复用器
  • aix 解复用器
  • remap 滤镜
  • hash 和 framehash 复用器
  • colorspace 滤镜
  • hdcd 滤镜
  • readvitc 滤镜
  • VAAPI 加速的格式转换和缩放
  • libnpp/CUDA 加速的格式转换和缩放
  • Duck TrueMotion 2.0 实时解码器
  • 宽带单比特数据 (WSD) 解复用器
  • VAAPI 加速的 H.264/HEVC/MJPEG 编码
  • DTS Express (LBR) 解码器
  • 支持 Raspberry Pi 的通用 OpenMAX IL 编码器
  • IFF ANIM 解复用器和解码器
  • 直接流传输 (DST) 解码器
  • loudnorm 滤镜
  • MTAF 解复用器和解码器
  • MagicYUV 解码器
  • OpenExr 改进(tile 数据和 B44/B44A 支持)
  • BitJazz SheerVideo 解码器
  • CUDA CUVID H264/HEVC 解码器
  • 原生 utvideo 解码器中的 10 位深度支持
  • 移除了 libutvideo 封装器
  • YUY2 无损编解码器解码器
  • VideoToolbox H.264 编码器

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2016 年 3 月 16 日,Google 编程之夏

FFmpeg 已被接受为 Google 编程之夏 开源组织。如果你希望以学生的身份参与,请查看我们的项目创意页面。你可以立即与导师联系并开始进行资格任务,以及在 Google 注册并提交你的项目提案草案。祝你好运!

2016 年 2 月 15 日,FFmpeg 3.0 “爱因斯坦”

FFmpeg 3.0 “爱因斯坦”,一个全新的主要版本,现已发布!以下是一些亮点:

我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 git master 版本。

2016 年 1 月 30 日,移除对两个外部 AAC 编码器的支持

我们刚刚在 FFmpeg master 中移除了对 VisualOn AAC 编码器 (libvo-aacenc) 和 libaacplus 的支持。

即使在我们内部 AAC 编码器标记为 稳定 之前,就知道对于大多数样本而言,libvo-aacenc 的质量不如我们的原生编码器。然而,VisualOn 编码器被 Android 开源项目广泛使用,我们希望在我们的代码库中有一个经过测试且可靠的稳定选项。

2011 年首次提交时,libaacplus 填补了编码高效率 AAC 格式(HE-AAC 和 HE-AACv2)的空白,当时 FFmpeg 中没有任何编码器支持这种格式。

两者的环境都发生了变化。在 Rostislav Pehlivanov 和 Claudio Freire 率先开展的工作之后,现在稳定的 FFmpeg 原生 AAC 编码器已准备好与更加成熟的编码器竞争。用于 Android 的 Fraunhofer FDK AAC 编解码器库于 2012 年添加为第四个受支持的外部 AAC 编码器,该编码器具有最好的质量和支持最多的功能,包括 HE-AAC 和 HE-AACv2。

因此,我们决定是时候移除 libvo-aacenc 和 libaacplus 了。如果你当前正在使用 libvo-aacenc,请准备好在更新到下一版本的 FFmpeg 时过渡到原生编码器 (aac)。在大多数情况下,它就像简单地交换编码器名称一样简单。如果你当前正在使用 libaacplus,请开始使用 FDK AAC (libfdk_aac) 并使用适当的 profile 选项来选择适合你需求的精确 AAC 配置文件。在这两种情况下,你都会享受到可听到的质量改进以及更少的许可麻烦。

请享用!

2016 年 1 月 16 日,FFmpeg 2.8.5、2.7.5、2.6.7、2.5.10

我们发布了几个新的补丁版本(2.8.52.7.52.6.72.5.10)。它们修复了各种错误,以及 CVE-2016-1897 和 CVE-2016-1898。有关更多详细信息,请参阅每个版本的变更日志。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2015 年 12 月 5 日,原生 FFmpeg AAC 编码器现在稳定了!

经过七年的发展,原生 FFmpeg AAC 编码器的实验性标志已被移除,并宣布可供通用使用。对于大多数测试的样本,该编码器在 128kbps 时是透明的,伪像仅在极端情况下出现。主观质量测试表明,该编码器的质量与大多数其他可公开使用的编码器相等或更高。

许可一直是编码 AAC 音频的问题,因为大多数编码器都具有许可,如果编译时支持它们,则 FFmpeg 不可再分发。现在项目中直接集成了一个完全开放且真正免费的 AAC 编码器这一事实,对于那些希望使用公认且广泛的标准的人来说意义重大。

将编码器提升到质量水平的大部分工作是由开发者 Claudio Freire 和 Rostislav Pehlivanov 在今年的 GSoC 期间开始的。两人继续致力于该编码器,后者加入成为开发者和维护者,同时也致力于该项目的其他部分。此外,感谢 Kamedo2 进行比较和测试、原始作者以及所有过去和现在的编码器贡献者。建议并鼓励用户使用该编码器,并通过我们的错误跟踪器提供反馈或故障报告。

2015 年 10 月 13 日,Telepoint 和 MediaHub 现在正在支持我们的项目

非常感谢我们最新的支持者:MediaHub 和 Telepoint。两家公司都捐赠了一台专用服务器,并提供免费互联网连接。以下是他们自己对他们的一些介绍:

  • Telepoint 是保加利亚最大的运营商中立数据中心。该设施位于索非亚市中心,位于众多保加利亚和国际网络的十字路口,是一个功能齐全的 Tier 3 数据中心,提供灵活的以客户为中心的托管解决方案(从服务器到私人托管大厅),并具有高水平的安全性。

  • MediaHub Ltd. 是一家保加利亚 IPTV 平台和服务提供商,自一年前开始运营以来就大量使用 FFmpeg。 “捐款以帮助 FFmpeg 保持在线是我们回馈社区的方式”

感谢 Telepoint 和 MediaHub 的支持!

2015 年 9 月 29 日,GSoC 2015 结果

FFmpeg 参与了最新一届 Google 编程之夏 项目。FFmpeg 总共获得了 8 个分配的项目,其中 7 个项目成功完成。

我们要感谢 Google、参与的学生,特别是加入这项工作的导师。我们期待参与下一届 GSoC!

以下你可以找到每个项目的最终结果的简要说明。

网络协议的基本服务器,学员:Stephan Holljes,导师:Nicolas George

Stephan Holljes 在本届 Google 编程之夏的项目是为 libavformat 实现基本的 HTTP 服务器功能,以补充现有的 HTTP 客户端以及 RTMP 和 RTSP 服务器代码。

该项目的第一个部分是使 HTTP 代码能够接受单个客户端;这项工作一部分在资格赛期间完成,一部分在夏季第一周完成。 感谢这项工作,现在可以使用以下命令创建一个简单的 HTTP 流

    ffmpeg -i /dev/video0 -listen 1 -f matroska \
    -c:v libx264 -preset fast -tune zerolatency http://:8080
    ffplay https://127.0.0.1:8080/
  

该项目的下一部分是扩展代码,使其能够同时或连续接受多个客户端。由于 libavformat 没有用于此类任务的 API,因此有必要设计一个。这部分主要在中期之前完成,并在此后不久应用。由于 ffmpeg 命令行工具尚未准备好为多个客户端提供服务,因此该新 API 的测试平台是一个提供硬编码内容的示例程序。

该项目的最后也是最具雄心的一部分是更新 ffserver 以使用新的 API。这将证明该 API 可用于实现真正的 HTTP 服务器,并揭示需要更多控制的点。到夏季结束时,第一批可工作的补丁系列正在进行代码审查。

在服务器上浏览内容,学员:Mariusz Szczepańczyk,导师:Lukasz Marek

Mariusz 完成了 FFmpeg 社区准备的 API,并实现了 Samba 目录列表作为资格赛任务。

在项目期间,他扩展了 API,使其能够删除和重命名远程服务器上的文件。他完成了文件、Samba、SFTP 和 FTP 协议的这些功能的实现。

在项目结束时,Mariusz 提供了 HTTP 目录监听的实现草图。

Directshow 数字视频捕获,学员:Mate Sebok,导师:Roger Pack

Mate 正在研究来自数字视频源的 directshow 输入。他获得了来自 ATSC 输入源的工作输入,并指定了调谐器。

该代码尚未提交,但已将其补丁发送到 ffmpeg-devel 邮件列表以供将来使用。

导师计划清理并提交它,至少对于 ATSC 方面。Mate 和导师仍在努力尝试最终弄清楚如何让 DVB 工作。

实现对 3GPP 定时文本字幕的全面支持,学员:Niklesh Lalwani,导师:Philip Langdale

Niklesh 的项目是扩展我们对 3GPP 定时文本字幕的支持。这是 mp4 容器的本机字幕格式,并且很有趣,因为它通常是 iOS 和 Android 设备上库存播放应用程序支持的唯一字幕格式。

ffmpeg 已经对这些字幕提供基本支持,忽略了所有格式信息 - 它只提供基本的纯文本支持。

Niklesh 进行了工作,在编码和解码端都增加了对文本格式化功能的支持,例如字体大小/颜色以及粗体/斜体、高亮显示等效果。

这里的主要挑战是,定时文本处理格式的方式与大多数常见的字幕格式截然不同。它使用二进制编码(自然地基于 mp4 框),并将信息与文本本身分开存储。这需要额外的工作来跟踪文本格式化的哪些部分适用,并显式处理重叠的格式化(其他格式支持,但定时文本不支持),因此需要将重叠的部分分解为具有不同格式化的单独的非重叠部分。

最后,Niklesh 必须小心不要信任字幕中的任何大小信息 - 这不是玩笑:现在臭名昭著的 Android stagefright 错误出现在用于解析定时文本字幕的代码中。

Niklesh 的所有工作都已提交,并在 ffmpeg 2.8 中发布。

libswscale 重构,学员:Pedro Arthur,导师:Michael Niedermayer、Ramiro Polla

Pedro Arthur 已将垂直和水平缩放器模块化。为此,他设计并实现了一个通用的过滤器框架,并将现有的缩放器代码移入其中。这些更改现在可以轻松地添加、删除、拆分或合并处理步骤。对该实现进行了基准测试,并尝试了几种替代方案以避免速度损失。

他还添加了伽玛校正的缩放支持。使用伽玛校正缩放的一个例子是

    ffmpeg -i input -vf scale=512:384:gamma=1 output
  

考虑到可用的时间很短,Pedro 完成了令人印象深刻的工作,他现在是 FFmpeg 的提交者。他继续为 FFmpeg 做出贡献,并在 GSoC 结束后修复了 libswscale 中的一些错误。

AAC 编码器改进,学员:Rostislav Pehlivanov,导师:Claudio Freire

Rostislav Pehlivanov 在本机 AAC 编码器上实现了 PNS、TNS、I/S 编码和主预测。在所有这些扩展中,只有 TNS 处于不太可用的状态,但该实现仍然被推送(禁用),因为它为进一步改进奠定了良好的基础。

PNS 用表示该频带能量的单个缩放因子替换噪声频带,从而大大提高了编码效率,并且这种简单功能在低比特率下的质量改进令人印象深刻。

TNS 仍然需要一些优化,但它有可能通过在时域中应用噪声整形来减少编码伪像(这是一种在低熵频带上产生恼人、明显的失真的来源)。

强度立体声编码 (I/S) 可以通过利用立体声通道之间的强相关性使编码效率翻倍,在采用平移混合的流行风格曲目上最为有效。但是,该技术在经典的 X-Y 录音中效果不佳。

最后,主预测通过利用连续帧之间的相关性来提高编码效率。虽然到目前为止收益不大,但 Rostislav 在 GSoC 之后仍然活跃,并且正在优化 TNS 和主预测,并寻找进一步改进的方法。

在此过程中,编码器的 MIPS 端口被破坏了几次,这也是他正在努力修复的问题。

动画便携式网络图形 (APNG),学员:Donny Yang,导师:Paul B Mahol

Donny Yang 实现了基本的仅关键帧 APNG 编码器作为资格赛任务。后来,他通过各种混合模式编写了帧间压缩。当前的实现尝试所有混合模式并选择占用内存量最少的模式。

特别注意确保解码器正确播放在野外找到的所有文件,并且编码器生成的文件可以在支持 APNG 的浏览器中播放。

在他的工作期间,由于解码器与 APNG 规范不符,他被要求修复解码器中遇到的任何错误。感谢这项工作,PNG 解码器中一个长期存在的错误已得到修复。

对于以后的工作,他计划继续研究编码器,使其可以选择在编码过程中使用哪些混合模式。这可以加快 APNG 文件的编码速度。

2015 年 9 月 9 日,FFmpeg 2.8

我们发布了2.8 版本作为新的主要版本。它包含 9 月 8 日 git master 分支的所有功能和错误修复。请参阅更新日志以获取最重要的更改列表。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2015 年 8 月 1 日,来自 FFmpeg 项目的消息

尊敬的多媒体社区:

Michael Niedermayer 昨天辞去 FFmpeg 领导人职务的消息令人惊讶。 他为 FFmpeg 项目不知疲倦地工作了很多年,我们必须感谢他所做的工作。 我们希望他将来能够继续为该项目做出贡献。 在未来几周内,FFmpeg 项目将由活跃的贡献者管理。

过去四年对于我们的多媒体社区(包括贡献者和用户)来说并不容易。我们现在应该展望未来,尝试找到解决这些问题的方法,并在长期分裂社区的分支之间达成和解。

不幸的是,到目前为止,许多分歧都发生在不适当的场所,这使得找到共同点和解决方案变得困难。我们的目标是在未来几周内在我们的在线社区中讨论这个问题,并于 9 月在巴黎举行的 VideoLAN 开发者日上进行面对面的讨论:这是一个为整个开源多媒体社区提供的中立场所。

FFmpeg 项目。

2015 年 7 月 4 日,FFmpeg 需要一个新的主机

更新: 我们已经收到了超过 7 个关于托管和服务器的报价,非常感谢大家!

在为我们的项目(FFmpegMPlayerrtmpdump)提供 4 年慷慨托管后,Arpi(我们的托管人)已通知我们必须立即在其他地方找到新的主机。

如果您想托管一个开源项目,请通过 ffmpeg-devel 邮件列表或 irc.freenode.net #ffmpeg-devel 联系我们。

我们大约需要 4TB 的存储空间和每月至少 4TB 的带宽,用于各种邮件列表、tracsamples 仓库、svn 等。

2015 年 3 月 16 日,FFmpeg 2.6.1

我们发布了一个新的主要版本 (2.6),并在其后一周发布了 2.6.1 版本。它包含 3 月 6 日 git master 分支的所有功能和错误修复。请查看 发行说明,了解值得注意的更改列表。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2015 年 3 月 4 日,Google 编程之夏

FFmpeg 已被接受为 Google 编程之夏 项目。如果您希望以学生的身份参与,请参阅我们的 项目创意页面。您现在就可以与导师联系并开始处理资格任务。Google 将于 3 月 16 日开放学生注册。祝你好运!

2015 年 3 月 1 日,开姆尼茨 Linux 日

我们很高兴地宣布,FFmpeg 将在德国开姆尼茨的开姆尼茨 Linux 日 (CLT) 上亮相。该活动将于 3 月 21 日和 22 日举行。

更多信息请访问 这里

我们将演示 FFmpeg 的用法,回答您的问题,并倾听您的问题和愿望。 如果您有无法使用 FFmpeg 正确处理的媒体文件,请务必随身携带一个样本,以便我们查看!

这是我们在 CLT 历史上第一次举办 FFmpeg 工作坊!您可以在这里阅读详细信息。该工作坊的目标是 FFmpeg 初学者。首先,将介绍多媒体的基础知识。此后,您将学习如何利用这些知识和 FFmpeg CLI 工具来分析和处理媒体文件。该工作坊仅提供德语版本,并且需要提前注册。工作坊将于周六上午 10 点开始。

我们期待(再次)见到您!

2014 年 12 月 5 日,FFmpeg 2.5

我们发布了一个新的主要版本 (2.5)。它包含 12 月 4 日 git master 分支的所有功能和错误修复。请查看 发行说明,了解值得注意的更改列表。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2014 年 10 月 10 日,FFmpeg 再次进入 Debian 不稳定版

我们想让您知道, Debian 不稳定版中再次出现了 FFmpeg 软件包。非常感谢 Andreas Cadhalpun 和所有为此付出努力的人们。这绝非易事。

不幸的是,这已经是这个消息中容易的部分。坏消息是这些软件包可能不会迁移到 Debian 测试版,从而进入即将发布的代号为 jessie 的版本。 请在 Debian 上阅读论证。

无论如何,事情最终会解决的,我们希望您继续给予我们非凡的支持!

2014 年 10 月 8 日,FFmpeg 在 OPW 中获得一席之地!

得益于三星(开源小组)慷慨捐赠的 6,000 美元,FFmpeg 将欢迎至少 1 名“女性拓展计划”实习生与我们的社区合作,初始期限从 2014 年 12 月开始(到 2015 年 3 月)。

我们都知道 FFmpeg 被行业所使用,但即使有无数产品基于我们的代码构建,公司在需要时挺身而出并帮助我们也是非常罕见的。因此,非常感谢三星和 OPW 计划委员会!

如果您正在考虑以实习生的身份参与 OPW,请查看我们的 OPW wiki 页面,了解一些初始指南。该页面仍在开发中,但应该有足够的信息让您入门。另一方面,如果您正在考虑通过 OPW 计划赞助 FFmpeg 的工作,请通过 [email protected] 联系我们。在您的帮助下,我们也许能够为这一轮争取到一些额外的实习名额!

2014 年 9 月 15 日,FFmpeg 2.4

我们发布了一个新的主要版本 (2.4)。它包含 9 月 14 日 git master 分支的所有功能和错误修复。请查看 发行说明,了解值得注意的更改列表。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2014 年 8 月 20 日,FFmpeg 2.3.3、2.2.7、1.2.8

我们发布了几个新的修订版本 (2.3.3, 2.2.7, 1.2.8)。它们修复了各种错误,以及 CVE-2014-5271 和 CVE-2014-5272。请查看变更日志以了解更多详细信息。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2014 年 7 月 29 日,帮助我们确保在 OPW 中的席位

继我们之前关于参与今年 OPW(女性拓展计划)的帖子之后,我们现在正在联系我们的用户(包括个人和公司),以帮助我们筹集所需的资金,以确保我们在该计划中的席位。
我们需要筹集至少 6,000 美元,但筹集更多资金将有助于我们获得一个以上的实习生。
您可以使用信用卡通过 Click&Pledge 并选择“OPW”选项进行捐款。如果您想通过汇款或支票捐款,请通过 电子邮件 联系我们,我们将回复您并告知操作说明。
谢谢!

2014 年 7 月 20 日,新网站

FFmpeg 项目很自豪地宣布由 db0 制作的全新网站版本。虽然最初的动机是需要一个更大的菜单,但最终整个网站都进行了重新设计,并且大多数页面都经过了重新设计,以方便导航。我们希望您会喜欢浏览它。

2014 年 7 月 17 日,FFmpeg 2.3

我们发布了一个新的主要版本 (2.3)。它包含 7 月 16 日 git master 分支的所有功能和错误修复。请查看 发行说明,了解值得注意的更改列表。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2014 年 7 月 3 日,FFmpeg 和女性拓展计划

FFmpeg 已启动流程,准备成为下一轮 OPW 项目的参与组织,实习期将于 12 月 9 日开始。 OPW 旨在“帮助女性(包括顺性别和跨性别)和性别酷儿参与到自由和开源软件中”。该流程的一部分需要获得至少支持一个实习生(6000 美元)的资金,因此,如果您一直打算捐款给 FFmpeg,现在正是您站出来、联系我们并帮助项目和一个伟大倡议的好机会!

我们设置了一个 电子邮件地址,您可以使用它来联系我们,了解捐款和有关我们参与该计划的一般咨询。期待尽快收到您的来信!

2014 年 6 月 29 日,FFmpeg 2.2.4、2.1.5、2.0.5、1.2.7、1.1.12、0.10.14

我们发布了几个新的修订版本(2.2.42.1.52.0.51.2.71.1.120.10.14)。它们修复了 LZO 实现中的一个安全问题,以及其他几个错误。有关详细信息,请参阅 git 日志。

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2014 年 5 月 1 日,LinuxTag

FFmpeg 将再次在德国柏林举行的 LinuxTag 大会上亮相。活动将于 5 月 8 日至 10 日举行。请注意,今年的 LinuxTag 大会在更靠近市中心的不同地点举行。

我们将与 XBMC 和 VideoLAN 共用一个展位。如果您有无法使用 FFmpeg 正确处理的媒体文件,请务必携带样品,以便我们进行查看!

有关 LinuxTag 的更多信息,请访问 此处

我们期待在柏林见到您!

2014 年 4 月 18 日,OpenSSL Heartbeat 漏洞

我们托管 Trac 问题跟踪器的服务器容易受到针对 OpenSSL 的名为“heartbleed”的攻击。OpenSSL 软件库在 4 月 7 日(即该漏洞公开披露后不久)进行了更新。我们已更改所有 FFmpeg 服务器的私钥(和证书)。详细信息由项目服务器团队成员 Alexander Strasser 发送到邮件列表。这是指向用户邮件列表的存档 的链接。

我们鼓励您阅读有关 “OpenSSL heartbleed” 的信息。问题跟踪器的登录数据有可能暴露给利用此安全漏洞的人员。您可能需要在跟踪器以及您使用同一密码的其他任何地方更改密码。

2014 年 4 月 11 日,FFmpeg 2.2.1

我们发布了一个新的修订版本(2.2.1)。它包含对 Ticket #2893、#3432、#3469、#3486、#3495 和 #3540 的错误修复以及其他几项修复。有关详细信息,请参阅 git 日志。

2014 年 3 月 24 日,FFmpeg 2.2

我们发布了一个新的主要版本(2.2)。它包含自 3 月 1 日以来 git master 分支的所有功能和错误修复。下面是部分新功能列表

    - HNM version 4 demuxer and video decoder
    - Live HDS muxer
    - setsar/setdar filters now support variables in ratio expressions
    - elbg filter
    - string validation in ffprobe
    - support for decoding through VDPAU in ffmpeg (the -hwaccel option)
    - complete Voxware MetaSound decoder
    - remove mp3_header_compress bitstream filter
    - Windows resource files for shared libraries
    - aeval filter
    - stereoscopic 3d metadata handling
    - WebP encoding via libwebp
    - ATRAC3+ decoder
    - VP8 in Ogg demuxing
    - side & metadata support in NUT
    - framepack filter
    - XYZ12 rawvideo support in NUT
    - Exif metadata support in WebP decoder
    - OpenGL device
    - Use metadata_header_padding to control padding in ID3 tags (currently used in
    MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
    - Mirillis FIC video decoder
    - Support DNx444
    - libx265 encoder
    - dejudder filter
    - Autodetect VDA like all other hardware accelerations
  

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

2014 年 2 月 3 日,开姆尼茨 Linux 日

我们很高兴地宣布,FFmpeg 将在德国开姆尼茨举行的“开姆尼茨 Linux 日”大会上亮相。活动将于 3 月 15 日和 16 日举行。

更多信息可以在 此处 找到

我们邀请您光临位于 Linux-Live 区域的展位!在那里,我们将演示 FFmpeg 的用法,回答您的问题,并听取您的问题和愿望。

如果您有无法使用 FFmpeg 正确处理的媒体文件,请务必携带样品,以便我们进行查看!

我们期待(再次)见到您!

2014 年 2 月 9 日,trac.ffmpeg.org / trac.mplayerhq.hu 安全漏洞

安装了 FFmpeg 和 MPlayer Trac 问题跟踪器的服务器遭到入侵。受影响的服务器已下线,并已更换并重新安装了所有软件。FFmpeg Git、版本、FATE、Web 和邮件列表位于其他服务器上,未受影响。我们认为,最初的入侵发生在几个月前,发生在一个与 FFmpeg 和 MPlayer 无关的服务器上。该服务器被用作克隆我们最近将 Trac 迁移到的 VM 的来源。目前尚不清楚是否有人使用了发现的后门。

我们建议所有用户更改密码。特别是那些在 Trac 上使用密码并在其他地方也使用同一密码的用户,应至少在其他地方更改该密码。

2013 年 11 月 12 日,Debian 中的 FFmpeg RFP

自从 Libav 分裂以来,Debian/Ubuntu 的维护人员一直跟随 Libav 分支。许多人要求在 Debian 中打包 ffmpeg,因为它在功能上更加完整,并且在许多情况下 bug 更少。

Debian 开发人员 Rogério Brito 在 Debian bug 跟踪系统中提出了一个软件包请求 (RFP)。

请让 Debian 和 Ubuntu 的开发人员知道您支持打包真正的 FFmpeg!有关更多详细信息,请参阅 Debian 工单 #729203

2013 年 10 月 28 日,FFmpeg 2.1

我们发布了一个新的主要版本(2.1)。它包含自 10 月 28 日以来 git master 分支的所有功能和错误修复。下面是部分新功能列表

    - aecho filter
    - perspective filter ported from libmpcodecs
    - ffprobe -show_programs option
    - compand filter
    - RTMP seek support
    - when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
    even when used as an input option. Previous behavior can be restored with
    the -noaccurate_seek option.
    - ffmpeg -t option can now be used for inputs, to limit the duration of
    data read from an input file
    - incomplete Voxware MetaSound decoder
    - read EXIF metadata from JPEG
    - DVB teletext decoder
    - phase filter ported from libmpcodecs
    - w3fdif filter
    - Opus support in Matroska
    - FFV1 version 1.3 is stable and no longer experimental
    - FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
    - changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
    more consistent with other muxers.
    - adelay filter
    - pullup filter ported from libmpcodecs
    - ffprobe -read_intervals option
    - Lossless and alpha support for WebP decoder
    - Error Resilient AAC syntax (ER AAC LC) decoding
    - Low Delay AAC (ER AAC LD) decoding
    - mux chapters in ASF files
    - SFTP protocol (via libssh)
    - libx264: add ability to encode in YUVJ422P and YUVJ444P
    - Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
    - make decoding alpha optional for prores, ffv1 and vp6 by setting
    the skip_alpha flag.
    - ladspa wrapper filter
    - native VP9 decoder
    - dpx parser
    - max_error_rate parameter in ffmpeg
    - PulseAudio output device
    - ReplayGain scanner
    - Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
    - Linux framebuffer output device
    - HEVC decoder, raw HEVC demuxer, HEVC demuxing in TS, Matroska and MP4
    - mergeplanes filter
  

我们建议用户、分发者和系统集成商进行升级,除非他们使用当前的 git master。

telepoint.bg 提供托管