随笔分类 -  FFMPEG

摘要:1. 终端音频卡顿的可能情况2. 解决方案2.1 音频PTS错误问题2.2 输出码率抖动问题TOC 1. 终端音频卡顿的可能情况 分析问题有一个很有用的链路分析法,将链路切分为多个环节,分析每个环节从而找到问题根源。 解码框图 接收码流数据 -> 解复用 -> 音视频解码 -> 音视频同步 -> 音视频(显卡、声卡)输出 音频输出环节分析: 音频卡顿是人感官听到的,也就是声卡发出的... 阅读全文
posted @ 2020-03-24 11:07 standardzero 阅读(2928) 评论(0) 推荐(0)
摘要:1. 支持 PSI 相关 PID 设置1.1 给结构体 MpegTSWrite 添加如下相关PID成员1.2 设置 PCR PID 和 PMT PID1.3 设置 audio pid 和 video pid1.4 注册 options 命令2. PSI 的节目名和提供商名3. 支持 PCR PID 和 VIDEO PID 不一致的情况4. 将空包改为视频无效包5. API 设置TOC 1. 支持... 阅读全文
posted @ 2020-03-24 10:29 standardzero 阅读(925) 评论(0) 推荐(0)
摘要:只要在FFmpeg config时添加 openssl 支持即可。 OMP120/150 FFmpeg 支持 https 的 config 配置: ./configure --disable-ffplay --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --extr... 阅读全文
posted @ 2020-03-24 09:24 standardzero 阅读(4557) 评论(0) 推荐(1)
摘要:目的:修改AC3编码的描述子标准,根据客户需求提供欧标和美标选项进行设定。 ac3格式: ATSC标准:ac3的stream_type =0x81, descriptor_tag =none DVB标准: ac3的stream_type =0x06, descriptor_tag =0x6a eac3格式 ATSC标准:eac3的stream_type = 0x87, descripto... 阅读全文
posted @ 2020-03-23 16:53 standardzero 阅读(1034) 评论(0) 推荐(0)
摘要:调用setsockopt接口设置缓冲区方法: int nRecvBuf=1024*1024;//设置为1M setsockopt(s32Sockfd,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int)); 调用ffmpeg接口设置接收缓冲区方法: AVDictionary *dic = NULL; av_dict_set(&... 阅读全文
posted @ 2020-03-23 16:52 standardzero 阅读(4357) 评论(0) 推荐(0)
摘要:废话少说,直接贴上代码。 decode_yuv.c /* * ===================================================================================== * * Filename: decode_yuv.c * * Description: * * Version... 阅读全文
posted @ 2020-03-23 16:49 standardzero 阅读(3272) 评论(0) 推荐(0)
摘要:首先需要确保FFMPEG是否已经安装libx264。 废话少说,直接贴上代码。 encode_yuv.c #include #include #include #include #include #include #include void usage(void) { printf("./encode_yuv input_file.yuv width hei... 阅读全文
posted @ 2020-03-23 16:47 standardzero 阅读(957) 评论(0) 推荐(0)
摘要:1.将mp3文件转换为pcm文件2.贴上代码3.编译4.执行TOC 1.将mp3文件转换为pcm文件 ffmpeg -i test.mp3 -f s16le test.pcm 2.贴上代码 aac.c #include #include #include #include #include SwrContext *g_swr_ctx = NULL; static int... 阅读全文
posted @ 2020-03-23 16:45 standardzero 阅读(1347) 评论(0) 推荐(0)
摘要:[TOC] 1. 编译libfdk aac 下载源码 : 编译 2. 编译ffmpeg 编写编译脚本 mk.sh 阅读全文
posted @ 2019-05-27 15:56 standardzero 阅读(7936) 评论(0) 推荐(0)
摘要:本文说明了,在ffmpeg二次开发或调用库的过程,如何借助于ffmpeg源码进行调试。 注 :ffmpeg版本是4.0。 1. 编写代码 编写将pcm数据转换为mp2的代码 pcm_to_mp2.c 2. 编译ffmpeg源码 3. 将代码放置在examples下 将 拷贝到 doc/example 阅读全文
posted @ 2019-05-09 17:51 standardzero 阅读(812) 评论(0) 推荐(0)
摘要:[TOC] 1. 分离音视频 分离视频: 分离音频: 2. 解复用 3. 视频转码 说明 : bf B帧数目控制, g 关键帧间隔控制, s 分辨率控制 4. 视频封装 5. 视频剪切 提取图片 : 剪切视频 : 剪切从0:1:30开始时长20s的视频 剪切从0:1:30开始到0:2:30秒间的视频 阅读全文
posted @ 2019-05-07 08:46 standardzero 阅读(7071) 评论(0) 推荐(1)
摘要:[TOC] 分析ffmpeg源码 分析问题 mpegtsenc.c 找到发送PAT、PMT的函数 从源码分析,可以知道PAT、PMT的发送条件 :第一次发送PAT、PMT用到的是这个条件。 :这个条件是定时100ms发送PAT、PMT;ts pat_packet_period 这个字段在函数 里面有 阅读全文
posted @ 2019-04-11 10:14 standardzero 阅读(1159) 评论(0) 推荐(0)
摘要:[TOC] 1. 安装依赖关系 2. 源码安装 yasm x264和FFmpeg使用的x86优化的汇编器。非常推荐不然编译极慢! 下载链接:http://yasm.tortall.net/Download.html 下载源码版本:yasm 1.3.0.tar.gz 编译安装 : 3. 源码安装 NA 阅读全文
posted @ 2019-04-06 11:29 standardzero 阅读(682) 评论(0) 推荐(0)