- 博客(13)
- 资源 (4)
- 收藏
- 关注
转载 MP4文件格式详解——结构概述
MP4文件格式详解(ISO-14496-12/14)Author:Pirate LeoEmail:codeevoship@gmail.com一、基本概念1、 文件,由许多Box和FullBox组成。2、 Box,每个Box由Header和Data组成。3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits flags。4、 Header...
2018-05-22 15:51:31 1300
转载 linux下程序由于SIGPIPE退出进程
起因对于一个对端关闭了的socket进行两次写操作,第二次会产生一个SIGPIPE信号,该信号默认退出进程。 具体如何分析可以参见tcp四次挥手。 tcp协议是全双工的,这就可以看成是两条单工信道,单工信道是管道PIPE,在对端调用close后,对端将发送一个FIN标志给本端,在本端进行read返回0的话,就表示对端关闭了对端负责的一条管道,但是本端这一条管道还可以进行通信,(引申一下tcp的限制...
2018-05-18 19:24:54 265
转载 linux系统下tar打包压缩命令的使用总结
tartar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,但它仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:# tar -cvf archive_name.tar directory_to_compress1下面是如何解包的命令:# tar -xvf archive_name.tar.gz1上面这个...
2018-05-18 17:53:16 201
转载 scp传输指令
传输文件:不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便,第三种就是利用scp命令来进行文件复制。 scp是有Security的文件copy,基于ssh登录。操作起...
2018-05-18 17:44:33 2842
转载 ffplay流程分析
最近想做一个基于ffmpeg的播放器,最好的方法就是参考ffplay。简单分析一下在stream_open后启动三个线程 read_thread: 关键函数av_read_frame 作用是读取帧 推测单独拿出一个线程是因为接受网络数据时,怕因堵塞丢包 video_thread: 关键函数avcodec_decode_video2 解码视频,单独解码线程,解码后放入队列,能够减少绘制时延时 ...
2018-05-18 11:40:57 207
转载 CMake简介,打包so文件,编译实际项目
CMake简介和使用示例 CMake是常用的跨平台编译器。图像这块在给服务端做开发时,常有两个需求: (1)代码打成.so包,供别人调用; (2)编译、测试,用valgrind测内存情况。工程较大时,借助CMake完成很方便。下面分别给出两种情况下,CMakeLists.txt的简单示例。1. 借助CMake打.so包 把目录utils下的文件打出.so包。其...
2018-05-16 15:55:57 1647 1
转载 TCP-IP详解:Nagle算法
参考书籍:TCP/IP详解,卷1:协议Small Packet Problem在使用一些协议通讯的时候,比如Telnet,会有一个字节字节的发送的情景,每次发送一个字节的有用数据,就会产生41个字节长的分组,20个字节的IP Header 和 20个字节的TCP Header,这就导致了1个字节的有用信息要浪费掉40个字节的头部信息,这是一笔巨大的字节开销,而且这种Small packet在广域网...
2018-05-15 11:20:05 493
转载 socket 选项 TCP_NODELAY 和 NAGLE 算法
当我们通过 TCP socket 分多次发送较少的数据时,比如小于 1460 或者 100 以内,对端可能会很长时间收不到数据,导致本端应用程序认为超时报错。这时可能是受到了 TCP NAGLE 算法的影响。 关于 TCP NAGLE 算法,可以参考这篇文章《TCP NAGLE算法和实现》以及《网络编程中Nagle算法和Delayed ACK的测试》 ,这里只说程序上如何实现。代码如下:[c...
2018-05-15 10:58:00 652
转载 ubuntu下安装zlib的方法
问题:在ubantu下安装zlib,尝试1:使用sudo apt-get install zliberr:E: 未发现软件包 zlib尝试2:使用wget http://www.zlib.net/zlib-1.2.3.tar.gz,下载下来再自己编译,安装err:已发出 HTTP 请求,正在等待回应... 404 Not Found2016-01-10 23:23:50 错误 404:Not Fo...
2018-05-11 11:03:47 57185 6
转载 自定义PROTOCOLS添加进FFMPEG源码的编译过程
ffmpeg是一套多媒体音视频处理工具,集成了采集、转码、转流、编解码等的功能,最近遇到了需要替换ffmpeg中传输协议的问题(添加自定义的编解码器道理是一样的),苦于网上没有详细教程,所以费了好大周章才搞清楚这一套流程。 所以特别写了这个帖子,希望其他小伙伴们遇到相同问题时可以参考一下,编写的时间比较仓促,不详细的地方还请见谅。私有传输协议编写:1. 当我们想要添加私有协议到ffmpeg中时...
2018-05-11 09:25:17 1716
转载 av_read_frame分析
在读此文件之前最好先看看 avformat_find_stream_info读数据时的几个缓存数据的流向,这篇文章讲解了s->internal->packet_buffer这个队列中数据的来源。同时对read_frame_internal函数有图例说明。基本上看完这篇文件,对av_read_frame函数就一目了然了。av_read_frame流程图代码解释s->flags &a...
2018-05-09 17:02:46 896
转载 ffmpeg静态库的裁剪
直接对ffmpeg的源码进行编译链接生成的静态库非常大,仅仅avcodec就有几十兆。因此根据我们自己的需求对ffmpeg进行裁剪是非常必要的。先不说具体的,直接上代码。在ffmpeg源码的根目录下新建shell脚本,命名为ffmpeg_small(随便起的),然后把下面的内容复制进去,修改执行权限,然后执行,大概十多分钟后就可以得到裁剪后的ffmpeg静态库啦。经过验证,生成的libavcode...
2018-05-03 17:22:37 1102
转载 ffmpeg avcodec_encode_video2 前面10多帧不能实时编码
ffmpeg avcodec_encode_video2 前面10多帧不能实时编码,查找原因!版本v1.2.1 原因找到:需要设置编码的速度和是否实时编码;见红色的部分! 注意: #include <libavutil/opt.h> /* Add an output stream. */static AVStream *add_stream(AVForm...
2018-05-02 20:31:22 719
json-lib-2.4-jdk15
2016-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人