​ 《FFmpeg开发实战:从零基础到短视频上线》一书提到:使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是执行下面命令。

pacman -S mingw-w64-x86_64-toolchain

一般情况可以正常安装交叉编译工具链,不过有时会提示错误“signature from "David Macek <david.macek.0@gmail.com>" is unknown trust”,这是因为MSYS安装之后的密钥环有效期只有150天左右,而工具链中的个别组件会检查密钥环是否有效。如果密钥环过了150天之后才安装工具链,MSYS就会报前面的错,意思是签名不被信任,这便是密钥环过期导致的。

执行下面命令查看密钥环的有效时间。

pacman-key --list-sigs

从上面命令的执行结果找到“david.macek.0@gmail.com”所在的那几行信息,如下所示。

pub   rsa4096 2018-01-14 [SC] [过期于:2023-04-22]
      87771331B3F1FF5263856A6D974C8BE49078F532
uid             [ 过期 ] David Macek <david.macek.0@gmail.com>
sig          790AE56A1D3CFDDC 2020-06-19  David Macek (MSYS2 master key) <david.macek.0@gmail.com>
sig          5F92EFC1A47D45A1 2020-06-23  Alexey Pavlov (Alexpux) <alexpux@gmail.com>
sig          F40D263ECA25678A 2020-06-25  Alexey Pavlov (Alexpux) <alexey.pawlow@gmail.com>
sig          755B8182ACD22879 2020-06-25  Christoph Reiter (MSYS2 master key) <reiter.christoph@gmail.com>
sig 3        974C8BE49078F532 2022-10-24  David Macek <david.macek.0@gmail.com>

根据上述的密钥环有效信息,得知“david.macek.0@gmail.com”对应的密钥环已于2023-04-22到期,可见确实出现了密钥环过期的问题。

若想解决密钥环过期的问题,要么更新密钥环,要么重新安装MSYS。采取更新密钥环方式的话,得先到以下网址寻找msys2-keyring的最新文件。

https://repo.msys2.org/msys/x86_64/

比如找到msys2-keyring的最新文件为msys2-keyring-1~20231013-1-any.pkg.tar.zst和msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig,于是执行下面命令将这两个签名文件下载到本地。如果最新文件的日期发生变化,注意同步修改下面命令中的文件名。

curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20231013-1-any.pkg.tar.zst
curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig

等待两个文件下载完毕,接着执行下面命令验证并配置密钥环。

pacman-key --verify msys2-keyring-1~20231013-1-any.pkg.tar.zst{.sig,}
pacman -U --config <(echo) msys2-keyring-1~20231013-1-any.pkg.tar.zst

上面命令的执行结果最后一行如下所示,可见密钥环的失效时间已经延长到了2024-04-10。

gpg: next trustdb check due at 2024-04-10

重新执行下面命令查看密钥环的有效时间。

pacman-key --list-sigs

从上面命令的执行结果找到“david.macek.0@gmail.com”所在的那几行信息,如下所示。

pub   rsa4096 2018-01-14 [SC] [expires: 2024-04-10]
      87771331B3F1FF5263856A6D974C8BE49078F532
uid           [  full  ] David Macek <david.macek.0@gmail.com>
sig          790AE56A1D3CFDDC 2020-06-19  David Macek (MSYS2 master key) <david.macek.0@gmail.com>
sig          5F92EFC1A47D45A1 2020-06-23  Alexey Pavlov (Alexpux) <alexpux@gmail.com>
sig          F40D263ECA25678A 2020-06-25  Alexey Pavlov (Alexpux) <alexey.pawlow@gmail.com>
sig          755B8182ACD22879 2020-06-25  Christoph Reiter (MSYS2 master key) <reiter.christoph@gmail.com>
sig 3        974C8BE49078F532 2023-03-16  David Macek <david.macek.0@gmail.com>
sig 3        974C8BE49078F532 2023-10-13  David Macek <david.macek.0@gmail.com>
sub   rsa4096 2018-01-14 [E] [expires: 2024-04-10]
sig          974C8BE49078F532 2023-03-16  David Macek <david.macek.0@gmail.com>
sig          974C8BE49078F532 2023-10-13  David Macek <david.macek.0@gmail.com>
sub   rsa3072 2018-01-14 [S] [expires: 2024-04-10]
sig          974C8BE49078F532 2023-03-16  David Macek <david.macek.0@gmail.com>
sig          974C8BE49078F532 2023-10-13  David Macek <david.macek.0@gmail.com>

