首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVAssetTrack.duration比AVURLAsset.duration短

AVAssetTrack.duration比AVURLAsset.duration短
EN

Stack Overflow用户
提问于 2015-12-18 15:39:33
回答 1查看 1.6K关注 0票数 3

这太奇怪了,经过几个小时的测试,我还是搞不明白。

好的,这就是我要做的:合并两个视频,也就是一个接一个地追加。

我拍了两个视频,然后有两个网址。然后我使用以下方法创建了两个AVURLAsset:

代码语言:javascript
复制
 AVURLAsset* video1 = [[AVURLAsset alloc]initWithURL:url1 options:options];
 AVURLAsset* video2 = [[AVURLAsset alloc]initWithURL:url2 options:options];

然后我得到相应的音轨:

代码语言:javascript
复制
AVAssetTrack *videoAsset1Track = [[video1 tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
AVAssetTrack *videoAsset2Track = [[video2 tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];

然后,我要比较几个CMTime:

代码语言:javascript
复制
CMTime endtime1 = videoAsset1Track.timeRange.duration;
CMTime endtime2 = videoAsset2Track.timeRange.duration;
CMTime starttime1 = videoAsset1Track.timeRange.start;
CMTime starttime2 = videoAsset2Track.timeRange.start;

奇怪的事情就会发生。当我记录:

代码语言:javascript
复制
NSLog(@"video 1 duration : %f , start : %f, end : %f ", CMTimeGetSeconds(video1.duration), CMTimeGetSeconds(starttime1), CMTimeGetSeconds(endtime1));
NSLog(@"video 2 duration : %f , start : %f, end : %f ", CMTimeGetSeconds(video2.duration), CMTimeGetSeconds(starttime2), CMTimeGetSeconds(endtime2));

它总是伴随着:video 1 duration : 4.738333 , start : 0.000000, end : 4.738333 video 2 duration : 4.736871 , start : 0.000000, end : 3.090011视频1总是好的,而视频2:跟踪的持续时间<资产的持续时间。

顺便说一句,我正在使用GPUImageVideoCameraGPUImageMovieWriter(但我认为这并不重要,因为视频1总是可以的)来拍摄视频和合并。

编辑

天哪,我有另一种非常奇怪的观察:

每当我拍摄视频时,音轨的持续时间总是比资产的短。但是如果我第二次检查它,一切都会好起来的……那是..。在这两次检查期间我该怎么做?我只是用AVPlayer来播放网址..。

编辑再一次

伙计们,这太奇怪了!我只会弹url,世界就会变得更好。我不知道为什么,但至少要找到一条出路.(不,这种方式有时还是行不通的.)

EN

回答 1

Stack Overflow用户

发布于 2015-12-18 17:06:11

经过一番累人的调查,我终于明白了。

最后证明它与GPUImageVideoCamera有关。任何同时使用这个库的人都可能会注意:如果您只编写[GPUImageMovieWriter finishRecording],它是不够的(这意味着文件没有完成)。

您必须编写[videoCamera stopCameraCapture]来关闭相机捕获,然后文件关闭并完成。

奇怪..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34359119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档