适用于 iOS 的视频编码库 [英] Video encoding libraries for iOS

查看:44
本文介绍了适用于 iOS 的视频编码库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的坚持这个问题,因为我还没有在互联网上看到足够的关于 iOS 视频编码的信息,但是我们可以观察到很多成功处理视频流问题的应用程序(skype、qik、justin.电视等)
我将开发一个应用程序,该应用程序应该将从相机获得并以 h.263(h.264 或 MPEG-4 正在决定)编码的视频帧发送到网络服务器.为此,我需要一些视频编码库.显然,ffmpeg 可以处理该任务,但它是在 LGPL 许可下的,这可能会导致在 AppStore 中提交应用程序时出现一些问题.另一方面,有一些应用程序,似乎使用 ffmpeg 库,但只有 Timelapser 清楚在应用程序说明中说明了这一事实.这是否意味着其他应用没有使用 ffmpeg 或只是隐藏了这些信息?

I really stucked with that problem, because I haven't seen enough information in the internet regarding video encoding in iOS, however we can observe plenty of apps that deal with the problem of video streaming successfully (skype, qik, justin.tv, etc.)
I'm going to develop an application, that should send video frames obtained from camera and encoded in h.263 (h.264 or MPEG-4 it is under decision) to a web-server. For this, I need some video encoding library. Obviously, ffmpeg can deal with that task, but it is under LGPL license, which could probably lead to some problems in submitting the app in the AppStore. On the other hand, there are some applications, which are seemed to use ffmpeg library, but only Timelapser clearly states this fact in app description. Does this mean, that other apps are not using ffmpeg or just hiding this information?

请分享您对此主题的想法和经验.我愿意讨论.

Please, share your thoughts and experience in this topic. I'm open for dicsussion.

推荐答案

在谷歌搜索和这方面的一些研究之后,我发现了这个图书馆 http://www.foxitsolutions.com/iphone_h264_sdk.html.他们真的使用硬件编码.我已经检查了带有仪器的演示示例,他们向我展示了在编码时,使用了大约 12% 的 cpu 并且系统调用 read() 不断调用.由此我可以得出结论,他们的库使用标准 AVFoundation 的 AVAssetWriter 写入临时文件,并且(很可能)并发线程用于读取此临时文件以检索编码帧.

After googling and making some research in this area, I found this one library http://www.foxitsolutions.com/iphone_h264_sdk.html. They really use hardware encoding. I've examined demo example with instruments, and they showed me that while encoding, ~12% cpu is used and syscall read() constantly called. From that I can conclude, that their library uses standard AVFoundation's AVAssetWriter to write into the temporary file, and (most probably) concurrent thread is used to read this temp file for retrieving encoded frames.

另外,请查看 http://www.videolan.org/developers/x264.html.它在 GPL 下,但仍然有用.

Also, take a look at http://www.videolan.org/developers/x264.html. It is under GPL, but still can be useful.

这篇关于适用于 iOS 的视频编码库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