- 博客(137)
- 资源 (40)
- 收藏
- 关注
原创 webrtc开发实战系列2 – windows下编译WebRTC支持H264
上面的编译过程中出现的问题,大部分原因还是在编译选项及参数, Windows SDK的安装及版本,相关环境变量的设置上,只要我们搞懂了各个编译环节的基本原理,这些问题就很容易解决了。通过以上步骤最后在目录下成功功编译出来webrtc的静态库webrtc.lib,此外在output/x64-release-h264-clang目录下也编译出了peerconnection_client.exe,peerconnection_server.exe等demo程序。
2024-10-31 00:50:26 532
原创 什么是HTTP/2?
HTTP/2(原名HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP/2主要基于SPDY协议,通过对HTTP头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载速度。HTTP/2没有改动HTTP的应用语义,仍然使用HTTP的请求方法、状态码和头字段等规则,它主要修改了HTTP的报文传输格式,通过引入二进制分帧实现性能的提升。目录。
2024-05-07 12:13:17 1114 1
原创 使用exosip2-5.3.0 TCP方式无法监听端口。
在exosip2 5.3.0版本中使用接口eXosip_listen_addr监听TCP端口时,系统中查询不到指定端口被监听的任何信息。却查不到任何端口信息, 使用测试软件模拟tcp-client,来链接8060端口,因为无法链接。eXosip_listen_addr执行成功,返回值等于OSIP_SUCCESS。
2024-03-19 12:27:42 352
原创 win10重新安装Windows应用商店
注意,有些包会安装失败,提示资源正在被使用什么的(resources it modifies are currently in use),可以尝试在资源管理器中关闭对应的进程。安装完依赖组件之后,安装WindowsStore这个Msixbundle, 就会成功安装了。有些包是 Appx 后缀,注意选择最新版本,注意选择正确的构架(64位电脑选择 x64)下载之后,双击安装,如果弹出安装对话框,则跟着向导操作,然后在最后一步会失败提示。点击INTERNET选项,选择连接,找到最下面的局域网设置按钮,
2024-01-13 22:48:10 3716 1
原创 yolov
https://yolov8.com/https://github.com/ultralytics/ultralyticshttps://docs.ultralytics.com/zh/
2023-11-20 12:59:40 273
原创 树莓派4b,应用窗口/最小化后在任务栏不显示
● 如果没有,按 "添加 "重新添加,然后按 "上/下 "将其放到将其放置在快速启动栏和系统托盘之间。我这里操作完上述步骤后还是不显示, 经过各种检查,发现问题就在任务面板前面的这个间距上, 选择。,查看这个间距组建的属性,发现大小1000, 这明显所太大,占满了任务栏的空间,调整为2,后正常了。● 检查Task Bar (Window List)● 同时勾选拉伸栏中的复选框,使其填满所有可用空间。首先检查在任务栏面板中是否删除了任务面板小程序。正常情况下,上述操作即可解决问题。● 右键单击任务栏面板,
2023-10-27 13:40:32 1153
原创 鲲鹏920(ARM64)移植javacpp续
在上一篇文章中,我们成功编译了javacpp的子模块ffmpeg生成了.jar文件和ffmpeg动态库。今天我们继续编译javacpp/opencv。
2023-09-21 17:40:38 391
原创 鲲鹏920(ARM64)移植javacpp
javacpp-1.5.3官方并没有提供arm64的产出包,我们需要在arm64机器上自己手动编译源码安装。而且javacpp编译脚本中提供的linux-arm64编译选项也只是针对嵌入式arm的交叉编译环境,需要根据arm64机器原生编译器进行修改适配。另外,脚本中的GCC编译选项,使用了特定的CPU架构和型号来提高性能,都需要重点关注。例如:-march=armv8-a+crypto:是针对ARMv8-A 架构和特性的CPU架构进行优化。
2023-09-06 11:15:04 643
原创 centos下编译ffmpeg+ libfdk_aac +x264
注1:若提示WARNING: pkg-config not found, library detection may fail.,则需先安装pkg-config,参考:pkg-config 编译安装。但是,ffmpeg编译命令如果使用**–enable-libfdk-aac** ,会报错, 使用。源码链接:pkg-config-0.29.2.tar.gz。这里使用的是–enable-libfdk_aac选项,在源码目录执行如下命令查询,看到的是。f反而正常,没搞清楚原因。这里编译的是静态库。
2023-05-22 11:28:03 867
原创 nginx/lua/OpenResty
函数ngx.log(log level, …)记录OpenResty的运行日志,用法很类似Lua的标准库函数 print,可以接受任意多个参数,记录任意信息。
2023-04-24 15:46:26 775
原创 MAC 卸载软件提示已锁定
最近清理电脑上的无用软件,发现卸载软件 报"不能完成此操作,xxx已锁定",死活卸载不掉,这里记录一下,就当笔记了。看下面图标,就是上面带一把锁的 标识 。网上查了下,普遍都说 右键查看简介,然后发现已锁定后,需要使用命令行删除。sudo rm -rf xxx.app发现,并不好使。 报错rm: FortiClient.app/Contents: Operation not permitted错误提示,这个软件的权限 非常高,常规方法还真的卸载不掉 ~~~~~所以,先要找到这个软件,修
2022-05-13 12:05:34 7010 1
原创 音频编解码基础知识
PCM基础知识PCM是指未经过压缩的原始声音脉冲信号数据,它主要通过采样率、采样格式(比如每个采样点是8位、16位、32位等)、声道数来描述。在FFmpeg中有两种表示PCM数据包的模式,分别是planer和packed模式,那么它们有什么区别呢?其中packed又叫做交错模式,而planer又叫平面模式,所谓交错或平面就是不同声道的声音信号排列储存的方式,例如对于一个双声道的PCM数据来说, 用packed模式表示是这样子的:用L表示左声道数据,用R表示右声道数据LRLRLRLRLRLRLRLR
2022-04-20 19:21:39 1915
原创 win10下使用msys+vs2019编译ffmpeg源码
win10下使用msys+vs2019编译ffmpeg源码安装msys2安装MSYS2编译FFMPEG所需的依赖安装GCC启动msys2编译ffmpeg编写测试代码安装msys2去MSYS2官网下载MSYS2工具安装MSYS2编译FFMPEG所需的依赖依次安装以下工具(安装的过程中可能出错,可能原因是没有安装最新的MSYS2工具,比如会提示key过期等,我在安装的过程中遇到了很多问题,但是忘记记录下来了。这个需要朋友自己去网上查找资料了)pacman -S nasm #汇编工具pacman
2022-04-18 00:56:49 2720
原创 源码安装最新版本git
官网下载源码包来安装,最新源码包下载地址:https://git-scm.com/downloadNote:不要用yum安装git, yum源安装git最新版本是1.8.3,该版本太老,之后用git commit 有可能会报错:git: ‘interpret-trailers’ is not a git command. See ‘git --help’.cannot insert change-id line in .git/COMMIT_EDITMSG必须安装更新版本,比如git-2.12.2
2022-04-08 20:32:14 1579
原创 【git】git: ‘interpret-trailers’ is not a git command. See ‘git --help’
cents 7.6系统. yum源安装git最新版本是1.8.3报错:git: 'interpret-trailers' is not a git command. See 'git --help'.cannot insert change-id line in .git/COMMIT_EDITMSG解决:git add xxxgit commit -m "xxx"然后修改vim .git/hooks/commit-msg#if test -n "${reviewurl}" ; th
2022-04-08 20:28:24 4281
原创 ffmpeg 音频相关命令
使用rtsp协议推送g711音频ffmpeg -re -i test.flv -vcodec copy -acodec pcm_alaw -f alaw -ac 1 -ar 8000 -f rtsp -rtsp_transport tcp -y "rtsp://192.168.1.196/live/stream" 提取mp4文件音频,并保存pcm为文件ffmpeg -y -i oceans.mp4 -vn -acodec pcm_s16le -f s16le -ac 1 -ar 8000
2021-11-29 15:28:07 494
原创 直播HLS协议
HTTP Live Streaming(简称HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。 它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率 .在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3u8)文件,用于寻找可用的媒体流。HLS只请求基本的
2021-10-01 22:56:48 1459
原创 brpc理解
我们只有三个用户类:Server、Channel和Controller,分别对应server端,client端和调整参数集合。不需要推敲诸如“Client怎么初始化”,“XXXManager有什么用”,“Context和Controller的关系是什么”之类的问题要做的很简单:建服务就#include <baidu/rpc/server.h>, 并按照注释或例子使用server对象访问服务就#include <baidu/rpc/channel.h>,并按照注释或例子使用Ch
2021-09-26 15:24:37 710
原创 OpenCV视频质量诊断----视频遮挡诊断
视频遮挡诊断把彩色图像二值化,偏黑的部分为前景,其他部分为背景。对前景进行连通区域检测,求得最大连通区域面积。该面积整幅图像面积的比较即为遮挡率c++语言实现//视频遮挡诊断double occlusion(const cv::Mat &src , double meanValue) { bool IsCovered = false; Mat gray; cvtColor(src, gray, CV_BGR2GRAY); Mat binary; threshold(gr
2021-09-24 15:36:21 2403
原创 OpenCV视频质量检测--清晰度检测
void img_to_gray(const char * src) { cv::Mat image = cv::imread(src); if (image.empty()) { return ; } cv::Mat gray_img; cv::cvtColor(image,gray_img,COLOR_BGR2GRAY); cv::imwrite("gray.png",gray_img); //LOG_INFO("convert
2021-09-24 15:33:51 1200
原创 Docker容器内使用gdb
其中gdb在进行进程debug时,会报错:(gdb) attach 30721Attaching to process 30721ptrace: Operation not permitted.原因就是因为ptrace被Docker默认禁止的问题。考虑到应用分析的需要,可以有以下几种方法解决:1、关闭seccompdocker run --security-opt seccomp=unconfined2、采用超级权限模式docker run --privileged3、仅开放ptrac
2021-09-07 19:25:36 1637
原创 ffmpeg常用命令(二)
- ffmpeg截图ffmpeg -i rtmp://192.168.1.16:8935/app/ -loglevel quiet -y -f mjpeg -t 0.001 test.jpgfmpeg 改变视频分辨率ffmpeg -i input.avi -vf scale=320:240 output.avi -hide_banner- 使用rtp方式推流h264推流ffmpeg -re -i "test.mp4" -vcodec h264 -acodec aac -f rtp_mpeg
2021-08-02 11:22:53 409
原创 GB28181之SIP协议
[RFC3261]SIP概括会话初始协议(Session Initiation Protocal, SIP)。SIP是一个应用层的信令控制协议,主要目的是在 IP 网络中建立、修改和释放多媒体会话的应用层协议。其主要的应用包括但不局限于语音、消息、视频、呼叫控制等。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。1. 什么是Proxy模式?按照RFC3261中的定义,Proxy服务器是一个中间的实体,它本身即作为客户端也作为服务端,为其他客户端提供请
2021-06-18 16:28:42 2586 1
原创 GB28181的NAT穿透
国标gb28181内网穿透因为我们这个项目是内网到外网,再从外网到内网,有内网穿透的情况,内网映射到外网的端口会发生改变,所以要有一套机制来做穿透,因为国标是基于sip协议的,sip下做内网穿透的事rport机制,如果发送的请求不带rport标识就是不启用这套机制,所以在外网到内网时会出问题。因为内网的头在发送信息到公网上会经过一个网关,网关会使用nat协议转换内网的端口,这个映射到公网上的端口可能和内网的一致,也有可能不一致!而刚好在我方的网络里这个端口恰巧一致了!而对方的不一致。https://bl
2021-05-18 16:59:31 3484
原创 大厂音视频职位面试题目--今日头条
作为一名IT从业者,不管你是否有跳槽的计划。时不时的去参加一些有针对性的招聘面试,对个人也是有好处的,一方面可以了解大厂有哪些的热招职位,这些热招的职位往往说明社会上相关行业发展热度,资本投入的方向,也就代表着更多的机遇机会。此外,在和面试官互动的过程中也能了解一些大厂技术架构方面的信息,相关的技术栈,管中窥豹,对开阔自己视野不无裨益。 最直接的,参加技术笔试/面试相当于给自己一次赶考机会,是对自己技术能力的一次检验,即使自己能力达不到面试职位的要求,也可以回家复盘,查...
2021-04-27 00:26:51 906
原创 音视频、编解码相关电子书、小工具,打包奉送!
编解码相关流媒体协议标题调试工具扫码关注 【音视频开发训练营】公众号,后台回复8899获取网盘链接。
2021-04-25 15:32:46 374
原创 ffmpeg AVFrame 转 cv::Mat
//AVFrame 转 cv::mat cv::Mat frame_to_mat(const AVFrame * frame) { int width = frame->width; int height = frame->height; cv::Mat image(height, width, CV_8UC3); int cvLinesizes[1]; cvLinesizes[0] = image.step1(); if( NULL ==
2021-04-16 13:05:24 1541
原创 ffmpeg 错误码
ffmpeg 中的错误码定义在如下文件中:#include <libavutil/error.h>使用如下的定义方式,#define FFERRTAG(a, b, c, d) (-(int)MKTAG(a, b, c, d))#define AVERROR_BUG FFERRTAG( 'B','U','G','!') ///< Internal bug, also see AVERROR_BUG2#define AVERROR_EOF
2021-04-16 12:56:13 1361
原创 H264编码profile & level控制
H.264有四种画质级别,分别是baseline, extended, main, high:从低到高分别为:Baseline、Main、High。Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;(用的少)Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交
2021-03-25 18:47:41 513
原创 【C++】 map和vector的erase函数说明
一、std::map erase 函数声明这里首先要注意,C++98 和c++11 针对map的erase函数有不同的函数原型,这往往是出现问题的关键所在。参考如下链接:http://www.cplusplus.com/reference/map/map/erase/C++98(1) void erase (iterator position);(2) size_type erase (const key_type& k);(3) void erase (iterator first,
2021-03-12 19:48:14 713
使用POCO库操作sqlite
2019-12-10
VA_X_Setup2074支持vs2015及以下
2017-11-20
攀藤G5ST分析仪,攀藤G5ST分析仪,攀藤G5ST分析仪
2017-10-05
draft-ietf-payload-rtp-h265-07.pdf )
2015-11-04
otl4.h头文件
2014-12-08
win7下vs2008升级补丁
2013-05-06
封装h264,/mpeg4 为MP4文件
2012-12-21
mp4 box parser
2012-12-21
windows下编译liveMedia555 ,包含工程代码
2011-07-22
一个简单的完成端口(服务端-客户端)类
2010-12-29
Xtream ToolKit 使用总结
2010-06-18
vc6行号插件 vc6LineNumber
2010-05-26
mfc42ud.lib
2009-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人