- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
您好,感谢您的宝贵时间,我正在创建一个应用程序来移动视频文件以供其他应用程序处理。过去,我在ruby中使用mediainfo和ffmpeg来获取每个文件的编解码器信息。然而,我想将所有这些转移到一个漂亮的 cocoa 应用程序中。我搜索了又搜索,但仍然找不到有关如何执行此操作的解决方案(不使用 ffmpeg)。我基本上是在寻找与您在 quicktime 视频检查器窗口 (apple + i) 中获得的完全相同的信息。任何帮助将不胜感激,示例代码更是如此。谢谢。
最佳答案
您可以使用 Spotlight 查询 (NSMetadataQuery),就像 mdls
命令一样:
> mdls ~/Music/iTunes/iTunes\ Media/iTunes\ U/WWDC\ 2011\ Session\ Videos\ -\ HD/1-01\ Apple\ Platforms\ Kickoff.m4v
kMDItemAudioBitRate = 103
kMDItemAudioChannelCount = 2
kMDItemCodecs = (
AAC,
"H.264"
)
kMDItemContentCreationDate = 2011-07-01 15:49:56 +0000
kMDItemContentModificationDate = 2011-07-01 16:13:39 +0000
kMDItemContentType = "com.apple.m4v-video"
kMDItemContentTypeTree = (
"com.apple.m4v-video",
"public.movie",
"public.audiovisual-content",
"public.data",
"public.item",
"public.content"
)
kMDItemDateAdded = 2011-07-01 16:13:39 +0000
kMDItemDisplayName = "1-01 Apple Platforms Kickoff.m4v"
kMDItemDurationSeconds = 2787.754421087755
kMDItemFSContentChangeDate = 2011-07-01 16:13:39 +0000
kMDItemFSCreationDate = 2011-07-01 15:49:56 +0000
kMDItemFSCreatorCode = "hook"
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "1-01 Apple Platforms Kickoff.m4v
kMDItemFSNodeCount = 1147843844
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 502
kMDItemFSSize = 1147843844
kMDItemFSTypeCode = ""
kMDItemKind = "Video Media"
kMDItemLogicalSize = 1147843844
kMDItemMediaTypes = (
Sound,
Video
)
kMDItemPhysicalSize = 1147846656
kMDItemPixelHeight = 540
kMDItemPixelWidth = 958
kMDItemProfileName = "HD (1-1-1)"
kMDItemStreamable = 0
kMDItemTotalBitRate = 3287
kMDItemVideoBitRate = 3184
或者您可以查看 AVFoundation 框架。
示例代码:
-(NSDictionary *) metadataForFileAtPath:(NSString *) path {
NSURL *url = [[[NSURL alloc] initFileURLWithPath:path] autorelease];
MDItemRef itemRef = MDItemCreateWithURL(NULL, (CFURLRef)url);
NSArray *attributeNames = (NSArray *)MDItemCopyAttributeNames(itemRef);
NSDictionary *attributes = (NSDictionary *) MDItemCopyAttributes(itemRef, (CFArrayRef) attributeNames);
CFRelease(itemRef);
// probably it is leaking memory (attributeNames and attributes), better check with Instruments
return attributes;
}
关于objective-c - 如何在 Objective C/Cocoa 中获取 quicktime 视频的编解码器信息? (没有 FFMPEG),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6701904/
当我学习 Windows 的可移植可执行 (PE) 文件格式时,PE-Explorer 之类的工具和 PEView帮助我快速而良好地学习东西。现在,我需要学习和理解apple quick time 文
我正在尝试将一段音频从一部 QuickTime 电影复制到另一部,但没有成功;音频似乎没有被复制。 C++基本代码: // Copy from another QT movie, *src, to t
我将 macOS 更新为 Sierra,但我的一些文件消失了。最重要的是 Allegro 的图书馆。我正在尝试像我第一次安装时看到的视频( https://www.youtube.com/watch?
我通过向 webview 提供 youtube url 来运行 youtube 视频,webview 打开 youtube 视频并在点击时自动在 MPMoviePlayerController 中运行
所以在我们的应用程序中,上传后会显示视频预览。但是,在我的计算机上,我收到一个缩略图,上面写着“缺少插件”,经过进一步检查,它说要安装 quicktime 插件。 但是,Chrome 提供的安装插件的
我正在编写一个多路复用器,它采用 mpeg4 帧(和 h264)并将它们放入 mp4 容器中。我创建的视频 ( test1.mp4 ) 可以在 Windows 媒体播放器和 VLC 中成功播放,但无法
我尝试在我的 Mac 上播放简单的 mp3 文件 iPhone 模拟器。我使用 AVFoundation.framework 和 AVAudioPlayer。在我的一台 Mac 上,一切正常,但在另一
在页面上嵌入 Quicktime 视频作为 IE 系列浏览器(无 flash/html5)的优雅回退。稍后我有一个覆盖视频的 div,因此 Quicktime 嵌入必须是 wmode=transpar
我有一个站点(下面的链接),其中客户的工作显示在一个长的水平页面上。菜单固定在左侧,滚动时图像会消失在菜单下方。 客户端现在已经上传了 quicktime 电影,它们不像图像那样位于菜单下,而是在菜单
我正在尝试使用 从 HTML 文档流式传输 Quicktime 文件标签。 视频格式为: Video: h264 (Main), yuv420p, 640x360, 2175 kb/s, 24 fp
目前我正在编写使用 ffmpeg 库对媒体文件进行转码的软件。问题是如果 H264 QuickTime 无法播放结果流并显示黑屏。音频流按预期工作。我读过 QuickTime 只能处理 yuv420p
有谁知道 App Store 何时开始要求在物理设备上进行应用程序预览并显示此弹出窗口? 即使我将 iPhone Xs 镜像到我的 Mac,也不会显示弹出窗口。如果视频上没有弹出窗口,应用商店将拒绝应
首先,我是 Mac 编程的新手。我已下载 macam project并使用 Xcode 4.1 成功将调试版本编译为 32 位代码。输出是我手动复制到 Library/QuickTime 文件夹的 Q
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我正在尝试为一个必须执行以下操作的项目编写一个小的 AppleScript: 开始录制 QuickTime 影片 最小化录音窗口 打开一部电影,将自己置于全屏 电影播放完毕后,应停止录制 录音应将自身
我一直想知道是否可以找出用于解压缩 Quicktime 电影的编解码器(如 h.264、motion jpeg..),最好是 NSString。我搜索了 Quicktime 和 QTKit api 以
当网站首次加载时,我使用 jQuery 隐藏了大约 5 部 Quicktime 电影。我注意到,当我将网站上线时,打开网站需要 5-10 秒才能显示任何内容。有时我什至会得到一个“沙滩球”光标,就好像
我一直在寻找这个。我需要构建一个独立的实用程序,该实用程序应该: 将图像序列转换为 .mov 格式 获取用户的输入并将其显示在 mov 中。 我计划使用 Java 来完成此操作,因为这是一种跨平台语言
有没有办法获取 QuickTime 视频信息? (在谷歌搜索中,我发现了一个损坏的 QT cl 选项。) 我正在寻找 pasp、长度、音频 channel 、音频分配、拍手以及经常使用程序“Dumps
我有一个发送视频流的自定义硬件设备。 如何使该流可用于 QuickTime 应用程序? 长话短说:在 Windows 上,我创建了一个 DirectShow 过滤器,因此任何与 DirectShow
我是一名优秀的程序员,十分优秀!