2012-07-17 40 views
0

我得从MP4文件的以下信息获取音频的.mp4文件伯爵和视频流及其属性

Count of video streams 
Count of audio streams 
For each video stream: 
* language 
* bitrate mode (fixed or variable) 
* maximum bitrate 
* length (seconds) 
* stream size (megabytes) 
* frame size 
* framerate 
* codec info 
* codec profile 
for each audio stream: 
* language 
* bitrate mode (fixed or variable) 
* maximum bitrate 
* length (seconds) 
* stream size (megabytes) 
* channels count 
* codec info 

这必须是一个完全的管理和安全的代码,它有在Windows Phone 7上运行(在Windows Phone 7上测试)。

有没有人有任何建议我们可以做到这一点。

由于 Vijai

+0

对此的快速反应非常好评 – 2012-07-17 11:28:17

回答

0

即可以与FFMPEG获得特定信息。一个consolea应用程序。您可以将FFMPEG的输出引导至您的应用程序。 但是FFMPEG可能不适用于Windows手机。我不熟悉Windows手机。

1

所有这些信息(以及更多)都可以以MP4文件格式获得。如果您必须以编程方式执行此操作,则可能需要解析MP4文件,但这并不难。

文件格式的描述,可以发现here(OK那公司的QuickTime,但它几乎是完全一样的满足您的需求。)

你需要找一堆原子,并从中读取值。原子(或有时称为盒子)是分层的,包含其他盒子的盒子。

要找到'流'的数量,您需要轨道数量 - 每个轨道都有一个TRAK原子(原子全部有四个字符名称)您可以通过查看顶级MOOV原子并计算有多少TRAK原子在里面。

要找出什么样的跟踪每一个是你需要看看

MOOV-> TRAK-> MDIA-> HDLR原子并找到该组件子类型字段,这将是“soun”音频和'vide'用于视频

其他原子包含您正在寻找的其他原子 - 建议通过链接的文档进行读取以找出结果。