0

我必须从 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 上测试)。

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

谢谢维杰

4

2 回答 2

1

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

可以在此处找到文件格式的描述(好的,这就是 Quicktime,但它几乎完全符合您的需求。)

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

要找到“流”的数量,您需要轨道的数量 - 每个轨道都有一个 TRAK 原子(原子都有四个字符名称)您可以通过查看顶层 MOOV 原子并计算其中有多少 TRAK 原子来找到它.

要找出您需要查看的每个轨道类型

MOOV->TRAK->MDIA->HDLR atom 并找到它的 Component Subtype 字段,它将是“声音”的音频和“视频”的视频

其他原子包含您正在寻找的其他字段 - 建议通读链接文档以找出答案。

于 2014-05-05T18:57:43.803 回答
0

可以使用 FFMPEG 获得该特定信息。一个控制台应用程序。您可以将 FFMPEG 的输出定向到您的应用程序。但 FFMPEG 在 Windows 手机上可能不可用。我对 Windows 手机不熟悉。

于 2012-07-17T11:35:44.007 回答