标签 ffmpeg 下的文章

1 FFmpeg 已经完成多线程功能开发

多线程 FFmpeg 命令行长期开发工作已经完成!在 FFmpeg 7.0 于明年初发布之前,带有多线程转码管道的 FFmpeg CLI 现已合并到 FFmpeg Git。开发人员称这项工作是“几十年来 FFmpeg CLI 最复杂的重构之一”。

消息来源:Phoronix
老王点评:FFmpeg 的重大进步,必将带来整个生态的进步。

2 Ubuntu 24.04 LTS 将默认启用帧指针

继 Fedora 决定在其软件包构建中默认启用帧指针,以帮助调试和分析现有软件包之后,Ubuntu 也将从 24.04 开始,在所有 64 位平台上默认启用帧指针。这一改变会带来轻微的性能损失,但在影响较大的情况下(如 Python 解释器),将继续省略帧指针,直到问题得到解决。分析表明,在大多数情况下,64 位架构上的影响在 1-2% 之间。Ubuntu 不会在 32 位架构上进行这种更改,因为 32 位架构上的损失会更大。

消息来源:Phoronix
老王点评:想必对 Linux 应用的性能改善很有作用。

3 Glibc 加入采用行为准则的开源项目行列

GNU C 库 Glibc 是最新一个采用行为准则(CoC)的自由软件项目,旨在鼓励开发者和其他利益相关者在使用这个 Linux 软件生态系统的关键组件时采取友好的行为,减少争议。GCC 和其他重要的 GNU 项目已经采用了类似的准则来规范在邮件列表、错误跟踪器、维基、Git、IRC 和其他地方的行为。

消息来源:Phoronix
老王点评:以前的贡献只需要提交代码就行,后来有了许可证,再后来有了贡献者许可协议(CLA),然后是行为准则(CoC)。只能说江湖上的人形形色色,规则会越来越多。

开源多媒体框架 FFmpeg 6.0 现已发布,带来了更新和改进。

流行的开源多媒体框架 FFmpeg 6.0 现已发布。这个主要的版本现在已可下载,并在多媒体项目中使用。其亮点变化包括两个新的图像格式支持,许多编解码器和其他增强功能。

下面是一个快速回顾。

FFmpeg 6.0 新增内容

主要变化

这个版本的主要亮点是对两种新图像格式的支持。Radiance HDR 图像(RGBE)为用户在图像处理中提供了更好的色彩深度和动态范围。FFmpeg 6.0 现在包括对 WBMP(无线应用协议位图) 图像格式的支持,这在移动设备和网络应用中是常用的图像格式。

在 FFmpeg 6.0 中,新的 -shortest_buf_duration 选项允许用户为音频和视频缓冲区设置一个最小的持续时间,这可以确保在输出文件中使用最短的缓冲区时间。

从 FFmpeg 6.0 开始,线程必须被内置到软件中才能运行。在这个版本中,每个复用器都在一个单独的线程中运行。这提高了性能,使同时处理多个流的效率更高。

FFmpeg 6.0 中的 cropdetect(裁剪检测)过滤器现在包括一个新的模式,可以根据运动向量和边缘检测裁剪区域,为用户提供更精确的视频裁剪控制。

过滤器

在这个版本中,大量的过滤器得到了更新,这将通过新的功能简化你的多媒体项目和工作流程。下面是一个快速的变化列表:

  • ddagrab 过滤器现在支持桌面复制视频捕获,允许用户直接从他们的桌面上捕获视频。
  • a3dscope 过滤器为用户提供了音频信号的 3D 范围显示,允许更精确的音频编辑和处理。
  • backgroundkey 过滤器允许用户删除或替换视频片段中的背景,为视频编辑提供更大的灵活性。
  • showcwt 多媒体过滤器允许用户将连续小波变换系数可视化,提供对信号和图像处理的洞察力。
  • corr 视频过滤器对视频帧进行二维交叉关联,提供更精确的运动估计和稳定。
  • ssim360 视频过滤器计算两个视频帧之间的 结构相似度指数(SSIM),为衡量 360 度视频的视频质量提供了一个指标。

编解码器

在这个版本中,编解码器的更新是非常多的。

首先,FFmpeg 6.0 现在支持 NVENC AV1 编码,允许用户使用英伟达最新的压缩技术对视频进行编码。MediaCodec 解码器现在支持 NDKMediaCodec,为安卓设备提供更好的兼容性。其次,增加了一个新的 MediaCodec 编码器,允许在安卓设备上进行视频编码时进行硬件加速。

在此基础上,该版本包括了对 QSV(快速同步视频)的 oneVPL 支持,在英特尔 CPU 上进行视频编码时提供了更好的性能和质量。QSV AV1 编码器允许用户在英特尔 CPU 上使用硬件加速对 AV1 视频进行编码。

