摘要: 1. 终端音频卡顿的可能情况2. 解决方案2.1 音频PTS错误问题2.2 输出码率抖动问题TOC 1. 终端音频卡顿的可能情况 分析问题有一个很有用的链路分析法,将链路切分为多个环节,分析每个环节从而找到问题根源。 解码框图 接收码流数据 -> 解复用 -> 音视频解码 -> 音视频同步 -> 音视频(显卡、声卡)输出 音频输出环节分析: 音频卡顿是人感官听到的,也就是声卡发出的... 阅读全文
posted @ 2020-03-24 11:07 standardzero 阅读(2481) 评论(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 阅读(795) 评论(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 阅读(3956) 评论(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 阅读(862) 评论(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 阅读(3984) 评论(0) 推荐(0) 编辑
摘要: 废话少说,直接贴上代码。 decode_yuv.c /* * ===================================================================================== * * Filename: decode_yuv.c * * Description: * * Version... 阅读全文
posted @ 2020-03-23 16:49 standardzero 阅读(2543) 评论(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 阅读(837) 评论(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 阅读(1230) 评论(0) 推荐(0) 编辑
摘要: 1.变量运算2.条件分支语句3.循环语句4.函数5.read 使用6.sort 使用7.grep 使用8.sed 使用9.awk 使用10.获取当前脚本所在的绝对路11. 批量替换文件里面的内容12. 如何判断一个变量是否被赋值TOC 1.变量运算 特殊变量 $0:当前脚本变量名字 $n:传入脚本或函数的第几个参数 $#:传输脚本或函数的参数个数 $*:传给脚本或函数的所有参数 $@... 阅读全文
posted @ 2020-03-23 16:30 standardzero 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 一般形式: printf("格式控制字符串",输出列表); 格式控制字符串形式: [标志][输出最小宽度][.精度][长度][类型] 特殊符号使用:* printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个*代替那个常量,然后在后面提供变量给*。 类型: d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前... 阅读全文
posted @ 2020-03-23 16:01 standardzero 阅读(1203) 评论(0) 推荐(0) 编辑