使用Windows平台的VS2022来调试AKStream

在Windows上使用VS来调试AKStream


0x00环境说明

  • 运行宿主机:Windows 10
  • IDE:VS2022
  • 运行虚拟机:.Net6.0.200
  • AKStream commit节点:f0077ab8
  • ZLMediaKit commit 节点:bd37eaed
  • ffmpeg 版本:ffmpeg version 4.4.1-full_build
  • VLC播放器:3.06(可使用其他的可播放流的播放器)

0x01 安装ffmpeg

  • 1、下载ffmpeg绿色包网站
  • 使用Windows平台的VS2022来调试AKStream_第1张图片
  • 2、下载完成后,解压到你的安装目录下
  • 3、配置ffmpeg的ffmpeg.ex所在路径早系统环境变量上,我解压到D盘下面,所以如下所示
    ffmpeg配置环境变量
  • 4、然后再命令行里执行ffmpeg --version就可以看到结果了
  • 使用Windows平台的VS2022来调试AKStream_第2张图片

0x02 编译ZLMediaKit源码

  • 1、首先安装CMake >= 3.18版本的(低于此版本编译错误)官网

  • 2、克隆ZLMediaKit源代码,然后再ZLMediaKit主目录下新建一个build文件夹

    git clone https://gitee.com/xia-chu/ZLMediaKit
    git submodule update --init
    
  • 3、打开CMake-gui ,配置ZLMediaKit编译环境。
    使用Windows平台的VS2022来调试AKStream_第3张图片
    使用Windows平台的VS2022来调试AKStream_第4张图片
    使用Windows平台的VS2022来调试AKStream_第5张图片
    使用Windows平台的VS2022来调试AKStream_第6张图片

  • 4、使用vs打开项目进行编译
    编译完成后会生成如下文件
    使用Windows平台的VS2022来调试AKStream_第7张图片
    双击运行
    使用Windows平台的VS2022来调试AKStream_第8张图片
    然后点击允许访问

  • 5、测试ZLMediaKit流媒体服务器
    1)找一个有MP4文件的目录,然后使用ffmpeg推rtmp流测试ZLMediaKit服务器的运行情况

    ffmpeg -re -i 1.MP4 -vcodec libx264 -f flv rtmp://127.0.0.1:1935/live/video 
    #其中rtmp://127.0.0.1:1935/live/video  是推流地址
    #然后可以使用vlc播放器播放流媒体进行测试
    

使用Windows平台的VS2022来调试AKStream_第9张图片
至此,流媒体服务器已经编译完成。


0x03 编译AKStream源码

1、下载AKStream源代码

git clone https://gitee.com/chatop2020/AKStream

2、使用VS2022打开AKStream (最新的提交版本已经使用了.net6,所以低于.net6的版本无法编译通过)
使用Windows平台的VS2022来调试AKStream_第10张图片
使用Windows平台的VS2022来调试AKStream_第11张图片
3、配置AKStreamWeb调试环境
1)选配置AKStreamWeb使用Windows平台的VS2022来调试AKStream_第12张图片
2)启动配置文件配置AKStreamWeb
使用Windows平台的VS2022来调试AKStream_第13张图片
使用Windows平台的VS2022来调试AKStream_第14张图片
使用Windows平台的VS2022来调试AKStream_第15张图片

3)配置MySQL

说明:具体的MySQL搭建网上也蛮多,也可参考简书
其中DataSource 是数据库服务器地址,本机的话可以用127.0.0.1
port 是MySQL的端口,user id 是用户名,password是密码,Initial Catlog 是数据库名称。

{
  "MediaServerFirstToRestart": true,
  "DbType": "MySql",
  "OrmConnStr": "Data Source=10xxx;Port=3306;User ID=root;Password=_xxxxxx4; Initial Catalog=akstream;Charset=utf8; SslMode=none;Min pool size=1;",
  "WebApiPort": 5800,
  "AccessKey": "047I4WS1-U51UBO6W-1J4BT21P-MF17IT99-92J8WIHU-944Q4KIW",
  "HttpClientTimeoutSec": 5,
  "WaitEventTimeOutMSec": 10000,
  "WaitSipRequestTimeOutMSec": 5000,
  "DeletedRecordsExpiredDays": 30,
  "EnableGB28181Client": true,
  "EnableGB28181Server": true, ## 新增一行------重要
  "ZlmFlvPrefix": "live"
}

使用Windows平台的VS2022来调试AKStream_第16张图片
改完后重新生成一下
使用Windows平台的VS2022来调试AKStream_第17张图片

4)启动AKStreamweb启动debug

使用Windows平台的VS2022来调试AKStream_第18张图片

5)运行成功
使用Windows平台的VS2022来调试AKStream_第19张图片
4)配置AKStreamKeeper调试环境
在使用vs来打开一个AKStream项目,拿来配置AKStreamKeeper调试环境

1)配置AKStreamKeeper
使用Windows平台的VS2022来调试AKStream_第20张图片
2)配置调试属性
使用Windows平台的VS2022来调试AKStream_第21张图片
使用Windows平台的VS2022来调试AKStream_第22张图片
3)配置AKStreamKeeper配置文件
使用Windows平台的VS2022来调试AKStream_第23张图片

{
  "IpV4Address": "192.168.2.94", #你的电脑ip地址
  "IpV6Address": "fe80::8:807:2143:28a1%5",
  "WebApiPort": 6880,
  "MediaServerPath": "F:\\workspace\\video\\ZLMediaKit\\release\\windows64\\Debug\\Debug\\MediaServer.exe", #上面第二步生成的MediaServer的路径 改成自己的
  "AkStreamWebRegisterUrl": "http://127.0.0.1:5800/MediaServer/WebHook/MediaServerKeepAlive",
  "CutMergeFilePath": "./", #改路径
  "CustomRecordPathList": [
    "./",#改路径
    "./"#该路径
  ],
  "UseSsl": false,
  "MinRtpPort": 10001,
  "MaxRtpPort": 20000,
  "MinSendRtpPort": 20002,
  "MaxSendRtpPort": 20200,
  "RandomPort": false,
  "FFmpegPath": "D:\\Program Files\\ffmpeg-4.4.1\\bin\\ffmpeg.exe",#自己安装的ffmpeg的路径
  "AccessKey": "O7O4S089-PGDW6HTM-T4CV6K74-V6RIP1I6-9300G54F-Z03TI40Q",
  "RtpPortCdTime": 3600,
  "HttpClientTimeoutSec": 5,
  "DisableShell": true,
  "ZLMediakitSSLFilePath": "./sslfiles/"
}

改完后重新生成
使用Windows平台的VS2022来调试AKStream_第24张图片

4)运行AKStreamKeeper

运行AKStreamKeeper
使用Windows平台的VS2022来调试AKStream_第25张图片
至此AKStream Windows配置和调试完成!!

下一篇[推流GB28181来测试AKStream]

你可能感兴趣的:(流媒体后台,音视频)