小编jlw*_*jlw的帖子

如何确定iOS8中视频PHAsset的磁盘上的文件大小

我可以使用iOS8中的Photos框架请求视频PHAsset.我想知道文件在磁盘上有多大.似乎没有PHAsset的属性来确定它.有没有人有办法解决吗?(不需要使用Photos框架)

video ios photosframework photokit

9
推荐指数
1
解决办法
1万
查看次数

在设备上编码带有音频的视频时,AVAssetReaderOutput copyNextSampleBuffer会挂起

在这个问题中实现了编码视频(带音频)的解决方案,使用AVAssetWriter的视频编码 - CRASHES后,我发现代码在iPhone模拟器中正常工作.不幸的是,某些视频在实际的iPhone 5(和其他设备)上运行时无法对其音频进行编码.

例如,从WWDC 2011示例代码RosyWriter(https://developer.apple.com/library/IOS/samplecode/RosyWriter/Introduction/Intro.html)生成的视频不会完全编码,因为该函数-[AVAssetReaderOutput copyNextSampleBuffer]永远不会返回.

视频缓冲区正确输入,但一旦尝试复制第一个音频CMSampleBufferRef,呼叫就会挂起.当我在其他来源的视频上尝试此操作时,例如原生iOS相机应用中记录的视频,音频导入正确.

此线程https://groups.google.com/forum/#!topic/coreaudio-api/F4cqCu99nUI记录了copyNextSampleBuffer与AudioQueues一起使用时挂起的功能,并建议将操作保留在单个线程上.我已经尝试将所有内容保存在主线程上的单独线程中,但没有运气.

有没有其他人经历过这个并有可能的解决方案?

编辑:从RosyWriter生成的视频相对于来自本机Camera应用程序的视频,即音频流作为流0,视频流作为流1,其视频相反.

Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 60 kb/s
Metadata:
  creation_time   : 2013-10-28 16:13:05
  handler_name    : Core Media Data Handler
Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080, 8716 kb/s, 28.99 fps, 29.97 tbr, 600 tbn, 1200 tbc
Metadata:
  rotate          : 90
  creation_time   : 2013-10-28 16:13:05
  handler_name    : Core Media Data Handler …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios avassetreader avasset

8
推荐指数
1
解决办法
2706
查看次数