这个版本引入了对 10/12 位 422、10/12 位 444 HEVC 和 VP9 的 QSV 编解码支持,为用户提供更好的视频质量和性能。WADY DPCM 解码器和解复用器允许用户使用 WADY DPCM(差分脉冲编码调制)格式对音频进行解码和解复用,这种格式通常用于视频游戏配乐。

此外,现在还有一个 CBD2 DPCM 解码器,它允许用户使用 CBD2(共轭结构代数编码簿差分脉冲编码调制)格式解码音频。这种格式通常用于电信和语音编码应用。

其他变化

这个变化清单很庞大,其中还包括 FFmpeg 程序的新 CLI 选项和其他错误修复。你可以在 GitHub 上阅读详细的 变更日志

下载和安装

对于 Debian、Ubuntu 和相关的发行版,这个版本应该在几天内到达。请在 Debian 跟踪页 中留意。

对于 Fedora、RHEL、CentOS,你可以通过 RPM Fusion 仓库获得这个版本。如果你已经设置了 RPM Fusion,请更新你的系统以获得它。

源代码和其他下载都可以在 这里 下载。

另外,你可以在这里查看我们的独家文章中如何安装FFmpeg和基本使用方法。

如何在 Ubuntu 和其他 Linux 中安装 FFmpeg

总结

有了 Radiance HDR 图像支持等新功能,以及对各种编解码的改进支持,FFmpeg 6.0 为用户提供了强大的音频和视频处理工具。

新的过滤器变化提供了先进的音频和视频处理能力,从去除或替换视频中的背景到执行运动估计和稳定。

总的来说,这是一个重要的里程碑式的更新,为音频和视频处理工作负载提供了更好的性能和更大的灵活性。


via: https://debugpointnews.com/ffmpeg-6-0/

作者:arindam 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

本教程讲述了在 Ubuntu 和其他 Linux 系统中安装 FFmpeg 所需的步骤。

FFmpeg 是一系列用于操作多媒体文件的库和软件程序。整个 FFmpeg 是一组强大的库,允许你转换、推流和操作音频和视频文件。许多前端 Linux 应用程序将其用作后端并依赖它。例如,屏幕录制应用程序可能需要 FFmpeg 将录制的流转换为 Gif 图像。

主流的应用程序和服务,如 VLC 媒体播放器、YouTube、Blender、Kodi、Shotcut 和 Handbrake 等,都使用 FFmpeg。

趣事:NASA 2020 年发射的毅力号火星探测器使用 FFmpeg 完成和处理图像和视频,然后将其发送回地球!

关于 FFmpeg 包

FFmped 是一个强大的命令行工具。它支持 Linux、Windows 和 macOS,并支持多种架构。它是用 C 和汇编编写的,提供了强大的性能和跨平台实用性。

核心

FFmpeg 的核心是命令行实用程序。它们可以在命令行上使用,也可以从任何编程语言中调用。例如,你可以从 Shell 程序、Python 脚本等程序中使用它们。

  • ffmpeg:用于转换音频和视频流,包括来自 TV 卡等实时流的源
  • ffplay:此软件包中捆绑的媒体播放器,用于播放媒体
  • ffprobe:命令行工具,用于显示媒体信息 - 可以以 txt、csv、xml、json 格式输出

FFmpeg 安装

在 Ubuntu 和其他 Linux 发行版中安装 FFmpeg 很容易。打开终端并运行以下命令以安装。

Ubuntu 以及相似的发行版

sudo apt install ffmpeg

Fedora

对于 Fedora Linux,你需要添加 RPM Fusion repo。Fedora 官方仓库没有 FFmpeg 包。

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-
sudo dnf install ffmpeg

Arch Linux

pacman -S ffmpeg

在安装完成后,你可以使用以下命令验证安装。

ffmpeg --version

Ubuntu Linux 中安装的 FFmpeg

示例:ffmpeg 的基础用法

首先,让我给你一个简单的例子。考虑以下示例。它只是将 mp4 文件转换为 mkv 文件。

1、转换一个基本的视频文件

ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv

当然,这是最简单的方法,但它不完整,因为它没有转换所需的视频文件的比特率、分辨率和其他属性。

2、转换一个音频文件

其次,你可以使用类似的命令转换音频文件。

ffmpeg -i sunny_day.ogg sunny_day.mp3

3、使用音频和视频编解码器转换

最后,以下示例可以使用指定的编解码器转换视频文件。参数 -c 带有的 av 分别定义音频和视频。下面的命令使用 libvpx 视频和 libvorbis 音频编解码器进行转换。

ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm

如何找出系统中可用的编解码器,编码器和解码器?

列出所有编解码器

要列出所有可用的编解码器,请运行以下命令:

ffmpeg -codecs