根据上述的密钥环有效信息,得知“david.macek.0@gmail.com”对应的密钥环将于2024-04-10到期,可见密钥环的有效期果然往后延长了150天(从当天开始往后150天,不是对上个失效日期简单相加)。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

FFmpeg开发笔记(五)更新MSYS的密钥环的更多相关文章

  1. FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  2. FFmpeg开发笔记(三):ffmpeg介绍、windows编译以及开发环境搭建

    前言   本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8.   FFmpeg简介   FFmpeg是领先的多媒体框架,能够解码 ...

  3. FFmpeg开发笔记(四):ffmpeg解码的基本流程详解

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  4. FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放

    前言   ffmpeg播放rtsp网络流和摄像头流.   Demo   使用ffmpeg播放局域网rtsp1080p海康摄像头:延迟0.2s,存在马赛克     使用ffmpeg播放网络rtsp文件流 ...

  5. FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台

    FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待   前言   将ffmpeg移植到海思H ...

  6. Django开发笔记五

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.页面继承 定义base.html: <!DOC ...

  7. FFmpeg开发笔记(一)搭建Linux系统的开发环境

    对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库.不过考虑到刚开始仅仅调用 ...

  8. React-Native开发笔记 持续更新

    1.css单位转换px2dp 在做页面开发的时候习惯了用rem去做css单位,处理各种尺寸数据,到了React-Native里面做app开发时,rem就不好用了,这个时候就需要转换成另外一个单位,基本 ...

  9. FFmpeg开发笔记(二)搭建Windows系统的开发环境

    由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的.不过若有已经 ...

  10. OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台

    前言   移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持.   Ffmpeg的移植   Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十): ...

随机推荐

  1. 【Unity3D】Bloom特效

    1 Bloom 特效原理 ​ Bloom 特效是指:将画面中较亮的区域向外扩散,造成一种朦脓的效果.实现 Bloom 特效,一般要经过 3 个阶段处理:亮区域检测.高斯模糊.Bloom 合成. ​ 本 ...

  2. 【Android】使用Socket实现跨设备通讯

    1 Socket 简介 ​ Socket(套接字)是应用层与 TCP/IP 协议通信的中间软件抽象层,它是一组接口,用户只需面向 Socket 编程,即可实现跨设备(网络)通讯. ​ Socket 是 ...

  3. 按奇偶排序数组II

    按奇偶排序数组II 给定一个非负整数数组A,A中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当A[i]为奇数时,i也是奇数:当A[i]为偶数时,i也是偶数. 你可以返回任何满足上述条件的数组 ...

  4. Java判断是否为闰年

    题目: 判断一个输入的整数是否为闰年? 1.需要对输入的数据类型进行验证 2.支持多次输入和结束符号判断,例如输入q代表退出程序. 分析: 闰年的判断规则如下: (1)若某个年份能被4整除但不能被10 ...

  5. SSL/TLS 资料整理

    1. HTTPS详解二:SSL / TLS 工作原理和详细握手过程 看到另外几篇介绍不错的文章,再次分享一下 园内大佬写的, 通过一个小故事,理解 HTTPS 工作原理 这篇博文已经把 SSL 的工作 ...

  6. git bash走代理

    git config --global http.proxy 'http://127.0.0.1:7890' git config --global https.proxy 'http://127.0 ...

  7. yolov5项目cuda错误解决

    CUDA报错解决 # 报错详情 AssertionError: CUDA unavailable, invalid device 0 requested 查看cuda版本 先看一下电脑是否支持GPU, ...

  8. 【Azure Redis 缓存】Azure Redis 4.0 被扫描到漏洞,如何修补呢?

    问题描述 在安全级别要求高的公司中,任何系统都会进行安全扫描.比如Azure 云上的Redis服务,也在扫描的范围中,最后发现Redis 4.0存在以下漏洞: CVE-2019-10192:https ...

  9. 利用Linux自动编译Vivado工程

    https://codetd.com/article/12458043. 利用Linux自动编译Vivado工程

  10. Java11改进的垃圾回收器

    传统的C/C++等编程语言,需要程序员负责回收已经分配的内存.显示进行垃圾回收是一件比较困难的事情,因为程序员并不总是知道内存应该何时被释放.如果一些分配出去的内存得不及时回收,就会引起系统运行速度下 ...