自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于 ffmpeg ,nginx-http-flv, flv.js 组合的网页直播

一. 前言之前工作中要做网页端html5的无插件直播, 在网上找了很多资料, 最终以此套方案做了网页端无插件直播, 效果还行, 延时控制在了2秒内. 音视频编码支持情况见 flv.js.二. 实现FFMPEG 负责 rtmp 推流, 流数据缓存到缓冲区, ffmpeg从缓冲区拿数据解析并封装成flv格式推送到nginx代码实现: ffmpeg 内存读取数据推流到 rtmp 服务器nginx-http-flv demo 下载nginx 配置文件worker_processes .

2022-05-19 15:08:44 679

原创 Android NDK 编译 三方库记录 及 jni库封装问题

NDK C++ 交叉编译三方库

2021-11-24 15:09:07 2348

原创 CMake编译有QT库的问题记录

1. cmake 编译生成可执行文件时,add_executable(A a.cpp) 时遇到报错QtCore/qglobal.h:1187:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. " “compite your code with -fPIC (-fPIE is not enough)”解决方法add_.

2021-04-16 18:58:19 1550

原创 c++ 改变函数入口,替换main

#pragma comment(linker, "/entry:newMain")#include <iostream> int newMain(void){ std::cout << "Hello world!" << std::endl; return 0;}int main(){ return 0;}

2021-03-16 09:28:01 612

原创 QT utf8与gb2312的相互转换

编码方式之间的转换是先将源编码转到无编码,然后再转到目标编码//utf8与gb2312的相互转换QString utf8Togb2312(QString data){ QTextCodec* utf8Codec = QTextCodec::codecForName("utf-8"); QTextCodec* gb2312Codec = QTextCodec::codecForName("gb2312"); QString strUnicode = utf8Codec->t.

2021-03-10 15:39:20 5395 2

原创 ffmpeg内存读取数据推流rtmp

参考博客:最简单的基于FFmpeg的内存读写的例子:内存播放器最简单的基于FFmpeg的推流器(以推送RTMP为例)记录RTSP通过FFmpeg+nginx发布成rtmp和http-flv一个线程将网络实时流写入缓冲区,一个线程负责读取转封装成flv格式进行推流有用到qt库,ffmpeg库版本4.2.1pushstream.h#ifndef PUSHSTREAM_H#define PUSHSTREAM_H#include <QObject>#include

2020-09-28 11:04:36 2937 5

原创 RSA前端 jsencrypt 加密,后端 c++ crypto++库解密

前端<script type="text/javascript" src="./jsencrypt.min.js"></script><script type="text/javascript"> var crypt = new JSEncrypt(); //新建rsa对象 crypt.setPublicKey(publicKey);//添加来自服务端的publickey var enRSA = crypt.encrypt('123456'

2020-09-08 15:57:03 839

原创 cmake : Failed to find “GL/gl.h“ in “/usr/include/libdrm“

在 安装 cmake 中,执行 ./bootstrap 时出现Failed to find "GL/gl.h" in "/usr/include/libdrm"解决办法:sudo yum install mesa-libGL-devel mesa-libGLU-devel然后删除CMakeCache.txt,继续执行./bootstrap。

2020-08-12 17:22:47 4068 1

原创 Qt/qml 合集

线程Qt创建多线程的两种方法qt 解析 jsonQT中Json对象,字符串 QString,字符数组 QByteArray之间的转换

2020-08-06 15:22:11 167

原创 网页直播技术参考合集

ffmpeg录制屏幕并推流ffmpeg+nginx-http-flv-module+flv.jswindowsnginx-http-flv-module下载,ffmpeg.exe 我是用格式工厂 自带的。浏览器不支持flash插件之后,h5播放rtmp直播流的解决方案

2020-08-06 14:28:56 145

原创 Shell 基础总结

/*Shell 基礎學習*/http://c.biancheng.net/shell/易忘記的記錄:特殊變量---------------------------------------------------------------------------------------------------------$0 |当前脚本的文件名。$n(n≥1)|传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。$...

2020-08-06 13:11:26 138

