- 博客(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
原创 在对话框列表中插入列,并在列中来插入数据
虽然我是刚接触编程,但这段时间一直在做一个项目,用到哪个只是就去找哪方面的知识,这样从项目中学习知识的效率还是听高的,
2016-08-19 14:10:10 693
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人