ffmpeg简单介绍

ffmpeg version 6.1.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers

built with gcc 12.2.0 (Rev10, Built by MSYS2 project)

这是关于FFmpeg软件的版本信息,以下是对输出的详细解释:

ffmpeg version 6.1.1-full_build-www.gyan.dev

  • ffmpeg version: 表示这是FFmpeg的版本信息。

  • 6.1.1: 指示软件的版本号。在这里,版本号是6.1.1。

  • -full_build: 表示这是一个完整构建(full build),通常意味着它包含了 FFmpeg 的所有功能和组件。

  • -www.gyan.dev: 表示这个版本是从 www.gyan.dev 提供的构建,该站点是提供Windows平台上预编译的FFmpeg二进制文件的来源之一。


Copyright (c) 2000-2023 the FFmpeg developers

  • 表示版权声明,FFmpeg 被一群开发者共同维护和开发,版权归这些开发者所有。这里显示的年份范围是2000年到2023年。

built with gcc 12.2.0 (Rev10, Built by MSYS2 project)

  • built with: 表示FFmpeg是使用以下编译器构建的。

  • gcc 12.2.0: 表示使用 GCC 编译器的版本。在这里,版本号是12.2.0。

  • (Rev10, Built by MSYS2 project): 表示这个构建是由 MSYS2 项目构建的,Rev10 是 MSYS2 的构建版本号。

MSYS2 是一个为 Windows 提供软件包管理器工具链的项目。

总体而言,这行输出提供了FFmpeg的版本信息、版权声明以及构建过程中使用的编译器和工具链的相关信息。

这对于了解所使用的 FFmpeg 版本以及构建环境是很有帮助的。

H1MSYS2

MSYS2(Minimal SYStem 2)是一个用于在Windows上提供Unix-like环境的软件项目。

它的目标是提供一个完整的开发环境,包括Shell、工具和库,使在Windows上进行开发更加方便。

以下是MSYS2的一些关键特点和组成部分:

1、软件包管理器:

  • MSYS2使用其自己的软件包管理器(Pacman)来管理和安装软件包。

用户可以通过Pacman轻松地安装、更新和删除软件包,

这使得在Windows上构建和维护开发环境更加方便。

2、提供Unix工具:

  • MSYS2提供了一组Unix工具,

包括Shell(bash)、核心工具(例如ls、cp、mv等)、文件编辑器(vim、nano等)等。

这使得在Windows上进行开发时可以使用类似于Unix系统的命令行环境。

3、开发环境:

MSYS2提供了完整的开发环境,包括GCC编译器套件、make工具、调试器等。

这使得用户可以在Windows上进行C、C++等编程,并进行调试和构建。

4、支持32位和64位系统:

MSYS2可以在32位和64位的Windows系统上运行,并提供相应的软件包和工具链。

用户可以根据系统架构选择适当的版本。

5、包含mingw-w64工具链:

MSYS2附带了mingw-w64工具链,

允许用户在Windows上构建和运行使用Windows API的本机Windows应用程序

mingw-w64工具链是什么东西?参考mingw-w64章节

6、活跃的社区和维护:

MSYS2有一个活跃的社区,定期更新和维护软件包。

这保证了用户可以获得最新的工具和库,并且可以随时升级他们的开发环境。

MSYS2的社区地址是什么?
MSYS2的社区地址是 https://www.msys2.org/
这是MSYS2项目的官方网站,
你可以在这里找到关于MSYS2的详细文档、下载链接、使用说明以及社区论坛等资源。
如果你有关于MSYS2的问题,或者需要获取更多的支持和信息,可以访问该社区网站。

总的来说,MSYS2为Windows用户提供了一个强大的开发环境,使得在Windows上进行类Unix系统的开发变得更加便捷。

它的软件包管理器和支持多种工具链的特性使得在Windows上进行跨平台开发变得更加灵活和高效。

H1mingw-64工具链

mingw-w64是一个用于在Windows平台上开发本机(native)Windows应用程序的工具链。

它提供了一组工具和库,使开发者能够在Windows上使用类似于Unix系统的工具链和编译器,

