Cocoa - 添加视频水印一般信息

2024-04-08

只是寻找如何使用 cocoa 以编程方式向视频添加水印或某种叠加层。不是一步一步地寻找(虽然那会很棒),而是或多或少地寻找我应该从哪里开始学习如何。是否有为此开发的框架?想要一些 cocoa 或 Objective-c 或 c 原生的东西,因为我想最终在 iPhone 上尝试一下。任何帮助都会很棒。


我不确定您的意思是否只是为了播放,或者您是否想导出带有水印的视频,该水印会显示在其他播放器上。

如果您的意思只是为了播放,您可能只需在 Mac 和 iPhone 上的播放器视图顶部添加一个包含水印的视图即可。

如果您想在视频本身上添加水印,这在 Mac 上很难,在 iPhone 上可能不可能,除非基本上重写 QuickTime。

在 Mac 上,代码可能如下所示(需要导入 QTKit):

// Make a new movie so we don't destroy the existing one
QTMovie* movie = [[QTMovie alloc] initWithMovie:currentMovie 
                                      timeRange:QTMakeTimeRange(QTMakeTime(0,1000), [currentMovie duration]) 
                                          error:nil];

// Make it editable
[movie setAttribute:[NSNumber numberWithBool:YES] 
             forKey:QTMovieEditableAttribute];

//Get the size
NSValue *value = [movie attributeForKey:QTMovieNaturalSizeAttribute];
NSSize size = [value sizeValue];

// Add a new track to the movie and make it the frontmost layer
QTTrack *track = [movie addVideoTrackWithSize:size];
[track setAttribute:[NSNumber numberWithShort:-1] forKey:QTTrackLayerAttribute];        

// Create a codec dictionary for the image we're about to add
NSDictionary *imageDict = [NSDictionary dictionaryWithObjectsAndKeys:
        @"tiff", QTAddImageCodecType,
        [NSNumber numberWithLong:codecHighQuality], QTAddImageCodecQuality, nil];


// Get the video length in QT speak

QTTime qttime = [currentMovie duration];
NSTimeInterval reftime;

QTGetTimeInterval(qttime, &reftime);

//Add the image for the entire duration of the video 

[track addImage:image forDuration:qttime withAttributes:imageDict];

// Finally, tell the track that it should use its alpha correctly

MediaHandler media = GetMediaHandler([[track media] quickTimeMedia]);
MediaSetGraphicsMode(media, graphicsModeStraightAlpha, NULL);

