标签: quicktime

设置QTMovie属性

我正在尝试通过QTKit创建一个QTVR电影,我已经获得了电影中的所有帧.但是,设置必要的属性似乎没有任何影响.例如:

NSNumber *val = [NSNumber numberWithBool:YES];
[fMovie setAttribute:val forKey:QTMovieIsInteractiveAttribute];

val = [NSNumber numberWithBool:NO];
[fMovie setAttribute:val forKey:QTMovieIsLinearAttribute];
Run Code Online (Sandbox Code Playgroud)

如果我然后得到这些属性的值,它们分别为NO和YES.电影是可编辑的,所以我无法理解我在这里做错了什么.如何确保属性实际发生变化?

macos cocoa quicktime qtkit

5
推荐指数
1
解决办法
1043
查看次数

使用HttpHandler和IIS 5.1在iPhone上播放Quicktime视频

我正在尝试使用HttpHandler从一个ASP.NET Web应用程序将QuickTime视频流式传输到iPhone.从IIS 5.1(Windows XP)托管Web应用程序时,视频播放器将打开,然后显示错误"服务器未正确配置".但是,使用IIS 7.5(Windows 7)时,视频播放正常.

生产环境正在运行IIS 6.0并且存在同样的问题,尝试通过Mobile Safari在iPhone上播放视频会显示上述错误.

我检查了Http Headers,它们在两个服务器之间看起来几乎是相同的(除了一些,比如Server头,显然会有所不同),除了它们以不同的顺序出现,尽管我怀疑这个造成了这个问题.

根据Google网上论坛上的这个帖子,添加'Accept-Ranges:bytes'标题会有所帮助,尽管这对我们没有任何影响.我还添加了ETag标题,没有任何运气.

实际负责发送文件的代码如下所示:

Context.Response.Buffer = true;
Context.Response.ContentType = "video/x-m4v";

Context.Response.AppendHeader("Content-Disposition", "filename=\"Video.m4v\"");
Context.Response.AppendHeader("Content-Length", "23456789");

Context.Response.AppendHeader("Accept-Ranges", "bytes");
Context.Response.AppendHeader("ETag", GetETag(path));

Context.Response.TransmitFile(path);
Run Code Online (Sandbox Code Playgroud)

传输文件的上述代码似乎运行正常,视频文件在所有桌面浏览器中以及在Windows 7上从IIS 7.5托管时正确播放.只有在尝试使用Mobile Safari在iPhone上播放视频文件时才会出现此问题.上面的代码,ASP.NET Web应用程序托管在IIS 5.1或IIS 6.0上.

有没有其他人经历过这样的事情,并对我能做些什么来获得这个工作有任何想法?

asp.net video quicktime httphandler video-streaming

5
推荐指数
1
解决办法
2912
查看次数

iPhone:如何访问启动的默认quicktime播放器?

我正在UIWebView中加载YouTube视频链接,当我点击播放按钮时,它会启动Quicktime播放器并在其中播放视频.这里的问题是Quicktime播放器的默认方向是Portrait - 我希望它处于Landscape模式.

即使我的基本视图和webview都处于横向模式,Quicktime播放器仍然以纵向模式启动.

我以为我可以访问默认的quicktime播放器并将其方向更改为横向.

youtube iphone quicktime uiwebview

5
推荐指数
1
解决办法
1060
查看次数

如何检测是否使用javascript安装了quicktime?

我想播放声音通知,所以我使用了这里描述的方法:跨平台,跨浏览器的方式从Javascript播放声音?但是,如果客户端计算机上未安装quicktime,则每次soundPlay调用该函数时,都会显示一个Windows弹出窗口.它说没有安装quicktime,并建议安装它.

对于用户体验,我不想在没有像这样的快速时间的情况下打扰用户:

function hasQuickTime() {
  // how do I know ?
}

// play sound only if quickTime is installed
if (hasQuickTime()) {
  soundPlay();
}
Run Code Online (Sandbox Code Playgroud)

javascript browser windows quicktime

5
推荐指数
1
解决办法
2957
查看次数

为自定义视频输入硬件添加对QuickTime的支持

我有一个自定义硬件设备发送视频流.

如何使这个流可用于QuickTime应用程序?

长话:在Windows上,我创建了一个DirectShow过滤器,因此任何与DirectShow兼容的应用程序都可以从我的设备流式传输.我想在Mac OS X上做同样的事情.我想QuickTime是要走的路,但我无法在苹果开发者网站上找到准确的答案.

video quicktime stream

5
推荐指数
1
解决办法
1063
查看次数

使用Cocoa(OS X)进行内存中的mime类型检测?

我的应用程序是一个自定义格式的查看器,一个带有明确定义的XML清单和资源(如图像和电影)的zip文件.我使用zlib打开内存中的zip文件,然后继续显示所述资源.

