问题标签 [qtkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
180 浏览

objective-c - QTKit:用于声音的 VideoContext 模拟

我正在编写一个用于通过网络流式传输视频的简单应用程序,使用与普通的“H.264 over RTP”方法略有不同(我使用的是我自己的编解码器)。

为了实现这一点,我需要 QTMovie 在播放电影时隐式发送到 QTMovieView 的原始帧和原始音频样本。

检索原始视频帧的最常见方法是使用 VisualContext - 然后,使用显示链接回调,我使用此 VisualContext “生成”一个 CVPixelBufferRef。所以我得到的帧的频率与我当前的刷新率同步(不是我需要这种同步——我只需要有一个可以通过网络传输的帧“流”——但是 CoreVideo 编程指南和大多数 Apple与视频相关的样本推广了这种方法)。

我遇到的第一个问题是当我将 VisualContext 附加到 QTMovie 时,图片无法再渲染到 QTMovieView 上。我不知道为什么会发生这种情况(我想这与 GWorld 的想法有关,并且当我附加 VisualContext 时渲染与它“分离”)。好的,至少我有框架,我可以将其渲染到一个简单的 NSView 上(尽管这听起来不对,而且对性能不友好。我做对了吗?)

声音怎么样,我不知道该怎么办。我需要在播放电影时获取原始声音样本(理想情况下 - 类似于 QTCaptureDecompressedAudioOutput 在其回调中返回的内容)。如果没有其他方法,我已经准备好深入研究已弃用的 Carbon QuickTime API。但我什至不知道从哪里开始。我应该使用相同的 CoreVideo Display 链接并以某种方式定期检索声音吗?我应该获取 QTDataReference 并手动定位声音帧吗?

我实际上是编程视频和音频服务的初学者。如果您能分享一些经验,我将非常感谢您与我分享的任何想法:)

谢谢你,詹姆斯

0 投票
1 回答
1271 浏览

objective-c - 如何从一系列生成的图像中创建 Quicktime 电影?

我需要从一系列生成的图像中创建电影。(我正在根据物理建模程序的输出创建图像。)

我在 QtKitCreateMovie 中找到了 Apple 的示例并将其用作起点。我没有从应用程序包中加载 jpg,而是绘制到 NSImage,然后将该 NSImage 添加到电影对象。这是我用于测试的基本代码。mMovie是一个实例QTMovie

