自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(169)
  • 资源 (5)
  • 收藏
  • 关注

原创 关于修复mp4文件损坏的过程小记

最近项目中遇到设备异常断电,导致mp4文件损坏的问题,最近花了点时间,深入分析原因,并进行了相关修复尝试工作,最后,虽然文件中的音视频数据大部分可以修复,但因为原始文件中视频的帧率是动态变化的,导致最终修复的视频出现音视频不同步。 下面的内容会大概对MP4文件格式结构分析和修复策略两方面进行简单记录。MP4文件格式的分析 分析MP4格式,首先想到...

2019-06-14 14:38:17 19108 1

转载 gdb加了-g仍然(no debugging symbols found)

想用gdb对程序进行调试,之前的时候就想用gdb的,结果发现加了-g也还是不行,显示如下:GNU gdb 6.8Copyright (C) 2008 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free...

2018-06-02 12:47:27 2037 1

转载 使用truss、strace或ltrace诊断软件的"疑难杂症"

简介进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。truss和strace用来 跟踪一个进程的系统调用或信号产生的情况,而 ltrace用来 跟踪进程调用库函数的情况。truss是早期为System V R4开发...

2018-06-02 12:44:08 386

转载 使用vlc实现视频TS流的推送

鉴于Mpeg TS流播放的需求,使用 VLC作为Server来实现输出Mpeg TS    本文仅涉及如何使用VLC的Command来实现作为视频流Server通常可以使用下述四种方式来推送Mpeg TS 1. UDP 2. RTP 3. RTSP 4. HTTP同时附带在加入转码后的实现方式UDP方式Server(10.22.76.56)配置 点击(此处)折叠或打开 vlc test.t...

2018-03-09 15:43:31 693

转载 HTTP协议详解(真的很经典)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六

2017-11-28 14:31:40 873

转载 多播(组播)

本文转自:http://blog.csdn.net/yangzhongxuan/article/details/8079737什么是多播       单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上

2017-11-11 08:55:45 639

转载 UDP 单播、广播和多播

阅读目录(Content)一、UDP广播 二、UDP多播1、多播(组播)的概念2、广域网的多播三、UDP广播与单播广播与单播的比较     使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,

2017-11-03 16:47:22 1092

转载 VLC详细的使用说明以及配置说明综合示范实例精通VLC开发

一、简介vlc的全名是Video Lan Client,是一个开源的、跨平台的视频播放器。VLC支持大量的音视频传输、封装和编码格式,完整的功能特性列表可以在这里获得http://www.videolan.org/vlc/features.html,下面给出一个简要的不完整的列表:操作系统:Windows、WinCE、Linux、MacOSX、BEOS、BSD访问形式:文件

2017-08-03 15:25:32 1689

转载 wireshark如何抓取本机包

本文转自:http://www.cnblogs.com/lvdongjie/p/6110183.html 在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。         具体方法如下:方法一:        1.以管理员身份运行cmd       

2017-08-03 09:53:37 816

原创 wireshark使用相关

Wireshark User’s GuideFiltering while capturingPCAP-FILTER相关语法Display filter is not a capture filter 配置用例CaptureFilters 配置用例

2017-08-02 16:00:24 351

转载 摄像头RTSP播放流程报文分析

在这里并不讲解rtp/rtcp、rtsp、264等协议,只是分析记录一下rtsp流程报文,也不对报文进行过多的解析,因为已经被Wireshark分析的很彻底了。本文更多的是做一个备忘录使用,图片堆叠而成。1.基本描述一个摄像头IPC,ip 192.168.1.88PC的ip 192.168.1.2PC上VLC软件,在网络串流输入:然后Wireshark抓报文

2017-08-02 15:53:14 1717

转载 rtsp详解二之wireshark抓包分析

一、概述    RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。    RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。RTSP本身并不用于传送媒体流数据。媒体数据的传送可通过RTP/RTCP等协议来完成。  基本的RTSP操作过程

2017-08-02 15:47:52 1803

原创 mxml相关

mxml官方帮助文档

2017-08-02 14:21:35 255

转载 FLV文件格式解析

本文转自:https://wuyuans.com/2012/08/flv-format/最近要用到flv,整理了一些flv格式的资料,供参考。 flv文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型3 bytes“FLV”

2017-08-02 10:39:33 349

转载 AAC音频格式简析

1.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在

2017-08-02 10:31:22 468

转载 wav音频文件格式解析

