ffmpeg代码笔记2:如何判断MP4文件里面的流是音频还是视频流

http://blog.csdn.net/qq_19079937/article/details/43191211

在MP4结构体系里面,hdlr字段(具体在root->moov->trak->mdia->hdlr)里面包含了该流是视频or音频or字母。

ffmpeg代码:

在ffmpeg代码里面,使用流中得codec->codec_type来判断该流是哪种类型的流。

在ISO_IEC_14496国际标准第十二部分标注如下:

在MP4文件里面搜68 64 6C 72(hdlr的十六进制数),从下图可以看出该视频包含视频流和音频流:

视频流:

音频流:

时间: 2024-11-13 01:37:46

ffmpeg代码笔记2:如何判断MP4文件里面的流是音频还是视频流的相关文章

怎么判断mp4文件的第一个关键帧在什么位置

最近公司在国双监测一个视频mp4点播,后来可用性一直不是很好,下载详细数据分析了下,发现很多加载5s就算失败的情况,问国双的人说是因为5s没有加载出第一个关键帧所以失败了 问题就来了: 1.第一个关键帧在这个256M的mp4文件的什么位置,也就是说用户需要下载多大的视频才能开始播放 2.知道了第一个关键帧的大小位置,用户需要什么样的网路才能在5s内把第一个关键帧加载出来,才能统计成功 mp4文件是现成的,怎么知道mp4的第一个关键帧呢,后来问了问公司的视频大牛,他给了一个视频解析工具,可以分析出

转:ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件

本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h464裸流并保存到mp4文件中. 1.VS2010建立VC++  win32控制台项目 2.在工程目录下建立lib目录和include目录,将已编译好的lib拷打lib下,include拷到include下,dll拷到Debug目录下 3.工程属性--配置属性--VC++目录--包含目录,添加ffmpeg头文件目录及其他第三方头文件目录 链接器--常

(转)MP4文件两种格式AVC1和H264的区别及利用FFMPEG demux为h264码流事项

出自:http://www.mworkbox.com/wp/work/314.html 2013-05-04 MP4的视频H264封装有2种格式:h264和avc1,对于这个细节,很容易被忽略.笔者也是在改编LIVE555流媒体时,增加mp4文件类型支持时遇到了该问题. (一)首先,从原理上了解一下这2种格式的区别:AVC1 描述:H.264 bitstream without start codes.一般通过ffmpeg转码生成的视频,是不带起始码0×00000001的.H264 描述:H.2

Node.js学习笔记【3】NodeJS基础、代码的组织和部署、文件操作、网络操作、进程管理、异步编程

一.表 学生表 CREATE TABLE `t_student` ( `stuNum` int(11) NOT NULL auto_increment, `stuName` varchar(20) default NULL, `birthday` date default NULL, PRIMARY KEY  (`stuNum`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 学生分数表 CREATE TABLE `t_stu_score` ( `id` int(11

基于FFmpeg的教学资源库的非MP4视频转换为MP4流程

基于FFmpeg的教学资源库的非MP4视频转换为MP4流程 运行环境: Win2003(或者Win2008  64bit,优先此步).SQL Server 2005(或者SQL Server2008) 执行方式: 批处理方式执行,已转换视频列表.写入数据库:错误日志写入本机的执行程序下面. 1.转换步骤描述 1.非MP4视频列表 连接教学资源库数据库,查找本机的非MP4视频资源,得到非MP4视频列表. 2.生成原视频的MD5码 将所有的原视频生成MD5码. 3.判断该视频是否已经转换 比对新旧两

使用mp4v2将H264+AAC合成mp4文件

录制程序要添加新功能:录制CMMB电视节目,我们的板卡发送出来的是RTP流(H264视频和AAC音频),录制程序要做的工作是: (1)接收并解析RTP包,分离出H264和AAC数据流: (2)将H264视频和AAC音频以某种格式封装,最后存成文件,供用户查看. 第一步已经有部分代码可供参考,因此很快就完成了. 第二步,我们决定封装成mp4,查找了一些资料后,决定使用开源库mp4v2来合成mp4文件. 技术路线已确定,就开工干活. (一)mp4格式的基础知识. 关于mp4格式,网上介绍的不少,有以

项目开发笔记-传单下发 名片替换 文件复制上传/html静态内容替换/json解析/html解析

//////////////////////////// 注意: 此博客是个人工作笔记 非独立demo////////////////////////////////// ....................................................................................................................................................................

PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程

1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件,这样反而会降低运行效率. 3.如果是需要PHP控制HTML代码的输出,比如需要PHP判断用户是否登陆,如果登陆则输出A,未登录则输出B.这就需要PHP来进行控制了.HTML不能实现这样的功能 PHP生成静态页面教程 ,一些基本的概念 一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可

判断dxf文件的版本

打开DXF参考手册,在DXF参考手册中,点击"索引"-->输入"HEADER",在ACADBER字段有acd的版本信息: 下面是用C语言,写的判断dxf文件的版本的代码: /*-------------------------------------------------- *读取DXF文件中,HEADER段中DXF文件版本号的小程序. *----------------------------------------------------*/ #incl