12 freeman51002396

尚未进行身份认证

流媒体专家,IT咨询师,电商建站。

等级
TA的排名 6k+

用线程池技术和快速json解析技术重写Tcp socket server程序

c++11发布后,有许多新技术用于帮助c++重新焕发生机。我也用线程池技术和快速json解析技术重写Tcp socketserver程序,效率和安全性得到很大的提升。(cmm_owms) [root@xiaoqi-api-server bin]# ./EntrySvr_v2 &[1] 22836(cmm_owms) [root@xiaoqi-api-server bin]# built on time=20200514-1152(cmm_owms) [root@xiaoqi-api-s.

2020-05-14 14:17:12

MQTT作为物联网IoT协议

MQTT(Message Queuing Telemetry Transport Protocol)的全称是消息队列遥感传输协议的缩写,是一种基于轻量级代理的发布/订阅模式的消息传输协议,运行在TCP协议栈之上,为其提供有序、可靠、双向连接的网络连接保证。手机app,路由器,智能开关,智能插座,空气净化器,智能扫地机,智能锁都是mqtt客户端,一方面发布信息,同时订阅信息。Mqtt协议实施要点:1、mqtt节点。服务器建立Mqttd作为消息broker。而每一个手机APP,每一台物联网设备,

2020-05-12 10:56:32

基于mqtt的IM系统设计

client名称 订阅频道地址 payload Admin /9a/admin/notify/<imID>, QoS=1 Example: /9a/admin/notify/im1001 系统通知消息, string Retain=0 ...

2020-05-07 16:19:45

vipoker扑克图像识别接口

1、消息格式string字符串:"28,4,44,23,21,25,34,5,55,55,55,10,16,38,41,42,7,13,32,26,9,"各个字符是按索引[0,n]来顺序排列的。站在摄像机的视角,从画面的左上角(x=0,y=0)开始,到右下角(x=width,y=height)。此牌位与荷官发牌顺序无关!按从左到右,从上到下对扑克牌进行排序,序号[0,n]。value_i...

2020-05-01 22:06:30

redis lpop与blpop区别原来很大

直接上代码:def utils_cache_lpop_gps(): try: data = cache.get_cache(REDIS_CONFIG, "friend").lpop(CACHE_FRIEND_PREFIX[1][0]) if data: gps_data = json.loads(data) ...

2020-04-27 15:28:25

django.db.utils.DataError: (1406, "Data too long for column 'location' at row 1")

(cmm_owms) [root@usasvr2 a9FriendFinder]# supervisorctl restart friend_task friend_task: ERROR (not running) friend_task: ERROR (abnormal termination) (cmm_owms) [root@usasvr2 a9Friend...

2020-04-08 09:33:45

音视频开发 面视题(采集/编码/传输/播放)

题1.windows/linux的图像采集接口是什么?参考答案:windows是dshow,linux是v4l。回答结果:题2.video/audio的编码格式有哪些?压缩效率如何?硬件encoder有哪些?参考答案:Video压缩格式:H.264, H.265, VC1, VP8, VP9Audio压缩格式:AAC, AC3, OGG 。h.264压缩比一般在[200,500]区...

2020-04-02 21:33:21

C语言的堆与栈

程序运行中有两个存储空间可用,一个是栈,是归属于进程本身的,另外一个是堆,所有进程共用的。局部变量存放在栈中,而全局变量则放在堆中。局部变量,如果是基本数据类型,那么就直接存在栈中,如果是应用数据类型,比如String str = new String("12");,会把对象存在堆中,对象的引用(指针)存在栈中。成员变量,类的成员在不同对象中各不相同,基本数据类型和引用数据类型都存储在这个对象...

2020-03-27 11:03:09

vs2015工程向vs2019工程迁移碰到的各种问题

把一个C++工程,从vs2015工程向vs2019工程迁移的过程中,碰到了好多问题,记录如下:1. ConfigINI.cpp(85,55): error C2664: “std::string &trim(std::string &)”: 无法将参数 1 从“std::basic_string<char,std::char_traits<char&...

2020-03-24 11:47:51

2. error MSB6003: 指定的任务可执行文件“CL.exe”未能运行。

用vs2019编译一个程序时,突然报这个错误。解决:全网搜索资料,关于这个问题很少。后来,我发现是project property中,把C++语言标准改为:默认值。这样就fixed了。我先前选择了vc++14。居然就导致了这个问题。我build all一次,就没有问题了。不管是选择ISO C++14 标准 (/std:c++14)还是ISO C++17 标准 (/std:c++17)都是可以...

2020-03-02 23:49:11

vs2019使用体验

