
开源项目与技术解决方案
个人开源项目分享,其中包括大量项目应用实战。
༄yi笑奈何
一个腐败糜烂的环境,永远也无法孕育出真正的文明
展开
-
C++任务队列
【代码】C++任务队列。原创 2023-10-09 21:56:27 · 441 阅读 · 0 评论 -
Ubuntu系统手动安装英伟达驱动程序
屏蔽开源驱动nouveau安装过程会询问是否屏蔽,手动屏蔽也有多种操作方式,sudo gedit /etc/modprobe.d/blacklist.conf加参数到最底下回车另起一行内容为blacklist nouveauoptions nouveau modeset=0保存再终端更新内核命令sudo update-initramfs -usudo apt updatesudo apt install gcc g++ make然后好了以后重启电脑百度nvidia.原创 2021-12-10 15:37:26 · 1289 阅读 · 0 评论 -
在ubuntu20.04上设置python2为默认方式
原文地址原创 2021-12-02 15:26:21 · 1457 阅读 · 0 评论 -
【开源项目】Android开发内置App自动升级
1.准备工作,首先需要在AndroidManifest.xml中的application中加入以下内容 <provider android:name="android.support.v4.content.FileProvider" android:authorities="需要更新app的包名.fileprovider" android:grantUriPermissions="true"原创 2021-03-12 11:27:26 · 659 阅读 · 0 评论 -
【开源项目】Android下自定义HASH【支持一个key对应多个value--根据key排序】
package com.peace.love.carpo_test.tool;import java.util.List;import java.util.Map;import java.util.Set;/** * <p>Can save multiple the value of the map.</p> * Created in 2021/2/20. * * @author 一笑奈何; */public interface HongDou_MultiV.原创 2021-03-09 16:43:39 · 298 阅读 · 0 评论 -
【开源项目】Android下RSA加密与解密
RSAUtilspackage com.example.rsa;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.math.BigInteger;import java.security.KeyFactory;import java.security.KeyPair;impor.原创 2021-03-07 09:17:30 · 208 阅读 · 0 评论 -
【开源项目】C++BASE64图像编解码算法
ZBase64.h#pragma once#include <string>using namespace std;class ZBase64{public: ZBase64(void); ~ZBase64(void); /*编码 DataByte [in]输入的数据长度,以字节为单位 */ string Encode(const unsigned char* Data, int DataByte); /*解码 DataByte [in]输入的数据长度.原创 2021-03-05 21:42:00 · 584 阅读 · 0 评论 -
【技术解决方案】GitHub本地仓库管理与远程仓库管理
本地仓库管理设置用户名git config --global user.name 'CnYiXiaoNaiHe'设置邮箱git config --global user.email '1969118063@qq.com'该设置在Github仓库主页显示谁提交了该文件创建新文件夹,打开,然后执行git init把文件从工作区提交到暂存区域git add <filename>git add *把暂存区的内容提交到仓库git commit -m原创 2020-12-28 11:53:08 · 177 阅读 · 0 评论 -
【技术解决方案】开发工具源码安装包大全
各版本QT下载地址原创 2020-12-25 12:26:04 · 288 阅读 · 0 评论 -
【技术解决方案】Windows平台下摄像头采集方案
在Windows下对摄像头数据进行采集,有两种方法。一种使用DrectShow,另一种方法是使用WMF。我们可以通过将以上两种方法与FFmpeg中的avdevice来关联。使得他们成为一个整体。对于本机摄像头设备的枚举我推荐使用QT的多媒体库。 QCameraInfo curCameraInfo = QCameraInfo::defaultCamera(); //获取缺省摄像头 QString photoname = curCameraInfo.description();//摄像头描述原创 2020-12-24 18:32:50 · 947 阅读 · 1 评论 -
【技术解决方案】音视频同步策略分析并计算出当前音频播放的pts
音视频同步策略1.参考时钟同步:音视频约定好经过周期音视频各自会seek到约定位置。2.音频同步视频:视频是不能保证每秒是25帧的,存在精确度问题。3.视频同步音频:音频使用正常速度播放,视频以音频为基准。音频需要把时间PTS传递出来,视频根据传递出来的实际确认播放方式,视频会等待音频部分播放并把PTS传递出来赋值给视频部分。...原创 2020-12-12 18:59:01 · 327 阅读 · 0 评论 -
【技术解决方案】RTP_UDP传输过程中数据丢失的解决方案
1. 从发送端解决(推荐)适用条件: ①发送端是可以控制的.②微秒数量级的延迟可以接受解决方法:发送时使用usleep(1)延迟1微秒发送,即发送频率不要过快,延迟1微妙发送,可以很好的解决这个问题.。2.从接收端解决方法一适用条件:①无法控制发送端发送数据的频率解决方法: 用recvfrom函数收到数据之后尽快返回,进行下一次recvfrom,可以通过多线程+队列来解决.收到数据之后将数据放入队列中,另起一个线程去处理收到的数据;可以总结为服务器程序启动之出,接收端开辟两个线程,一个线原创 2020-12-02 19:42:33 · 2452 阅读 · 0 评论 -
【技术解决方案】优化FFmpeg编码器参数设置
FFmpegx264编码参数对照表 x264 ffmpeg 说明 命令行 字段 命令行 字段 qp qp_constant cqp cqp ...原创 2020-12-01 19:58:33 · 7528 阅读 · 0 评论 -
【技术解决方案】优化FFmpeg探测网络流时间过长的问题
场景要求 项目要求点播速度是300到500毫秒之间,现在最长的点播延时是1300毫秒(有的时候甚至无法播放视频),生产环境是RTSP传输H264裸流数据,研究在接收到I帧的时候,开始出来图像,简化FFmpeg的调用逻辑(SPS/PPS已经预先知道,并且分辨率也是固定为1920*1080)。...原创 2020-12-01 18:43:54 · 744 阅读 · 0 评论 -
【开源项目】超级播放器1.0
#pragma once#include <mutex>struct AVFormatContext;struct AVPacket;struct AVCodecParameters;class XDemux{public: //打开媒体文件,或者流媒体 rtmp http rstp virtual bool Open(const char *url); //空间需要调用者释放 ,释放AVPacket对象空间,和数据空间 av_packet_free virtual .原创 2020-09-13 09:43:26 · 478 阅读 · 0 评论 -
【开源项目】基于QT录制PCM音频实例详细
#include "QtAudio_input.h"#include <QtWidgets/QApplication>#include<QAudioInput>#include<iostream>using namespace std;int main(int argc, char *argv[]){ QAudioFormat fmt; fmt.setSampleRate(44100);//样本率 fmt.setSampleSize(16);//样本大.原创 2020-11-03 22:15:13 · 737 阅读 · 0 评论 -
【开源项目】基于Directx屏幕录制
#include<d3d9.h>#include<iostream>#pragma comment(lib,"d3d9.lib")using namespace std;//截取全屏void CaptureScreen(void *data){ //1 创建directx3d对象 static IDirect3D9 *d3d = nullptr; if (!d3d) { d3d = Direct3DCreate9(D3D_SDK_VERSION);...原创 2020-11-02 14:00:51 · 1237 阅读 · 0 评论 -
【开源项目】Socket服务端与客户端传输视频文件
Server端#define WIN32_LEAN_AND_MEAN#define _WINSOCK_DEPRECATED_NO_WARNINGS#include<windows.h>#include<WinSock2.h>#include<stdio.h>#include <malloc.h>#pragma comment(lib,"ws2_32.lib")int main(){ //启动Windows socket 2.x环境原创 2020-10-13 18:58:43 · 2368 阅读 · 0 评论 -
【开源项目】基于QT5的原生屏幕录制程序
开源项目原创 2020-10-09 12:00:36 · 790 阅读 · 0 评论 -
【开源项目】向Nginx-RTMP服务器推流
Nginx-RTMP服务器搭建Nginx下载Nginx-RTMP模块先使用root用户,首先安装GCC ; G++ ;make; libssl ;libpcre3-dev ;zlib1g-dev再解压Nginx和RTMP模块,configure传入RTMP模块的文件夹./configure --add-moudle=路径 安装成功后调用下面语句查看服务是否运行ps -ef|grep nginxnginx.conf配置rtmp{ server { lis..原创 2020-10-08 21:58:53 · 3137 阅读 · 2 评论 -
【开源项目----Android OPenGLES渲染YUV视频文件】
【开源项目----Android OPenGLES渲染YUV视频文件】原创 2020-09-24 15:14:31 · 341 阅读 · 0 评论 -
【开源项目】QT OPENGL 与 shader 绘制展示视频代码实例 OPenGL直接显示YUV数据
XvideoWidget.h#pragma once#include <QOpenGLWidget>#include<QOpenGLFunctions>#include<QGLShaderProgram>class XvideoWidget : public QOpenGLWidget,protected QOpenGLFunctions{ Q_OBJECTpublic: XvideoWidget(QWidget *parent); ~Xvi原创 2020-06-17 11:59:09 · 1381 阅读 · 1 评论 -
【开源项目】QT播放PCM音频实例详细
#include<QtCore/QCoreApplication>#include<QAudioFormat>#include<QAudioOutput>#include<QThread>#include<iostream>using namespace std;//准备好PCM数据//ffmpeg -i PP.mp4 -f s16le out.pcmint main(int argc, char *argv[]){ QCo.原创 2020-06-17 11:53:21 · 604 阅读 · 0 评论