我遇到的一个问题是我无法正确显示视频,显然是因为QTMovie无法确定mime类型.从文件加载的电影([QTMovie movieWithFile])完美无缺.从内存中加载([QTMovie movieWithData])拒绝工作.

这是有道理的,因为缺少文件扩展名,QTMovie无法确定mime类型信息.经过一番搜索后,我在下面的mannner中使用了QTDataReference:

NSData *movieData = ...read from memory...;
QTDataReference *movieDataReference = [[QTDataReference alloc] initWithReferenceToData:movieData name:fileName MIMEType:@"video/x-m4v"];
QTMovie *mov = [QTMovie movieWithDataReference:movieDataReference error:&err];
Run Code Online (Sandbox Code Playgroud)

这很好用,但硬编码MIMEType远非理想.我可以访问文件名和扩展名,所以我试图使用UTI找到mime-type(感谢#macdev上的好朋友):

- (NSString*)mimeTypeForExtension:(NSString*)ext {

    CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,(CFStringRef)ext,NULL);
    return NSMakeCollectable(UTTypeCopyPreferredTagWithClass((CFStringRef)UTI,kUTTagClassMIMEType));
}
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用.显然,在某个地方有一个扩展的内部OS X数据库和相应的mime类型.否则,磁盘电影将无法正常工作.我如何获得它?

谢谢!

macos cocoa quicktime mime-types

4
推荐指数
2
解决办法
3234
查看次数

如何找到已弃用代码的解决方案?

我是Mac编程的新手.当我打开示例项目时,我经常在构建期间获得"弃用"代码警告.我想修复这些并使用XCode 4进行干净的构建.

当苹果公司弃用某些东西时,我该如何找出它被弃用的原因?

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

例如,我看到了以下的弃用警告:QTMovieSizeDidChangeNotification,writeWithBackupToFile,documentForFileName,shouldCreateUI,setShowPanels,QTMovieCurrentSizeAttribute以及许多其他警告.

quicktime qtkit objective-c xcode4

4
推荐指数
1
解决办法
593
查看次数

使用闪电线从OSX cocoa应用程序录制iOS设备的屏幕

在Quicktime中可以使用New Movie Recording> Camera dropdown>选择iOS设备.AppShowScreenflow都做到了.

我试过这个

AppleScript的

tell application "QuickTime Player"
set myrec to new movie recording
  tell myrec
      set current camera to video recording device named "Morten's iPod touch"
  end tell
end tell
Run Code Online (Sandbox Code Playgroud)

但这给了我

错误"QuickTime播放器出错:无法将视频录制设备"Morten的iPod touch"文件"电影录制"发送到名为"Morten的iPod touch"的视频录制设备"电影录制" ".数字-10006来自视频录制设备"莫滕的iPod touch"文件"电影录制"

AVFoundation 由于iOS设备在Quicktime中显示为相机,我认为它将是AVFoundation中的捕获设备,但此代码

for device in AVCaptureDevice.devices() {
    println(device)
}
Run Code Online (Sandbox Code Playgroud)

只是给我我的Facetime高清摄像头和麦克风.

macos cocoa quicktime avfoundation ios

4
推荐指数
1
解决办法
1837
查看次数

ffmpeg:“未找到引用的 QT 章节轨道”

用于ffmpeg将 QuickTime 中的音频替换为 WAV 中的音频。

有人知道我为什么会这样吗Referenced QT chapter track not found

命令:

$ ffmpeg \ -i "$video" -t 25 \ -i "$audio" -map 0:v -c:v copy -map 1:a -c:a pcm_s24le -ar 48000 \ -hide_banner "$output"

输出:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7faf62010600] Referenced QT chapter track not found
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2018-11-06T09:27:43.000000Z
  Duration: 00:00:25.00, start: 0.000000, bitrate: 186987 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), …
Run Code Online (Sandbox Code Playgroud)

quicktime ffmpeg

4
推荐指数
1
解决办法
4870
查看次数

恢复损坏的视频文件

几天前,我在开车时目睹了一次车祸,并且由于我有一个行车记录仪(Genius Full HD),我以为可以将撞车的视频文件发送给其中一位驾驶员。行车记录仪会在3分钟内进行记录,并在发生碰撞的视频上出现故障,从而破坏了该记录。当我尝试在Quicktime中打开它时,它崩溃并显示错误消息。QuickTime Player can't open "FILE5853.MOV" because the movie's file format isn't recognized.类似地,当我尝试在其中打开VLC时,VLC不执行任何操作,并产生以下终端输出

VLC media player 2.1.5 Rincewind (revision 2.1.4-59-g5f258d5)
[0x101902a80] main interface error: no suitable interface module
[0x100237b20] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x100850000] moov atom not found
[0x103946860] mp4 demux error: MP4 plugin discarded (no moov,foov,moof box)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10402ae00] moov atom not found
[0x103946860] avcodec demux error: Could not open FILE5853.MOV: Unknown …
Run Code Online (Sandbox Code Playgroud)

video quicktime corrupt vlc

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