天行健,君子以自强不息!
发布时间:2017-11-11 16:47:43
一、打时间戳方法1.1 背景知识1.1.1 采样频率:是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。正常人听觉的频率范围大约在20Hz~20kHz之间.根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48k.........【阅读全文】
发布时间:2017-09-18 10:54:00
get_input_packet()位于ffmpeg.c1. 函数概述调用av_read_frame()函数从文件中读取一个packet, 对视频来说,一个packet是一帧;对音频来说,一个packet是多帧;2. 函数调用图3. 代码分析static int get_input_packet(InputFile *f, AVPacket *pkt){ if (f->rate_emu) { &nb.........【阅读全文】
发布时间:2017-09-17 00:32:40
process_input()函数位于ffmpeg.c1. 函数概述它的作用的从文件中读取一个packet,并解码;2. 函数调用结构图3. 代码分析/* * 它是在open_input_file()->add_input_stream()中初始化的, * Add all the streams from the given input file to the global * list of input streams..........【阅读全文】
发布时间:2017-09-14 15:54:23
transcode()函数位于ffmpeg.c1. 函数概述它是ffmpeg的转码的主函数。工作模式是每次读取一个packet,并处理。可见《 FFmpeg情景分析 1. FFmpeg转码框架解析》2. 函数框架图3. 函数伪码解析static int transcode(void){ /* 对每个输出流,计算出正确的编码参数,并写好文件头 */ .........【阅读全文】
发布时间:2017-09-14 14:10:10
ffmpeg_parse_options()函数位于ffmpeg_opt.c1. 函数概述它的功能主要有三个,解析命令行参数;打开输入文件,并解析数据,找到匹配每一个视频,音频,数据流的解码器;打开输出文件,并设置好输出的视频,音频,数据流的编码器;2. 函数调用结构图图 ffmpeg_parse_options()函数调用结构3. 代码分析.........【阅读全文】