原创 QML TreeView使用例子

记录QML TreeView 使用参考链接:QML树控件TreeView的使用(上)QML树控件TreeView的使用(下)代码如下:TreeNode.h//TreeNode.h#include <QObject>#include <QList> #include <QVariant> #include <QStringList>#include <QModelIndex>class TreeNode.

2020-08-03 10:10:37 3213

原创 epoll ET模式的服务器

记录 epoll 编程参考链接:Linux中epoll+线程池实现高并发自己趟过epoll的坑#include <sys/socket.h>#include <sys/types.h>#include <sys/wait.h>#include <sys/epoll.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h&gt.

2020-07-30 10:11:16 152

原创 MFC 添加背景图片

1. 准备后缀为.bmp 的图片2.找到 资源视图 下的Bitmap,右键->添加资源->选择Bitmap->导入,找到 .bmp 图片所在文件夹,若没有 .bmp 图片,则选中 所有文件 选项,就出现了 所需的 .bmp 文件刚开始添加图片时,点击导入后一直没有显示出图片文件,折腾了很久后才想到了选中所有文件,在此记录一下。3. 在OnEraseBkgnd 中添加代码,设置窗口背景图片BOOL AClass::OnEraseBkgnd(CDC* pDC){...

2020-07-27 09:44:06 1025 1

原创 vs2015 开发 ActiveX MFC 插件用于 IE 加载

vs MFC 开发ActiveX链接:

2020-07-27 09:11:43 325

原创 Linux 安装 QT

步骤1. root 账号登录系统(最重要,不然执行qt-opensource-linux-x64-5.12.5.run 会出错)2. 下载Linux版本 Qt wgethttp://download.qt.io/archive/qt/5.12/5.12.5/qt-opensource-linux-x64-5.12.5.run3. chmod +xqt-opensource-linux-x64-5.12.5.run4. 执行 ./qt-opensource-linux-x64...

2020-06-17 17:08:42 302

原创 Qt 打包程序过程

Qt 打包程序流程1. 编译生成 .exe2. 将 .exe 文件拷贝到新的文件夹里3. 开始栏打开 Qt 5.11.1 64-bit for Desktop (MSVC 2015)4. 敲入命令进入文件夹目录 cd /d C:\Users\PC-01\Desktop\PatrolClientDemo5. 用 windeployqt.exe *.exe 将 其所需 .dll 文件考到目录 windeployqt.exe *.exe(如果是 qml 界面加 --qmldir D:\QT6...

2020-06-15 10:28:19 262

原创 QT 信号槽相关的一些总结

Qt::AutoConnection 默认方式如果sender线程和receiver在同一个线程,相当于DirectConnection。如果sender线程和receiver不在同一个线程,相当于 QueuedConnection。Qt::DirectConnection如果sender线程和receiver在同一个线程,那么这个执行是同步的,直接调用slot函数,可以传递栈内的地址,引用等,槽函数运行于信号发送者所在线程如果sender线程和receiver不在同一个线程,那么槽函数会在se

2020-06-11 16:51:30 262

原创 vim 基本操作記錄

vim 基本操作手冊官網文檔:http://vimcdoc.sourceforge.net/doc/help.htmli:切換到輸入模式,輸入字符。x:刪除光標處的字符。I:在目前所在行的第一个非空格符处开始输入。a:从目前光标所在的下一个字符处开始输入。A:从光标所在行的最后一个字符处开始输入。o: 在目前光标所在的下一行处输入新的一行。O:在目前光标所在处的上一行输入新的一行...

2019-04-08 14:32:17 90

Linux 下 c++ 封装的 epoll ET模式 的 服务器

依赖了boost 库的线程池

2022-05-19

Linux下nginx-http-flv服务器

内涵flv.js, nginx.conf已配置好, 支持 rtmp, http-flv, hls, https-flv, 证书需要自己配置

2022-05-19

windows nginx-http-flv.rar

windows 下 nginx-http-flv 模块,在cmd下运行nginx.exe http://localhost:8080/http-flv-test.html

2020-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除