标签: quicktime

如何从.mov文件中提取开始时间码和持续时间/长度元数据?

我在Windows上有C#.net客户端,需要从.mov文件中提取开始时间码和持续时间/长度元数据.谁在那里谁知道如何做到这一点?我在网上环顾四周但还没找到任何东西.在此先感谢您的时间.

.net c# quicktime

5
推荐指数
0
解决办法
7001
查看次数

QTKit Capture API:如何实现视频屏幕录制(如在Quicktime X Player中)?

QTKit Capture API是否支持屏幕录制 - 即,我可以指定当前屏幕输出作为录制的输入源吗?如果是这样,怎么样?

Quicktime Player X支持屏幕录制,但QTKit Capture API文档仅提及从外部摄像头捕获.

macos cocoa quicktime screen-capture

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

QTMovieCurrentSizeAttribute和QTMovieSizeDidChangeNotification替换

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

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

就像我所知,QuickTime X允许多个视图相同QTMovie,因此Current Size需要用新的东西替换.(也许Current Size功能被移入QTMovieView?或解码器查询?)任何人都可以向我推荐新方式的文档或示例代码吗?

电影检查器窗口的任何示例代码已经更新以显示,Natural并且Current ('Actual') Sizes不使用已弃用的代码,这将是理想的.到目前为止,这一直非常令人困惑.

quicktime qtkit

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

使用ffmpeg从.mov逐帧解析

我正在尝试从.mov文件解析H.264帧.我想我已经得出结论,来自AVFormat的mov.c - FFMPEG的一部分是要走的路.但mov.c是未注释代码旁边约2600行.我正在寻找FFMPEG的使用示例,尤其是解析任何文件类型的结构.无论是MPEG4还是Quicktime Movie都没关系,因为它们在结构上非常相似.

如果没有现有的例子(我找不到)可能有人使用过它并且可以给我几行代码,或者解释如何开始?

我正在尝试做的事情:我使用AVCaptureSession从摄像机捕获样本,然后在H264中对这些样本进行编码,并借助AVAssetsWriter,AVAssetsWriterInput和AVAssetsWriterInputPixelBufferAdaptor将其写入文件.原因是我无法直接访问硬件H264编码,因为苹果不允许这样做.我现在需要做的事情(我认为不确定)是解析出来的:

.mov文件中的" mdat "-atom(电影数据,我认为可能不止一个).那么" 视频 "-atom然后在视频原子内(视频数据样本,可能有不止一个).我想我会相信几个原子是帧.这些将是"avc1"类型(这是H264的类型).请纠正我,因为我很确定我还没有正确地完成这一切.

我的问题是,我将如何解析单帧.我一直在阅读文档并查看了iFrameExtractor(由于它对帧进行解码,因此不是很有帮助).我想我理解正确的话时,我应该使用mov.c从FFMPEG-AVFormat,但我不知道.

编辑:我现在正在尝试这样:

  1. 我运行稍微减少的init函数i iFrameExtractor,它在.mov文件中找到了视频流.

  2. 我得到框架的数据,如下所示:

    AVPacket packet;
    av_read_frame(pFormatCtx, &packet);
    NSData *frame;
    if(packet.stream_index == videoStream){
        frame = [NSData dataWithBytes:packet.data length:packet.size];
    }
    videoStream++;
    av_free_packet(&packet);
    return frame;
    
    Run Code Online (Sandbox Code Playgroud)

然后我将它传递给NSOperation的子类,在那里保留等待上传.但我收到一个EXC_BAD_ACC,从框架中复制数据时我做错了什么?有任何想法吗.当我尝试NSData* frame使用其(非原子,保留)属性设置类变量时,我得到了EXC _... (它在合成行上说EXC_BAD_ACC)

parsing quicktime ffmpeg video-processing mpeg-4

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

将.m4p转换为非DRM格式(mp3,ogg)

你知道如何将.m4p文件(DRM quicktime)转换为mp3或ogg而不使用昂贵的软件(带脚本的AKA),也可能在Linux上吗?

linux mp3 drm quicktime ogg

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

核心视频-Displaylink我需要帮助来解释CVTimeStamp

核心视频专家,我正在为.mov文件创建自定义视频播放器。我正在使用.mov解析器,并使用QTCoreVideo101示例来尝试播放视频。

我的问题是显示链接getFrameForTime我不知道如何使用时间值来找到正确的帧。

CVTimeStamp中包含的值对我来说没有任何意义。以下是1秒视频请求的值示例。谁能解释我如何使用这些值在.mov文件中找到正确的帧?