同时也支持跨平台开发。以下是mingw-w64工具链的主要特点:

1、GCC编译器:

mingw-w64使用GNU Compiler Collection(GCC)作为其主要编译器。

GCC是一个开源的编译器套件,支持多种编程语言,包括C、C++、Fortran等。

在mingw-w64中,GCC被用于编译Windows平台上的本机应用程序。

2、支持Windows API:

mingw-w64工具链提供了对Windows API的支持,

允许开发者创建与Windows系统完全兼容的本机应用程序。

这意味着开发者可以使用Windows特定的API调用和功能。

从哪里可以看到Windows系统全部的API呢?

3、64位和32位支持:

mingw-w64支持在64位和32位Windows系统上进行开发。

开发者可以选择使用相应架构的工具链,

以便构建适用于不同系统的本机应用程序。

4、提供头文件和库:

mingw-w64工具链包含了Windows API的头文件和库文件,

这使得开发者可以方便地访问Windows API并链接到相应的库

5、跨平台开发:

虽然mingw-w64主要用于在Windows上进行本机应用程序的开发,但它也支持跨平台开发。

开发者可以使用mingw-w64构建在Windows和其他平台上运行的应用程序。

总体而言,

mingw-w64工具链是为在Windows上进行本机应用程序开发而设计的,

它提供了一种在Windows平台上使用类Unix系统工具链的方式,

使得开发者可以更灵活地进行本机Windows应用程序的开发。

H1静态链接库和动态链接库

静态链接库和动态链接库都是用于共享代码的库的形式

它们在软件开发中扮演了重要的角色。

下面是它们的详细说明和工作原理:

H3静态链接库(Static Linking Library):

1、定义:

静态链接库是在编译时、将库的代码和数据嵌入程序的可执行文件中的库形式。

每个使用该库的程序都包含该库的一个拷贝,

因此程序是独立的。

2、文件类型:

静态链接库的文件通常以.a(在Unix/Linux系统中)

.lib(在Windows系统中)为扩展名。

3、工作原理:

在编译时,程序的目标文件会引用静态链接库的符号(函数和变量)。

链接器将这些符号的引用替换为库中实际的代码和数据。

最终,程序的可执行文件包含了所有它所需要的代码和数据,使得它可以独立运行。

4、优点:

执行速度相对较快,因为所有代码和数据都在可执行文件中,无需额外的加载过程。

程序的部署相对简单,只需传递可执行文件即可。

5、缺点:

每个使用该库的程序都包含一份库的拷贝,可能导致可执行文件较大。

如果库更新,需要重新编译和链接所有使用该库的程序。

H3动态链接库(Dynamic Linking Library):

1、定义: 动态链接库是在运行时被加载到内存中,

并由多个程序共享使用的库。

程序在运行时引用库中的符号,而不是在编译时。

2、文件类型: 动态链接库的文件通常以.so(在Unix/Linux系统中)或.dll(在Windows系统中)为扩展名。

  1. 工作原理:

    • 在程序运行时,操作系统的动态链接器加载库到内存中。
    • 程序在运行时通过符号引用与库中的函数和变量进行连接。
    • 多个程序可以共享同一份库的实例,减小内存占用。
  2. 优点:

    • 节省内存,因为多个程序可以共享同一份库的实例。
    • 库的更新只需替换库文件,不需要重新编译和链接程序。
  3. 缺点:

    • 程序在运行时需要加载库,可能稍微增加启动时间。
    • 对于库的修改或升级可能会影响多个程序。

H3总结:

  • 选择: 静态链接库适合小型独立程序,而动态链接库适合多个程序共享的大型库。
  • 灵活性: 动态链接库提供更大的灵活性和可维护性,但可能会稍微增加运行时的开销。
  • 部署: 静态链接库使得部署更简单,而动态链接库使得更新和维护更方便。

configuration:

