草庐IT

iphone - iOS 上的原始 H264 NALU 硬件解码

我从IP摄像机(通过Live555)接收原始H.264NALU,我想使用硬件解码它们,因为FFmpeg很棒但太慢(摄像机传感器很大)。我看到的唯一解决方案是将NALU写入某些电影容器文件,例如MPEG-4,然后使用AVAssetReader读取和解码该文件。我在杂草丛生吗?是否有人成功从流中解码H.264NALU?有人对将NALU写入MPEG-4文件有任何提示吗?其他想法? 最佳答案 如Matt所述,无法直接访问Apple的H264解码器。但是,我在ffmpeg和h264解码方面取得了成功。正如您提到的,我已经使用LGPL构建了ff

iphone - 硬件加速 h.264 解码到 iOS 中的纹理、覆盖或类似内容

是否可以并支持使用iOS硬件加速h.264解码API来解码本地(非流式)视频文件,然后在其上合成其他对象?我想制作一个涉及在视频前面绘制图形对象的应用程序,并使用播放计时器将我在顶部绘制的内容与视频中正在播放的内容同步。然后,根据用户的操作,更改我在上面绘制的内容(但不是视频)来自Android的DirectX、OpenGL和OpenGLES,我正在想象将视频渲染为纹理,并使用该纹理绘制全屏四边形,然后使用其他Sprite绘制其余对象;或者也许在渲染器之前编写一个中间过滤器,这样我就可以操纵各个输出帧并绘制我的东西;或者可能绘制到视频顶部的2D图层。似乎AVFoundation或Cor

iphone - 硬件加速 h.264 解码到 iOS 中的纹理、覆盖或类似内容

是否可以并支持使用iOS硬件加速h.264解码API来解码本地(非流式)视频文件,然后在其上合成其他对象?我想制作一个涉及在视频前面绘制图形对象的应用程序,并使用播放计时器将我在顶部绘制的内容与视频中正在播放的内容同步。然后,根据用户的操作,更改我在上面绘制的内容(但不是视频)来自Android的DirectX、OpenGL和OpenGLES,我正在想象将视频渲染为纹理,并使用该纹理绘制全屏四边形,然后使用其他Sprite绘制其余对象;或者也许在渲染器之前编写一个中间过滤器,这样我就可以操纵各个输出帧并绘制我的东西;或者可能绘制到视频顶部的2D图层。似乎AVFoundation或Cor

ios - 使用视频工具箱在 iOS 8 中解码 h264 时出现错误代码 -8969、-12909

我有附件B格式的h264流,点击此链接here使用iOS8videoToolBox实现h264解码。我在每一步都检查OSStatus。将CMVideoFormatDescriptionCreateFromH264ParameterSets与SPS和PPS数据结合使用来创建CMFormatDescription。(status==noErr)使用VTDecompressionSessionCreate创建一个VTDecompressionSession。(状态==没有错误)将NALUnit有效载荷捕获到CMBlockBuffer中,确保将起始代码替换为字节长度代码。(状态==没有错误)创

ios - 使用视频工具箱在 iOS 8 中解码 h264 时出现错误代码 -8969、-12909

我有附件B格式的h264流,点击此链接here使用iOS8videoToolBox实现h264解码。我在每一步都检查OSStatus。将CMVideoFormatDescriptionCreateFromH264ParameterSets与SPS和PPS数据结合使用来创建CMFormatDescription。(status==noErr)使用VTDecompressionSessionCreate创建一个VTDecompressionSession。(状态==没有错误)将NALUnit有效载荷捕获到CMBlockBuffer中,确保将起始代码替换为字节长度代码。(状态==没有错误)创

ios - 如何将 iOS 8 中的 AVSampleBufferDisplayLayer 用于带有 GStreamer 的 RTP H264 流?

在得知iOS8中的程序员可以使用HW-H264-Decoder后,我想立即使用它。WWDC2014对“直接访问视频编码和解码”有一个很好的介绍。你可以看看here.基于那里的案例1,我开始开发一个应用程序,它应该能够从GStreamer获取H264-RTP-UDP-Stream,将其放入“appsink”元素中以直接访问NAL单元并进行转换以创建CMSampleBuffers,这是我的AVSampleBufferDisplayLayer然后可以显示。执行所有操作的有趣代码如下:////GStreamerBackend.m//#import"GStreamerBackend.h"NSSt

ios - 如何将 iOS 8 中的 AVSampleBufferDisplayLayer 用于带有 GStreamer 的 RTP H264 流?

在得知iOS8中的程序员可以使用HW-H264-Decoder后,我想立即使用它。WWDC2014对“直接访问视频编码和解码”有一个很好的介绍。你可以看看here.基于那里的案例1,我开始开发一个应用程序,它应该能够从GStreamer获取H264-RTP-UDP-Stream,将其放入“appsink”元素中以直接访问NAL单元并进行转换以创建CMSampleBuffers,这是我的AVSampleBufferDisplayLayer然后可以显示。执行所有操作的有趣代码如下:////GStreamerBackend.m//#import"GStreamerBackend.h"NSSt

ipad - 以 HTML5 呈现的 H.264 编码 MP4 在 Safari 上播放,但在 iOS 设备上播放

我正在使用Adob​​eMediaEncoderCS5将FLV文件编码为H.264以通过HTML5呈现在网络上,视频文件在OSX的Safari中播放得很好(在Firefox中编码为OGG),但在任何iOS设备(iPad、iPhone)我看到带有横线的播放图标。有没有人以前遇到过这种情况,如果有,关于原因有什么想法吗?谢谢。 最佳答案 我们遇到了这个问题,发现根据iPhone的webview标准对文件进行编码创建的文件可以正常播放。并非所有H.264编码的Mp4文件都受iPhone(或Chrome)支持,编码过程中的细微差别可能会产生

ipad - 以 HTML5 呈现的 H.264 编码 MP4 在 Safari 上播放,但在 iOS 设备上播放

我正在使用Adob​​eMediaEncoderCS5将FLV文件编码为H.264以通过HTML5呈现在网络上,视频文件在OSX的Safari中播放得很好(在Firefox中编码为OGG),但在任何iOS设备(iPad、iPhone)我看到带有横线的播放图标。有没有人以前遇到过这种情况,如果有,关于原因有什么想法吗?谢谢。 最佳答案 我们遇到了这个问题,发现根据iPhone的webview标准对文件进行编码创建的文件可以正常播放。并非所有H.264编码的Mp4文件都受iPhone(或Chrome)支持,编码过程中的细微差别可能会产生

ios - 从 CMBlockBuffer 中提取 h264

我正在使用AppleVideoToolbox框架来压缩设备相机捕获的原始帧。正在使用包含CMBlockBuffer的CMSampleBufferRef对象调用我的回调。CMBlockBuffer对象包含H264基本流,但我没有找到任何方法来获取指向基本流的指针。当我将CMSampleBufferRef对象打印到控制台时,我得到了:(lldb)poblockBufferRefCMBlockBuffer0x1701193e0totalDataLength:4264retainCount:1allocator:0x1957c2c80subBlockCapacity:2[0]4264bytes