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

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
T
Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
Intezer
C
Cyber Attacks, Cyber Crime and Cyber Security
The Register - Security
The Register - Security
量子位
Security Latest
Security Latest
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
MyScale Blog
MyScale Blog
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
Spread Privacy
Spread Privacy
Jina AI
Jina AI
博客园 - 【当耐特】
P
Palo Alto Networks Blog
Last Week in AI
Last Week in AI
SecWiki News
SecWiki News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
宝玉的分享
宝玉的分享
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
The Blog of Author Tim Ferriss
V
Vulnerabilities – Threatpost
有赞技术团队
有赞技术团队
T
Tor Project blog
H
Hacker News: Front Page
A
Arctic Wolf
NISL@THU
NISL@THU
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
V
V2EX
N
News and Events Feed by Topic
Webroot Blog
Webroot Blog
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
I
InfoQ
D
Docker
L
LINUX DO - 最新话题
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
U
Unit 42

博客园 - 邗影

关于音频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就可以了:

图片

图片