Emr*_*ici 17 java media information-extraction
我需要一个可以处理常见媒体格式的媒体信息提取库(纯Java或JNI包装器).我主要将它用于视频文件,我至少需要这些信息:
有几个库和工具,但我找不到Java.
Emr*_*ici 13
在问了几天这个问题后,我发现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);
Run Code Online (Sandbox Code Playgroud)
请注意,上面的代码是一个基本示例,不包含任何错误检查(在实际场景中这是一个坏习惯).另请注意,您可以使用MediaInfo提取的信息不限于上述信息.请参阅MediaInfo的原始输出,以了解您可以提取或读取MediaInfo C++ SDK的哪种媒体信息.
| 归档时间: |
|
| 查看次数: |
27916 次 |
| 最近记录: |