摘要:
自动加载__autolaod和spl_autoload_register() 自动加载就是指如果找不到某个类如何处理的方式,具体可参见 "此文" ,可以说spl_autoload_register是更加高级,更加灵活的加载方式。 命名空间 C++里很早就引入了命名空间来解决命名冲突,随着php的工程 阅读全文
摘要:
部署seafile docker-compose.yml 如下: 参考此篇文章 version: '2.0' services: db: image: mariadb:10.1 container_name: seafile-mysql environment: - MYSQL_ROOT_PASSW 阅读全文
摘要:
简介 golanci-lint 集成了多种静态语法插件,有许多 linter,可以同时执行,是golang静态检查的集大成者。 可以官网直接下载二进制,或者用go安装 # Go 1.16+ go install github.com/golangci/golangci-lint/cmd/golang 阅读全文
摘要:
1、替换c的动态库后还是运行的以前的版本 感觉像是动态库缓存,解决方案,删除动态库,运行程序,ldconfig,再替换试试。还不行就重启 2、直接替换c的动态库后,正常运行,但是重新编译后,再替换反而失败 重新编译的时候,把头文件也替换一下 3、如何调用cpp的动态库 用c包装一下 阅读全文
摘要:
对于简单的接入摄像头等硬件或者推送视频流、录制文件,那么直接下载m7s官网编译好的二进制文件即可。 如果要做二次开发,那么就需要了一些基础的音视频基础,及m7s代码了,我们先了解一些音视频基础。 视频基础 视频帧 对于视频来说,我们可以把其想象为一幅一幅图片组成的,当把这些图片连续快速播放时,由于人 阅读全文
摘要:
m7s后端采用golang语言开发,并提供了前端页面。前端采用vue开发,在2.x的时候是开源的,3.x则闭源了。 但是其接口简单友好,可以根据自己的业务开发自己的前端。借助golang良好的跨平台环境,m7s也能在多个系统和 CPU平台下运行。你甚至可以跑在openwrt的路由器上,接入家中的摄像 阅读全文
摘要:
什么是流媒体服务? 流媒体是指采用流式传输的方式传播多媒体文件。比如现在常见的直播应用抖音、快手以及视频网站,它们的背后都是流媒体服务支撑着。 和播放硬盘上的视频文件不同,流媒体在播放前不会下载整个文件,只是将当前数据发送给客户端。流媒体数据流随时传送随时播放,只是在开始时有些延迟,至于如何减少延迟 阅读全文
摘要:
由于go对私有gitlab的仓库支持不好,得使用下面这些步骤 设置git使用 ssh协议 git config --global url."git@gitlab.com:".insteadOf "https://gitlab.com/" 添加ssh key 到gitlab ssh-keygen 会生 阅读全文
摘要:
做了一个简单的go generate工具,从go官方工具stringer修改而来,为结构体生成setter和getter。 结构体中字段首字母大写默认可读可写,小写则默认只读。 可以添加access的tag,控制访问属性r表示读,w表示写,用逗号分隔。 用法 go get gitee.com/dwd 阅读全文
摘要:
最近同事接一个设备的sdk,是使用的C的动态库,需要用cgo方法。 其中有一个函数,参数需要函数指针,读了一下cgo的官方文档,发现不支持这种调用方式。 按照官网的方法,需要用C写个gateway 函数,在C里再封装一下,提供没有函数指针参数的函数供go调用。 本来想着有空了,写个C包装器,后来同事 阅读全文
摘要:
sudo apt-get install mingw-w64 CGO_ENABLED=1 CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build main.go 阅读全文