--enable-gpl 
--enable-version3 
--enable-static 
--pkg-config=pkgconf 
--disable-w32threads 
--disable-autodetect 
--enable-fontconfig 
--enable-iconv 
--enable-gnutls 
--enable-libxml2 
--enable-gmp 
--enable-bzlib
--enable-lzma
--enable-libsnappy
--enable-zlib
--enable-librist
--enable-libsrt
--enable-libssh
--enable-libzmq
--enable-avisynth
--enable-libbluray
--enable-libcaca
--enable-sdl2
--enable-libaribb24
--enable-libaribcaption
--enable-libdav1d
--enable-libdavs2
--enable-libuavs3d
--enable-libzvbi
--enable-librav1e
--enable-libsvtav1
--enable-libwebp
--enable-libx264
--enable-libx265
--enable-libxavs2
--enable-libxvid
--enable-libaom
--enable-libjxl
--enable-libopenjpeg
--enable-libvpx
--enable-mediafoundation
--enable-libass
--enable-frei0r
--enable-libfreetype
--enable-libfribidi
--enable-libharfbuzz
--enable-liblensfun
--enable-libvidstab
--enable-libvmaf
--enable-libzimg
--enable-amf
--enable-cuda-llvm
--enable-cuvid
--enable-ffnvcodec
--enable-nvdec
--enable-nvenc
--enable-dxva2
--enable-d3d11va
--enable-libvpl
--enable-libshaderc
--enable-vulkan
--enable-libplacebo
--enable-opencl
--enable-libcdio
--enable-libgme
--enable-libmodplug
--enable-libopenmpt
--enable-libopencore-amrwb
--enable-libmp3lame
--enable-libshine
--enable-libtheora
--enable-libtwolame
--enable-libvo-amrwbenc
--enable-libcodec2
--enable-libilbc
--enable-libgsm
--enable-libopencore-amrnb
--enable-libopus
--enable-libspeex
--enable-libvorbis
--enable-ladspa
--enable-libbs2b
--enable-libflite
--enable-libmysofa
--enable-librubberband
--enable-libsoxr
--enable-chromaprint

H101 - GPL许可

--enable-gpl: 启用GPL许可的功能。

GPL是一种开源软件许可证,

启用此选项表示FFmpeg中包含了使用GPL许可的代码


H102 - 版本协议

--enable-version3: 启用FFmpeg的版本3协议。

这是GPL许可下的一个版本选择。


H103 - 静态链接

--enable-static: 启用静态链接。

这将导致生成静态链接的FFmpeg库,而不是动态链接库(共享库)

什么是静态链接库,什么是动态链接库


H104 - 依赖关系

--pkg-config=pkgconf: 指定使用pkgconf工具来配置包。

pkgconf 是一个用于检查和配置库依赖关系的工具,类似于pkg-config


H105 - 线程支持

--disable-w32threads: 禁用Windows下的线程支持。

通常在使用MinGW-w64工具链编译时,使用Windows线程支持。


H106 - 自动检测

--disable-autodetect: 禁用自动检测。

通常FFmpeg会尝试自动检测系统上可用的库和功能,但这里禁用了自动检测。


H107 - 字体

--enable-fontconfig: 启用Fontconfig支持。

Fontconfig是一个用于管理字体的库,

此选项启用了与字体相关的功能。


H108 - 字符编码转化

--enable-iconv: 启用Iconv支持。

Iconv是一个用于字符编码转换的库,

此选项启用了字符编码转换的功能。


H109 - 加密

--enable-gnutls: 启用GnuTLS支持。

GnuTLS是一个加密库,此选项启用了使用GnuTLS进行安全传输的功能。

H110 - xml解析

--enable-libxml2: 启用libxml2支持。

libxml2是一个用于解析XML文档的库,

此选项启用了与XML相关的功能。

H111 - 大数运算

--enable-gmp: 启用GMP(GNU Multiple Precision Arithmetic Library)支持。

GMP是一个用于进行大数运算的库,此选项启用了相关功能。

H112 - 压缩

--enable-bzlib: 启用Bzip2支持。

Bzip2是一个压缩库,此选项启用了与Bzip2相关的功能。

H113 - 压缩

--enable-lzma: 启用LZMA支持。

LZMA是一种数据压缩算法,此选项启用了与LZMA相关的功能。

H114 - 压缩

--enable-libsnappy: 启用Snappy支持。

Snappy是一个用于数据压缩和解压的库,此选项启用了与Snappy相关的功能。

