
音视频
文章平均质量分 64
maxzero
版权没有 盗版不究
展开
-
从mpeg ts文件中提取I帧(1):将ts包拼装为section或pes包
写在前面的话: 不觉中已经在数码工作了十年有余,十年的青春、十年的汗水,如今即将离开,个中滋味难以言表!以后可能不会在广电行业工作了,就用这个小程序,为自己十年的广电工作画上一个句号吧。依旧是:版权没有 盗版不纠 欢迎转载。本程序的功能:提取ts文件的视频I帧并显示输出,同时可以将I帧保存为yuv bmp格式的文件。基本思路:1、探测文件中ts包的长度 188?192?...原创 2018-07-26 18:46:57 · 2996 阅读 · 2 评论 -
从mpeg ts文件中提取I帧(2):pat pmt解析
一、PAT用途1、描述当前传输流中 PMT 的 PID 信息。2、描述PMT,与SDT的对应关系。3、program_number=0时为network pid即nit的pid,接收pmt时注意跳过这nit。4、pat是整个ts流的入口,依据pat描述的pmt pid就可以搜索出所有的pmt信息。其语法结构如下图所示:PAT解析代码:int mpeg_psi_pat_pars...原创 2018-07-27 09:22:38 · 1523 阅读 · 0 评论 -
从mpeg ts文件中提取I帧(3):pes包的解析
本系列的第一篇文章讲解了如何把ts包拼装为pes包,本章主要讲解如何解析pes包。一、pes包的格式如下图所示:二、相关字段解析packet_start_code_prefix 标识包起始端的包起始码。固定值为 0000 0000 0000 0000 0000 0001 (0x000001)stream_id ...原创 2018-07-29 15:28:54 · 2416 阅读 · 0 评论 -
从mpeg ts文件中提取I帧(4):es包的解析
去掉了pes头剩下的数据就是es包,es就是一帧压缩了的视频或者音频。对应mpeg2的视频序列语法格式如下图:按照上图语法格式进行解析,有如下几点需要注意:一、pes对es的封装有2种形式1、一个pes包只包含一个es包。2、一个pes包包含多个es包,即一组视频帧序列。二、关于start_code1、每个起始码由一个起始码前缀加一个起始码值组成。2、起始码前缀的比特串为 "00...原创 2018-07-30 16:36:45 · 2177 阅读 · 0 评论 -
从mpeg ts文件中提取I帧(5):I帧的解码
找到含有I帧的pes后就可以对其进行解码,对I帧的解码我们使用ffmpeg,这里用到的版本是3.0.0。一、pes解码为yuv,ffmpeg一般都是这个套路,直接上代码:int ffdecode_pes(uint8_t *pes_data, int32_t pes_size, ffbuffer_t *ffbuffer, char *out_file){ int ret = 0;...原创 2018-07-30 17:24:37 · 1675 阅读 · 0 评论 -
从mpeg ts文件中提取I帧(6):I帧的显示
I帧的显示依赖于opencv,这里用到的版本是3.4.0。显示的数据是pes解码后的rgb数据,代码比较简单,用opencv主要考虑到以后可以对ts流进行一些特征识别。#include <opencv/cv.h>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>...原创 2018-07-30 17:25:21 · 898 阅读 · 0 评论 -
从mpeg ts文件中提取I帧(7):程序的编译运行
一、工程目录├── img //保存的各种文件│ ├── 0112.bmp│ ├── 0112.pes│ ├── 0112.rgb│ ├── 0112.yuv├── makefile //编译脚本├── objs //编译过程的中间件文件│ ├── cvshow.d│ ├── cvshow.i│ ├── cvshow.o│ ├── ff...原创 2018-07-30 19:52:10 · 609 阅读 · 2 评论 -
DVB-C DEMOD 传输速率计算
符号率D=W(1+a)=8/(1+0.16)=6.8966Ms/sa低通滤波滚动系数 一般为0.16W信道带宽 一般为8MHz64QAM 总传输速率S=D*N=6.8966*6=41.379MbpsN频带利用率log2(QAM) 16QAM 32QAM 64QAM 128QAM 256QAM 对应4 5 6 7 864QAM 有效传输速率 SS=S*188/204=38.134Mbps...原创 2016-11-15 11:43:19 · 1460 阅读 · 0 评论 -
android audiotrack 播放pcm
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <media/AudioTrack.h>#include "xpcm_track.h"using namespace android;int main(int argc, char ** a...原创 2016-06-12 14:12:47 · 669 阅读 · 3 评论