标签: quicktime

如何在没有雪豹的颜色或伽马校正的情况下从QTKit获取图像数据?

自Snow Leopard以来,QTKit现在从QTMovies frameImageAtTime:withAttributes:error:等函数返回色彩校正图像数据.给定未压缩的AVI文件,在Snow Leopard vs. Leopard中显示具有更大像素值的相同图像数据.

目前我正在使用frameImageAtTime来获取NSImage,然后请求该图像的tiffRepresentation.执行此操作后,Snow Leopard中的像素值略高.

例如,Leopard中具有以下像素值的文件:

[0 180 0]
Run Code Online (Sandbox Code Playgroud)

现在有一个像素值,如:

[0 192 0]
Run Code Online (Sandbox Code Playgroud)

有没有办法向QTMovie询问没有色彩校正的视频帧?我应该要求CGImageRef,CIImage或CVPixelBufferRef吗?有没有办法在读取视频文件之前完全禁用颜色校正?

我试图通过使用NSCalibratedColroSpace绘制到NSBitmapImageRep来解决这个问题,但这只是我的一部分:

// Create a movie
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys :
                      nsFileName, QTMovieFileNameAttribute,
                      [NSNumber numberWithBool:NO], QTMovieOpenAsyncOKAttribute,
                      [NSNumber numberWithBool:NO], QTMovieLoopsAttribute,
                      [NSNumber numberWithBool:NO], QTMovieLoopsBackAndForthAttribute,
                      (id)nil];
_theMovie = [[QTMovie alloc] initWithAttributes:dict error:&error];


// ....    

NSMutableDictionary *imageAttributes = [NSMutableDictionary dictionary];
[imageAttributes setObject:QTMovieFrameImageTypeNSImage forKey:QTMovieFrameImageType];
[imageAttributes setObject:[NSArray arrayWithObject:@"NSBitmapImageRep"] forKey: QTMovieFrameImageRepresentationsType];
[imageAttributes setObject:[NSNumber numberWithBool:YES] forKey:QTMovieFrameImageHighQuality];

NSError* err = nil;
NSImage* image = (NSImage*)[_theMovie frameImageAtTime:frameTime withAttributes:imageAttributes error:&err];


// copy NSImage into …
Run Code Online (Sandbox Code Playgroud)

quicktime qtkit gamma

8
推荐指数
1
解决办法
1321
查看次数

在javascript中生成MIDI

我想在javascript中生成一系列MIDI音符,然后播放它.许多插件支持MIDI,但我不知道任何支持"data:"URL.生成MIDI内容并不是什么大问题 - 但是将这些内容提供给播放器就是.任何人都知道如何做到这一点 - 如果不是一般,那么至少对于像QuickTime这样的特定插件?

javascript midi quicktime data-url

8
推荐指数
2
解决办法
6243
查看次数

从快速(电影)文件中获取缩略图

有人知道甚至可能(在PHP中)从服务器上的快速电影中获取帧/缩略图吗?

像通常的GD缩略图生成,但对于.mov文件.

注意:我使用的是dreamhost,因此我没有对服务器进行Web-panel访问.

php gd quicktime thumbnails movie

7
推荐指数
1
解决办法
4869
查看次数

Mac OS X相当于DirectShow,GraphEdit

Mac OS X新手,熟悉Windows.Windows具有DirectShow,大量内置过滤器,COM编程和GraphEdit,可以在您使用代码构建的图形上进行快速原型设计和窥探.

我现在要去Mac使用相机,网络摄像头,麦克风,色彩空间,文件,分割,同步,渲染,文件读取,文件保存以及我认为DirecShow认为理所当然的许多事情在整理现场表演的应用程序时.在Mac方面,到目前为止我发现......什么都没有!要么我不知道在哪里看,要么我有最艰难的时间来平衡Mac的声誉,因为它易于处理媒体,具有连贯的编程能力,可以进入并开始使用媒体操作构建模块.

我已经看到一些弱的建议,使用gstreamer或一些库来进行QT,但我不能让自己相信这是Apple的方式.我遇到过一些QuickTime文档,但我不打算做转换,精灵,广播......

让大脑接受DirectShow培训意味着我甚至不知道Apple如何考虑提供类似DirectShow的功能.这意味着我不知道正确的关键字,甚至不知道在哪里看.图书?买了几个.现在我可以编写一些可以编辑你妹妹的婚礼视频的代码(如果我不能在这个主题上取得相当好的进展,我可能接下来会问你有什么值得的),但是要确定哪些过滤器是可用的以及如何将它们串在一起......没有.建议?

macos directshow quicktime objective-c graphedit

7
推荐指数
1
解决办法
3638
查看次数

将FFmpeg中的视频编码为X264并使其在Quicktime中可播放

我想知道哪些命令行设置我需要明确设置(或避免)使用ffmpeg将视频编码成x264(mp4格式),默认情况下可以在Quicktime中播放.我发现许多预定义的预设文件对我有用,但其中一些不会,例如我无法使任何无损的文件工作,我也对这些文件感兴趣.例如,libx264-lossless_max.ffpreset将对我的视频进行编码,但它只能在VLC中播放,而不能在Quicktime中播放.在Quicktime中,视频保持黑色.我知道Perian是一个选项,但我希望我的文件可以在不安装Perian的情况下播放.谢谢你的帮助.

quicktime ffmpeg video-encoding h.264 x264

7
推荐指数
1
解决办法
3785
查看次数

iOS AVFoundation:设置视频的方向

我一直在努力解决在iOS设备上捕获期间和之后控制视频方向的问题.感谢Apple之前的答案和文档,我已经能够弄明白了.但是,现在我想将一些视频推送到网站,我遇到了特殊的问题.我在这个问题中特别概述了这个问题,并且提出的解决方案要求在视频编码期间设置方向选项.

