问题标签 [video-toolbox]
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.
ios - iOS 上的 VideoToolbox 示例?
我看到各种文章指出 iOS8 能够对 h264 进行硬件编码。
然而,我很难找到任何真正的代码示例,而且我很难找到一个开始的地方。
例如,理想情况下,我希望能够创建可用于 HLS 流的 h264 编码段。
我从哪里开始使用 videotoolbox?
h.264 - VTDecompressionSessionCreate 给出错误 -12911
我正在使用视频工具箱来解码通过 RTSP 接收的 H264 帧。一切顺利,但使用 5 天后(无需重新启动手机)尝试创建新的解压缩会话时出现错误 -12911。如果我删除并重新安装该应用程序,它不会恢复,只有当我重新启动手机时。
有没有人遇到过这个问题?
video-toolbox - VTCompressionSessionCreate 总是崩溃
当我想通过使用 VTCompressionSessionCreate 创建 VTCompressionSessionRef 时,这是崩溃,谁能告诉我为什么??????
崩溃时状态始终为-12912。
ios - AVSampleBufferDisplayLayer 像素化和滞后
我正在尝试使用 AVSampleBufferDisplayLayer 和 ffmpeg 在 iOS 上播放网络流。我已经在How to use VideoToolbox to decompress H.264 video stream的帮助下显示了视频。
然而,当视频流中有大量运动时,我会得到很多延迟、像素化,并且图片看起来非常块状。有没有人遇到过这个?
ios - 带有 VTDecompressionSession 的 AVSampleBufferDisplayLayer
我一直在努力解决 AVSampleBufferDisplayLayer 的动作非常不稳定。当我的直播流中有运动时,它会像素化并半冻结,同时显示多个帧。但是,一旦我添加了以下代码,一切都解决了:
请注意,我之前确实创建了解压会话,但实际上我并没有在回调中做任何事情。我仍在调用 enqueueSampleBuffer: 在 AVSampleBufferDisplayLayer 上,这就是视频在屏幕上的显示方式。
您是否必须为 AVSampleBufferDisplayLayer 调用 VTDecompressionSessionDecodeFrame 才能正确显示?我认为 AVSampleBufferDisplayLayerr 会在内部使用 VTDecompressionSessionDecodeFrame。这是因为在 iOS 模拟器上吗?
encode - 使用 VideoToolbox API 在 iOS 上的 H.264 硬件加速编码不受比特率限制
在 iOS 上使用带有属性 kVTCompressionPropertyKey_AverageBitRate 的 VideoToolbox API 的 H.264 硬件加速编码的比特率不受限制。
据观察,尽管编码器的比特率配置正确,但 H.264 硬件加速编码的比特率有时高达 4mbps(对于 1280x780、640x360)。这个高比特率值不在可接受的范围内。*有一个用于设置比特率的属性,即 videoToolbox 中可用的 kVTCompressionPropertyKey_AverageBitRate。文档说“这不是硬限制;比特率可能会超过这个峰值”。
我尝试了以下两件事: 1. 将比特率和设置数据速率设置为一些硬编码值,作为 init 中 VTCompressionSessionCreate 的 encoderSpec 属性的一部分。删除了初始化后比特率的任何重新配置/设置。2. 使用 VTSessionSetProperty 运行时设置比特率和设置数据率
两者似乎都不起作用。
有没有办法将比特率限制在一定范围内?任何帮助是极大的赞赏。
ios - 使用视频工具箱从 iOS 硬件加速编码的输出回调中获取压缩状态为 -12902(kVTParameterErr)
我尝试使用 CVPixelBufferCreateWithPlanarBytes。我没有看到 CVPixelBufferCreateWithPlanarBytes、VTCompressionSessionEncodeFrame 返回任何错误。但是输出回调给出了一个错误 kVTParameterErr。所有 API 的所有参数似乎都很好。注意:同一段代码在 mac 上运行良好。
ios - H.264:VTDecompressionSessionDecodeFrame 失败,代码为 12909
我正在显示来自 IP 摄像机的 RTSP 流。我想avcodec_decode_video2
用 VideoToolbox 框架替换这个方法。我对视频数据处理有点陌生,所以我有点迷茫......
我已经从这里和这里测试了这两种解决方案,但我最终以这种方法失败VTDecompressionSessionDecodeFrame
。
我怀疑这是来自会话,因为如果我VTDecompressionSessionCanAcceptFormatDescription
在创建会话后立即调用它,结果是NO
.
这是我的会话的创建方式:
我也不确定要使用的数据。我可以在 AVPacket.data、AVCodecContext.extradata、AVPacket.buf->data 之间进行选择。谁能告诉我应该使用哪一个(也许还有另一个)?
提前谢谢,
PS.:这是我的第一篇文章;让我知道它是否没有正确呈现/解释。
ios - FFmpeg 在 iOS 上启用 videotoolbox
我为 iOS 构建了 FFmpeg 并启用了 VideoToolbox,但是在解码视频使用函数 avcodec_decode_video2 时,它不使用 VideoToolbox,并且在 iPhone 上非常慢。我在这里使用示例 demuxing_decoding:https ://ffmpeg.org/doxygen/trunk/demuxing_decoding_8c-example.html 并尝试设置 VideoToolbox 解码但没有成功。
有没有人遇到过这个问题?
objective-c - 是否可以使用 iOS 8 中的 Video Toolbox 解压缩所有 H.264 视频流?
我遇到了一些 h.264 视频文件,它们在使用 Video Toolbox 解码时在屏幕上显示大面积绿色而没有任何错误,而我可以成功解码大多数其他 h.264 视频文件。