一个完整的、跨平台的音频和视频录制、转换和流媒体解决方案。
新闻
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 的资助。
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 “爱因斯坦”,一个全新的主要版本,现已发布!以下是一些亮点:
- 原生 FFmpeg AAC 编码器已进行广泛改进,不再被视为实验性
- 移除了对 libvo-aacenc 和 libaacplus 的支持
- 添加了 30 多个新滤镜
- 许多 ASM 优化
- VP9 硬件加速(DXVA2 和 VA-API)
- Cineform HD 解码器
- 基于 libdcadec 的新 DCA 解码器,完全支持 DTS-HD 扩展
- 与所有主要版本一样,预计会出现主要的向后不兼容 API/ABI 更改
- 有关更多更新列表,请参阅变更日志
我们强烈建议用户、发行商和系统集成商升级,除非他们使用当前的 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.5、2.7.5、2.6.7、2.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 个关于托管和服务器的报价,非常感谢大家!
在为我们的项目(FFmpeg、MPlayer 和 rtmpdump)提供 4 年慷慨托管后,Arpi(我们的托管人)已通知我们必须立即在其他地方找到新的主机。
如果您想托管一个开源项目,请通过 ffmpeg-devel 邮件列表或 irc.freenode.net #ffmpeg-devel 联系我们。
我们大约需要 4TB 的存储空间和每月至少 4TB 的带宽,用于各种邮件列表、trac、samples 仓库、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.4、2.1.5、2.0.5、1.2.7、1.1.12、0.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 提供托管