11 logens

尚未进行身份认证

我要认证

海阔凭鱼跃,天高任鸟飞

等级
TA的排名 8w+

ffmpeg 在linux下的使用

1.FFmpeg编译1.1.安装yasm这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装。sudo apt-get install yasm1.2.下载FFmpeggit clone https://git.ffmpeg.org/ffmpeg.git1.3.配置、编译FFMPEG./configure --prefix=host --enable-shared --disable-static --disable-doc 关于FFMPEG的配置参数,我

2020-07-13 16:00:23

arm下编译ffmpeg

交叉编译器版本:4.8.3依赖x264,lamex264:1.wget ftp://ftp.videolan.org/pub/x264/snapshots/last_stable_x264.tar.bz22.tar xvf last_stable_x264.tar.bz23.cd x264-snapshot-20170903-2245-stable4.export CC=arm-linux-gnueabi-gcc5.export AR=arm-linux-gnueabi-ar

2020-07-09 20:05:59

ffmpeg的那些事儿

今天在做编解码时,遇到一个奇怪的问题,就是av_image_alloc 导致内存泄漏,这点比较纳闷,场景是这样的,在视频传输过程中,需要根据网速来切换码流大小哦,如果带宽不够自动切换低码流传输,于是我将采集的1080p的视频转化成yuv格式发送。过程如下:首先初始化编解码环境: if (_thumbCodecContext != nullptr && _thumbCodec != nullptr) { return 0; } int ret; AVCodecID c

2020-07-03 15:10:50

关于jpg的那些事儿

bmp的码流相当费空间,所以一般在传输时,都会编码为其他格式,就效率来说,一般rgb32的原始码流在转换为yuv时是减半的,如果说对画面质素要求不高的,可以转换为jpg码流,当然h264是传输码流的首选,代码如下#include <iostream>extern "C"{#include <libavformat/avformat.h>#include <libswscale/swscale.h>}#pragma comment(lib,"avfor

2020-07-01 17:57:32

ffmpeg关于sws_scale的那些事儿

