- 博客(10)
- 资源 (10)
- 收藏
- 关注
转载 H.264 AVCC header
AVCC header sequence header or extradata按位读取流程:8 version(版本是1,也是就0x01 )8 avc profile(值来自 sps[0][1] )8 avc compatibility(值来自 sps[0][2] )8 avc level(值来自 sps[0][3] )6 reserved(保留位,且所有位置1 )2 NALULengthSizeMinusOne ( 每个表示NALU数据长度所占的Byte -1...
2021-01-25 11:57:14
3532
1
转载 mp4文件格式解析
目前MP4的概念被炒得很火,也很乱。最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准。随后MP4概念被转移到视频上,对应的是MPEG-4标准。而现在我们流行的叫法,多半是指能播放MPEG-4标准编码格式视频的播放器。但是这篇文章介绍的内容跟上面这些都无关,我们要讨论的是MP4文件封装格式,对应的标准为ISO/IEC 14496-12,即信息技术视听对象编码的第12部分:ISO基本媒体文件格式(Information technology Coding of audio-visual ..
2021-01-25 11:32:02
654
转载 NALU详解之 EBSP、RBSP与SODB
h264裸流中,提取出一个个的NALU,并且解析出NALU的第一个字节:NALU Header。下面我们就从NALU Header的下一个字节开始,分析NALU剩余的数据部分,也即NALU的主体部分。NALU的主体涉及到三个重要的名词,分别为EBSP、RBSP和SODB。其中EBSP完全等价于NALU主体,而且它们三个的结构关系为:EBSP包含RBSP,RBSP包含SODB。其中SODB就是最原始的编码数据。1. EBSP和RBSP上篇我们说,NALU的组成部分为:NALU =.
2021-01-25 11:13:08
994
原创 Select函数实现达到定时器的效果
/*秒级定时器*/void seconds_sleep(unsigned long seconds){ if(seconds == 0) return; struct timeval tv; tv.tv_sec=seconds; tv.tv_usec=0; int err; do{ err=select(0,NULL,NULL,NULL,&tv); }while(err<0 && errno==...
2020-07-05 14:46:46
581
原创 希尔排序
不稳定的排序,但是效率较高,当数组中的数基本有序时,效率很高原理是给定一个Gap间隔,按照间隔取元素,进行排序,跳着排序,1轮,间隔指针为此时为0,再依次把间隔指针加1,再排序,依次类推,按照间隔的一半再来一遍,最后,按照间隔0 ,进行普通的插入排序...
2020-06-27 20:45:58
72
原创 归并排序
归并排序的算法,理论不讲,上代码#include<stdio.h>void merge(int arr[],int L,int M,int R){ int LEFT_SIZE = M-L; int RIGHT_SIZE = R-M+1; int left[LEFT_SIZE]; int right[RIGHT_SIZE]; int i; int j; int k; //1、fill in the left sub array...
2020-06-27 20:20:29
102
原创 alsa lame 库实现 音频pcm采集实时转换MP3,linux运行环境
lame下载版本:lame-3.99.5.tar.gzlinux下执行./configure--prefix=/你的lame目录下/outputmake-j8makeinstall源代码github链接https://github.com/sophie820318/alsa_lame_pcm_2_mp3
2020-06-27 15:43:29
435
2
原创 第一次写C++程序,完成使用Alsa采集linux音频
利用alsa 完成linux下音频采集,第一次用C++写程序,很菜,很水,记录下当时的水平,后面肯定会有提高,算是一个纪念吧1、运行时前先装库,sudo apt-get install alsa 2遍回车,装库,alsa_ocaml_dev2、编译执行脚本,gcc -o main main.c -lasound;3、执行 ./main以下是代码`#define LSA_PCM_NEW_HW_PARAMS_API#include <stdlib.h>#include <stdi
2020-06-21 08:37:19
1386
原创 cmake入门
start heregithub上的开源项目https://github.com/ttroy50/cmake-examples如果里面的分支很详细,新手参考
2020-06-21 08:21:59
146
原创 VSCode 配置C++,mingw64
1、首先安装VSCode ,官网下载,安装即可2、mingw64介绍,mingw是为了像在linux上写代码,并在windows上运行,类UNIX的编译环境,让windows的编译器把诸如fork的调用翻译成等价的形式。经过编译器编译后,原linux下的代码可以在windows下运行。3、mingw64安装,下载地址将安装包解压,放到C:\Program Files\下,如下图4、配置环境变量,win10 添加环境变量,如下图5、OK完成,开始第一个C++程序吧...
2020-06-20 14:29:30
782
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人