问题标签 [cmtime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2715 浏览

swift - 使用准确的 CMTime 将 AudioBuffer 转换为 CMSampleBuffer

这里的目标是通过 AVCaptureDataOutput 的视频和录制 CoreAudio 的音频创建一个 mp4 文件。然后将两者的 CMSampleBuffers 发送到具有随附 AVAssetWriterInput(AVMediaTypeVideo) 和 AVAssetWriterInput(AVMediaTypeAudio) 的 AVAssetWriter

我的音频编码器将 AudioBuffer 复制到新的 CMSampleBuffer 并将其传递给 AVAssetWriterInput(AVMediaTypeAudio)。这个例子是如何完成 AudioBuffer 到 CMSampleBuffer 的转换。转换为 CMSampleBuffer

长话短说,它不起作用。视频显示但没有音频。

但是,如果我注释掉视频编码,那么音频就会被写入文件并且可以听到。

这从经验告诉我这是一个时间问题。到 CMSampleBuffer的转换确实显示

它产生一个时间 CMTimeCopyDescription ,{0/1 = 0.000} 这对我来说似乎完全错误。我尝试跟踪渲染的帧并传递时间值的帧数和时间尺度的采样率,如下所示

但没有骰子。更好看的 CMSampleTimingInfo {107520/44100 = 2.438},但文件中仍然没有音频。

视频 CMSampleBuffer 会产生类似这样的内容{65792640630624/1000000000 = 65792.641, rounded}。这告诉我 AVCaptureVideoOutput 的时间尺度为 10 亿,可能是纳秒。我来宾时间值是设备时间之类的东西。我找不到任何关于 AVCaptureVideoOutput 使用的信息。

有人有任何有用的指导吗?我什至走在正确的轨道上吗?

这是转换

还有我创建的assetWriters

0 投票
4 回答
7700 浏览

ios - 如何从 iOS 中的 ALAsset 获取视频的缩略图?

我想从视频中获取每一帧的缩略图,然后将这些图像保存在可变图像数组中。

我想使用这些图像作为动画播放。

我正在使用上面的代码来获取缩略图,但问题是如果有一个 2 秒的视频,我只会得到 2 个缩略图,但我想要 20 个缩略图(每秒 10 个缩略图)。

那么,如何使用 CMTimeMake 获取每 0.1 秒的缩略图

0 投票
2 回答
1824 浏览

ios - AVPlayer SeekToTime 不工作。每次从头开始

我在使用擦洗方法UISlider时遇到了麻烦。AVPlayer每次调用该方法时,播放器都会从 0 重新启动。我尝试调试,似乎滑块值是正确的,但是当我 Step Over 时,它设置为 0,因此播放器重新启动。这是我尝试过的:

我也尝试过查看类似的问题,发现当我尝试他们的解决方案时它是一样的。

我感谢您的帮助。

0 投票
1 回答
203 浏览

ios - avplayer ios 的视频格式时间码

我正在尝试使用“视频格式”制作视频时间码:MM:SS:FF

任何帮助将不胜感激

0 投票
1 回答
833 浏览

swift - 如何使用 NSTimeInterval 进行 CMTime 引用

我需要帮助在 swift 2 中创建 CMTime 变量,以便创建 AVMutableCompostion。当前代码:

但是上面的变量 videoDuration 一直返回零!我仔细检查以确保 videoAsset.duration 不是 nil 而不是。

摘要:导致它在“videoDuration”作为 peramiter 传入的行处崩溃

请帮忙!任何建议将不胜感激 :)

0 投票
1 回答
546 浏览

ios - avplayer finishing song on seekToTime

I'm trying to have avPlayer restart the current song when the skip back button is selected if it's after about 5 seconds into the song, and jump to times according to where the slider is moved to. Here's my code for these functions:

The problem I'm having is that if the song is over 1 minute in, or it's almost finished and I move the slider too far back, it SOMETIMES triggers this observer:

I tried looking in Apple's references and looked to other questions here on StackOverflow, but couldn't find anything.

Maybe I'm not understanding how to properly use CMTime, or something is weird with the files, but this is really weird to me.

Any help is appreciated. Thanks in advance!

0 投票
2 回答
969 浏览

ios - AVCaptureDevice:比较样本缓冲区时间戳

我有一个视频AVCaptureDevice( AVMediaTypeVideo),正在短暂地减少曝光setExposureTargetBias:completionHandler,然后再次恢复它。我需要确切地知道哪个缓冲区captureOutput:didOutputSampleBuffer:fromConnection:对应于曝光减少的第一帧。

文档说:

该块接收一个时间戳,该时间戳与已应用该设置的第一个缓冲区的时间戳相匹配。时间戳与设备时钟同步,因此在与通过 AVCaptureVideoDataOutput 实例传递的缓冲区的时间戳进行比较之前,必须将其转换为主时钟。

https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDevice_Class/#//apple_ref/occ/instm/AVCaptureDevice/setExposureTargetBias:completionHandler

如何获得“设备时钟”?completionHandler尽管主机时钟似乎与主时钟重合,但我已经在 中完成了以下操作。

我打算执行以下captureOutput:didOutputSampleBuffer:fromConnection:操作来测试缓冲区是否是我想要的

我在正确的轨道上吗?

0 投票
1 回答
922 浏览

ios - iOS AVFoundation 如何使用 CMTime 转换每秒相机帧数以创建延时摄影?

我有一个 iPhone 摄像头附件,它以 9FPS 的速度捕获视频,并将其作为单独的 UIImages 提供。我正在尝试将这些图像拼接在一起,以创建相机使用 AVFoundation 看到的延时视频。

我不确定如何正确转换帧和时间以实现我想要的时间压缩。

例如 - 我希望将 1 小时的真实生活镜头转换为 1 分钟的时间流逝。这告诉我,我需要每 60 帧捕获一次并将其附加到延时摄影中。

下面的代码是否完成了 60 秒到 1 秒的延时转换?还是我需要添加更多的乘法/除法kRecordingFPS

0 投票
1 回答
456 浏览

objective-c - 导出带有自定义 CMTimeRange 问题的视频

我想我错过了一些东西。我有一个滑块可以更改资产持续时间以及开始时间。如果我要导出完整持续时间的视频,如

一切正常。但是如果我尝试插入我的自定义持续时间,如

我也改成atTimekCGTimeZero 了,不行

有什么建议么?

更新

示例时间范围

0 投票
1 回答
390 浏览

ios - 尝试使用“AVAssetExportSession”分割视频

我正在尝试将视频拆分为 4 秒的块AVAssetExportSession。初始拆分有效并返回 8mb/4 秒的块。但是当原始视频操作系统只有 18mb 时,第二个返回 12mb 是不正确的。


文件大小为:18.86 MB 持续时间:9.171667

第一的

开始:0.000000 结束:4.000000

DL: 8.194733

4.000000 < 9.171667

第二

开始:4.000000 结束:8.000000

联系电话:12.784523