随便聊聊,sws_scale 在对rgb处理上,基本都是把数据放于一个通道,而且针对行来扫描,所以linedata就是图像的宽 * 通道数,而在对yuv的处理上,基本上都是依据具体的格式,分为三个通道来处理下面对其函数参数进行详细说明:1.参数 SwsContext *c,转换格式的上下文。也就是 sws_getContext 函数返回的结果。2.参数 const uint8_t *const srcSlice[],输入图像的每个颜色通道的数据指针。其实就是解码后的AVFrame中的data[..

2020-07-01 17:34:59

windows ui的那些事

说起来,从毕业到现在一直在做UI这块,不过直到最近才大概明白了点,其实就那一套,包括注册窗口,创建,显示和刷新以及消息循环。简单的流程辅以windows api,可以实现许多复杂的功能,我对这点研究的不太多,所以也没什么发言权。最近研究音视频,才觉得,原来所做的都是小意思,重点在这里,窗口的话,只是一个载体,有这个载体,可以得到一个画布,在哪块画,画什么,就看画师的技巧。windows 在...

2020-05-02 22:06:44

vscode 使用的那些事儿

最近在ubuntu下使用了下vscode,感觉马马虎虎,可能对vscode还处于初级阶段,多多挖掘它的好处吧是这样的,hello world 很新鲜,搞两下可以过了,但是一旦工程中包含的多了,那就得费一番功夫了首先来说打开目录,然后源文件都在里边,可以搞一下,然后新建launch.json,这个是用来为执行准备环境的,所以如下{ "version": "0.2.0", ...

2020-04-10 17:30:08

开启 Windows 的 FTP 服务,并创建用户

在windows 10 家庭版下搭建ftp服务器,并创建用于登录的用户。创建用户,不能在一般条件下创建,一般在“我的电脑”右键选择“管理”然后在“计算机管理”中选择“本地用户”进行添加用户即可。但是Win10中没有“本地用户”这一功能:既然没有就尝试使用“运行”命令的方式调用“本地用户及组”的功能吧。步骤:快捷键:“win+R” ->输入“lusrmgr.msc”打开“本地用户及组...

2020-03-27 20:37:31

脚本的那些事儿

最近学习ubuntu,不禁对linux系统的脚本产生了浓厚的兴趣,使然之下,越来越觉得兴趣浓厚,不过随着深入,发现一些命令都记得模糊了,之前都是简单的应用 cp mount sudo mv fdisk touch mkdir make nmake configure tar zip 等也没有做一个分类,学本来,各种正则式,混合着命令,看起来都糊涂了,[[]] [] {} () $$ -a -f -...

2020-03-24 16:59:48

linux进程间的那些事儿

写这篇文章之前,我对linux的进程间通讯还是有些畏惧的,不过看了一些其它文章之后,觉得linux进程间远比我学到的要难得多,首先来说,linux下线程的概念被淡化了,线程又名轻量级进程。线程机制是现代编程技术中常用的一种抽象,提供了在同一程序中共享内存地址控件的一组线程。这些线程可以共享打开的文件和其它资源。线程机制支持并发程序涉及技术,可以保证真正并行处理。linux实现线程的机制非常独特,从...

2020-03-09 14:17:07

关于QT富文本的那些事儿

去年折腾的一个项目,其中的某个部分就是在一段文字中的重点突出某个符号,采用不同的字体和颜色,一开始我还不太明白,后来才开始理解了原来是要富文本显示,这块目前用QT实现,然后查了一些富文本的例子,QLabel控件是支持富文本显示的,只不过网上的一些基于正则表达式的例子不能对单个字符过滤,所以下面改进了一些,不多说了,直接上代码QString strSupplement = QString::f...

2020-03-03 13:20:33

windbg调试的那些事儿

这两天一直在查一个qt程序的异常崩溃,把多年不用的windbg拾起来真实不容易,记得之前用的时候,敲命令熟悉的不行,而且那个symbols也是轻松就下载下来了,想故技重施吧,命令忘记的都差不多了,汗。先来熟悉一下creator的环境,配置cdb调试环境,需要工具->选项->构建和运行->Debuggers->中配置,自动检测到CDB然后路径,分别标注Name和Pat...

2020-02-26 20:16:01

关于网络的那些事

重拾基础,今天要来说一下关于网络的那些事,特意找了一些资料来学习笔记。iocp是Windows中比较经典的一个模型,这个模型堪称全异步通信,所以找了实例强悍的一位大牛来学习分析。先看主要的APIHANDLE CreateIoCompletionPort(HANDLE fileHandle, //连入的套接字句柄,没有置空 ...

2020-02-21 11:04:18

聊一聊网络的那点事

最近在抓一些基础,所以偶尔也会写一些实例程序,可能写的有点糙,所以拿上来大伙品评品评。服务端代码:#include <winsock2.h>#include <windows.h>#include <stdio.h>#pragma comment(lib,"ws2_32")#define PORT 5150#define DATA_BUFSI...

2020-02-20 17:27:06

windows网络的一点整理

基于对网络的一点兴趣,突然之间想总结以下windows网络相关的一些内容。通常的网络io模型有四种1 同步阻塞(blocking io)2 同步非阻塞(non-blocking io)默认创建的socket都是阻塞的,非阻塞io要求socket被设置为nonblock,3 io多路复用(io multiplexing),又称为异步阻塞io,经典的reactor模式。4 异步io...

2020-02-20 15:55:13

关于生存-我想说点什么

不太想写关于这个命题的一些文章,但却又时时刻刻在琢磨着该如何更舒适的生存下去,尤其是今年察觉了,快乐少了,皱纹多了,钱包瘪了,岁数大了,无忧没了,烦恼多了。最近在看关于分布式运算方面的帖子,顺便逛一逛论坛,也是基于朋友的一些建议,所以关注了程序员生存相关。突然看到有个同行在网上絮叨,关于程序员怎么接私活。https://blog.csdn.net/qing_gee/article/deta...

2020-02-19 16:35:29

qt傻瓜式应用

最近也在研究QT的一些核心代码和应用部署相关内容,关于qtcreator在配置工程中shadow build和非shadow build还是有不同的,这不刚刚遇到 一个莫名其妙的问题,在一个widget中,添加了两个按钮,之后运行的时候发现崩溃了。我debug之后,没有任何思路,找了半天,网上大部分都说非法指针,或者空指针,但是调试发现并没有空指针,所以我懵了。主要是这类问题调试的话,没有任何...

2020-02-19 15:49:53

关于QT发布时需要注意的地方

以前都是静态编译好环境之后,直接拷贝可执行文件和资源文件发布,windows下发布程序的时候,竟然遇到了不是可执行的应用程序以及缺少相关的运行库,对于前者已在上一篇博文中解决了,遇到问题也是各种搜索,至于缺少运行库的问题,只要定位到相关的可执行文件目录,然后执行windeployqt,即可将依赖的库拷贝进去,然后通过相应的打包程序,打包即可。...

2019-12-05 15:50:48

关于QDoubleValidator增加上下限无效的解决

一般设置QDoubleValidator是不生效的,因为QT是依据每次输入都要判定一次,所以这时候需要针对基类的validator重新实现,下面是判断从10.0-1000.0,小数点只有一位的一个测试用例class WeightDoubleValidator:public QDoubleValidator{public: WeightDoubleValidator(double ...

2019-12-05 11:10:25

关于QT编译成的程序在winxp下运行提示不是有效win32应用程序的解决

昨天纠结了好长时间,今天才有点眉目,果然是QT的配置pro文件有点坑,需要加上以下内容以兼容XP平台win32 { QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01 QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE,5.01 DEFINES += _ATL_XP_TARGETING# ...

2019-12-03 09:54:15

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。