微软总是跟不上ISO标准,不过到vs2019的时候,终于跟上了。vs2015支持c++11,到vs2019,支持vc++14和vc++17。编译器的审查变得更加严格了,象strcpy(), sprintf()都不能用了,直接就报错。这样也好,规范化是好事情,我也就开始跟着改变吧。 strncpy_s(filename, inputfile, sizeof(filename));...

2020-03-02 19:58:05

OBS编译(Windows)过程

先前obs编译,在公司电脑上面,编译不出来obs.exe。在家中电脑上,编译出的obs.exe不支持video capture设备。我一直怀疑是环境原因,后来新换了一台笔记本电脑,我又安装了最新的vs2019和qt5.14.1,再来编译一次。这次成功,记录如下:下载源码: https://github.com/jp9000/obs-studio or https://github.com...

2020-02-17 08:01:49

视频运维工程师的修炼

1. 工作内容细化:1.1 视频服务器,CDN供应商,DNS服务商的帐号管理。1.2 加速域名,DNS解析记录维护。1.3 视频中心,视频各级源站,录像节点,回放节点部署与维护。1.4 自建CDN加速节点部署,流量规划与监控。1.5 视音频相关参数配置及优化测试。2. 必备技能2.1 熟悉linux常用命令。2.2 熟悉ffmpeg,vlc,srs, flash media en...

2020-02-15 09:48:43

RTMP直播视频时延分析

RTMP + CDN的视频直播架构很容易搭建,但问题在于时延大,会累积。一般情况下,视频直播时延在2~3s,网络差一些就会有3~7s。长期播放的累积时延可能超过150s。视频的实时性归纳为三个等级:伪实时: 视频消费延迟超过3秒,单向观看实时,通用架构是CDN + RTMP+HLS,现在基本上所有的直播都是这类技术。准实时: 视频消费延迟1 ~ 3秒,能进行双方互动但互动有障...

2019-12-29 09:53:34

基于ffplay的video流测试工具开发

直接基于ffmpeg来修改,去掉SDL。数据库选用mongodb,方便用C语言对接db。既然不需要显示,那还是基于linux来开发比较方便一些。一、setenvyum -y install gcc gcc-c++ make git bzip2二、compilegit clone https://git.videolan.org/git/x264.git编译x264:./co...

2019-12-29 09:52:09

扑克牌自动图像识别在博彩行业的应用

一、行业痛点通常情况下,扑克牌是通过扫码来识别的。这种方案存在诸多缺陷:游戏桌台须定制,主要是开孔,安装扫码机。 扫码机并不是100%可靠,牌稍有磨损(主要是条码磨损)就会导致多次扫码才能识别出来。 显然,这种方案带来游戏运营的耗材开销。二、技术解决方案图像识别技术在近几年有了长足的发展,如opencv,机器学习平台tensorflow等日趋强大和完善。大家对人脸识别更是记忆深刻吧...

2019-12-29 09:50:22

利用SRS搭建商业CDN网络

SRS是一个搭建CDN平台的很好的基础,但在运维支撑方面还做得不够。运维方面需要增加的功能:1. 作为edge时,在线拉流用户数量。2. push时,必须有合法token才允许推。3. pull时,必须有合法token才允许拉。4. 动态配置更新。可以用mqtt pub/sub协议。需要增加的功能feature:1. 支持QUIC(Quick UDP Internet Connect...

2019-12-29 09:47:51

SRS 转码功能生成竖屏size使用的流

针对移动H5来说,一般推流尺寸是用1280×720,这是横屏使用的流。对于竖屏显示来说,如果在render时做crop的话,图像质量会下降甚至异形。最好是用SRS转码出竖屏需要的流。用ffmpeg.transcode.conflisten 1935;max_connections 1000;srs_log_file ./objs/srs-trans.log;srs_log_tank f...

2019-12-29 09:40:57

mpv编译过程

mpv是一个优秀的开源播放器。https://github.com/mpv-player/mpv按照windows: https://github.com/mpv-player/mpv/blob/master/DOCS/compile-windows.md指导进行编译,碰到问题#1:播放文件可以但不能播放rtmp://流。实际上ffplay.exe也不行无法播放rtmp流!这说明是ffmp...

2019-12-29 09:39:17

django 表单上传文件 权限不正确,导致403错误

django 表单上传文件 权限不正确,导致403错误。原因:实际上,Django上传程序就没有去设置权限。这样就导致如果这个文件的权限不正确,那传上来也就不正确。比如:-rw-------. 1 root root 11209476 12月 10 22:06 tst_ap7loNT.apk解决: settings.py中加一行: FILE_UPLOAD_PERMISS...

2019-12-10 23:06:16

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。