- 博客(785)
- 资源 (115)
- 收藏
- 关注
原创 git 新建 branch 推送 到服务器
这个表示,在远程创建一个和本地名一样的远程 newbranch 分支, origin/newbranch (如果不存在),然后将内容会push到远程服务器;表示将修改内容推送到远端 master 分支上,就是刚才获取代码的远端分支,和之前的远端分支是一样的,log 也在之前的基础上继续添加;通常情况下,需要开发一个模块,从 master 新建立了一个 分支,newbranch,如果推送到服务器;2:当修改完成代码,add,commit 完成后,执行 git push;git branch -r 查看。
2023-10-18 16:50:40
1538
原创 使用分支——Git Checkout
当进入这种游离状态时,Git会警告你当前处于游离状态,你所做的任何更改也都游离于你整个项目的开发流程。当它指向一个分支时,没什么问题,但是当你checkout了一个特定的commit,就会将。但是修改后的提交记录,没有保存在项目中,如果切换分支后,历史记录就找不到了,除非自己一直保持中 当时的 commitID;这里要注意,git 新的命令,通过 git switch 切换分支,虽然git checkout 分支 还可以用;命令对于分支的三大主要操作之后,现在该到了讨论一下“游离状态的HEAD”的问题了。
2023-09-13 15:01:20
862
原创 win11 任务栏设置, win11 右键
设置 -》系统 -》 多任务处理 -》 桌面 -》 在任务栏上,次按时所有打开的窗口: 仅限我正在使用的桌面。设置 -》 个性化 -》任务栏行为 -》 任务栏对齐方式: 靠左。2:多桌面,任务栏独立显示当前桌面;
2023-05-15 17:21:54
514
原创 vs 查看 C++ #define 宏定义展开代码
右键 cpp 文件,编译 -》build 目录中会有一个 .i 文件,打开后,搜索查看的 宏定义内容,就可以看到效果;在 vs 中,选中需要查看的 cpp 文件 -》 右键属性 -》 预处理器 -》 预处理到文件 选择。如果需要调试代码,还需要将参数修改为 否;#define 通常是代码的展开;
2023-04-04 11:57:21
2098
原创 获取网页视频文件
方法很多,这里说一个比较简单的方法:you-get安装 python;pip install you-get获取视频:如,某视频网站: https://www.video.com/video/VideoP=011: 这个表示 视频的 网页, 01 表示 这个视频的 第一集;2: you-get -i https://www.video.com/video/VideoP=01 这里会显示当前视频的 format:mp4hd 等等好几条;3: you-get --format=mp4hd
2023-03-31 17:37:07
907
原创 mediasoup server windwos 编译;
关于 mediasoup server 端,可以在 Linux 上编译,现在也可以 在 win11 上 编译;2: 信令部分,js 实现的,可以通过 http websocket 等方式连接;如果需要完整的 mediasoup server端程序 ,需要 直接看 2 部分;官方 说: 还用 rust 写了新的服务代码,和 js 设计一样,可以自己查看;网页客户端测试示例: 。服务端就是需要自己编译的代码示例;
2023-03-31 13:41:03
398
1
原创 vscode 远程连接 docker Ubuntu 容器
说明:因为 容器 已经关联了 子系统 的 端口了,就相当于 容器监控获取子系统的端口数据了,所以 ssh 连接 就是 子系统 的ip 和 端口,而不是 容器中的ip,容器 中的 ip 外部系统 因为不在一个网段,所以也无法直接访问,当然子系统可以直接访问;还需要说明的是, vscode 可以直接 连接 windows 子系统,如果是需要 Ubuntu 系统,可以直连接 子系统,当然,如果为了 容器代码开发等完整环境,可以启动容器;如果指定别的端口关联,如 2220:22 ,虽然可以通过。
2023-03-23 18:06:41
1187
原创 windows mingw64 编译 ffmpeg 脚本设置
具体环境变量 先通过 vs native tool , msys_cmd -mingw64 -full-path 打开查看;可以通过 env 直接查看,或者 echo $INCLUDE 等方式查看。设置完成后,设置 sh 打开方式 为 mingw64.exe 就可以了;1:编写 .sh 文件;文件 开始设置,关键变量;
2023-03-13 16:46:34
287
原创 gitlab docker 忘记root密码,重新设置
根据提示,可以直到 root 的默认密码在: /srv/gitlab/config/initial_root_password。3: gitlab-rails console -e production // 等待启动,一个Ruby 表格;4:user.password = 't12345678' //必须 字母 和 数组组合,大于8,否则保持错误;//如果成功,提示 true, 否则提示 false,需要查看具体问题;根据 这个文件,可以知道,如果 root 密码忘记可以到这里查看处理;
2023-03-13 15:06:39
2301
1
转载 Android运行C/C++程序,无需ROOT!
如果随便 Android 中的任意目录,执行,需要root 权限,现在手机,大部分情况已经没有 su 命令了;adb shell 直接执行 Android 中的 androidCpp;7:如果有相关动态链接库,可以放到这个目录:设置查找so库路径的环境变量。6: ./androidCpp , 执行程序;1: 配置 adb.exe 相关目录到环境变量;ndk 编译完成 C++ 可执行程序;3: 连接手机, adbshell。
2023-03-10 12:01:24
1408
原创 lambda 表达式 作为参数,作为 std::thread 参数,和 vector 链表中的变量在线程中作为消息列表的应用
lambda 表达式,之前的文章已经说命令,std::thread 也说明了;这里简答说明一下;最简单lambda 表达式:[]{};线程直接启用lambda 表达式: std::thread([]{ while(1){...} });或者 : std::thread([]{ ... });或者:auto pf = []{ ... };从上面可以看出 lambda 表达式,在处理简单逻辑线程的时候,非常方便;
2023-02-09 14:29:55
1123
原创 ffmpeg 中 aresample filter 和 scale filter 的创建
ffmpeg 中 ,filter 的创建一般需要外部函数创建,可以参考 filter_audio.c sample;一般 命令行 中,ffmpeg 和 ffplay 也会有相关的 filter 自动创建;ffmpeg 中 filter 的概念 和 directshow 中的比较接近;一般 通过 avfilter_graph 添加管理 当前 filter 链路;这里需要说明的有两个特别的 filter 会在 ffmpeg 内部自动创建;E:\Project\ffmpeg-4.3.2\libavfilter
2022-12-08 13:48:47
539
原创 webrtc packetbuffer 完整frame 判断
视频 packet,假定一下9个 video rtp packet 在buffer中, 如果 5 丢失了,判断5是前一个frame的最后一个packet,还是后一个frame的第一个packet;
2022-08-17 12:00:05
445
原创 std::future, std::async, std::promise ,std::thread
std::promise 的价值非常好,以前的 C++ 获取网络消息,需要异步线程获取,然后再通知处理;启动一个线程,不可以用 for 循环启动多个线程,这样会一个线程执行完成,在执行下一个线程;ret 的值,get()一次后,无效了;如果觉得 get()函数可能会长期阻塞函数,可以添加等待超时,非常好用;启动线程后,执行这条语句,会让线程先执行 500 毫秒后,在向后执行;这个可以在获取到 数值 前,阻塞当前线程,直到有值;//这里会阻塞当前线程,直到 g_ret 有值;//启动线程,赋值 g_ret;.
2022-08-09 15:25:36
495
原创 webrtc Android 端 video 软解码创建
关于软解码的创建,webrtc 在Android端 默认添加有 vp8 和 vp9 两个软解码;如果需要 h264 软解码,需要自己添加,参考之前的文章;1:如果指定只要软解码,可以手动修改代码;2:webrtc默认启动会检测 Android 是否支持 hwdecode,如果不支持或者hwinitdecode 失败,会创建软解码; 但是如果检查到 hwdecode 存在,但是 initdeocde 的时候却 crash 了,需要自己手动修改代码,支持切换到软解;3:根据web...
2021-06-24 11:49:28
750
1
原创 webrtc 中的 Android 端 jni
一:基本知识点:简单说明一下;java 和 C++ 需要相互调用,所以自然就需要相关的技术形式;1: java 调用 C++: 在 java 层 通过 函数声明 native 实现,然后再 C++ 中实现相关函数,c++ 中实现的函数要有相关命名规则,包名_函数名:如:Calculator.javapublic Class Calculator {pbulic int native Add(int a, int b);}Calculator.cc 如...
2021-06-23 18:31:27
585
原创 webrtc Android 端 添加 h264 软解码
说一下流程:也没啥东西,按着vp8 ,vp9的方法添加就可以了;1webrtc\src\examples\androidapp\src\org\appspot\apprtc\PeerConnectionClient.java
2021-06-15 11:29:44
1856
4
原创 win10 扩展屏消息响应黑屏问题 和 VMware ubuntu 虚拟机中 tab 键 ,删除键 黑屏问题
win0 扩展屏幕后,钉钉以后消息,扩展屏幕就黑屏了,或者,ubuntu 的虚拟机中,只要多按几次 tab 键,或者 删除键,就会黑屏,然后恢复;1:首先可以用驱动精灵,(如果是联想,建议用联想管家),更新安装驱动;2:在屏幕中,更新屏幕驱动,可以直接选择,在线更新屏幕驱动;3:还是会黑屏,恢复;4:根据经验,每次消息后,有声音提示,然后黑屏,所以想,屏蔽消息提示(目前就是这样可以解决问题);5:Windows中屏蔽消息声音,自行网上查询;6:ubuntu中, sudo...
2021-05-21 13:51:06
758
原创 webrtc 在 Windows 上 调试时,崩溃问题
目前的 webrtc 版本调试运行的时候,会遇CaptureInputPin::Receive 崩溃问题,屏蔽 check 就可以了;STDMETHODIMP CaptureInputPin::Receive(IMediaSample* media_sample) {// RTC_DCHECK_RUN_ON(&capture_checker_); // 屏蔽这句话;...
2021-05-12 17:15:44
974
原创 mac 编译webrtc SDK 版本错误
Mac 升级后,编译 webrtc 提示SDK版本错误,需要修改:1:webrtc -> src -> build -> mac -> find_sdk.py 修改这个文件;2:查看 SDK 版本: xcrun --show-sdk-version我的版本显示的是:11.1修改:75行:sdks = [re.findall('^MacOSX(11\.\d+)\.sdk$', s) for s in os.listdir(sdk_dir)]...
2021-04-16 11:21:55
626
原创 OpenH264的参数
一:创建编码器,初始化设置:说明:不是所有参数都是要设置,可以通过 int EXTAPI GetDefaultParams (SEncParamExt* pParam) = 0;获取默认参数,然后修改几个主要初始化编码参数;1.1: 常用初始化参数设置:typedef struct TagEncParamBase {EUsageTypeiUsageType; ///< application type; please refer to the definition of EU.
2021-04-14 17:49:09
776
1
转载 visual studio 命令行工具 Use the Microsoft C++ toolset from the command line
Developer command prompt shortcutsThe command prompt shortcuts are installed in a version-specific Visual Studio folder in your Start menu. Here's a list of the base command prompt shortcuts and the build architectures they support:Developer Command Pr
2021-03-23 11:48:23
574
1
原创 webrtc支持的最小分辨率
constexpr int kDefaultMinPixelsPerFrame = 320 * 180; // We will never ask for a resolution lower than this. // TODO(kthelgason): Lower this limit when better testing // on MediaCodec and fallback implementations are in place. // See h...
2021-03-08 16:51:24
694
转载 ubuntu 虚拟机下使用摄像头
VMWare 中,安装 Ubuntu,设置:虚拟机 -》 可移动设备 -》 连接摄像头;一般这样可以在虚拟机中用摄像硬件摄像头的;但是,有时候会,摄像头灯已经打开了,但是采集的图形是黑的,需要再设置:Ubuntu 下的摄像头采集软件:sudo apt-get install cheese安装完成后,在shell终端启动cheese,在shell 下直接键入cheese。或者 搜索cheese后点击图标即可。...
2021-03-02 15:28:48
605
原创 webrtc音频回调设置
// Connect the ADM to our audio path. //就在这里; adm()->RegisterAudioCallback(audio_state()->audio_transport());
2021-02-25 16:05:43
604
原创 webrtc 中 音频采集设备的开启
在webrtc中,如果自己创建了 adm,那么一般会自己打开设备,退出的时候,再关闭设备;但是webrtc在创建stream的时候,会自动判断,如果设备没有打开,会自动打开,关闭的时候,会自动关闭;当然设备需要自己创建;以下关于音频设备的的自动打开;//音频添加 send stream;void AudioState::AddSendingStream(webrtc::AudioSendStream* stream, ...
2021-02-07 11:32:00
591
原创 Windows 子系统 Ubuntu root 密码设置 , wls2 docker, wls 桌面
在 win10 上,安装了 Ubuntu18.04 的子系统,但是 sudo 密码 忘记了,需要找回:1:管理员权限启动 PowerShell;2:ubuntu1804 config --default-user root3:打开Ubuntu 子系统 输入 passwd,设置新的root密码,两次设置;4:继续设置, passwd userID ,设置刚才Ubuntu子系统中的一般用户的sudo密码,两次;5:然后关闭 Ubuntu子系统,但是每次打开默认是root用户, ...
2021-01-12 21:26:53
3493
1
原创 C++ 获取当前系统毫秒数
#include <chrono>#include <string>long long SysMs() { return std::chrono::duration_cast<std::chrono::milliseconds>( std::chrono::system_clock::now().time_since_epoch()).count();}
2021-01-11 12:02:41
1465
原创 webrtc VisaulStudio2017 IntelliSense 设置
编译一个webrtc最新版本后,提示有问题,很多红线,参数提示错误;主要是因为在工程中,sdk版本应该设置为编译需要的sdk版本;修改:属性管理器 -》 单击第一个工程,Shift+单击最后一个工程 -》 设置指定版本SDK;然后打开任意cc(cpp)文件 -》右键 -》 重新扫描 -》 重新扫描整个解决方案;...
2021-01-05 10:44:20
348
转载 VMware Ubuntu 共享文件夹, VirtualBox Ubuntu 共享文件夹
主机:win10;虚拟机:VirtualBox + Ubuntu20.04设置共享目录后,Ubuntu虚拟机汇总看不到目录,一:执行以下命令:第一步:安装我们的帮助程序:sudo apt install nfs-common另一方面,如果您尝试挂载CIFS,则提供辅助程序cifs-utils。你可以安装它:sudo apt install cifs-utils然后再开始尝试,如果发现还是不行,那么我们再进行第二步第二步:因为我是在Virtualbox搭..
2020-12-30 20:26:12
8450
1
原创 webrtc 中的buffer
C++ 关于 buffer 的管理,webrtc 进行了很好的封装:1:webrtc_clang\src\rtc_base\bit_buffer.h关于 bit 的封装;2: webrtc_clang\src\rtc_base\byte_buffer.hByteBufferWriterT: 负责添加字节,可以动态添加void WriteBytes(const char* val, size_t len)ByteBufferWriter:负责获取字节,获取后,自动计算内存大小;..
2020-12-09 15:20:13
627
原创 VisualStudio设置C++代码clang编码格式
VisualStudio设置clang编码格式VisualStudio 默认的C++格式为 默认的,alt + F8 自动格式代码;如果要求代码为clang格式,为了简单,可以设置;工具-》 选项 -》 文本编辑器 -》 C/C++ -》 格式设置 -》 (界面右边)默认格式设置样式然后就很方便应用了;...
2020-12-08 11:40:51
1181
原创 webrtc 音频采集参数的设置
webrtc音频采集参数:以windows为例:先看这个文件:D:\webrtc_clang\src\modules\audio_device\win\audio_device_core_win.cc// Capture initialization when the built-in AEC DirectX Media Object (DMO) is// used. Called from InitRecording(), most of which is skipped over.
2020-12-07 15:09:03
1369
原创 IOS 写文件到 手机document 然后获取文件夹
用 xcode 写 IOS 代码,用 fopen 写文件,可以写到手机的document 文件夹,然后可以通过xcode菜单获取document目录到Mac端;1:获取 document 路径,转换为 char *; {//获取 document 路径; NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) obj...
2020-11-23 16:12:56
1681
OBS-Studio VS2015 依赖相关库
2017-11-15
H264文档(英文原版doc+中英互译pdf)
2017-10-10
Windows UDP 封装
2017-09-05
JAVA API1.6中文文档.CHM
2015-12-01
Qt录音机QAudioInput
2014-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人