这在 OS X 10.5 下有效,但在 OS X 10.6 下我得到一个数组索引超出边界异常调用addImage:forDuration:withAttributes:(http://openradar.appspot.com/radar?id=1146401

在 10.6 下创建电影的正确方法是什么?

此外,虽然这在 10.5 下工作,但如果我尝试创建具有数千帧的电影,我会耗尽内存。这也让我觉得我没有使用正确的方法。

0 投票
1 回答
894 浏览

objective-c - How to display current time of a video?

How to do to display current time of a video ? I am developing in Obj-C and I am using QTKit framework. I am wondering how to do for that QTMovieView notify continually my function "refreshCurrentTimeTextField". I found an Apple sample but it turned to be quite difficult to extract what I really need. (http://developer.apple.com/library/mac/#samplecode/QTKitMovieShuffler/Introduction/Intro.html)

0 投票
1 回答
1411 浏览

cocoa - 为什么我的基于 QTKit 的图像编码应用程序这么慢?

在我目前正在编码的可可应用程序中,我从 Quartz Composer 渲染器(NSImage 对象)获取快照图像,我想使用 addImage 将它们编码为 720*480 大小、25 fps 和 H264 编解码器的 QTMovie : 方法。下面是对应的一段代码:

它可以工作,但是我的应用程序无法在我的新 MacBook Pro 上实时执行此操作,而我知道 QuickTime Broadcaster 可以在同一台计算机上以 H264 实时编码图像,质量比我使用的更高.

所以为什么 ?这里有什么问题?这是硬件管理问题(多核线程、GPU 等)还是我遗漏了什么?让我先说一下我是 Apple 开发领域的新手(练习了 2 周),包括 Objective-C、cocoa、X-code、Quicktime 和 Quartz Composer 库等。

谢谢你的帮助

0 投票
1 回答
408 浏览

objective-c - 从 QTKit 裁剪视频

我在这里使用 OSX QTKit 示例代码:http: //bit.ly/mAaHGI

我想在屏幕和保存的文件上裁剪视频,以模拟不同的纵横比。做这个的最好方式是什么?

0 投票
3 回答
613 浏览

objective-c - 如何找到弃用代码的解决方案?

我是 Mac 编程的新手。当我打开示例项目时,我经常在构建过程中收到“不推荐使用”的代码警告。我想解决这些问题并使用 XCode 4 进行干净的构建。

当 Apple 弃用某些东西时,我如何找出它被弃用的原因?

更重要的是,我如何找出实现已弃用任务的“新”正确方法是什么?

例如,我看到以下内容的弃用警告:QTMovieSizeDidChangeNotification、writeWithBackupToFile、documentForFileName、shouldCreateUI、setShowPanels、QTMovieCurrentSizeAttribute 等等。

0 投票
2 回答
2035 浏览

objective-c - 镜像 CIImage/NSImage

目前我有以下

这完美地工作,我可以使用 NSImage 并且当写入文件时,图像正是我需要的样子。

但是,我使用 QTKit 从用户 iSight 中提取此图像,因此我需要能够在 y 轴上翻转此图像。

我的第一个想法是使用这样的东西来转换 CIImage,但是我的最终图像总是完全空白。当写入文件时,尺寸是正确的,但看起来是空的。

我是以错误的方式接近这个吗?还是我在代码中犯了错误?

0 投票
1 回答
275 浏览

quicktime - 总内存字节数有限?

我正在用 QTKit 创建一个视频编辑程序。

苹果在这里提供了一个示例程序, http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/CreatingaQTKitStoporStillMotionApplication/CreatingaQTKitStoporStillMotionApplication.html

我的测试程序是基于这个程序,但是使用

QTMovie *movie = [[[QTMovie alloc] initToWritableFile:@"foo.mov" error:nil] autorelease];

[电影更新电影文件];

为了保存记忆。

如果没有那么多帧,程序运行良好。但是这么多帧,程序开始显示

QTKitServer(5618,0xa0924540) malloc: *** mmap(size=33554432) failed (error code=12) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug

我用 Instruments 检查了内存泄漏, 在此处输入图像描述

但 Live Bytes 并没有那么大,也没有发现内存泄漏。总体字节确实很大,但这是导致此问题的原因吗?

任何想法将不胜感激。

谢谢,

0 投票
1 回答
845 浏览

quicktime - QTMovieCurrentSizeAttribute 和 QTMovieSizeDidChangeNotification 替换

有谁知道替换旧QTMovieCurrentSizeAttributeQTMovieSizeDidChangeNotification任务的正确方法?我正在尝试清除已弃用的旧代码。

我发现它QTMovieNaturalSizeDidChangeNotification不能替代QTMovieSizeDidChangeNotification. 同样QTMovieNaturalSizeAttribute不能替代QTMovieCurrentSizeAttribute. Natural Size指的是QTMovie的原生分辨率,而Current Size指的QTMovie是显示 a 的分辨率(这也可能是电影正在解码的分辨率,可以从原生调整大小)。例如,如果源是变形的或具有非方形像素,则NaturalCurrent Sizes 将不同。在 QuickTime 7 Player 的 Movie Inspector 窗口中很容易看到差异。

据我所知,QuickTime X 允许多个视图进入同QTMovie一个Current Size. (也许Current Size功能被移到了QTMovieView?或解码器查询?)任何人都可以向我推荐新方法的文档或示例代码吗?

任何已更新为显示Natural和的电影检查器窗口的示例代码Current ('Actual') Sizes,而不使用不推荐使用的代码,都是理想的。到目前为止,这一直非常令人困惑。

0 投票
3 回答
337 浏览

objective-c - QTKit 找不到文件或目录

我正在尝试使用 qtkit 使用我的应用程序录制和播放电影。我在一个视图中录制视频并将其显示到另一个视图中。这是我的做法

现在在我的视图控制器中,我将电影分配给我的电影播放器​​。

现在,这段代码第一次工作,但我需要多次注册和显示。

这里已经有一个问题了。如果我想多次录制视频,我必须删除第一个,否则在第一次之后它不会录制任何内容(它抱怨文件已经存在)。

问题是在第一次之后,它也根本不显示视频。当我执行 [QTMovie movieWithURL:path error:&error]; 它抱怨文件或目录不存在,而实际上它确实存在(我还检查了 [QTMovie canInitWithUrl:])。

我不确定这里发生了什么。苹果的示例代码能够记录多次,但由于某些原因,我不能不先删除现有文件(虽然它是第一次工作)。

如果需要,我很乐意提供更多详细信息。

编辑:如果我每次都为视频使用不同的名称,那么一切正常。所以这确实是一个关于每次都用相同的名字录制的问题。