惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
V
Visual Studio Blog
有赞技术团队
有赞技术团队
U
Unit 42
D
Docker
小众软件
小众软件
F
Full Disclosure
I
Intezer
Scott Helme
Scott Helme
P
Privacy International News Feed
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
B
Blog
Martin Fowler
Martin Fowler
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Spread Privacy
Spread Privacy
宝玉的分享
宝玉的分享
S
Security Affairs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
月光博客
月光博客
C
Cisco Blogs
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threat Research - Cisco Blogs
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Heimdal Security Blog
N
Netflix TechBlog - Medium
H
Hacker News: Front Page
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
S
Schneier on Security

博客园 - 邗影

关于音频PA结构腔体 球面渲染 关于linux和shi脚本常用的通配符 关于fread读不满一块和读不满count的返回值 如何去掉merge UBI的覆盖写和擦除 DTSI 多个模块共用同一个 GPIO 引脚冲突 问题汇总 debug比release程序启动的快 关于CPU占用优先级的调整 关于蜂鸣器发声 麦序与声源定位 关于squashfs压缩挂载 软连接生成 线程退出未定义行为 linux文件查找 C语言弱函数 数据传输报错port unreachable D3D11绘制三角形 关于延迟测试 v4l2检测 关于数据库的性能 流媒体小记包含一些面试问题 v4l2视频采集 关于SPS中的帧率问题 Linux编译问题 SSl冲突问题 D3D初始化窗口显示 关于线程池
流媒体ZLM配置vscode远程开发
邗影 · 2025-08-06 · via 博客园 - 邗影

本博客主要介绍流媒体ZLmediakit通过使用vscode配置工程

(1)首先简单介绍Windows上的(visual studio 20XX)编译和调试:

从GIThub下载ZLmediakit源代码,将子模块都同步好;在Windows上安装好cmake 3.24+;安装号visual studio 2015/17/19/22都可以

然后Cmake打开ZLM目录,指定编译的工程目录,选择好编译的配置信息;生成,打开工程,即可使用;有些宏对应的库可能没编译成功,可以打开工程后,通过IDE配置

1754459433590

1754459546199

附加依赖库,库目录,头文件目录等,需要用到的时候在配置就可以了

1754459683541

 平时出现比较多的是openssl的bio不存在,注意看报错在哪个子模块,给对应的子模块(子工程)的属性配置好openssl的路径;

如果你暂时用户到openssl也可以把宏开关关了(属性--c/c++---预处理器---预处理定义)

1754460971113

1754461669086

 (2)VScode远程开发部署

一般情况下ZLM是部署在Linux_x86或者arm平台使用居多;所以我们经常会需要开发Linux C++;但是Linux上没有什么顺手的IDE,所以一般情况下大家喜欢使用VScode;

下边就简单介绍下VScode的远程开发;

首先下载vscode,安装插件;下边这篇文章基本全覆盖了;我们还是照着走一遍,搬运下大佬记录的流程

https://blog.csdn.net/hutaotaotao/article/details/140899244?spm=1001.2014.3001.5506    (博主:hutaotaotao

图片

(2.1)本机安装openssl

  我的机器之前安装过了

  管理员身份打开powershell, 输入:Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

1754462544200

   如果你输入上边这条命令发下没有图上的打印;就安装下:

    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

(2.2)win 的本机电脑 生成RSA公钥和私钥

        1754463071862

      1754463167018

      将rsa公钥(**.pub)添加到远程linux的authorized_keys文件中;

      作用:以后用vscode远程连接服务器的时候不用每次都输入用户密码。当然也可以不操作这一步,只不过每次登录需要输入一下密码。

      在远程linux中,进入到用户目录下的.ssh文件夹中 (搬运hutaotaotao)

     这边博主使的WIN-scp,拷贝到Linux服务器的对应文件夹下;其他的ssh-shell,也可以;

     1754464270910

   然后将本机生成的rsa_id.pub公钥上传至服务器【~/.ssh】处。
   再然后输入以下命令将其追加写入到~/.ssh目录下的authorized_keys文件中,为什么是追加写入?因为可能存在其他用户的公钥,千万别覆盖写入!
      cat id_rsa.pub >> authorized_keys
   如果不存在authorized_keys,【cat id_rsa.pub >> authorized_keys】也会自动生成出来。

1754464545524

 (2.3)vscode安装Remote - SSH插件

1754464689299

1754465076283

 然后ssh连接远程设备

图片

 输入的连接命令(就是ssh、xshell登录这个机器时候的端口,IP):  ssh 用户名@ip地址 -p 端口号   

1754465888860

打开文件夹: /usr/data/aaa/zlm  

1754465441617

然后你就打开了代码

图片

 想调试的话还需要tasks.json 和launch.json

{
///该文件是launch.json
// Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", // "program": "${workspaceFolder}/release/linux/Debug/api_tester_h264_media_server", // "args": ["/works/zlmediakit/ZLMediaKit/release/linux/Debug/test.h264"], "program": "${workspaceFolder}/release/linux/Release/MediaServer", //可执行程序的目录 "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "Set Disassembly Flavor to Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "tasks.json中的lable", } ] }

启动调试:

1754475082010

 如果自己不会写tasks.json就安装下cmake tool自动生成

1754482169748

1754482327998

图片

图片

图片

1754483179057

 debug的时候就可以调试了:注意这个调试的时候不依赖launch.json。所以直接点开debug是会弹出“要自定义运行和调试。。。。”

1754483601551

然后直接在cmaketool下debug就可以了:

图片

图片