小编典典
问了几天问题后,我发现MediaInfo可以提供有关视频或音频文件的许多技术和标签信息。
我发现subs4me的源代码树中有一个用于MediaInfo的JNI包装器,我认为它非常有用。以下是一些代码片段,显示了如何从媒体文件中提取一些信息:
String fileName = "path/to/my/file";
File file = new File(fileName);
MediaInfo info = new MediaInfo();
info.open(file);
String format = info.get(MediaInfo.StreamKind.Video, i, "Format",
MediaInfo.InfoKind.Text, MediaInfo.InfoKind.Name);
int bitRate = info.get(MediaInfo.StreamKind.Video, i, "BitRate",
MediaInfo.InfoKind.Text, MediaInfo.InfoKind.Name);
float frameRate = info.get(MediaInfo.StreamKind.Video, i, "FrameRate",
MediaInfo.InfoKind.Text, MediaInfo.InfoKind.Name);
short width = info.get(MediaInfo.StreamKind.Video, i, "Width",
MediaInfo.InfoKind.Text, MediaInfo.InfoKind.Name);
int audioBitrate = info.get(MediaInfo.StreamKind.Audio, i, "BitRate",
MediaInfo.InfoKind.Text, MediaInfo.InfoKind.Name);
int audioChannels = info.get(MediaInfo.StreamKind.Audio, i, "Channels",
MediaInfo.InfoKind.Text, MediaInfo.InfoKind.Name);
请注意,以上代码是一个基本示例,并且不包含任何错误检查(在实际情况下这是一个坏习惯)。另请注意,您可以使用MediaInfo提取的信息不仅限于上述信息。请参阅MediaInfo的原始输出,以了解可以提取或阅读MediaInfo
C ++ SDK的哪种媒体信息。
2020-09-24