ffmpeg
文章平均质量分 71
qianbo_insist
AI,网络安全,nodejs,c++ ,java,.net
email :[email protected]
weixin:18091589062
展开
-
基于cuda和opengl高性能处理渲染多阵列摄像头8K画面(一)
科学!=技术,非常有同感,接触过很多博士,硕士,博士的科学理论化和想象力更多一些,用于指导技术,而一些硕士和本科的技术的实践性更强一些,用于反向传播科学的参数,从而显现偏差,再来纠偏,这就和业务部门必须指导技术部门一样的道理,业务部门可以想象自己的处理方式,最后技术部门必须落地。我有一个比较映像深刻的地方就是闫令其老师在讲课图形学的时候,底下一个学生问体积着色的问题,一下把老师整蒙了,把底下听课的我也整笑了,就像你再问总统说我家里的拖把如何拖地的问题一样,事实上,这种细节问题显然不是图像学的基础,而是在工业原创 2024-03-28 09:37:12 · 677 阅读 · 0 评论 -
RTP工具改进(四) - rtmp协议推送
前面写了rtsp ps 流推送,为了把软件提高使用的实用性,准备将rtp协议扩展到rtmp 和 rtsp。rtsp 扩展是必然的,因为rtsp的核心协议是rtp,rtmp协议实际上在封包的原理上借鉴了rtp。代码地址RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变。原创 2024-01-25 13:02:38 · 974 阅读 · 0 评论 -
RTP 接发ps流工具改进(三)
代码地址注:两种方式发送,一种直接rtp方式,一种ps over rtp方式代码里面有直接rtp方式发送,可以修改代码成为直接的rtp方式也是可以的。原创 2024-01-21 12:41:39 · 481 阅读 · 0 评论 -
rtsp超分推流流程(一)
播放一个RTSP的流需要如下的RTSP请求命令:OPTIONS -> DESCRIBE -> SETUP -> PLAY 然后就是接收RTP包、播放了最开始也不太清楚推流到底应该怎么来推,后来使用ffmpeg的推流命令,然后抓包分析出来,推流的RTSP请求命令如下:OPTIONS -> ANNOUNCE -> SETUP -> RECORDEASYPUSHER安卓ANDROID手机直播推送之MEDIACODEC 硬编码H264格式https://www.fr原创 2024-01-04 13:58:39 · 1149 阅读 · 0 评论 -
使用tesla gpu 加速大模型,ffmpeg,unity 和 UE等二三维应用
我们知道tesla gpu 没有显示器接口,那么在windows中怎么使用加速unity ue这种三维编辑器呢,答案就是改变注册表来加速相应的三维渲染程序.原创 2023-12-25 21:32:12 · 2223 阅读 · 0 评论 -
rtsp 拉流 gb28181 收流 经AI 算法 再生成 rtsp server (一)
必备工具必备工具player 使用tcp 拉流,不自己写的话,使用ffmpeg 去写一个播放器就行编译好live555, 将live555的参数修改以下,主要是缓存大小文章使用c++ 来写一个server,目的主要是为了gb28181 接收ps流, 主动拉rtsp 流,经过AI 算法以后 ,再将AI 结果 转成wsflv 和 rtsp 流。为了对比live555的过程,编译live555,本身live是一个非常好的服务端和客户端,测试非常方便。这里AI 使用libtorch。原创 2023-09-01 21:19:43 · 672 阅读 · 0 评论 -
opencv rtsp 硬件解码
硬件解码的方案有太多种,如果使用ffmpeg硬件解码是最方便的,不方便的是把解码过后的GPU 拉到 CPU 上,再使用opencv的Mat 从cpu 上上载到gpu上,是不是多了两个过程,应该是直接从GPU mat 直接去处理, 最后一步再从GPU mat 上下载到cpu,render显示。GPU 硬件解码是nv12 格式,我们为了显示和cpu使用直接转成了RGB或者BGR, 使用opencv再映射封装,最后又上载到cuda,这个过程很耗时间,而且不是必要的。原创 2023-07-30 16:27:15 · 2579 阅读 · 0 评论 -
linux下编译ffmpeg
linux下编译安装ffmpeg,硬件解码原创 2023-07-22 09:41:39 · 689 阅读 · 0 评论 -
使用c++ 作为脚本语言制作协议转换中心
首先底层可以使用angelscript,这一点无需质疑,不用再造轮子,因为作者做得比较好,测试的例子也非常好,同时,使用angelscript的游戏也是非常多的,下面简单先使用注册main 和测试函数来进行一个协议转换中心的制作,从而使得非c++ 的人员甚至前端也可以使用脚本c++来制作复杂的媒体工具和协议工具。首先脚本如下所示:和c,c++ 一样,main函数是入口,前面是一些测试函数,其中1 tostring(int num)2 rtsp(string url)此2个函数都是自定义函数,原创 2022-07-09 14:43:08 · 888 阅读 · 1 评论 -
ffmpeg 测试命令综合
使用dshow 存mp4ffmpeg -f dshow -i video=“screen-capture-recorder” -f dshow -i audio=“virtual-audio-capturer” -vcodec libx264 -acodec aac -framerate 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f temp.mp4使用原创 2022-07-08 20:53:09 · 450 阅读 · 0 评论 -
ffmpeg调用directshow camera 并sdl渲染
基础ffmpeg使用设备先注册avdevice_register_all();使用常用得CCameraDS 取获取名称,这里使用第一个摄像头。这里我们使用SDL来渲染得时候,启动一个定时器来定时给一个事件让SDL来刷新SDLSDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);所以使用video和timer来完成这种渲染。渲染流程这里使用bgr24来渲染,使用sdl 创建表面,指定opengl来做1 创建窗口2 创建刷新线程3 线程中发送更新事件4原创 2022-03-14 20:26:52 · 2948 阅读 · 0 评论 -
rtmp服务器 协议之同步
rtmp协议时间戳问题原创 2022-02-21 10:11:46 · 1569 阅读 · 0 评论 -
rtp发送h264和h265
rtp发送h264,h265原创 2022-02-06 17:38:20 · 2232 阅读 · 0 评论 -
c++ h264RTP接收和发送程序
h264 rtp接收和发送程序原创 2022-01-21 21:47:17 · 3082 阅读 · 0 评论 -
贴图问题,opengl,linux,windows,消除锯齿,摩尔纹,yuv 还是 rgb
1 消除锯齿和摩尔纹使用opengl 在linux 上做opengl 和 windows上有所不同吗,事实上,是这样的,我们在渲染的时候,如何做到反锯齿,反摩尔纹,其实都是要了解和掌握最基础的底层相应的知识体系,才能做到比较好的状态,监控贴图也是一个麻烦的事情,特别注意的是:画面缩小,如果我们熟悉ffmpeg,就知道ffmpeg在缩小算法上做得很好,可以消除很多锯齿和摩尔纹。请看下面这幅图:这个很恶劣,主要是摩尔纹对眼睛的刺激比较大,这样除了让普通的观察者感到无法接受,最重要的是图像会产生误差,下面原创 2021-11-17 10:30:21 · 1942 阅读 · 1 评论 -
deepin 使用cuda硬件解码
1 未曾选择闭源驱动和选择闭源驱动一样适应社区版驱动2 修改禁止开源驱动sudo vim /etc/modprobe.d/blacklist.conf增加blacklist nouveauoptions nouveau modeset=0sudo chmod +x /etc/modprobe.d/blacklist.confsudo update-initramfs -u3 安装使用sudo init 3 进入tty或者使用ctrl+alt +F23.1 卸载驱动sudo ap原创 2021-11-11 13:46:11 · 651 阅读 · 0 评论 -
ffmpeg vaapi 驱动问题
编译1 安装libva1.1 自带的libva 比较老,请下载比较新的libva,否则libva-util编译会有问题1.2 安装libva需要libdrm,所以先安装libdrmapt-get install libdrm-dev2 安装libva-utils3 vainfo命令intel graphicsfor libva-intel-driver use i965for intel-media-driver use iHDnvidiafor Nouveau use nouveau原创 2021-11-10 13:40:08 · 5932 阅读 · 2 评论 -
ffmpeg 无法找到libpostproc的问题
ffmpeg linux编译在编译的时候,加上的参数必须有enable-gpl./configure --enable-shared --enable-postproc --enable-gpl否则的话,很多后期处理的函数参数就没法使用了,如ffmpeg 滤波,去除不想要的干扰,噪声,颜色等等注意使用gpl ,意味着代码需要开源,请遵守协议。...原创 2021-11-10 07:14:54 · 1751 阅读 · 0 评论 -
ffmpeg 硬解码
硬件编解码如何利用日益强大的硬件来实现高效的编解码有则非比寻常的意义,对于开发者来说,面对日益增加的不同硬件,带来的不同的接口,如何快速的使用和对接,本身就是一个问题,还好ffmpeg为了我们提供非常好的解决方案,完全不用去关心底层的实现,一切面向接口的良好体现。hwcontext模块支持的平台static const char *const hw_type_names[] = {[AV_HWDEVICE_TYPE_CUDA] = “cuda”, //CUDA是Nvidia出的一个GPU计算库[原创 2021-08-09 22:36:33 · 3436 阅读 · 0 评论