1.前言
国内关于SRT协议的资料,几乎为0,没什么人用srt协议去编译过ffmpeg,而且这东西在Windows下面编各种坑,整整搞了我十几天,网上资料几乎都是英文的,有些错误也查不到,就很绝望,在郑师傅的帮助下,跌跌撞撞把这个东西编出来了。(如果你不想编,可以直接下我编好的srt库,但是授人以鱼不如授人以渔)
为什么不采用cygwin编译,cygwin编译srt的时候有选项use-cygwin-posix,意思就是使用cygwin提供的posix标准的那一套线程库,导致编出来只能在cygwin下面用,不能在powershell下面跑,放在别人电脑上只能在他人也安装了cygwin的情况下跑,非常麻烦,我的目标是编译出可以在他人电脑上直接执行的.exe文件,因此cygwin无法达成目标,转用MinGW
2.MinGW安装
这个不多赘述了,基本组件就可以了,网上关于安装的说明非常多,不赘述了,装好基本的MinGW之后,需要打开msys去装如下的几个包的有:
SDL库(2.0.9) : https://www.libsdl.org/download-2.0.php
openssl(1.0.2r) : /source/index.html
pkg-config : Index of /binaries/win32/dependencies/
glib : Index of /binaries/win32/glib/
具体怎么装可以自行百度搜索,这里不过多描述,这不是本篇的重点。
SDL可以自己编译也可以自己下一个,MinGW installer没有SDL库,所以去官网下载,需要其他版本SDL可以在网址后面加上release即可,不想编译可以下载下图中的该版本。
按照官方文档描述,1.0.2r版本openssl可以用,后面如果更新了的话请按照最新文档下载,虽然MinGW提供openssl,但是经过验证之后发现配置信息并不全,方便起见直接编译就好了,也可以前往github下载:https://github.com/openssl/openssl。pkg-config为包管理的一个组件,可以通过.pc配置文件找到库和头文件的位置,将其放在MinGW的bin目录下即可。pkg-config需要libglib-2.0-0.dll,拷贝该文件到bin目录下面和pkg-config放在一起即可。
3.CMAKE安装
这个没啥好说的,贴好链接大家自己下载
4.Visual Studio 2017安装
这个也没啥说的,就是安装就完事了。为什么要装VS,因为后面我们需要vs的cl.exe和cmake组合去帮我们构建srt项目,编译出库。