前三个请求-CVTimeStamp的值

  1. 视频时间:489150134353920.000000主机时间:2026048145326080.000000视频时间比例:241500000.000000速率标量:1.000000视频刷新时间:4028320.000000

  2. 视频时间:489150201462784.000000主机时间:2026048279543808.000000视频时间比例:241500000.000000速率标量:0.999985视频刷新时间:4028320.000000

  3. 视频时间:489156643913728.000000主机时间:2026074988871680.000000视频时间比例:241500000.000000速率标量:1.000000视频刷新时间:4028320.000000

opengl quicktime core-video .mov

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

获取Quicktime视频信息

有没有办法获取QuickTime视频信息?(在Google上搜索时,我发现QT的一个cl选项已被破坏.)

我希望找到pasp,长度,音频通道,音频分配,拍手以及通常使用"Dumpster"程序找到的各种其他属性.使用ffmpeg无法获得大部分此类信息.

macos video quicktime ffmpeg

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

我可以在QuickTime Player 10中设置屏幕截图的尺寸吗

我在Mac上使用QuickTime Player 10创建屏幕录像。是否可以设置电影的尺寸或需要拍摄的位置?我必须使用精确的屏幕尺寸和位置来制作多部电影。

macos screenshot quicktime

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

Quicktime播放未完成的HLS事件播放列表无法搜索

我有一个EVENT类型的HLS播放列表.它有#EXT-X-PLAYLIST-TYPE:EVENT标签.播放列表尚未完成.它没有#EXT-X-ENDLIST标签.

当我在Quicktime中播放播放列表时,它不允许我四处寻找.由于这是一个事件播放列表,因此所有以前的段都可用.Quicktime应该拥有回头所需的一切.

我在OS X 10.6和Maverick上试过这个问题并且出现问题.我也在运行iOS 5的旧iPad上试过这个.在iOS 5上,问题不会发生.

这是播放列表本身:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-START:TIME-OFFSET=0,PRECISE=NO
#EXT-X-TARGETDURATION:10
#EXTINF:10,
live_robocop_hd-rate_01_6512.ts
#EXTINF:10,
live_robocop_hd-rate_01_6513.ts
#EXTINF:10,
live_robocop_hd-rate_01_6514.ts
#EXTINF:10,
live_robocop_hd-rate_01_6515.ts
# ... more segments here ...
Run Code Online (Sandbox Code Playgroud)

quicktime http-live-streaming m3u8

5
推荐指数
0
解决办法
618
查看次数

QTCaptureSession不会从相机接收任何数据

我有两个USB摄像头.一种是低成本的WebCam,另一种是低成本的USB显微镜 ; 都是从eBay购买的.显微镜实际上只是另一个WebCam.

我想将USB显微镜与Mac OS X 10.5和QTKit一起使用.MyRecorder可以与我的低成本WebCam一起使用,但是当我连接显微镜时它只显示黑色视频.

如果我打开QuickTime Player并创建电影录制,我会收到错误消息:"录制失败,因为没有收到任何数据.|确保媒体输入源已打开并播放."

序列捕获器演示适用于两个摄像头.

miXscope也适用于两个摄像头(似乎它使用序列采集器).

这是剥离的MyRecorder(为了更好的概述):

- (void)awakeFromNib
{
    NSError *error;

    mCaptureSession = [[QTCaptureSession alloc] init];
    QTCaptureDevice *videoDevice = [QTCaptureDevice defaultInputDeviceWithMediaType:QTMediaTypeVideo];
    BOOL success = [videoDevice open:&error];
    if(!success)
    {
        videoDevice = [QTCaptureDevice defaultInputDeviceWithMediaType:QTMediaTypeMuxed];
        success = [videoDevice open:&error];
    }
    if(!success) return;
    mCaptureVideoDeviceInput = [[QTCaptureDeviceInput alloc] initWithDevice:videoDevice];
    success = [mCaptureSession addInput:mCaptureVideoDeviceInput error:&error];
    if(!success) return;
    if(![videoDevice hasMediaType:QTMediaTypeSound] && ![videoDevice hasMediaType:QTMediaTypeMuxed])
    {
        QTCaptureDevice *audioDevice = [QTCaptureDevice defaultInputDeviceWithMediaType:QTMediaTypeSound];
        success = audioDevice && [audioDevice open:&error];
        if(success)
        {
            mCaptureAudioDeviceInput …
Run Code Online (Sandbox Code Playgroud)

webcam cocoa quicktime qtkit video-capture

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