H115 - 压缩

--enable-zlib: 启用Zlib支持。

Zlib是一个广泛使用的数据压缩库,此选项启用了与Zlib相关的功能。

H116 - 实时流传输

--enable-librist: 启用librist支持。

librist是一个用于实时流传输的库,此选项启用了与librist相关的功能。

H117 - 实时流传输

--enable-libsrt: 启用libsrt支持。

libsrt是一个用于实时流传输的库,此选项启用了与libsrt相关的功能。

H118 - ssh支持

--enable-libssh: 启用libssh支持。

libssh是一个用于SSH协议的库,此选项启用了与libssh相关的功能。

H119 - 消息

--enable-libzmq: 启用ZeroMQ支持。

ZeroMQ是一个消息传递库,此选项启用了与ZeroMQ相关的功能。

H120 - 视频编辑脚本

--enable-avisynth: 启用AviSynth支持。

AviSynth是一个用于非线性视频编辑的脚本语言

此选项启用了与AviSynth相关的功能。

H121 - 光盘解析

--enable-libbluray: 启用libbluray支持。

libbluray是一个用于Blu-ray光盘解析的库,

此选项启用了与libbluray相关的功能。

H122 - 艺术字

--enable-libcaca: 启用libcaca支持。

libcaca是一个用于将图像转换为ASCII艺术的库,

此选项启用了与libcaca相关的功能。

H123 - 跨平台开发库

--enable-sdl2: 启用SDL2支持。

SDL2是一个用于图形和音频的跨平台开发库,

此选项启用了与SDL2相关的功能。

H124 - 字幕

--enable-libaribb24: 启用libaribb24支持。

libaribb24是一个用于ARIB STD-B24字幕的库,

此选项启用了与libaribb24相关的功能。

H125 - 字幕

--enable-libaribcaption: 启用libaribcaption支持。

libaribcaption是一个用于ARIB STD-B62字幕的库,

此选项启用了与libaribcaption相关的功能。

H126 - 视频编解码

--enable-libdav1d: 启用libdav1d支持。

libdav1d是一个用于AV1视频编解码的库,

此选项启用了与libdav1d相关的功能。

H127 - 编解码器

--enable-libdavs2: 启用对 davs2(AVS2-P2/IEEE 1857.10)编解码器的支持。

H128 - 编解码器

--enable-libuavs3d: 启用对 uavs3d 编解码器的支持。

H129 - 遥测信号

--enable-libzvbi: 启用对 ZVBI(用于解析和显示遥测信号的库)的支持。

H130 - 编码器

--enable-librav1e: 启用对 rav1e(AV1编码器)的支持。

H131 - 编码器

--enable-libsvtav1: 启用对 SVT-AV1(Intel的AV1编码器)的支持。

H132 - 图像

--enable-libwebp: 启用对 WebP 图像格式的支持。

H133 - 编码器

--enable-libx264: 启用对 x264(H.264编码器)的支持。

H134 - 编码器

--enable-libx265: 启用对 x265(H.265/HEVC编码器)的支持。

H135 - 编码器

--enable-libxavs2: 启用对 xavs2(AVS2编码器)的支持。

H136 - 编码器

--enable-libxvid: 启用对 Xvid(MPEG-4编码器)的支持。

H137 - 编解码器

--enable-libaom: 启用对 libaom(AV1编解码器)的支持。

H138 - 编解码器

--enable-libjxl: 启用对 libjxl(JPEG XL编解码器)的支持。

H139 - 编解码器

--enable-libopenjpeg: 启用对 OpenJPEG(JPEG 2000编解码器)的支持。

H140 - 编解码器

--enable-libvpx: 启用对 libvpx(VP8/VP9编解码器)的支持。

H141 - 多媒体框架

--enable-mediafoundation: 启用对 Windows Media Foundation(多媒体框架)的支持。

H142 - 字幕

--enable-libass: 启用对 libass(字幕渲染库)的支持。

H143 - 视频效果

--enable-frei0r: 启用对 frei0r(视频效果插件)的支持。

H144 - 字体

