自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 FFMPEG使用内存方式实时封装

本文主要介绍调用ffmpeg接口进行封装,ffmpeg有两种封装方式,一种是通过内存传递数据进行封装,第二种是直接写进文件中进行封装;网上大部分博客都是描写第二种方式;本文主要描述内存传递数据封装方式。ffmpeg封装一般主要有三大步骤,一是通过avformat_write_header写入头信息,二是通过av_interleaved_write_frame写入封装数据,三是通过av_write_trailer写入文件尾信息;本文将围绕这三大步骤,通过模块化的方式来介绍封装模块,封装模块主要分三个部分,

2021-03-24 10:47:00 243

原创 ffmpeg 内存读写封装遇到的问题

1、flv封装:flv封装不支持16000采样率,需要重采样,才能进一步封装2、音频重采样需要经过解码->重采样->编码;每一步中对每一帧数据都需要使用同一个Context3、avi封装:avi封装,25帧,视频时间基为1/600,则duration为24,但是封装后avi文件中的duration=1;导致文件无法在android中播放,所以修改时间基1/50.使得duration=1有效,可以播放 // 设置avi格式的时间基;原有时间基1/600,在android中无法播放

2021-01-23 16:29:29 504

原创 详解TCP建立连接、传输数据、断开连接全过程

本文通过wrieshark抓取TCP包,来对TCP进行细致的解析,从实践中了解TCP各个过程。首先介绍下TCP的6种标志位,wriehark会根据这些标志位,在抓取的包中进行标记,方便我们查看:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(u...

2018-11-17 16:35:20 7661 1

原创 reboot后mtd中的数据变化

1、只要reboot前后程序运行在这个mtd上,mtd中的数据发生改变(从mtd中read出来的数据前后不一致),当中的文件数据保持不变(mtd中存储的文件)2、只要reboot前后程序不运行在这个mtd上,mtd中的数据不发生改变。...

2018-11-17 16:34:35 312

原创 accept阻塞等待,close(fd)无作用

bind绑定端口之后,accept还在阻塞等待连接,这时如果另一个线程close(fd),此时的fd并没有解绑,该端口还是处于监听状态;导致其他线程绑定该端口时失败;要解决该问题,需要将accept函数改为非阻塞等待,并通过一个标志位来判断是否继续accept;                while (1)                {                    FD_...

2018-11-17 16:15:53 2817

原创 linux线程优先级

创建线程的顺序OTHER    RR-LOW-PRI    FIFO-LOW-PRI      RR-HIGH-PRI      FIFO-High-PRI RR-LOW-PRI    可以抢占  OTHER FIFO-LOW-PRI  可以抢占  RR-LOW-PRIRR-HIGH-PRI   可以抢占  FIFO-LOW-PRIFIFO-High-PRI  可以抢占  RR-HIGH-PRI ...

2018-06-19 15:09:27 638

原创 详解printf重定向到文件中,打印日志的实现

    printf是将信息打印到终端,但是有时当我们需要打印的信息比较多时,终端无法将所有信息都能够保留在屏幕上,这样我们就不能在终端获取我们想要的信息了,重定向很好的帮我们解决了这个问题,下面我就通过重定向printf将打印信息打印到文件中,这也相当于一个打印日志。        打印日志的功能是这样的,日志文件命名为YYYYMMDD.log,例如20180530.log,默认保存在与执行程序...

2018-06-08 17:29:22 7875 1

原创 使用dnsmasq,实现本地的DNS服务

首先到网上下载dnsmasq源程序,直接在http://www.thekelleys.org.uk/dnsmasq/中选择一个版本下载。解压压缩包,并进入解压目录下tar -vxf dnsmasq-2.78.tar.gz cd dnsmasq-2.78输入命令安装dnsmasqsudo make install...

2018-06-05 21:52:13 17199

原创 TCP通信,recv接收数据需要注意的地方?

        关于TCP通信中,recv函数接收数据大小的问题,之前一直觉得,只要是客户端与服务器一发一收的模式,那么recv接收的数据大小一定是函数中指定的数据大小。这次写了客户端与服务器通信的程序,在这上面栽了一个大跟斗。        程序功能如下:通过客户端与服务器的通信,实现文件的传输,客户端每次发送1k的数据,服务器每次接收1k大小数据并将数据存储到文件中,就这样一发一收的循环发送接...

2018-06-03 22:51:04 10838 5

原创 简单的几种网络超时检测

使用setsockopt、select、alarm等函数实现网络超时检测

2017-11-13 19:40:23 5489

原创 getsockopt( )函数详解

一个简单的例子搞定getsockopt()

2017-11-13 19:35:56 46994 1

原创 在对话框列表中插入列,并在列中来插入数据

虽然我是刚接触编程,但这段时间一直在做一个项目,用到哪个只是就去找哪方面的知识,这样从项目中学习知识的效率还是听高的,

2016-08-19 14:10:10 693

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除