本文转自:http://blog.csdn.net/mcgrady_tracy/article/details/52502263wav是微软开发的一种音频文件格式,注意,wav文件格式是无损音频文件格式,相对于其他音频格式文件数据是没有经过压缩的,通常文件也相对比较大些。 文件格式如图所示:解析代码如下:[cpp] view plain copy

2017-08-02 09:20:09 1153

转载 TS封装格式

ts流最早应用于数字电视领域,其格式非常复杂包含的配置信息表多达十几个,视频格式主要是mpeg2。苹果公司发明的http live stream流媒体是基于ts文件的,不过他大大简化了传统的ts流,只需要2个最基本的配置表PAT和PMT,再加上音视频内容就可以了,hls流媒体视频编码的主要格式为h264/mpeg4,音频为aac/mp3。ts文件分为三层:ts层(Transport S

2017-08-01 17:28:35 5552 1

原创 MP3相关

MPEG Audio Layer I/II/III frame header

2017-08-01 15:50:23 403

转载 使用vlc实现视频TS流的推送

鉴于Mpeg TS流播放的需求,使用 VLC作为Server来实现输出Mpeg TS   本文仅涉及如何使用VLC的Command来实现作为视频流Server通常可以使用下述四种方式来推送Mpeg TS1. UDP2. RTP3. RTSP4. HTTP同时附带在加入转码后的实现方式UDP方式Server(10.22.76.56)配置

2017-08-01 15:14:20 857

转载 TS流相关问题

收藏成功确定收藏失败,请重新收藏确定*标题标题不能为空网址标签位置个人主页 - 我的知识同时保存至:选择知识图谱 Linux函数硬件原理和驱动

2017-08-01 14:59:04 1015

原创 ffmpeg相关帮助文档

FFmpeg Formats Documentation [http://ffmpeg.org/ffmpeg-formats.html#mp3]

2017-08-01 14:23:55 731

转载 FFMpeg无损合并视频的多种方法

众所周知,从某些视频网站下载的视频是分段的。比如新浪视频每隔6分钟分段,俗称“6分钟诅咒”。现在的任务是将这些视频片段合并起来,并且尽量无损。方法一:FFmpeg concat 协议对于 MPEG 格式的视频,可以直接连接:ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output

2017-08-01 14:19:58 1308

转载 undefined reference to gettid

编程时遇到错误:undefined reference to `gettid'查找文档发现要使用 syscall(SYS_xxx)的形式调用才行: NAME             gettid - 得到线程标识符SYNOPSIS        #include        pid_t gettid(void);DESCRIPTION       

2017-08-01 14:18:18 1037

转载 ffmpeg 常用命令

mp4中的h264编码,而h264有两种封装:一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中;另一种是mp4模式,一般mp4、mkv、avi会没有startcode,SPS和PPS以及其它信息被封装在container中,每一个frame前面是这个frame的长度,很多解码器只支持annexb这种模式,因此需要将mp4做转换;在ffmpeg中用h264

2017-08-01 14:16:51 659

原创 关于libmp3lame库的使用小记

最近由于工作项目需要,需要支持独立音频录制,格式为mp3或wav,首先想到的的方案当然是使用ffmpeg库啦,然后,本人查看了一下ffmpeg相关帮助文档,发现ffmpeg中只有MP3解码功能,但并不支持mp3编码,这个和h264编码类似,其实ffmpeg中携带了大部分解码功能,但是编码功能比较有限,可能跟大部分编码标准有关吧!因为很多的压缩标准中,往往只规定怎么解码,而编码具体内容怎么自由发挥,只

2017-07-21 13:53:25 8340 1

转载 linux awk命令详解

本文转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html史上最好用的免费翻蔷利器简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

2017-07-14 15:23:15 301

转载 sed命令

本文转自:http://man.linuxde.net/sedsed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改

2017-07-14 14:20:55 392

转载 Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等

本文转自:http://c.biancheng.net/cpp/view/2736.htmlBash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

2017-07-14 14:08:30 339

转载 u-boot之ldr pc _start_armboot 解析

  在cpu/arm920t/start.S中,将text relocate 到Ram后,其代码段的最后1行有条语句:    ldr pc _start_armboot    _start_armboot: .word start_armboot     start_armboot是一个函数指针,这个symbol对应了符号表里的函数地址,这个函数是一个C语言的函数,他就是u-b

2017-07-07 11:11:46 602

转载 _armboot_start 内容的疑问

--------------------------------------------------------------------------------"aaronwong: u-boot中代码的疑问(_armboot_start与_start)?12Gm---------------------------=j我使用的是u-boot-1.3.0-rc2。在cpu/pxa/st

2017-07-07 11:10:22 454

转载 DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)

转自:http://www.360doc.com/content/14/0116/16/15528092_345730642.shtml首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。   DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row

2017-06-30 14:43:53 846

转载 C语言转换说明符

格式转换说明符printf() / scanf()本文转自:http://www.cnblogs.com/ilegend/articles/2258701.html                   表一 转换说明符及作为结果的打印输出转换说明输 出%a浮点数、十六进制数字和p-记数法(C99)

2017-06-20 18:36:31 2922

原创 如何粗略的计算原始音频PCM信号的音量

粗略的计算原始音频PCM信号的音量本文只是粗略的计算音频单通道的音量,采样率是48000,帧的大小是1024,位宽是16。通过查找资料,并结合所学过的信号处理知识,计算PCM信号的音量大小,就是求采样点幅值的面积(即能量),计算公式为:20*log10(x/y)此处出思路是:以一帧为单位,求一帧内,单个采样点的平均幅值,然后,对这个平均幅值进行能量计算,大概估算出当前的音量大小。代码如下:

2017-06-20 09:45:48 20004 2

转载 recv函数返回值说明

recv函数int recv( SOCKET s, char FAR *buf, int len, int flags);不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 第三个参数指明buf的长度; 第四个参数一般置0。

2017-06-16 13:54:28 898

原创 调用ffmpeg库生成AAC静音帧packet

ffmpeg AVFrame 插入静音帧版权归博主所有,转载请注明出处最近因为项目的原因,在某些情况下,需要用到静音帧,此处只会大概介绍如何生成静音帧,并将其进行AAC编码,对于如何编译ffmpeg,请找谷歌或者度娘!思路是:首先生成静音帧PCM数据,然后调用ffmpeg音频编码函数将其进行AAC编码 *生成PCM帧 //配置PCM帧的数据长度,通常AAC是1024, int

2017-06-16 10:25:44 3032

转载 多线程使用linux时间函数的方法

linux的时间函数有其特别需要注意的使用方法,在工程项目中,这点很容易忽视,本文就时间函数在多线程中的使用作一个小结。首先看一个函数,取下一天的功能函数,该函数使用了时间函数localtime或者localtime_r来获取系统时间。int GetNextTime(int curtm){ struct tm t; t.tm_year = curtm/10000 - 1

2017-06-14 11:33:41 876

转载 localtime_r的替代实现

localtime_r的替代实现“` C++ struct tm * my_localtime_r(const time_t *srctime,struct tm *tm_time) { long int n32_Pass4year,n32_hpery;// 每个月的天数 非闰年const static char Days[12] = {31, 28, 31, 30, 31, 30

2017-06-14 11:29:33 1245

转载 busybox无法ping域名的解决办法

$ ping www.google.comping : bad address 'www.google.com现在各个版本的busybox都一样, 网上有人讲需要libnss_dns* ...文件, 拷贝过去还是不能用,手编2.6.21内核+手编1.5.1busybox+一堆deb包解压缩出gcc, 一个自定义的linux基本完成了,就差这么一个东西, hack源代码...

2017-06-06 15:35:28 2149

转载 end_request: I/O error, dev mtdblock3, sector 0

end_request: I/O error, dev mtdblock3, sector 0  ​挂载root时候出错:end_request: I/O error, dev mtdblock3, sector 0Buffer I/O error on device mtdblock3, logical block 0end_request: I/O er

2017-06-06 15:34:19 2159

转载 在Linux里读取UBOOT环境变量

在Linux里读取UBOOT环境变量阅读目录(Content)How to modify the uboot environment from userspaceOverviewTools neededFinding out the correct values for fw_env.configGiving it a tryUsin

2017-04-26 09:12:57 3962

基于mini2440的串口发送接收通信程序

基于mini2440的嵌入式环境,完全可用的串口发送接收通信程序

2011-05-08

基于mini2440开发板成功移植Boa的详细步骤

基于mini2440开发板成功移植Boa的步骤、包括每一步的详细说明。

2011-05-08

绝对实用的国际音标学习软件

对于任何人都使用的实用的国际音标学习软件

2009-08-13

空空如也

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

TA关注的人

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