mp4格式(转帖加修改) 转载
下面的软件下载地址:http://download.csdn.net/source/2607382
|
ftyp: |
这是一个筐,可以装mdat等其他Box。 例:00 00 00 14 66 74 79 70 69 73 6F 6D 00 00 02 00 6D 70 34 31 |
|
moov: |
这是一个筐,里面很丰富 |
|
moov:mvhd: |
这是moov的header. 语义: |
|
moov:trak: tkhd: |
这是track header 例2语义: |
|
moov:trak: mdia: |
这个Box没有属性,是一个筐,装在trak里 |
|
moov:trak: mdia: mdhd |
例1:视频 hdlr: handler 例2:声频 |
|
moov:trak: mdia: minf: vmhd |
Video |
|
moov:trak: mdia: minf: dinf: dref |
Data |
|
moov:trak: mdia: minf: stbl: stsd |
stsd: Sample VisualSampleEntry: AudioSampleEntry: |
|
moov:trak: mdia: minf: stbl: stsd |
mp4a: aac box 这个box实际就是继承了audio sample entry box |
|
moov:trak: mdia: minf: stbl: stsd |
esds: 包含在mp4a里, |
|
moov:trak: mdia: minf: stbl: stts |
stts: Time to 例2: 音频 |
|
moov:trak: mdia: minf: stbl: stss |
stss: syn 但音频里没有这个box, |
|
moov:trak: mdia: minf: stbl: stsc |
stsc: Sample 例2:音频 |
|
moov:trak: mdia: minf: stbl: stsz |
stsz: Sample |
|
moov:trak: mdia: minf: stbl: stco |
stco: Chunk |
|
moov:trak: mdia: minf: stbl: smhd |
smhd: sound |
|
avcC: AVC descriptor box |
avcC: AVC aligned(8) class AVCDecoderConfigurationRecord { unsigned int(8) configurationVersion = 1; unsigned int(8) AVCProfileIndication; unsigned int(8) profile_compatibility; unsigned int(8) AVCLevelIndication; bit(6) reserved = ‘111111’b; unsigned int(2) lengthSizeMinusOne; bit(3) reserved = ‘111’b; unsigned int(5) numOfSequenceParameterSets; for (i=0; i< numOfSequenceParameterSets; i++) { unsigned int(16) sequenceParameterSetLength ; bit(8*sequenceParameterSetLength) sequenceParameterSetNALUnit; } unsigned int(8) numOfPictureParameterSets; for (i=0; i< numOfPictureParameterSets; i++) { unsigned int(16) pictureParameterSetLength; bit(8*pictureParameterSetLength) pictureParameterSetNALUnit; } } 见http://www.nhzjj.com/asp/admin/editor/newsfile/201011314552121.pdf |
|
btrt: bit rate box |
btrt: bit rate |
|
avc1 |
class AVCSampleEntry() extends VisualSampleEntry (‘avc1’){ AVCConfigurationBox config; MPEG4BitRateBox (); // optional MPEG4ExtensionDescriptorsBox (); // optional } class AVCConfigurationBox extends Box(‘avcC’) { AVCDecoderConfigurationRecord() AVCConfig; } class MPEG4BitRateBox extends Box(‘btrt’){ unsigned int(32) bufferSizeDB; unsigned int(32) maxBitrate; unsigned int(32) avgBitrate; } class MPEG4ExtensionDescriptorsBox extends Box(‘m4ds’) { Descriptor Descr[0 .. 255]; } |
:
Trouble shooting
1, 播放速度不正常, 哪个参数可调?
mdhd->timescale, 数字越大, 则播放速度越快
2, 拖拉不正常, 哪个Box可调?
stss, 如果只有一条entry, 则拖拉会产生cpu 100%的情况. 如果没有entry, 则拖拉会略有停顿
3, 音频,视频分别整合成mp4文件可以播放, 但音频,视频都整合进mp4文件以后就无法播放.
trak->track_id, 两轨可能都用同一ID, 则不成. 视频为1, 音频为2,则可以解决这个问题
mp4格式(转帖加修改) 转载的更多相关文章
- C#用ckplayer.js播放 MP4格式视频实现 边加载边播放
MVC设计模式下 在View页面里面使用ckplayer.js 加载视频 ,在MP4格式视频上传之后 我发现某些视频可以边加载边播放 但是有一些又不行,找了下原因是因为视频的元数据信息在第一帧的时候就 ...
- 优酷爱奇艺视频转换为MP4格式工具
本君今天分享两个免费的视频格式转换工具,分别是爱奇艺和优酷的(腾讯的有点复杂,等整理完再分享).教程都是一步步亲手操作的,每一步都有配图.希望各位老板多转发分享,谢谢! 一爱奇艺QSV转MP4格式 解 ...
- 常用MIME类型(Flv,Mp4的mime类型设置)(转载)
转载地址:http://www.cuplayer.com/player/Help/2011/0625/83.html 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过htt ...
- 【转】如何将qlv格式的腾讯视频转换为mp4格式
一般来说,每个视频网站都会有自己的视频播放格式,如优酷的KUX.爱奇艺的QSV和腾讯的QLV等.但是大家知道,优酷是有转码功能的,而就目前来说腾讯视频还没有转码功能,这就给大家造成了一定的困扰.这里呢 ...
- 【转】qlv文件如何转换成mp4 怎样把下载好的qlv格式视频转换成MP4格式
狸窝 复制 收藏 保存到桌面 快速找教程方案 反馈需求 社会主义核心价值观 客服QQ41442901 马上注册 升级VIP 对于视频文件之间的转换问题,我也已经是无力吐槽了,每个 ...
- Flv视频格式如何转换成MP4格式
如何将flv视频格式转换成MP4格式呢?随着现在视频格式的不断多样化,视频格式转换的问题也成了现在生活中常见的问题,那么我们应该怎样将flv视频格式转换成MP4格式呢?下面我们就一起来看一下吧. 操作 ...
- 如何将qlv格式的腾讯视频转换为mp4格式
一般来说,每个视频网站都会有自己的视频播放格式,如优酷的KUX.爱奇艺的QSV和腾讯的QLV等. 但是大家知道,优酷是有转码功能的,而就目前来说腾讯视频还没有转码功能,下面是将qlv格式的腾讯视频转换 ...
- VS调试时JSON格式文件无法加载
VS调试时JSON格式文件无法加载 报错: 解决:在项目中的web.config中进行配置,configuration节中添加以下部份: <system.webServer> <st ...
- 史林枫:C#.NET利用ffmpeg操作视频实战(格式转换,加水印 一步到位)
ffmpeg.exe是大名鼎鼎的视频处理软件,以命令行参数形式运行.网上也有很多关于ffmpeg的资料介绍.但是在用C#做实际开发时,却遇到了几个问题及注意事项,比如如何无损处理视频?如何在转换格式的 ...
随机推荐
- DateTimepicker中的星期问题
开发机:win10 64+VS2013 客户机:win7 32bit 在项目中使用DateTimepicker,需要将时间获取到,然后转换为string,然后再转换为DateTime类型.开发机器上测 ...
- 入坑机器学习?听听MIT在读博士的AI心得
随着人工智能技术的火热,越来越多的年轻学者正准备投身其中,开启自己的研究之路.和所有其他学科一样,人工智能领域的新人总会遇到各种各样的难题,其中不仅有研究上的,也有生活方面的.MIT EECS 在读博 ...
- oracle start with connect by prior 递归查询用法
start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然. connect by 子句:连接条件.关键词prior,prior跟父节点列parentid放在 ...
- js保留两位小数点
var temp = 2.222222222; temp.toFixed(2); //得出结果2.22
- django模型之meta使用
模型元数据Meta是“任何不是字段的数据”,比如排序选项(ordering),数据库表名(db_table)或者人类可读的单复数名称(verbose_name 和verbose_name_plural ...
- [java,2018-02-01] quartz定时任务中时间表达式
格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 ...
- SVG 学习<八> SVG的路径——path(2)贝塞尔曲线命令、光滑贝塞尔曲线命令
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- SVG 学习<一>基础图形及线段
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- oracle的schema的含义
转自:http://www.cnblogs.com/sfmjp/articles/2932748.html 在现在做的Kraft Catalyst 项目中,Cransoft其中有一个功能就是schem ...
- django之Q
def _add_q(self, q_object, used_aliases, branch_negated=False, current_negated=False, allow_joins=Tr ...