--enable-libfreetype: 启用对 FreeType(字体渲染引擎)的支持。

H145 - 文本

--enable-libfribidi: 启用对 FriBidi(Unicode文本处理库)的支持。

H146 - 文本

--enable-libharfbuzz: 启用对 HarfBuzz(文本引擎)的支持。

H147 - 相机

--enable-liblensfun: 启用对 Lensfun(相机镜头校正库)的支持。

H148 - 视频图像

--enable-libvidstab: 启用对 vid.stab(视频图像稳定库)的支持。

H149 - 视频评估

--enable-libvmaf: 启用对 VMAF(视频多方法评估工具)的支持。

H150 - 图像

--enable-libzimg: 启用对 zimg(图像处理库)的支持。

H151 - 高级媒体框架

--enable-amf: 启用对 AMD AMF(高级媒体框架)的支持。

H152 - 编译器

--enable-cuda-llvm: 启用使用CUDA LLVM编译器的支持。

H153 - 视频解码

--enable-cuvid: 启用使用NVIDIA CUDA的视频解码支持。

H154 - 编解码器

--enable-ffnvcodec: 启用使用NVIDIA NVENC/NVDEC编解码器的支持。

H155 - 视频解码引擎

--enable-nvdec: 启用使用NVIDIA NVDEC(视频解码引擎)的支持。

H156 - 视频解码引擎

--enable-nvenc: 启用使用NVIDIA NVENC(视频编码引擎)的支持。

H157 - DirectX

--enable-dxva2: 启用使用DXVA2(DirectX Video Acceleration 2)的支持。

H158 - Direct3D

--enable-d3d11va: 启用使用D3D11VA(Direct3D 11 Video Acceleration)的支持。

H159 - VPL

--enable-libvpl: 启用对 Intel VPL(Video Processing Library)的支持。

H160 - 编译器库

--enable-libshaderc: 启用对 shaderc(Shader编译器库)的支持。

H161 - Vulkan

--enable-vulkan: 启用使用Vulkan API的支持。

H162 - 图像处理

--enable-libplacebo: 启用对 libplacebo(图像处理库)的支持。

H163 - 开放式计算语言

--enable-opencl: 启用对 OpenCL(开放式计算语言)的支持。

H164 - 光盘读取

--enable-libcdio: 启用对 libcdio(光盘读取库)的支持。

H165 - 游戏音乐解码

--enable-libgme: 启用对 libgme(游戏音乐解码器库)的支持。

H166 - 音频文件解码

--enable-libmodplug: 启用对 libmodplug(ModPlug Tracker音频文件解码器库)的支持。

H167 - 音频文件解码

--enable-libopenmpt: 启用对 libopenmpt(OpenMPT音频文件解码器库)的支持。

H168 - 音频编解码器

--enable-libopencore-amrwb: 启用对 libopencore-amrwb(AMR-WB音频编解码器库)的支持。

H169 - 音频编码库

--enable-libmp3lame: 启用对 libmp3lame(MP3音频编码库)的支持。

H170 - 音频编码库

--enable-libshine: 启用对 libshine(MP3音频编码库)的支持。

H171 - 视频编码库

--enable-libtheora: 启用对 libtheora(Theora视频编码库)的支持。

H172 - MPEG

--enable-libtwolame: 启用对 libtwolame(MPEG Audio Layer II编码库)的支持。

H173 - 音频编码库

--enable-libvo-amrwbenc: 启用对 libvo-amrwbenc(AMR-WB音频编码库)的支持。

H174 - 语音编码器

--enable-libcodec2: 启用对 libcodec2(Codec 2语音编码器库)的支持。

H175 - 音频编码器库

--enable-libilbc: 启用对 libilbc(iLBC音频编码器库)的支持。

H176 - 编解码器

--enable-libgsm: 启用对 libgsm(GSM音频编解码器库)的支持。

H177 - 音频编解码器

--enable-libopencore-amrnb: 启用对 libopencore-amrnb(AMR-NB音频编解码器库)的支持。

H178 - 音频编解码器

--enable-libopus: 启用对 libopus(Opus音频编解码器库)的支持。

H179 - 音频编解码器

