适用于 Windows 的预构建电子二进制文件包括文件ffmpeg.dll. 如何确定实际编译了底层 ffmpeg 库的哪个版本以生成此 dll?我需要这些信息来通过 ffmpeg 了解给定版本的电子中可能存在哪些已知漏洞(CVE 等)。
据我了解,当我下载我的依赖项(我正在使用)时,ffmpeg dll 本身是从https://github.com/electron/nightlies/releases/获取的electron-prebuilt-compile。但是我没有清楚地了解该二进制文件的来源是什么。我认为它可能来自https://chromium.googlesource.com/chromium/third_party/ffmpeg/但是我不清楚那个 repo 与原始 ffmpeg repo 的关系(例如,从 ffmpeg 中合并修复的频率回购到铬第三方回购等)
我尝试按照 cody 的建议搜索 dll 的内容,但没有运气:
$ strings ffmpeg.dll | grep -i ffmp
FFmpeg video codec #1
Huffyuv FFmpeg variant
Not yet implemented in FFmpeg, patches welcome
C:\projects\libchromiumcontent\src\out-x64\static_library\ffmpeg.dll.pdb
ffmpeg.dll
$ strings ffmpeg.dll | grep -i version
H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
MPEG-4 part 2 Microsoft variant version 1
MPEG-4 part 2 Microsoft variant version 2
MPEG-4 part 2 Microsoft variant version 3
H.263+ / H.263-1998 / H.263 version 2
On2 VP6 (Flash version)
On2 VP6 (Flash version, with alpha channel)
old standard qpel (autodetected per FOURCC/version)
direct-qpel-blocksize bug (autodetected per FOURCC/version)
edge padding bug (autodetected per FOURCC/version)
strictly conform to a older more strict version of the spec or reference software
minor_version
premiere_version
quicktime_version
Assume this x264 version if no x264 version found in any SEI
Run Code Online (Sandbox Code Playgroud)
我自己花了几天时间研究这个,基于那个时间,这就是我想出的。
Electron 版本指定了他们正在使用的 Chromium 版本,Chromium 有一个 FFMPEG 的分支,它从源代码构建以生成ffmpeg.dll用于 Windows 的 Electron 构建的文件。我通过以下步骤从一个 Electron 版本中追踪了一个粗略版本的 FFMPEG:
v5.0.3)DEPS文件并复制chromium_versionDEPS文件,并搜索src/third_party/ffmpeg41268576ad9a8b760287101f4f58d0ef468798af)RELEASE文件以获取 FFMPEG 版本(次要版本,.git末尾带有,例如4.1.git)似乎ffmpeg.dll没有版本的原因是因为它是由 Chromium 从源代码构建的。
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |