- 博客(4)
- 资源 (7)
- 收藏
- 关注
原创 精度丢失引发的错误--笔记
在处理音频及视频时间戳的过程中,发现音频pts跟正常的预期值偏差会随着时间越来越大(小于预期值),而视频的pts值跟预期值相等,最终导致声音与画面不同步。排查很久,最终找到问题所在,原因在于生成音频pts的过程中存在精度误差(计算pts的公式:packet_num * ((1000 * 1024) / 44100 )),下面用代码说话:#include <stdio.h>int main(){
2017-09-22 15:50:37 572
原创 不同媒体容器封装层的timebase分析
在使用ffmpeg封装过程中发现,封装成mp4文件音视频是同步的,但是封装成mpegts文件则有问题,视频播放正常,但音频播放异常,且不同步。所以猜测是封装层的时间基准单位(timebase)在搞鬼。 在此,并没有去深入的分析ffmepg中的源代码,而是简单的修改了一下ffmpeg中的av_dump_format函数,使之把音频的tbn(即封装层的timebase)也打印出来,分析了如下容器:mp
2017-09-14 16:12:42 1250 1
转载 listen函数详解
文章转自:http://blog.csdn.net/stpeace/article/details/13416891 套接字与“地方”绑定好了后,对于服务端而言(这里是TCP情况),自然就应该乖乖地去聆听,聆听客户端的需求,否则怎么会叫服务客户呢?如何去聆听呢?很简单,这个单词你早就学过了,那就是listen, 我们来看看listen函数的原型: int PASCAL FAR listen
2017-09-12 14:51:41 1487
转载 IO多路复用之select总结
文章转自:http://www.cnblogs.com/Anker/archive/2013/08/14/3258674.html强调内容 1、基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种
2017-09-11 17:05:15 334
x264参数整理
2017-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人