--enable-libspeex: 启用对 libspeex(Speex音频编解码器库)的支持。

H180 - 音频编解码器

--enable-libvorbis: 启用对 libvorbis(Vorbis音频编解码器库)的支持。

H181 - LADSPA

--enable-ladspa: 启用对 LADSPA(Linux Audio Developer's Simple Plugin API)的支持。

H182 - DPS效果库

--enable-libbs2b: 启用对 libbs2b(Bauer stereophonic-to-binaural DSP效果库)的支持。

H183 - 合成引擎

--enable-libflite: 启用对 libflite(Festival Lite文本-to-speech合成引擎库)的支持。

H184 - SOFA卷积引擎

--enable-libmysofa: 启用对 libmysofa(SOFA卷积引擎库)的支持。

H185 - 音频拉伸库

--enable-librubberband: 启用对 librubberband(时域自适应音频拉伸库)的支持。

H186 - 采样率转换

--enable-libsoxr: 启用对 libsoxr(高质量音频采样率转换库)的支持。

H187 - 音频指纹

--enable-chromaprint: 启用对 Chromaprint(音频指纹库)的支持。


libavutil      58. 29.100 / 58. 29.100
libavcodec     60. 31.102 / 60. 31.102
libavformat    60. 16.100 / 60. 16.100
libavdevice    60.  3.100 / 60.  3.100
libavfilter     9. 12.100 /  9. 12.100
libswscale      7.  5.100 /  7.  5.100
libswresample   4. 12.100 /  4. 12.100
libpostproc    57.  3.100 / 57.  3.100

这是FFmpeg版本信息的输出,

每一行代表一个组件(如libavutil、libavcodec等)的版本信息。

以下是每一行的详细解释:

1、libavutil 58. 29.100 / 58. 29.100

  • libavutil 是 FFmpeg 中的工具库,提供各种工具函数。

  • 58. 29.100 表示当前加载的版本是 58.29.100

  • / 后的 58.29.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

2、libavcodec 60. 31.102 / 60. 31.102

  • libavcodec 是 FFmpeg 中的编解码库,包含各种音视频编解码器。

  • 60. 31.102 表示当前加载的版本是 60.31.102

  • / 后的 60.31.102 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

3、libavformat 60. 16.100 / 60. 16.100

  • libavformat 是 FFmpeg 中的封装格式库,处理音视频封装格式。

  • 60. 16.100 表示当前加载的版本是 60.16.100

  • / 后的 60.16.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

4、libavdevice 60. 3.100 / 60. 3.100

  • libavdevice 是 FFmpeg 中的设备库,处理音视频输入输出设备。

  • 60. 3.100 表示当前加载的版本是 60.3.100

  • / 后的 60.3.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

5、libavfilter 9. 12.100 / 9. 12.100

  • libavfilter 是 FFmpeg 中的滤镜库,提供音视频滤镜效果。

  • 9. 12.100 表示当前加载的版本是 9.12.100

  • / 后的 9.12.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

6、libswscale 7. 5.100 / 7. 5.100

  • libswscale 是 FFmpeg 中的缩放和颜色空间转换库。

  • 7. 5.100 表示当前加载的版本是 7.5.100

  • / 后的 7.5.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

7、libswresample 4. 12.100 / 4. 12.100

  • libswresample 是 FFmpeg 中的音频重采样库。

  • 4. 12.100 表示当前加载的版本是 4.12.100

  • / 后的 4.12.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

8、libpostproc 57. 3.100 / 57. 3.100

  • libpostproc 是 FFmpeg 中的后处理库,提供视频后处理功能。

  • 57. 3.100 表示当前加载的版本是 57.3.100

  • / 后的 57.3.100 表示库的最新版本,即你的 FFmpeg 版本是该组件的最新版本。

这些信息告诉你当前加载的 FFmpeg 版本中各个组件的版本号,以及每个组件的最新版本号。

版本号通常采用主版本.次版本.修订版本的格式。

posted @   准提弟子  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2023-02-18 2023年02月18日 - 安倍晋三
2023-02-18 2023年02月18日 - 工作的一点思考
点击右上角即可分享
微信分享提示