webrtc-stream编译报错记录

磁盘空间不足错误

  • 错误信息
bash 复制代码
677.2 fatal: cannot create directory at 'blink/web_tests/external/wpt': No space left on device
  • 说明:这个错误是由于本地在配置docker资源时所给磁盘空间太小导致,直接根据镜像大小合理分配资源大小即可

pushd和popd执行报错

bash 复制代码
ERROR: failed to solve: process "/bin/sh -c pushd .." did not complete successfully: exit code: 127
  • chatgpt了一下,pushd和popd整体相当于执行cd .. 和 cd -操作,这里可以使用cd操作或者直接使用WORKDIR进行目录定位进行操作

相关依赖不存在报错

  • 官方git给出build如下所示

  • 在次步骤中缺少相关依赖,需要执行以下操作

    • 拉取webrtc-stream 后需要拉取相关代码依赖
    bash 复制代码
    git submodule init
    git submodule update 
    • fetch webrtc代码之后需要再执行gclient sync进行同步操作

cmake执行报错

  • 缺少相关依赖:这种情况直接根据报错安装缺少相关依赖
  • 相关版本不匹:根据提示安装相匹配版本即可

MAC直接编译报错

  • 编译dockerfile之后生成镜像中不包含lib64目录
bash 复制代码
qemu-x86_64: Could not open '/lib64': No such file or directory
  • google了一波发现都是让使用软链的方式将lib和lib64进行挂载操作,然后继续执行
bash 复制代码
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
  • 发现并没有什么用,挂载后文件中只包含ld-linux-x86-64.so.1
  • 正确做法是由于MAC架构和ubuntu架构不一致导致,添加平台参数编译即可
bash 复制代码
docker build --platform linux/x86_64 -t webrtc-stream-test .

make到尾出现的最多的一个问题

  • 报错如下,cmake执行后的输出文件中缺少相关的文件
bash 复制代码
66.91 [ 99%] Building CXX object CMakeFiles/webrtc-streamer.dir/src/rtspvideocapturer.cpp.o
68.35 make[2]: *** No rule to make target '../webrtc/src/out/Release/obj/rtc_base/librtc_json.a', needed by 'webrtc-streamer'.  Stop.
68.35 make[1]: *** [CMakeFiles/Makefile2:124: CMakeFiles/webrtc-streamer.dir/all] Error 2
68.35 make: *** [Makefile:156: all] Error 2
  • 本着出错即看issue的原则,果然这个问题提问的很多,但是最终都指向了#491

  • dockerfile继续编译

  • 然后尝试后后并没有解决,继续翻看issue,看到#619make文件不存在,且截止目前该issue仍处于open状态,根据帖子所说直接docker run到已有镜像中,先删除生成文件,然后重新执行编译,惊奇的是结果竟然成功了

  • 看到这个结果时我是很😳的,那么肯定不是命令的问题,肯定是脚本存在相关问题,继续检查脚本,最终发现问题出现在目录定位不对,更改成功后可以直接使用

总结

  • dockerfile编译整体还是挺麻烦的,如何后续需要继续二开修噶,推荐直接找台ubuntu系统直接操作即可
相关推荐
数据知道32 分钟前
指纹浏览器:DNS 泄漏防范与 WebRTC 本地 IP 屏蔽的底层实现
爬虫·网络协议·tcp/ip·安全·webrtc·数据采集·指纹浏览器
小鹿研究点东西13 小时前
AI直播工具实操:从直播录制、AI剪辑去重到直播伴侣开播完整流程
人工智能·自动化·音视频·语音识别
wen_zhufeng14 小时前
信号与系统:采样、量化与信号连续/离散答疑文档
音视频
byte轻骑兵15 小时前
【LE Audio】CAS精讲[1]: 基础约定定乾坤,读懂音频协同的通用规则
音视频·蓝牙耳机·蓝牙音箱·le audio·低功耗音频
肖爱Kun17 小时前
STL标准模块库操作
开发语言·音视频
2601_9583529017 小时前
双麦 DSP 音频拾音模块 A-68:多场景远场语音交互的声学解决方案
嵌入式硬件·音视频·降噪·回音消除·音频处理模块
2601_9583529019 小时前
对讲系统音频优化实战:解决回声、啸叫、环境噪音与远场拾音难题
嵌入式硬件·音视频·语音识别·降噪处理·音频处理模块·硬件开发模块
南山有乔木78919 小时前
下载的ncm歌曲不能播放怎么办?NCM在线转MP3怎么操作?手机电脑转换教程参考
音视频
开开心心就好20 小时前
解决截图被拦截黑屏问题的免费小工具
安全·智能手机·flink·kafka·pdf·音视频·1024程序员节
2601_9583529020 小时前
双麦 DSP 音频模块实战:一文梳理 A-68 在全行业场景的声学解决方案与落地要点
前端·嵌入式硬件·音视频·语音识别·降噪消回音·音频处理模块