自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) 我想在javascript中生成一系列MIDI音符,然后播放它.许多插件支持MIDI,但我不知道任何支持"data:"URL.生成MIDI内容并不是什么大问题 - 但是将这些内容提供给播放器就是.任何人都知道如何做到这一点 - 如果不是一般,那么至少对于像QuickTime这样的特定插件?
有人知道甚至可能(在PHP中)从服务器上的快速电影中获取帧/缩略图吗?
像通常的GD缩略图生成,但对于.mov文件.
注意:我使用的是dreamhost,因此我没有对服务器进行Web-panel访问.
Mac OS X新手,熟悉Windows.Windows具有DirectShow,大量内置过滤器,COM编程和GraphEdit,可以在您使用代码构建的图形上进行快速原型设计和窥探.
我现在要去Mac使用相机,网络摄像头,麦克风,色彩空间,文件,分割,同步,渲染,文件读取,文件保存以及我认为DirecShow认为理所当然的许多事情在整理现场表演的应用程序时.在Mac方面,到目前为止我发现......什么都没有!要么我不知道在哪里看,要么我有最艰难的时间来平衡Mac的声誉,因为它易于处理媒体,具有连贯的编程能力,可以进入并开始使用媒体操作构建模块.
我已经看到一些弱的建议,使用gstreamer或一些库来进行QT,但我不能让自己相信这是Apple的方式.我遇到过一些QuickTime文档,但我不打算做转换,精灵,广播......
让大脑接受DirectShow培训意味着我甚至不知道Apple如何考虑提供类似DirectShow的功能.这意味着我不知道正确的关键字,甚至不知道在哪里看.图书?买了几个.现在我可以编写一些可以编辑你妹妹的婚礼视频的代码(如果我不能在这个主题上取得相当好的进展,我可能接下来会问你有什么值得的),但是要确定哪些过滤器是可用的以及如何将它们串在一起......没有.建议?
我想知道哪些命令行设置我需要明确设置(或避免)使用ffmpeg将视频编码成x264(mp4格式),默认情况下可以在Quicktime中播放.我发现许多预定义的预设文件对我有用,但其中一些不会,例如我无法使任何无损的文件工作,我也对这些文件感兴趣.例如,libx264-lossless_max.ffpreset将对我的视频进行编码,但它只能在VLC中播放,而不能在Quicktime中播放.在Quicktime中,视频保持黑色.我知道Perian是一个选项,但我希望我的文件可以在不安装Perian的情况下播放.谢谢你的帮助.
我是视频编解码器和学习视频文件格式规范的新手。我从这里阅读了有关 QUICKTIME 文件格式规范的信息,并从这里阅读了 MP4 文件格式(几乎相似)。有 FTYPE、MOOV、MDAT 等原子。MDAT 原子包含实际的音频和视频数据。MOOV 原子包含有关如何从 MDAT 中提取数据的信息,它提供了对块(样本)的引用。
我想从视频文件中提取 MDAT Atom 中的视频样本,而不使用 ffmpeg 或 juggler 等任何工具。我可以为此编写自己的代码。问题是,即使我可以使用 MOOV 中的信息找到 MDAT 中的视频数据(样本),这些样本也会被压缩。我们需要解压缩这些以获得帧。我的问题是我们可以解压缩从 MDAT 中提取的样本并获得实际的视频帧吗?
xuggler、ffmpeg 等工具用于从视频文件中提取帧。但在这里我想通过编写自己的代码从 MDAT 中提取样本(用于视频数据),然后我想使用某种工具解压缩这些样本。我不想写编解码器。
谁能帮我解决这个问题......!
谢谢...
我正在尝试在 App Store Connect 中为我的 ios 应用程序创建应用程序预览。我的目标是 6.5" 显示器。
我使用 QuickTime 成功创建了 .mov 文件,在我的 iPhone XR 上记录了我的应用程序活动。但是,当我将文件上传到 App Store Connect 时,它说App 预览尺寸应为: 1920x886, 886x1920。
根据Apple 的说法,接受的分辨率与原始分辨率不同(见下图)。
如果本机大小不正确,我如何创建应用程序预览?有没有办法使用 QuickTime 或 iMovie 来编辑或记录正确的大小?
另外,我没有使用 Xcode,因为这是一个 phonegap 项目。
谢谢你的帮助!
我看到关于这个主题有几个问题,但我仍然遇到错误。我想要做的就是将我库中的视频转换为 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) 在 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 属性loadedmetadata,loadeddata并且在两个事件之后这些属性均为 0。还有一些其他属性可以正确填充,例如duration尽管。该视频来自客户的 iPhone,然后通过空投发送到他的 MacBook,然后通过 Safari 上传。其他媒体播放器似乎可以正确播放此文件,并且在我的操作系统中检查视频文件的详细信息时显示正确的尺寸。
任何有关如何使用 javascript 或 jquery 获取此视频的正确视频尺寸的帮助,我们将不胜感激,谢谢。
quicktime ×10
ffmpeg ×3
h.264 ×2
javascript ×2
video ×2
.mov ×1
app-preview ×1
avfoundation ×1
codec ×1
data-url ×1
directshow ×1
gamma ×1
gd ×1
graphedit ×1
h.265 ×1
html ×1
ios ×1
macos ×1
midi ×1
movie ×1
mp4 ×1
objective-c ×1
php ×1
qtkit ×1
thumbnails ×1
video-codecs ×1
x264 ×1