该命令列出了所有可用的编解码器及其功能,是否支持解码或编码等。此外,它们根据下表的位置进行标识。

D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression

FFmpeg 编解码器列表

列出所有编码器

通过以下命令列出所有编码器:

ffmpeg -encoders

列出所有解码器

同样的,你可以通过以下命令获取解码器列表:

ffmpeg -decoders

详细信息

你还可以使用参数 -h 获取编码器或解码器的更多详细信息。

ffmpeg -h decoder=mp3

总结

我希望你学会了 FFmpeg 和它的命令的基础知识。你可以通过 官方文档 了解更多有关该程序的信息。


via: https://www.debugpoint.com/install-ffmpeg-ubuntu/

作者:Arindam 选题:lkxed 译者:Cubik65536 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

FFmpeg 是第一个干掉专有竞争软件的大规模开源软件

FFmpeg 被描述为多媒体的瑞士军刀。它集成了数百个视频、音频和图像解码器和编码器、多路复用器和解复用器、过滤器和设备。FFmpeg 是第一个在其细分市场上完全消除了专有软件的大规模 FOSS 项目之一。几乎所有的多媒体相关公司都依靠 FFmpeg 来完成他们的重任。在多媒体方面,FFmpeg 几乎是所有问题的解决方案。如果它不是,你更有可能去修补 FFmpeg,而不是去开发新的东西。顺便说一句,FFmpeg 的创始人 Fabrice Bellard 也是 QEMU 的创始人。

消息来源:Drew DeVault
老王点评:FFmpeg 简直是垄断性的成功。说起这个来,我记得有几家公司被列入了其耻辱榜。

Electron 上运行的 Windows 95 发布新版本

发布于 27 年前的 Windows 95 虽然早已停止支持,但仍被一些人认为是微软创造的最伟大的产品之一。有爱好者使用 Electron 开发了名为“Windows 95”复刻版应用,借助该框架,它可以在 Windows、macOS 和 Linux 上运行。该应用刚刚发布了最新版本 3.1.1,得益于底层框架 Electron 从 v18 升级到 v21,它带来了一些重大变化,比如支持最新的 Chromium 106,支持深色模式。

消息来源:GitHub
老王点评:当年第一次见到 Windows 95,那种震撼是只用过 DOS 和 Windows 3.1 的我不能想象的。

比特币网络花了一个半小时才产生了一个区块

根据区块浏览器的数据,最近比特币网络开采出的两个区块间隔了 85 分钟,有超过 13,000 笔交易被积压。上周,比特币经历了一次难度调整,以确保区块确认每 10 分钟进行一次。随着采矿难度飙升至 35.6 万亿,开采比特币的成本变得更高。闪电网络的创始人说,在不考虑难度变化的情况下,每隔 34 天会发生一次 85 分钟区块间隔。

消息来源:Coindesk
老王点评:这样的可靠性堪忧啊。

本教程介绍了在 Ubuntu 及其他 Linux 发行版上安装 FFmpeg 的步骤。

FFmpeg 是一套处理多媒体文件的软件库。凭借这些强大的库,FFmpeg 能够转换格式、推流以及处理音频和视频文件。许多 Linux 的前端应用都使用 FFmpeg 作为后端支持,所以这些应用对 FFmpeg 的依赖度非常高。举个例子,录屏软件可能会用到 FFmpeg 将录屏转换为 gif 动图。

VLC 多媒体播放器、YouTube、Blender、Kodi、Shotcut 和 Handbrake 等流行的应用与服务都在使用 FFmpeg,这仅仅一小部分。

趣事:NASA 火星 2020 计划的探测器“毅力”号在将图像和视频发送到地球之前,会先使用 FFmpeg 对其进行处理。

关于 FFmpeg

FFmpeg 本身是一款非常强大的命令行实用程序,在 Linux 发行版、Windows 以及 macOS 等系统上均可运行,支持多种架构。FFmpeg 是用 C 语言和汇编语言编写的,性能强大,提供跨平台支持。

核心

FFmpeg 的核心是命令行实用程序,既可在命令行上使用,也可以经由任何程序语言调用。比如,你可以在 Shell 程序或 python 脚本中使用 FFmpeg。

  • ffmpeg:用于转换音视频格式,包括来自视频直播的信号源。
  • ffplay:FFmpeg 配套使用的媒体播放器
  • ffprobe:显示媒体文件信息的命令行工具,可将信息输出为 csv、xml、json 等格式。

FFmpeg 安装

在 Ubuntu 等 Linux 发行版上, FFmpeg 的安装比较简单。打开终端,运行以下命令安装即可。

Ubuntu 及与其相似的发行版

sudo apt install FFmpeg

Fedora

