安装HDF5,查看HDF5文件 前言用python训练mnist数字识别之后,得到 的数据模型 存放在 *.h 文件中。想要使用里面的数据,所以下载并安装HDF View 软件,查看数据结构,以备后面使用。后续用C++读取模型数据,然后读入一张数字图片,对数字图片进行处理,得到预测值。下载HDF View download (页面右上角)先注册,登录然后才可以下载下载【3】号压缩包。官网下载不下来,这里提供一个地址:安装【1】解压【2】双击 msi 进行安装。 然并没有提示修改安装路径。.
win10安装hdf5,C++读写h5文件测试(一) 下载https://portal.hdfgroup.org/display/support/HDF5+1.8.181.8.18版本,因为这个里面有szlib文件。1.8.22里面没有szlib文件。 下载如下红框中的文件。解压,安装:完成以后,在安装路径下,就有了这个文件。用VS2017新建win32控制台项目,测试。#include <stdint.h>#include <hdf5.h>#include <H5Cp
win10安装hdf5,C++读写h5文件测试(二) 下载链接https://portal.hdfgroup.org/display/support/HDF5%201.8.22下载1.8.22参考链接https://blog.csdn.net/david830_wu/article/details/63782190
win10下,安装miniconda3-py38,配置TensorFlow2.4.1 下载minianconda https://docs.conda.io/en/latest/miniconda.html#windows-installers本机环境:win10-64位,已经安装有VS2010,VS2015,VS2017,VS2019所以下面的VC的安装,我就没有进行。安装 在开始处,就能找到安装好的anaconda prompt打开anaconda prompt,查看conda版本:conda --version电脑没...
win10, VS2017, json-cpp编译与测试 下载https://sourceforge.net/projects/jsoncpp/编译在此路径下 jsoncpp-src-0.5.0\jsoncpp-src-0.5.0\makefiles\vs71找到 *.sln 文件,用VS2017打开将项目,升级到VS2017更改一下配置管理器,这里生成64位的。右键生成,即可。debug64位如下所示:特此生成32位release和debug, 64为release和debug,方便使用。将4个版本...
QT编译qtMQTT 源码下载:https://github.com/qt/qtmqtt提前安装prel, 我已经安装了。解压,qtmqtt-dev, 找到.pro, 打开,解决方案:https://blog.csdn.net/qq_39280795/article/details/105455436
QT *.pro文件添加lib和include的方法 QT .pro文件 LIBS用法详解↑ 博客中,详细介绍了几种方法。身为qt小白的我,还是喜欢其中的第三种,就是【自动生成】,举个例子:在编译qt的mqtt client客户端,项目目录结构如下:想要把include和lib 引入项目中,在项目中,右键,选择:添加库内部库:qt安装目录下的库。外部库:文件中引用的三方库。系统库:就是系统的库文件。选择外部库。点击下一步,然后就生成了。内容如下。 需要知其然又知其所以然的,可以看最上面的链接。写的比.
QT开发MQTT,遇到Segmentation Fault错误 QT 开发mqtt客户端的时候,遇到Signal Received问题。原因是,使用client对象的时候,没有在构造函数的时候,new。导致它找不到。解决:在构造函数中,new 一个client,即可。后面就可以用这个对象去调用函数了。参考:https://blog.csdn.net/guozipi/article/details/88552991...
Windows下,编译sqlite3,32和64 一、下载https://www.sqlite.org/download.htmlsqlite-amalgamation-3340000.zip (2.32 MiB): sqlite源代码,主要需要头文件sqlite3.hsqlite-dll-win32-x86-3340000.zip (491.81 KiB): sqlite3 win32 dll和defsqlite-dll-win64-x64-3340000.zip (814.19 KiB): sqlite...
win10下ProtoBuf 安装编译测试 优质的参考链接:Win10 下 ProtoBuf 安装编译以及在 C++ 中的用法protobuf(C++)的使用(windows)Google Protocol Buffer 的使用和原理翻译官网(C++)开发protobuf C++ 使用示例==================================================以下内容仅作为笔记下载源码、编译好的,地址:https://github.com/protocolbuffers/proto.
objs/Makefile:540: recipe for target ‘objs/src/core/ngx_murmurhash.o‘ failed 问题描述:本地虚拟机Ubuntu16.04系统中,搭建nginx-rtmp服务,成功。参考链接。然后就想着在云服务器上,也搭建一套,这样,就不限于局域网内推拉流了。云服务器系统是 :Linux iZj6c2ewtk1bhux0vwm2imZ 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux然后就按照上面的操作,选择nginx-1.12.1,进行配置。.
nginx学习记录 聚优云惠2020-04-13 16:11:02 总结了一个系列关于nignx的文章,待你学习一下之后,其实nginx很简单,那么你这个问题就不解自破!Nginx系列教程(1)nginx基本介绍和安装入门Nginx系列教程(2)nginx搭建静态资源web服务器Nginx系列教程(3)nginx缓存服务器上的静态文件Nginx系列教程(4)nginx处理web应用负载均衡问题以保证高并发Nginx系列教程(5)如何保障nginx的高可用性(keepalived)Ngi...
win10,安装OBS-安装nginx-推流-VLC拉流 前言由于在研究基于阿里云直播平台,实现PC端推流与播放,故有此篇。根据阿里云官网介绍,需要借用OBS工具进行推流,当然后续肯定是自己开发客户端,现在主要是跑通流程。系统环境Windows10下载OBSOBS地址:https://obsproject.com/安装OBS静静等待一会配置OBS根据需求,对OBS进行配置。我这里主要想:录制屏幕,然后推流到服务器,所以操作如下:下图,不需要很大的分辨率,所以选择1280*720;录制屏幕而已,不需要很高.
记录点滴——2020年终总结 2020年,从年初到年末,注定是不平凡的一年。感恩,我身边,爱我的和我爱的人,并没有感染新冠,都平安。感恩,我们公司挺过了寒冷期,后来补发了工资。2020年,变化很多,永远不变的,就是变化。首先,信仰生活。2020年读经体会。《圣经》是一个人信仰生活中不能缺少的,不仅因为里面记录了神的话,更多的是,记录了神与人共同的历史。读史明鉴,说的一点不错,读历史,了解到很多历史人物,从多方面多维度去分析历史人物,不会一股脑的去说好或说坏。更有助于提高自己对周围事物的思辨能力,就不会被网上充斥那些“
MFC读写Excel操作 前言现在遇到特别的需求,需要将Excel中的数据提出,通过算法处理,然后将数据写会Excel。所以这篇文章,就主要来做这件事情。参考博客:博客1 :读Excel,写Excel,获取驱动。基于win32控制台写的。博客2 :读Excel,写Excel,获取驱动。基于MFC写的。猜测,应该是多字符集,没有做多字符集与Unicode的转码。官网API 这是官网的API可以参考多字符转Unicode 我的程序是基于VS2010MFC开发的,Unicode项目,所以用到宽字符与多字...
opencv编辑视频案例 基于opencv3.4.1, 开发的视频编辑器,基本功能都已经实现了,如下图所示:具体功能:进度条,控制左上角视频的播放进度,支持随意位置调整。 开始-结束:用于控制剪裁输出的视频起止点。 打开:打开一个视频文件,并呈现在左侧。 播放/暂停:开始播放左上角视频,或者暂停播放左上角视频。 截图:截取一张图片,即右侧合成图。右侧为目标图,即包含原图和水印图。 可以添加水印图、剪裁视频大小、调整视频亮度、对比度、支持高斯和拉普拉斯滤波、调整视频宽高、支持图像旋转(90-180-270)、支持
MFC的picture控件加载并显示Mat图片 前期准备工作:将编译好的opencv库添加到项目中,include、lib、bin文件夹放置好。需要区分是debug还是release版本,以及32位还是64位。以上工作准备好之后,就可以使用下面代码进行显示图片了。1、编译opencv, -----> 配置项目 2、RGB图片显示,需要注意4字节对齐的问题。Mat不是4字节对齐,但是bitmap是4字节对齐问题。所以,就有一个转化。3、加载图片,需要注意Unicode宽字节与多字节转换的问题。多字节与宽字节转换1、...
无法打开包括文件: “opencv2/opencv_modules.hpp” 问题:fatal error C1083: 无法打开包括文件: “opencv2/opencv_modules.hpp”: No such file or directory配置这么多次opencv,怎么会遇到这个问题呢?奇怪。查找原因:opencv库是32位的debug库。项目也是32位,如图:多次更改属性页,依然找不到 opencv_modules.hpp。但是,opencv2下面,就有opencv_modules.hpp 这个文件。答案:忽然发现:虽然项目是 .
GetExcelDriver()获取到Excel驱动 在用MFC读写Excel的时候,需要用到ODBC的方式。这个时候,如果不想手动输入Excel的驱动名称,就需要自动获取。下面是两种情况的下的获取方式。方式一:多字符集CString MyDlg::GetExcelDriver(){ char szBuf[2001]; WORD cbBufMax = 2000; WORD cbBufOut; char *pszBuf = szBuf; CString sDriver; // 获取已安装驱动的名称(
MFC读写Excel操作——遇到的问题 前言在MFC读写Excel表格时,稍微有一点点点的问题,都不能通过。甚至,仅仅是调整几行代码,也不能通过。把这些坑记录下来,分享出来。坑-No.1CString sDriver = L"Microsoft Excel Driver (*.XLS)";// 驱动上面这句话是加载驱动的。我本想着自己写一遍,而不是粘贴别人的,为了加深印象。结果,Driver后面有一个英文空格,没有加上。导致失败:未发现数据源名称并且未指定默认驱动程序。坑-No.2sql = L"SELECT.
使用C++ Graphics图形库——绘制钟表 效果如下:所需知识:异或的概念,(a^b)^b = a; 绘制指针的原理。需要对弧度进行了解。需要对事件转换进行了解。#include <graphics.h>#include <conio.h>#include <math.h> // 用于计算角度#include <time.h> // 用于获取时间#include <stdio.h>#define PI 3.14159265359// 从系统获
使用C++ Graphics图形库——绘制任意移动的小球 #include <Windows.h>#include <graphics.h>#include <conio.h>int main(){ //start: 创建绘图窗口 initgraph(640, 480); int x = 320; int y = 240; int r = 20; setlinecolor(YELLOW);// 设置线条颜色 setfillcolor(GREEN);// 设置填充色 fillcir.
使用C++ Graphics图形库——绘制国际象棋棋盘 #include <graphics.h>#include <conio.h>int main(){ // 1. 640*640=》8*8格子 initgraph(640, 640); // 先绘制竖线 int x1 = 80, y1 = 0, x2 = 80, y2 = 640; for(int cnt = 0; cnt < 8; ++cnt) { //设置之后,以后都用这个颜色绘制,除非再次遇到此函数 setlinecolo.
C++图形库graphics.h的安装 一下载https://easyx.cn/downloads/我这里下载的是2018-3-21版本二安装选择自己想要配置的编译器。我这里在用VS2010开发,所以选择10编译器。(虽然都有2019编译器,但是老项目,还是用老的编译器,稳当。)点一下【安装】,立马成功。然后上面的页面还有,可以继续配置其他编译器。索性,我就把2015 2017 全部配置了。然后点击关闭,即可。测试...
Unicode项目中CString转const char*,string 转CString 前言做MFC开发,Unicode的项目。用到的字符串都是CString的。但是,好些API需要的是string 或 char* 就需要转换。所以,就需要深入了解CString的格式,string的格式,char*的格式,才好下手。下面详细介绍了如何将CString 转换为 const char*, 也等价于将CString 转换为 std::string, 或cv::String 。cv::String是OpenCV里面的。这个问题,是在调用 cv::imwrite();函数中遇到的..
win7旗舰版安装VS2010不成功—解决 背景要开发win7的触屏软件,所以需要配置环境。硬件是i7的处理器。本身提示【不支持的硬件】:i7处理器仅适用于Windows10. 所以win7,所有后面会有意想不到的问题。所用的集成开发环境是VS2010.1、安装VS2010安装VS2010失败,提示:.Net Framework 4 安装失败。网上搜到的解决办法,但是我这里,并不奏效:办法1, 办法22、猜测与没有安装office有关所以安装了office2010, 再次安装VS2010。然而,还是出了问题【1】。3、那.
av_interleaved_write_frame(fmt_ctx, &enc_pkt);返回-22 av_interleaved_write_frame(fmt_ctx, &enc_pkt);返回-22,原因之一:各处寻找答案,都说是:pts和dts的问题。我跟踪了pts和dts, 发现这两个值第一次是随机一个相等数,比如pts = dts = 486400. 然后第二次就是pts=dts = 487424, 可以看出,这是递增了1024.所以,并不是pts和dts出了问题。毕竟官网的 音频编码和视频编码 的例子,最后也没有处理pts和dts。原因之二:enc_pkt.s.
下载并安装IDA Pro 7.0 下载了一个由win32开发的exe程序,想看源码,或者说,只是想看看都用了哪些接口。百度一下,得知,IDA Pro 7.0 会有帮助。特此下载并安装。密码: qY2jts9hEJGy打开之后,直接把需要看的exe 放进来,然后一顿各种设置的确定,就看到了。确切的说,我也不知道中间点了多少次设置,以及设置什么,反正就有了。...
avformat_open_input(); 返回-5 先初始化 输入封装格式上下文ps 和 输入格式 fmt,然后打开文件。返回值为 -5。ps = avformat_alloc_context();fmt =av_find_input_format("dshow");int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);====================解决办法=..
windows10编译opencv3.4.2的debug和release 前言在开发过程中,使用opencv,最好还是自己编译一下。开发的时候使用debug,但是发布的时候是release,所以两个版本都需要有。这里以Windows下,cmake编译release-32位为例,其他版本同理设置即可。下载opencv-3.4.1下载cmake,这个链接最下面有百度网盘。因为实在是不好下。编译解压opencv之后,可以看到build 中包含我们写程序需要的库文件。 sources 是opencv的源码,是这篇博客编译的对象。1-添加源码路径,2-添加库文.
MFC找不到序数,无法定位序数6713于动态链接库 VS2010编译器,开发MFC。MFC编译的可执行文件,release版本的,编译没问题,运行的时候,出现这个问题。网上百度到的答案,都是缺少各种dll,然后添加上就行。但是我这里,并没有提示缺少dll。经高人指点,release版本,修改一个参数就好了,如下所示:...
记录C++11,auto遇到的坑 操作vector的时候,用迭代器,需要写好多代码,特别长。好在C++11 有了auto,然后就想着省事:通过扫描一遍vector,然后改变里面的值。直到遇到了bug, 才发现auto不能改变,只能遍历读取。#include<iostream>#include<vector>using namespace std;struct test{ int a; char c; bool flag = false;};int main(){ ..
百度音视频面试——三面 TCP/IP 传输大文件,从北京传到上海,如何提升速度,带宽一定的情况下?N个单词的字典,有一个主词world, 扫描这个字典,从中找出含有主词world的单词,删除,然后给剩下的排序。编解码的效率提升问题?录制的过程中,如何分片,比如30s存一个文件,如何实现?TCP的通信过程?高并发?等等。好难的问题啊。我这小白,都不知道。...
百度音视频面试——二面 先自我介绍,本想着详细详细的介绍介绍自己,结果还没说5分钟,就被打断了,也许我说的,面试官不感兴趣。然后面试官直接说:我问你一些基础题吧。1、指针和引用的区别?https://blog.csdn.net/l477918269/article/details/902339082、联合体union和结构体struct的区别?https://www.cnblogs.com/nktblog/p/4027107.htmlunion公用一块内存,大小为所有成员的最小公倍数。 struct 为每个对象单独开辟
百度音视频面试——一面 自学音视频技术半年,有点飘了。在boss上挂了简历,有幸被百度的HR看到。我跟HR说:我只能达到初/中级水平,达不到高级水平。HR说没事:投个简历吧。 我猜她是为了完成指标,那就成全她。投了简历,然后安排了面试。特此凭着记忆,记录一下面试过程。首先自我介绍:上学、工作、项目。 对于自己特别熟悉的,拿手的,一定要重点多说一点,其他的,不熟悉的,一带而过。我是傻傻的,没有区分重点难点,一溜烟介绍了。 我这个人有个习惯:碰到不懂的,当时查清楚了,并记录了笔记CSDN/ github。结果东西就没有记在脑子里,
VS2017配置OpenCV-3.4.1 过程详解 目录下载解压新建项目下载opencv-3.4.1解压文件内部说明:解压之后,可以看到build 中包含我们写程序需要的库文件。 sources 是opencv的源码,可以自行编译。本例中仅用到了build文件。在build 文件目录下,有如下:其中include 是头文件,x64就是bin 和 lib 文件。 我这里开发需要64位的。 x64 里面有 vc14, vc15, 的 lib 和bin 文件。这两个文件里面的内容,就是基于Windows开发时...
Linux下编译ffmpeg 3.3,包含aac, x264, x265库 参考连接:https://www.cnblogs.com/jimodetiantang/p/9160183.html一开始,我是直接从2.3节开始的。然后坠入深坑。所以如果有朋友需要编译带 aac x264, x265的话,强烈推荐上面链接。我这里仅记录了错误的过程,和自己是如何跳出坑的过程。1、libfdk-aac 安装完成。2、但是编译libvpx 出错:ht-dong@ubuntu:~/ffmpeg/ffmpeg/libvpx$ ./run.sh ./configure: 273:
Linux下编译ffmpeg-4.1,arm32, arm64, x86 目录目标准备工作编译arm版本遇到的问题及解决方案arm32, arm64, 成功编译x86目标编译ffmpeg-4.1版本的 arm32, arm64, x86的动态库。准备工作新建目录,mkdir ffmpeg, cd ffmpeg, 下载ffmpeg4.1的源码,并解压。http://ffmpeg.org/releases/# 下载wgethttp://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2 # 解压ta.
Linux下编译ffmpeg-3-3,arm,arm64,x86 目标在 Linux上编译一套ffmpeg,arm32/arm64和x86版本,基于ffmpeg4.2.3版本源码编译。结论ffmpeg的版本,一定要跟android-ndk-rxx版本对应,否则,后果不堪设想。永远不要追新版本。实践证明:ffmpeg4.2.3只编译成功了arm32位的,arm64位的根本不会生成。使用的android-ndk-rffmpeg4.2.3 +android-ndk-r21b 会出现的问题 ffmpeg4.2.3 +android-ndk-r14b 会出现的..
如何从github上下载部分文件 1、如果是整个项目下载,都会有这个图标,直接下载就行。2、但是,想要下载内部的某个文件,就没有这个图标了。https://github.com/webrtc/samples/tree/gh-pages/src/content/peerconnection/multiple3、于是乎,就有了这个办法:在想要保存文件的文件夹中 的地址栏输入 cmd, 切换进入命令行;输入 svn checkout + 链接。(前提是,已经安装了svn, 如果没有安装,先安装一下)但是要注意:这个
coturn穿透服务器搭建与测试——小白入门 前言:部署WebRTC 或 SIP p2p 方案时经常会遇到p2p 无法穿透的环境。可以理解为 非同一个局域网内的两个Ip,相互找不到对方。这时就是TunServer 的用武之地了,帮助内网的ip 映射出外网ip, 然后搜索到其他ip, 进而找到对方。搭建turn服务,安装环境Linux系统下载编译coturn修改配置文件启动测试...
WebRTC传输基本知识——学习笔记 目录WebRTC传输基本知识1NAT1.1 NAT 种类2 STURN3 TURN4 ICEWebRTC传输基本知识NAT(Network Address Translator) STUN(Simple Traversal of UDP Through NAT) TURN(Traversal Using Relays around NAT) ICE(Interactive Connectivity Establishment)1NAT如图所示:1...
mediasoup的example样例——中文文档 学习mediasoup,可以从mediasoup的官方文档中的example样例入手。官方样例。以下是翻译。官方文档中,共有如下8个样例,供读者进行学习。1、versatica/mediasoup-demo项目:https://github.com/versatica/mediasoup-demo这是由mediasoup的作者制作的官方mediasoup-demo演示。 就是说,作者不希望该演示仅成为“ mediasoup参考”,而是鼓励开发人员阅读API文档。mediasoup..
Linux安装与卸载nodejs/卸载npm 编译mediasoup, 需要先安装nodejs npm。但是我一不小心,安装了最新的14.x版本。结果老出问题:npm ERR! cb() never called!npm ERR! This is an error with npm itself. Please report this error at:npm ERR! <https://npm.community>npm ERR! A complete log of this run can be found in
音频重采样——相关链接 https://www.jianshu.com/p/bf5e54f553a4——FFmpeg音频重采样API(libswresample)介绍:记录了非常详细的重采样过程,并且有示例。https://www.jianshu.com/p/fd43c1c82945——PCM音频数据介绍:详细的音频数据格式,信息,存储。https://www.jianshu.com/p/d3edb368b36c——FFmpeg AAC编码介绍:记录了如何编码AAC文件...
流媒体服务器——Licode Janus-gateway Mediasoup Medooze 分析 已知的多方通信框架有:Mesh MCU SFU 三种。其中SFU是目前最优的一种多方通信架构方案,而且这种方案目前已经有比较流行的开源项目:Licode Janus-gateway Mediasoup Medooze。下面简单的对这4种方案,进行分析:LicodeLicode 既可以用作 SFU 类型的流媒体服务器,也可以用作 MCU 类型的流媒体服务器。一般情况下,它都被用于 SFU 类型的流媒体服务器。Licode 不仅仅是一个流媒体通信服务器,而且还是一个包括了媒体通信层、业务
Ubuntu下,使用nodejs搭建最简单的http服务 nodejs搭建web服务器——学习笔记(一)在win10上,安装了Ubuntu的虚拟机。然后通过nodejs搭建最简单的http服务。步骤如下:准备环境nodejs npm ,本机Ubuntu 16.04.搭建1、在选定的文件路径(没有要求)下,新建如下js文件。// http_server.js 文件'use strict' // 使用最严格的语法var http = require('http'); // 引入http模块。相当于C++中的include头文.
Linux下,Nginx-rtmp-module 搭建流媒体服务器 目录前言环境准备及编译测试遇到的问题前言RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。——摘录自百度。 如果大家想对RTMP有更深的认识,可以参看这篇文章:《带你吃透RTMP》。本文要
linux下编译与运行crtmpserver 目录前言环境准备及编译测试前言RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。——摘录自百度。 如果大家想对RTMP有更深的认识,可以参看这篇文章:《带你吃透RTMP》。本文要处理的是:用c
WebRTC流媒体服务器设计与开发——学习笔记(一) 新买的课程《百万级高并发WebRTC流媒体服务器设计与开发》,好好学习,天天向上。坚持定期更新学习笔记。这里先记录目录,按照需求进行学习。章节目录:第1章 课程导学与准备工作本章主要介绍为何要学习WebRTC流媒体服务器开发,以及本门课能为我们带来哪些收获。之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。1-1 课前必读(不看会错过一个亿)1-2 导学 试看第2章 C++语言基础回顾【已掌...
mediasoup在Ubuntu下部署及搭建mediasoup-demo测试 环境Ubuntu16.04Node.js 如果没有安装一下sudo apt install nodejs # 安装nodejs --version #查看版本,我的是4.2.6npm 如果没有安装一下sudo apt install npm # 安装npm --version # 查看版本,我的是 3.5.2在根目录下,新建了一个 mediasoap的文件夹,然后在这个文件夹里面检出 mediasoap-demogit clone https://gi...
基于ffmpeg库,开发录音机——内部声音和外部声音 想要录制系统的声音,既然研究ffmpeg这么久,那就拿这个练练手吧。这一练手,花了两天的时间。到底是对ffmpeg不够熟悉。结果如下:用MFC(没饭吃)开发的。录制系统声音: 比如某歌曲特别好听,想下载下来,但是需要会员,这时候,如果能边听边录制下来,就好了。 (买卖盗版可耻,但自己用,还是可以的吧,毕竟你都允许浏览器播放了是吧。) 此程序正好实现了这个功能。录制且无杂音。 想录制高清的话,修改如下参数: 1》 bit_rate = 64000, 128000...
有未经处理的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突 有未经处理的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突VS2010 写完程序运行时,出现的bug,找了半天,也没看到内run泄漏。而且中断还是在多线程函数中,这可就难了。突然灵机一现: 用到的线程锁没有初始化!娃哈哈,这样就好了。...
TrieTree——笔记 之前写的,现在看不懂了。。。 还是要温故而知新呀! 本篇博客仅为了保留代码。#include <iostream>#include <stdlib.h>#include <string>#include <queue>using namespace std;/************************************************************************//* Trie树结构*...
C++字符串匹配--记录而已 之前写的,现在看不懂了。。。 还是要温故而知新呀! 本篇博客仅为了保留代码。#ifndef _ACMATCH_H#define _ACMATCH_H#include<iostream>#include <string.h>#include <vector>using namespace std;// 用于标记在主串中的位置及长度struct PosSet{ std::vector<int> vPos; std::vector.
win10系统下编译webRTC的Android版 一、配置环境1、Android的编译,需要在Linux下进行,所以 《虚拟机》+ 《Ubuntu》 先准备好。Ubuntu需要预留50G的空间,当然40G应该也可以吧。反正20G是可定不行的。我一开始是20G,后来下载完的webRTC实在太大了,又重新卸载并安装了Ubuntu(当然,如果你会扩容,就忽略我的做法)。2、安装git工具sudo apt-get install git...
API_PEER_CONNECTION_INTERFACE_H_通信过程描述 简单翻译一下,仅供自己学习,如有错误,欢迎指出!// The PeerConnectionFactory class provides factory methods to create// PeerConnection, MediaStream and MediaStreamTrack objects.//// The following steps are needed to setup a typical call using WebRTC://// 1. Create a Peer.
在win10上编译webRTC(问题篇) 参考链接:https://webrtc.org.cn/mirror/先附上参考链接,然后再开始记录过程。方便参看的人,找到官网安装编译教程。步骤一:准备工作。根据官网的提示,先得准备一些东西才行:win10安装git工具及TortoiseGit。 我是顺道建了个仓,本地也把这个里面的一个测试文件拉取一下。这里,我在本地E盘,新建了一个文件夹 :gitHub.。 据说,下载编译w...
在win10上编译webRTC(编译篇) 坑坑不息。参考链接:https://webrtc.org.cn/mirror/ 先附上参考链接,然后再开始记录过程。方便参看的人,找到官网安装编译教程。一、准备工作win10安装git工具及TortoiseGit。这里,我在本地E盘,新建了一个文件夹 :gitHub.。下载编译webRTC的盘,要有100G的空间。因为下载下来的webRTC源码10G。 下载时间1个多小时。 安装...
webRTC示例分析(四)——peerConnection-client 整个demo中有3个主要的类分别是:窗口类MainWnd,它的主要功能是实现了一个窗体程序, PeerConnectionClient类,他的作用是与信令服务器(server)来进行TCP通信, 将MainWnd类和PeerConnectionClient类 连接在一起的Conductor类,Conductor实现了MainWndCallback和PeerConnectionClientO...
webRTC示例分析(三)——peerConnection-client peerConnection-clientwinMain函数,是win32程序的入口函数,主要内容有:设计窗口 注册窗口 创建窗口 显示窗口 更新窗口 消息循环main.cc 程序入口// main.cc ,程序入口int PASCAL wWinMain(HINSTANCE instance, HINSTANCE prev_ins...
webRTC源码结构简单分析(一) webRTC是什么?请参看链接。 这里我已经下载并编译好了,然后梳理一下结构。仅作为学习笔记,如有错误,欢迎指出。如果你还没有下载或编译,请参看,链接1, 链接2.1、首先webRTC下载之后,是src文件,然后这个文件中有很多文件夹及其他,这里截取部分,如下:2、其中example文件夹中,是webRTC给出的各种应用实例的demo。目前作为入门,我是先研究peercon...
webRTC——SDP(Session Description Protocal) SDP(Session Description Protocal),说直白点就是用文本描述的各端(PC 端、Mac 端、Android 端、iOS 端等)的能力。这里的能力指的是各端所支持的音频编解码器是什么,这些编解码器设定的参数是什么,使用的传输协议是什么,以及包括的音视频媒体是什么等等。如上图所示,两个客户端 / 浏览器进行 1 对 1 通话时,首先要进行信令交互,而交互的一个重...
在VS2017上编译peerconnection client 编译了webRTCWindows源码之后,想使用编译出来的库写一个demo出来,但是又不知到怎么下手。经高人指点,可以通过源码中带的示例peerconnection_client和peerconnection_server来学webRTC peerconnectionAPI的使用方法。1、 环境:win10+VS2017+webRTC的debug32位库2、新建一个Windows控...
Windows下,使用nodejs搭建最简单的http服务 nodejs 安装完成后,Node.js 创建第一个应用 引入 required 模块:我们可以使用require指令来载入 Node.js 模块。 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。 接收请求与响应请求服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。...
win10安装git工具及TortoiseGit 下载环境:windows操作系统: win10 64位1、 git客户端工具:TortoiseGithttps://npm.taobao.org/mirrors/git-for-windows/这个可以很快下载git工具。2、TortoiseGit 工具: https://tortoisegit.org/download/下载巨慢!如果你也恰好需要这...
win10安装并配置WebStorm 下载https://www.jetbrains.com/webstorm/download/#section=windows强烈建议下载低版本,这样的话,网上有一些激活码可以用。安装高版本的,网上找的激活码不能用。安装修改路径根据需要,酌情添加。激活不成功,先凑合着用。一定要下载低版本,高版本的,网上找不到激活办法。打开软件,弹这个东西。接受,或...
win10安装并配置node.js 下载win10,64位,就下载Windows下64位的东西。下面的两个网址,一个是慢的,一个是快的。才18M+,慢的那么慢。推荐下载地址:http://nodejs.cn/download/不推荐地址:https://nodejs.org/en/download/安装node.js关于下面的四个选项,有的说选第三个,有的说选第一个,不清楚选哪个,就先选第一个吧...
UDP也可以有connect连接 根据《TCP/IP,UDP通信——C++实现》文章,知道了:UDP 等于无连接协议。 但是有的时候,UDP又有了connect连接,这是怎么回事呢?以下简单探究一番。调用 connect 将 UDP 套接字和 IPv4 地址进行了“绑定”,这里 connect 函数的名称有点让人误解,其实可能更好的选择是叫做 setpeername;UDP 套接字调用 connect 函数,但是和 TCP...
TCP/IP,UDP通信——C++实现 基于TCP(面向连接)的socket编程服务器端程序:创建套接字(socket) 将套接字绑定到一个本地地址和端口上(bind):目的是为了告诉客户端,服务器准备在那个ip地址哪个端口接受请求。 将套接字设置为监听模式,准备接收客户端请求(listen) 等待客户端请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。接收客户端请求后,就保存了客户...
C++开发电子白板 基于VS2010的单文档,开发电子白板。Unicode,静态库方式编译。下面依次介绍。主页面主窗口的画图菜单选项,点开之后,是各种工具。同时,右侧提供相同的图标工具,供快速使用。 主要功能有:铅笔、直线、矩形、椭圆、?(系统自带的帮助,需要调整一下位置)、橡皮、清除屏幕、画笔颜色设置、线型线宽设置。 视屏功能尚未开发。 主窗口底部,显示当前坐标,以及当前时间。【画图】中有【截图...
C++多线程学习笔记(三) 每次使用多线程时,总有些细节问题不清楚,这里从基础部分开始整理一下,以便后续进行学习和使用。机器不同,系统给每个线程分配的时间片和运行机制也不同。我这里是基于win10系统的VS2010的win32控制台应用程序做的。运行结果,会与孙鑫视频课中的有些不同,所以有些代码稍微调整,比如Sleep(1)的位置。一、最简单的多线程原型#include <Windows.h>// ...
MFC获取IP控件的IP值 DWORD m_serverIP;((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(m_serverIP);int m_nDestPort;GetDlgItemText(IDC_EDIT_PORT, m_nDestPort);......// 使用ipstruct sockaddr_in serve...
C++多线程笔记整理(二) 上一节中,是单独的把线程函数和主函数放到了一起,不太符合类的封装。这一节把多线程放到一个类里面,然后在主函数中调用这个类以及多线程。多线程,需要定义为静态成员函数,如果里面涉及到参数,也应该定义为静态成员变量。头文件, *.h#include <Windows.h>#include <iostream>using namespace std;class T...
ffmpeg最后释放的时候,出现的各种崩溃 记录,音频编码线程,视频编码线程,合成输出线程,每次结束,运行到最后一个 } 时,就会出现下面的崩溃。该释放的,都加了判断,才释放的,应该不会有问题吧。有时候还会提示avformat.dll的崩溃。解决方案:设置如下,然后就没出现过了。...
C++多线程笔记整理(一) #include <Windows.h> // 使用多线程,要加头文件#include <iostream>using namespace std;int a = 1;CRITICAL_SECTION g_cs; // 线程锁// 开辟两个线程,分别对同一个变量进行操作DWORD WINAPI thread1(LPVOID lpParameter){ ...
VS2010返回失败,GetMenu()->GetSubMenu(0) 根据孙鑫的MFC教程,lesson-6,获得菜单栏VC6.0 用到一个:GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);VS2010,到这里就崩溃,因为GetMenu()得到的指针为空。根据网上找到的解决方案:方案一:把Mainfrm.h mainfrm.cpp中的关...
wireshark抓取RTP流 用RTP封装H264并发送,不清楚是否发送成功的话,那么就用wireshark抓取一下流,看看是否有抓到流。安装wireshark先打开wireshark准备接收,然后打开发送rtp流的demo,开始发送。因为RTP发送是基于UDP的,所以看到的Protocol显示的UDP,选中一行,点击右键,选择Decode As...弹出如下窗口,将【当前】设置成RTP,(快捷键,输入R,就能...
win10安装抓包工具wireshark 前言写完的RTP发送H264程序,用RTP发送的H264不知道如何测试,经高人指点,需要用抓包工具,抓包,看看是否数据正确,所以下载此工具,并记录安装及应用过程。下载下载地址:https://www.wireshark.org/download.html我的电脑是WIN10-64位系统。下载过程有点久。好像用迅雷会快一些。安装 双击下载好的这个东西点击next...
使用ffmpeg开发,遇到的问题,整理 Windows10下开发,ffmpeg3.4问题一:pCodecOut_Audio = avcodec_find_encoder_by_name("libfdk_aac");//什么也没有,打不开 pCodecOut_Audio = avcodec_find_encoder(AV_CODEC_ID_AAC); //可以打开问题二:下面这个参数设置,S16不能打开,RLTP才...
Win10系统VMware WORKSTATION 15.5 PRO虚拟机安装ubuntu16.04 64位 下载:https://ubuntu.com/download/alternative-downloads这里不清楚下载哪个,就下载了一个mini.iso, 然后放入了一个文件夹。这里已经有一个centos,不过还是可以再添加一个的。 两个安装路径不在一起就好。呈献一下基本信息,点击下一步。选择镜像的 iso。这里出错了,有一个警告!听高人的建议,这里需要选择...
解决:fatal error C1083: 无法打开包括文件:“libavutil/samplefmt.h”: No such file or directory 的问题 fatal error C1083: 无法打开包括文件:“libavutil/samplefmt.h”: No such file or directoryVS2010 MFC开发录制屏幕demo。debug编译,没有问题,改成release,却出现问题:原因:一开始,这里丢了一个分号。添加之后,还是找不到.然后提示,这里找不到。其实include文件里面都有这些文件。到属...
第一章统计学习方法概率 前言(自己整理的) 输入数据戴帽子的f 和 戴帽子的P 是从假设空间(各种模型集合)中选择最好的模型。统计学习的方法概括如下:从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布产生的; 并且假设要学习的模型属于某个函数的集合,成为假设空间(上图的学习系统); 应用某个评价准则,从假设空间中选取一个最优的模型,使它对已知训练数据及未知测试数据 在给定的...
ffmpeg 的各种声明已被否决,整理 目前用ffmpeg 3.4version ,在Windows上开发。1、warning C4996: 'AVStream::codec': 被声明为已否决2、 warning C4996: 'avpicture_get_size': 被声明为已否决3、warning C4996: 'avpicture_fill': 被声明为已否决4、warning C4996: 'av...
libfdk_aac在Windows下编译 由于ffmpeg找不到编码器AAC,格式为AV_SAMPLE_FMT_S16P,然后,又没有掌握重采样,就是从AV_SAMPLE_FMT_S16P重采样为:AV_SAMPLE_FMT_FLTP。 所以重新编译一份aac, 用这个试试。如果你看到这篇文章,你会重采样,请给我留言呀,我向你请教一下这个过程 。下面记录编译过程:1.先下载源码:官网路径:https://github.com...
视频基础知识——编码时,帧率、码率、分辨率之间的联系 本文主要补充基础概念,在设置编码器的时候,参数设置不对,录制的屏幕就会出现花屏。所以梳理了基础知识,就知道哪里设置不对了。如下是ffmpeg自带的sample,encode_video的例子,选取H264的编码器,进行编码。const AVCodec *codec;AVCodecContext *c= NULL;/* find the mpeg1video encoder */c...
解决:avformat_write_header();打开失败的问题 打开成功 :avio_open(&pFormatCtx_Out->pb, outFileName, AVIO_FLAG_WRITE);但是,写头,失败。返回 -22[mp4 @ 02ae5a00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVSt...
ffmpeg新旧对照一览表 从FFmpeg 3.0 开始 , 使用了很多新接口, 在一些基本用法上,编译会看见很多的warning,类似 “ warning: ‘AVStream::codec’ is deprecated (declared at /usr/local/ffmpeg/include/libavformat/avformat.h:880) [-Wdeprecated-declarations] ...