这可能是,但我不知道如何去做这件事.有关设置方向的文档是关于正确设置以在设备上显示,我已经实现了此处的建议.但是,此建议并未涉及为非Apple软件(如VLC或Chrome浏览器)正确设置方向.

任何人都可以深入了解如何在设备上正确设置方向,以便正确显示所有查看软件吗?

video quicktime avfoundation ios

7
推荐指数
3
解决办法
2万
查看次数

如何解码从 mp4 视频中提取的 MDAT 原子帧

我是视频编解码器和学习视频文件格式规范的新手。我从这里阅读了有关 QUICKTIME 文件格式规范的信息,并从这里阅读了 MP4 文件格式(几乎相似)。有 FTYPE、MOOV、MDAT 等原子。MDAT 原子包含实际的音频和视频数据。MOOV 原子包含有关如何从 MDAT 中提取数据的信息,它提供了对块(样本)的引用。

我想从视频文件中提取 MDAT Atom 中的视频样本,而不使用 ffmpeg 或 juggler 等任何工具。我可以为此编写自己的代码。问题是,即使我可以使用 MOOV 中的信息找到 MDAT 中的视频数据(样本),这些样本也会被压缩。我们需要解压缩这些以获得帧。我的问题是我们可以解压缩从 MDAT 中提取的样本并获得实际的视频帧吗?

xuggler、ffmpeg 等工具用于从视频文件中提取帧。但在这里我想通过编写自己的代码从 MDAT 中提取样本(用于视频数据),然后我想使用某种工具解压缩这些样本。我不想写编解码器。

谁能帮我解决这个问题......!

谢谢...

mp4 quicktime ffmpeg video-encoding video-codecs

7
推荐指数
1
解决办法
4452
查看次数

为什么我的 App Store Connect 的“应用预览”尺寸不正确?

我正在尝试在 App Store Connect 中为我的 ios 应用程序创建应用程序预览。我的目标是 6.5" 显示器。

我使用 QuickTime 成功创建了 .mov 文件,在我的 iPhone XR 上记录了我的应用程序活动。但是,当我将文件上传到 App Store Connect 时,它说App 预览尺寸应为: 1920x886, 886x1920

根据Apple 的说法,接受的分辨率原始分辨率不同(见下图)。

在此处输入图片说明

如果本机大小不正确,我如何创建应用程序预览?有没有办法使用 QuickTime 或 iMovie 来编辑或记录正确的大小?

另外,我没有使用 Xcode,因为这是一个 phonegap 项目。

谢谢你的帮助!

quicktime app-preview app-store-connect

7
推荐指数
2
解决办法
1610
查看次数

使用 ffmpeg 将视频从 .264 转换为 .265 (HEVC)

我看到关于这个主题有几个问题,但我仍然遇到错误。我想要做的就是将我库中的视频转换为 HEVC,这样它们占用的空间更少。
我试过这个:

ffmpeg -i input.mp4 -c:v libx265 output.mp4
Run Code Online (Sandbox Code Playgroud)

ffmpeg 似乎需要很长时间,输出似乎大小合适。该视频将使用 VLC 播放,但图标很奇怪,当我尝试使用 QuickTime 打开它时,出现错误:“无法打开文档“output.mov”。该文件与 QuickTime Player 不兼容。

我不想更改任何花哨的设置。我只希望文件占用更少的空间并且质量损失最小或没有。

谢谢!

编辑:无法保留我放入视频中的时间戳。
最初我在终端中使用 exiftool。但是,有时这不适用于视频,所以我会将它们空投到我的 iPhone,使用名为 Metapho 的应用程序更改日期,然后将它们空投回来。Exiftool 是创建的,但有时我就是无法工作。它会将日期更改为 1109212 Aug 2nd。奇怪的。最重要的是,当我进行这些转换时,我真的不想丢失其中的时间戳。

我在 .264 中加时间戳的原始文件

ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.8)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype …
Run Code Online (Sandbox Code Playgroud)

quicktime ffmpeg codec h.264 h.265

7
推荐指数
3
解决办法
1万
查看次数

对于 .mov Quicktime 视频,html5 视频元素上的 videoWidth 和 videoHeight 属性为 0

在 javascript 中,我试图获取已加载 .mov Quicktime 视频的 html5 视频元素的 videoWidth 和 videoHeight。

以下是相关代码的摘录:

var video = $('<video></video>');
video.prop('src', reader.result.replace(
    // Trick browsers to render MOV files
    /^data:video\/quicktime;base64,/,
    'data:video/mp4;base64,'
));

video.one('loadedmetadata loadeddata', function(e) {
//check this.videoWidth and this.videoHeight
...
Run Code Online (Sandbox Code Playgroud)

到目前为止,该代码适用于我们尝试过的所有其他视频,甚至是从网络下载的其他 .mov Quicktime 示例文件。对于这个特定的视频,我检查了两个事件的 videoWidth 和 videoHeight 属性loadedmetadataloadeddata并且在两个事件之后这些属性均为 0。还有一些其他属性可以正确填充,例如duration尽管。该视频来自客户的 iPhone,然后通过空投发送到他的 MacBook,然后通过 Safari 上传。其他媒体播放器似乎可以正确播放此文件,并且在我的操作系统中检查视频文件的详细信息时显示正确的尺寸。

任何有关如何使用 javascript 或 jquery 获取此视频的正确视频尺寸的帮助,我们将不胜感激,谢谢。

html javascript video quicktime .mov

7
推荐指数
0
解决办法
473
查看次数