在 Fedora Linux 上安装 FFmpeg,你需要添加 RPM Fusion 仓库,因为 Fedora 官方仓库没有 FFmpeg 软件包。

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-
sudo dnf install ffmpeg

Arch Linux

pacman -S ffmpeg

安装完成后,可输入以下命令查看安装是否成功。

ffmpeg --version

FFmpeg installed in Ubuntu Linux

示例:FFmpeg 的基本操作

首先,我们先来看看 FFmpeg 语法的一个简单例子。如下,该语法可以将 mp4 文件转换为 mkv 文件。

1、视频文件格式转换

ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv

当然,这种写法最为简单易懂,但它并不完整,因为没有输入 比特率 bit rate 分辨率 resolution 以及其他的视频文件属性。

2、音频文件格式转换

其次,输入与上面相似的命令可以转换音频文件的格式。

ffmpeg -i sunny_day.ogg sunny_day.mp3

3、使用音视频编解码器执行格式转换

最后,在下面的例子中,我们可以使用特定的 编解码器 codec 来转换视频格式。参数 -c 搭配 a 或者 v,可以分别定义音频和视频文件。以下转换命令使用 libvpx 视频编解码器和 libvorbis 音频编解码器。

ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm

如何确定自己系统中有哪些编码器和解码器?

显示所有编解码器

输入以下命令,打印所有编解码器。

ffmpeg -codecs

该命令可以打印出所有可用的编解码器,并显示每个编解码器对应的功能信息,比如是否支持解码或编码。此外,如以下输出结果所示,打印出来的信息还会按照首字母顺序标注出每个编码器和解码器的位置。

D..... = 支持解码
.E.... = 支持编码
..V... = 视频编解码器
..A... = 音频编解码器
..S... = 字幕编解码器
...I.. = 仅限帧内编解码器
....L. = 有损压缩
.....S = 无损压缩

FFmpeg Codec list

显示所有编码器

输入下列命令,打印出所有编码器

ffmpeg -encoders

显示所有解码器

同样,输入下列命令,打印出所有解码器。

ffmpeg -decoders

更多信息

输入参数 -h,获取更多关于编码器或解码器的信息。

ffmpeg -h decoder=mp3

总结

我希望这篇文章可以帮助你了解 FFmpeg 的基本知识及基本命令。若要了解更多信息,可前往 FFmpeg 官方网站浏览 帮助文档


via: https://www.debugpoint.com/2022/06/install-ffmpeg-ubuntu/

作者:Arindam 选题:lkxed 译者:aREversez 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

星链卫星影响的图像两年间增加了 35 倍

SpaceX 旗下“星链”互联网服务需要在轨运行密集的卫星群来提供低延迟网络连接服务。目前已有超过 1500 颗在轨卫星,美国 FCC 此前已经批准了 12000 颗星链卫星的发射。在过去的两年时间里,受星链卫星轨迹影响的图像数量 增加了 35 倍。研究人员估计,如果星链按计划发射所有卫星,几乎每一张观测图像中都至少有一条星链卫星的轨迹。SpaceX 在新一代星链卫星上安装了遮光罩,使卫星亮度下降了大约 4.6 倍,但仍然高于解决问题设定的目标。目前图像中的星链卫星轨迹细小,加之可以通过软件进行识别并处理,所以对天文观测的影响不算大。研究人员估计,目前而言,因为与星链卫星轨迹重合而导致错过罕见天文事件的概率只有 0.04%,但对黄昏观测影响最为严重。

老王点评:这一问题会随着卫星数量的增加而进一步恶化。

2021 年针对 Linux 的恶意软件增长了 35%

根据 一份报告,2021 年,针对 Linux 系统的恶意软件与 2020 年相比上升了 35%。XorDDoS、Mirai 和 Mozi 是最普遍的系列,占 2021 年观察到的所有针对 Linux 的恶意软件攻击的 22%。之前的 另外一份报告 也证实了这个增长趋势,发现 2020 年 Linux 恶意软件家族比前一年增加了 40%。

老王点评:从好的地方看,这代表 Linux 越来越流行了 ?

FFmpeg 5.0 发布

FFmpeg 被多媒体应用广泛使用,其中之一是 VLC。在这个 版本 中,删除了大量废弃的 API,其中一些 API 甚至在 2013 年就被标识为废弃了,在这个版本之前已经有 4 年没有删除过废弃 API 了。所以如果你的应用使用了废弃 API 的话,请注意升级问题。除了 API 方面的变化,此版本还增加了许多功能,详情请参考 变更日志。此外,FFmpeg 将从 5.0 开始转向基于时间的发布节奏,预期每年都发布一个重大版本,以及每隔一年一个 LTS 版本,5.0 将是第一个 LTS 版本。

老王点评:虽然这个软件自己都没有个 GUI,但是却是很多华丽的多媒体应用的动力所在。