...就是这样!您的电影现在带有水印,您可以将其导出到文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cocoa - 添加视频水印一般信息 的相关文章

  • 应用程序打开时处理推送通知

    我正在运行推送通知 有用 我收到通知并使用 application didReceiveRemoteNotification 获取传入数据 然后将用户发送到必要的屏幕 问题是 如果您正在使用该应用程序并收到通知 它会跳转到目标屏幕 而不会发
  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • 当我单击 C# 中的“取消”按钮时重定向到新页面(Web 部分)

    Cancel button tc new TableCell btnCancel new Button btnCancel Text Cancel btnCancel Click new EventHandler btnCanel Clic
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 高效创建 x 层深度的嵌套 for 循环

    这可能是一件简单的事情 但我需要创建一个循环结构 使其循环 y x 次以创建 x 和 y 的所有可能组合 例如 如果有 4 个 x 每个 x 有 2 个 y 我想做这样的事情 for int a 0 a lt y a for int b 0
  • NSCFData fastCharacterContents 崩溃? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前在控制台中收到此崩溃日志 20
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐

  • 在 javascript 中解析 JSON 以获得多个 JSON 对象 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 应该是一个很常见的答案 但我还没有找到 使用客户端 JavaScript 我的客户端收到一些 JSON 字符串 response id1 v
  • 重新排列数组索引 Eloquent Laravel

    从 laravel eloquent 数组中删除元素后出现错误 物业有房间 foreach property gt rooms as key gt room if room gt type 1 and type 1 and room gt
  • Jquery 验证 - 在急切验证期间显示验证摘要?

    是否可以使用 jquery 验证来显示验证摘要 我正在使用 MVC 3 如果重要的话 并且当每个元素失去焦点时我的表单会进行验证 myform validate onfocusout function element element val
  • Google 负载均衡器 www 到非 www 重定向

    我在使用 google 负载均衡器进行 www 到非 www 重定向时遇到一些困难 目前我的 HTTP gt https 工作没有问题 但是 我还没有真正看到任何关于其工作原理的最新文档 我的负载均衡器设置可以运行 App Engine A
  • Pharo Smalltalk 中的 For 循环 for 数组

    我正在尝试创建一个包含随机数 仅 0 或 1 的数组 但是当我运行它时 它只打印以下内容 遇到语句列表结尾 gt 这是我的代码 GenList lista lista Array new 31 1 to 30 do i lista at i
  • 导入pygame失败

    我已经从这里安装了 python 2 6 6 和 pygame 2 6 http pygame org ftp pygame 1 9 1 win32 py2 6 msi http pygame org ftp pygame 1 9 1 wi
  • 如何统一使用两个 Vector3 点创建一条线?

    我知道存在一些函数 如 lineRenderer 等 但我想使用两个点 以 Vector3 形式 在场景中创建一条直线 我不想使用任何键或使用鼠标来绘制线条 我只想在触发某些事件时或单击播放按钮后看到场景中的线条 谁能帮我 For crea
  • 如何设置 TabControls TabItem 标题 FontSize

    我有一个 TabControl 其样式可以更改 TabItem 标题的 FontSize 当我数据绑定 ItemsSource 时 只有标题受 FontSize 影响 但是 当我在另一个 TabControl 上使用相同的样式并在 XAML
  • Terraform 的 for_each 中的迭代器功能是什么?

    我正在尝试理解iterator的特点是for each在 Terraform 0 12 中 这docs https www terraform io docs configuration expressions html say 迭代器 T
  • 如何从 HttpClient 解析 JSON 字符串?

    我通过调用外部 API 获取 JSON 结果 HttpClient client new HttpClient client BaseAddress new Uri url client DefaultRequestHeaders Acce
  • 已弃用的 com.apple.eawt.ApplicationListener 的替代方案是什么

    Apple 的 Java 中的 ApplicationListener 类已被弃用 还有什么选择呢 包 com apple eawt 如果您想挂钩 打开 首选项 关于 退出 菜单项 事件 请迁移到使用 com apple eawt Appl
  • 使用 Python 和 NumPy 的非常大的矩阵

    NumPy http en wikipedia org wiki NumPy是一个非常有用的库 通过使用它 我发现它能够轻松处理相当大 10000 x 10000 的矩阵 但开始处理更大的矩阵 尝试创建 50000 x 50000 的矩阵失
  • Angular 2.0.1 AsyncPipe 不适用于 Rx 主题

    AsyncPipe 与BehaviorSubject 一起使用 但我不想用空数据初始化我的服务 因此我使用Subject 代替 问题是 NgFor 和 asyncPipe 不能与主题一起使用 这是一个问题吗 这有效 成分 export cl
  • 通过 Django Channels 和 Websockets 将实时更新推送到客户端

    我正在尝试制作一个向客户端显示实时更新数据的页面 该网站的其余部分是使用 Django 构建的 因此我尝试使用 Channels 来实现此目的 我显示的数据保存在 JSON 文件和 MySQL 数据库中 以便在网站的其他部分进行进一步计算
  • 无法删除嵌入式数据库的 Derby 系统目录

    我无法删除系统目录 https db apache org derby docs 10 3 tuning rtunproper32066 html对 Windows 计算机上的 Derby Embedded 数据库调用 shutdown t
  • Arraylist 是类型安全的还是强类型的?

    我不知道 强类型 和 类型安全 之间到底有什么区别 您能用简单的语言解释一下吗 假设我们使用 Arraylist 但我无法断定它是类型安全的还是强类型的 或者我们可以同时使用它吗 An ArrayList不是类型安全的 这意味着什么Arra
  • 在 .NET CORE MVC 6 应用程序中调试未命中断点

    我正在开发 NET CORE 1 0 MVC 6 应用程序 并且我坚持使用调试点 因为它昨天停止了 经过多次尝试 我删除了项目并重新开始 第一次加载符号时 即使我在工具 gt 调试 gt 符号中取消选中 但它遇到了断点 现在 如果我选择 仅
  • R 箭头:错误:未构建对编解码器“snappy”的支持

    我一直用的是最新的R arrow包裹 arrow 2 0 0 20201106 支持直接从 AWS S3 读取和写入 这很棒 当我编写和读取自己的文件时 我似乎没有问题 见下文 write parquet iris iris parquet
  • 如何在同一个 MVC3 页面上使用多个具有 AntiForgery 验证的 ajax 表单?

    当我们有不止一种可能的表单可以发布到同一 cshtml 页面上的控制器时 防伪验证不起作用 我们检查了MVC3代码 发现问题出在这部分代码中 if String Equals cookieToken Value formToken Valu
  • Cocoa - 添加视频水印一般信息

    只是寻找如何使用 cocoa 以编程方式向视频添加水印或某种叠加层 不是一步一步地寻找 虽然那会很棒 而是或多或少地寻找我应该从哪里开始学习如何 是否有为此开发的框架 想要一些 cocoa 或 Objective c 或 c 原生的东西 因