
ffmpeg--mp4
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
MP4文件中h264的 SPS、PPS获取
MP4文件中h264的 SPS、PPS获取如下图所示,为avcC1 【参考依据】ISO/IEC 14496-15 (下载)2 【综述】在H264中,SPS和PPS存在于NALU header中,而在MP4文件中,SPS和PPS存在于AVCDecoderConfigurationRecord, 首先要定位avcC.3 【定义】①参数集:一组很少改变的,为大量VCL转载 2017-06-23 09:55:22 · 2779 阅读 · 0 评论 -
mp4-esds box分析
esds box分析这是一段ESDS数据00001e7: 0000 0027 6573 6473 0000 0000 0319 0000 ...'esds........00001f7: 0004 1140 1500 01f8 0001 2728 0000 f3e8 ...@......'(....0000207: 0502 1388 0601 02转载 2017-06-29 16:48:32 · 1783 阅读 · 0 评论 -
mp4格式介绍
时间基系统默认的H264的time_base= num=1/den=90000 mp4文件的time_base= num=1/den=12800 flv文件的time_base=num=1/den=1000本节重点讲stbl,跟实践两部分。 详细结构如下:常见概念boxMP4文件中的所有数据都装在box(QuickTime中为a...转载 2016-03-17 22:24:23 · 2788 阅读 · 0 评论 -
hevc_mp4toannexb_bsf.c/h264_mp4toannexb_bsf.c
本文主要分析mp4封装的h265/h264,copy转hls,红色为自己添加的注释。动态添加此filter for (i = 0; i ost = output_streams[i]; if(ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ost->st->codec->codec_id原创 2017-06-30 16:07:02 · 3951 阅读 · 0 评论 -
mp4解析h265
hevc的头信息保存在stsd的hev中,如下图,68 78 63 43对应的hvcC就是hevc的标识,阴影部分就是重要的vps,sps,pps数据。 ffmpeg中读取头hvcC信息,在mov.c中,如下:{ MKTAG('h','v','c','C'), mov_read_glbl }, //碰到hvcC头,就用mov_read_glbl处理。/** * This function rea...原创 2017-06-26 09:29:00 · 4857 阅读 · 0 评论 -
ffmpeg写mp4信息
如上图,ffmpeg转码完成后,会写文件信息。 while (!received_sigterm) { 。。。 ret = transcode_step(); for (i = 0; i < nb_output_files; i++) { os = output_files[i]->ctx; if ((ret = av_write_...原创 2018-06-25 17:16:51 · 1446 阅读 · 0 评论 -
mp4文件elst研究
elst也就是Edit List Box,不是所有的mp4文件有这个box,作用是使某个track的时间戳产生偏移。结构在ISO_IEC_14496-12中,elst结构如下:segment_duration:表示该edit段的时长,以Movie Header Box(mvhd)中的timescale为单位。media_time:表示该edit段的起始时间,以track中Media Hea...转载 2018-08-15 14:40:38 · 2709 阅读 · 0 评论